From 0dea0ab6a42d7db0fba122846b6801f43ce4ba9f Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Wed, 17 Sep 2014 13:39:22 -0400 Subject: [PATCH] updates from cd0 --- index.html.save | 47 + petoskeyrobotics.sql | 505 + test.php | 7 + wp-content/ngg_styles/nggallery.css | 8 + .../plugins/admin-menu-editor/css/admin.css | 103 + .../admin-menu-editor/css/jquery.qtip.css | 573 + .../admin-menu-editor/css/jquery.qtip.min.css | 1 + .../admin-menu-editor/css/menu-editor.css | 1096 ++ .../css/screen-meta-old-wp.css | 57 + .../admin-menu-editor/css/screen-meta.css | 43 + .../admin-menu-editor/css/style-classic.css | 117 + .../admin-menu-editor/css/style-wp-grey.css | 245 + .../admin-menu-editor/images/arrows-dark.png | Bin 0 -> 495 bytes .../admin-menu-editor/images/arrows.png | Bin 0 -> 494 bytes .../images/bullet_arrow_down2.png | Bin 0 -> 367 bytes .../admin-menu-editor/images/bullet_error.png | Bin 0 -> 454 bytes .../admin-menu-editor/images/check-all.png | Bin 0 -> 1241 bytes .../admin-menu-editor/images/delete.png | Bin 0 -> 715 bytes .../admin-menu-editor/images/external.png | Bin 0 -> 165 bytes .../admin-menu-editor/images/gion/AUTHORS | 11 + .../admin-menu-editor/images/gion/COPYING | 342 + .../images/gion/edit-copy.png | Bin 0 -> 297 bytes .../images/gnome-icon-theme/AUTHORS | 15 + .../images/gnome-icon-theme/COPYING_LGPL | 165 + .../images/gnome-icon-theme/edit-cut-blue.png | Bin 0 -> 1794 bytes .../images/gnome-icon-theme/edit-paste.png | Bin 0 -> 722 bytes .../images/icon-extension-grey.png | Bin 0 -> 1330 bytes .../admin-menu-editor/images/logo-medium.png | Bin 0 -> 8110 bytes .../admin-menu-editor/images/menu-arrows.png | Bin 0 -> 400 bytes .../admin-menu-editor/images/page-add.png | Bin 0 -> 1450 bytes .../admin-menu-editor/images/page-delete.png | Bin 0 -> 1449 bytes .../images/pencil_delete.png | Bin 0 -> 603 bytes .../images/pencil_delete_gray.png | Bin 0 -> 522 bytes .../admin-menu-editor/images/plugin_add.png | Bin 0 -> 691 bytes .../images/plugin_disabled.png | Bin 0 -> 347 bytes .../admin-menu-editor/images/plugin_error.png | Bin 0 -> 702 bytes .../images/separator-add.png | Bin 0 -> 1383 bytes .../images/sort_ascending.png | Bin 0 -> 506 bytes .../images/sort_descending.png | Bin 0 -> 509 bytes .../admin-menu-editor/images/spinner.gif | Bin 0 -> 2193 bytes .../images/transparent16.png | Bin 0 -> 2808 bytes .../admin-menu-editor/images/x-light.png | Bin 0 -> 1066 bytes .../plugins/admin-menu-editor/images/x.png | Bin 0 -> 1055 bytes .../admin-menu-editor/includes/.htaccess | 2 + .../includes/PHP-CSS-Parser/CHANGELOG.md | 121 + .../includes/PHP-CSS-Parser/README.md | 519 + .../includes/PHP-CSS-Parser/autoloader.php | 10 + .../includes/PHP-CSS-Parser/composer.json | 17 + .../CSS/CSSList/AtRuleBlockList.php | 36 + .../Sabberworm/CSS/CSSList/CSSBlockList.php | 78 + .../lib/Sabberworm/CSS/CSSList/CSSList.php | 75 + .../lib/Sabberworm/CSS/CSSList/Document.php | 87 + .../lib/Sabberworm/CSS/CSSList/KeyFrame.php | 48 + .../lib/Sabberworm/CSS/Parser.php | 629 + .../CSS/Parsing/UnexpectedTokenException.php | 28 + .../lib/Sabberworm/CSS/Property/AtRule.php | 13 + .../Sabberworm/CSS/Property/CSSNamespace.php | 48 + .../lib/Sabberworm/CSS/Property/Charset.php | 39 + .../lib/Sabberworm/CSS/Property/Import.php | 42 + .../lib/Sabberworm/CSS/Property/Selector.php | 75 + .../lib/Sabberworm/CSS/Rule/Rule.php | 142 + .../lib/Sabberworm/CSS/RuleSet/AtRuleSet.php | 36 + .../CSS/RuleSet/DeclarationBlock.php | 585 + .../lib/Sabberworm/CSS/RuleSet/RuleSet.php | 95 + .../lib/Sabberworm/CSS/Settings.php | 54 + .../lib/Sabberworm/CSS/Value/CSSFunction.php | 35 + .../lib/Sabberworm/CSS/Value/Color.php | 38 + .../Sabberworm/CSS/Value/PrimitiveValue.php | 7 + .../Sabberworm/CSS/Value/RuleValueList.php | 11 + .../lib/Sabberworm/CSS/Value/Size.php | 68 + .../lib/Sabberworm/CSS/Value/String.php | 27 + .../lib/Sabberworm/CSS/Value/URL.php | 26 + .../lib/Sabberworm/CSS/Value/Value.php | 8 + .../lib/Sabberworm/CSS/Value/ValueList.php | 42 + .../includes/access-editor-dialog.php | 85 + .../includes/admin-menu-editor-mu.php | 61 + .../includes/auto-versioning.php | 136 + .../includes/consistency-check.php | 160 + .../includes/editor-page.php | 480 + .../includes/generate-menu-dashicons.php | 107 + .../includes/menu-editor-core.php | 2389 ++++ .../admin-menu-editor/includes/menu-item.php | 447 + .../admin-menu-editor/includes/menu.php | 226 + .../admin-menu-editor/includes/role-utils.php | 63 + .../includes/settings-page.php | 234 + .../includes/shadow_plugin_framework.php | 357 + .../includes/version-conflict-check.php | 25 + .../admin-menu-editor/js/admin-helpers.js | 62 + .../admin-menu-editor/js/jquery.cookie.js | 117 + .../admin-menu-editor/js/jquery.form.js | 1132 ++ .../admin-menu-editor/js/jquery.json.js | 156 + .../admin-menu-editor/js/jquery.qtip.js | 3365 +++++ .../admin-menu-editor/js/jquery.qtip.min.js | 2 + .../admin-menu-editor/js/jquery.sort.js | 65 + .../admin-menu-editor/js/menu-editor.js | 2987 +++++ .../js/menu-highlight-fix.js | 216 + .../plugins/admin-menu-editor/menu-editor.php | 22 + .../plugins/admin-menu-editor/readme.txt | 251 + .../admin-menu-editor/screenshot-1.png | Bin 0 -> 34006 bytes .../admin-menu-editor/screenshot-2.png | Bin 0 -> 7609 bytes .../admin-menu-editor/screenshot-3.png | Bin 0 -> 5693 bytes .../plugins/admin-menu-editor/uninstall.php | 22 + .../plugins/advanced-access-manager/aam.php | 1236 -- .../advanced-access-manager/active-menu.png | Bin 3673 -> 0 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 342 -> 0 bytes .../AAM_Activity_Log/images/info.png | Bin 342 -> 0 bytes .../AAM_Activity_Log/images/trash-active.png | Bin 529 -> 0 bytes .../AAM_Activity_Log/images/trash.png | Bin 524 -> 0 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 3185 -> 0 bytes .../AAM_Multisite_Support/images/add.png | Bin 3191 -> 0 bytes .../images/edit-active.png | Bin 3219 -> 0 bytes .../AAM_Multisite_Support/images/edit.png | Bin 3298 -> 0 bytes .../images/manage-active.png | Bin 3197 -> 0 bytes .../AAM_Multisite_Support/images/manage.png | Bin 3141 -> 0 bytes .../images/multisite-active.png | Bin 3453 -> 0 bytes .../images/multisite.png | Bin 1050 -> 0 bytes .../images/pin-active.png | Bin 3305 -> 0 bytes .../AAM_Multisite_Support/images/pin.png | Bin 3263 -> 0 bytes .../images/refresh-active.png | Bin 3654 -> 0 bytes .../AAM_Multisite_Support/images/refresh.png | Bin 3621 -> 0 bytes .../AAM_Multisite_Support/images/unpin.png | Bin 1393 -> 0 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 2561 -> 0 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 1239 -> 0 bytes .../AAM_Secure/stylesheet/images/flags32.png | Bin 174758 -> 0 bytes .../stylesheet/images/large-iconset.png | Bin 8010 -> 0 bytes .../stylesheet/images/restriction.png | Bin 1267 -> 0 bytes .../AAM_Secure/stylesheet/security.css | 84 - .../extension/AAM_Secure/view/security.phtml | 156 - .../advanced-access-manager/lang/aam-de_DE.mo | Bin 6948 -> 0 bytes .../advanced-access-manager/lang/aam-de_DE.po | 336 - .../advanced-access-manager/lang/aam-en_US.mo | Bin 394 -> 0 bytes .../advanced-access-manager/lang/aam-en_US.po | 310 - .../advanced-access-manager/lang/aam-es_ES.mo | Bin 6940 -> 0 bytes .../advanced-access-manager/lang/aam-es_ES.po | 998 -- .../advanced-access-manager/lang/aam-fa_IR.mo | Bin 10259 -> 0 bytes .../advanced-access-manager/lang/aam-fa_IR.po | 606 - .../advanced-access-manager/lang/aam-fr_FR.mo | Bin 7281 -> 0 bytes .../advanced-access-manager/lang/aam-fr_FR.po | 337 - .../advanced-access-manager/lang/aam-nb_NO.mo | Bin 7698 -> 0 bytes .../advanced-access-manager/lang/aam-pl_PL.mo | Bin 7697 -> 0 bytes .../advanced-access-manager/lang/aam-pl_PL.po | 385 - .../advanced-access-manager/lang/aam-ru_RU.mo | Bin 8881 -> 0 bytes .../advanced-access-manager/lang/aam-ru_RU.po | 334 - .../advanced-access-manager/lang/aam.mo | Bin 543 -> 0 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/capability/checked.png | Bin 518 -> 0 bytes .../css/images/capability/delete-active.png | Bin 311 -> 0 bytes .../media/css/images/capability/delete.png | Bin 313 -> 0 bytes .../media/css/images/capability/unchecked.png | Bin 239 -> 0 bytes .../css/images/cmanager/field-loader.gif | Bin 404 -> 0 bytes .../media/css/images/cmanager/lock.png | Bin 424 -> 0 bytes .../media/css/images/cmanager/role-active.png | Bin 957 -> 0 bytes .../media/css/images/cmanager/role.png | Bin 920 -> 0 bytes .../media/css/images/cmanager/user-active.png | Bin 756 -> 0 bytes .../media/css/images/cmanager/user.png | Bin 738 -> 0 bytes .../css/images/cmanager/visitor-active.png | Bin 910 -> 0 bytes .../media/css/images/cmanager/visitor.png | Bin 872 -> 0 bytes .../media/css/images/common/large-iconset.png | Bin 14735 -> 0 bytes .../css/images/common/medium-iconset.png | Bin 8883 -> 0 bytes .../media/css/images/common/medium-loader.gif | Bin 2545 -> 0 bytes .../media/css/images/common/small-iconset.png | Bin 6045 -> 0 bytes .../media/css/images/common/warning.png | Bin 356 -> 0 bytes .../media/css/images/cpanel/cpanel-loader.gif | Bin 3951 -> 0 bytes .../media/css/images/event/delete-active.png | Bin 311 -> 0 bytes .../media/css/images/event/delete.png | Bin 313 -> 0 bytes .../media/css/images/event/edit-active.png | Bin 618 -> 0 bytes .../media/css/images/event/edit.png | Bin 577 -> 0 bytes .../css/images/extension/download-active.png | Bin 256 -> 0 bytes .../media/css/images/extension/download.png | Bin 255 -> 0 bytes .../css/images/extension/forum-active.png | Bin 350 -> 0 bytes .../media/css/images/extension/forum.png | Bin 350 -> 0 bytes .../media/css/images/extension/ok-active.png | Bin 351 -> 0 bytes .../media/css/images/extension/ok.png | Bin 352 -> 0 bytes .../css/images/extension/plus-active.png | Bin 342 -> 0 bytes .../media/css/images/extension/plus.png | Bin 342 -> 0 bytes .../css/images/extension/youtube-active.png | Bin 385 -> 0 bytes .../media/css/images/extension/youtube.png | Bin 385 -> 0 bytes .../media/css/images/feature-active.png | Bin 323 -> 0 bytes .../media/css/images/feature.png | Bin 407 -> 0 bytes .../media/css/images/lock.png | Bin 548 -> 0 bytes .../media/css/images/main-loader.gif | Bin 8238 -> 0 bytes .../media/css/images/menu/checked.png | Bin 430 -> 0 bytes .../media/css/images/menu/unchecked.png | Bin 239 -> 0 bytes .../media/css/images/metabox-loader.gif | Bin 8238 -> 0 bytes .../media/css/images/metabox/checked.png | Bin 430 -> 0 bytes .../media/css/images/metabox/link-active.png | Bin 511 -> 0 bytes .../media/css/images/metabox/link.png | Bin 516 -> 0 bytes .../media/css/images/metabox/unchecked.png | Bin 239 -> 0 bytes .../media/css/images/post/checked.png | Bin 430 -> 0 bytes .../media/css/images/post/info-active.png | Bin 414 -> 0 bytes .../media/css/images/post/info.png | Bin 400 -> 0 bytes .../media/css/images/post/loader.gif | Bin 404 -> 0 bytes .../media/css/images/post/lock-big.png | Bin 1191 -> 0 bytes .../media/css/images/post/lock.png | Bin 548 -> 0 bytes .../media/css/images/post/post.png | Bin 564 -> 0 bytes .../media/css/images/post/unchecked.png | Bin 239 -> 0 bytes .../media/css/images/search-active.png | Bin 636 -> 0 bytes .../media/css/images/search.png | Bin 662 -> 0 bytes .../media/css/images/sort_asc.png | Bin 291 -> 0 bytes .../media/css/images/sort_asc_disabled.png | Bin 291 -> 0 bytes .../media/css/images/sort_both.png | Bin 297 -> 0 bytes .../media/css/images/sort_desc.png | Bin 289 -> 0 bytes .../media/css/images/sort_desc_disabled.png | Bin 263 -> 0 bytes .../media/css/images/table-filtered.png | Bin 382 -> 0 bytes .../media/css/images/treeview/ajax-loader.gif | Bin 847 -> 0 bytes .../media/css/images/treeview/file.gif | Bin 110 -> 0 bytes .../css/images/treeview/folder-close.png | Bin 359 -> 0 bytes .../css/images/treeview/folder-closed.gif | Bin 105 -> 0 bytes .../media/css/images/treeview/folder-open.png | Bin 400 -> 0 bytes .../media/css/images/treeview/folder.gif | Bin 106 -> 0 bytes .../media/css/images/treeview/minus.gif | Bin 837 -> 0 bytes .../media/css/images/treeview/plus.gif | Bin 841 -> 0 bytes .../images/treeview/treeview-black-line.gif | Bin 1877 -> 0 bytes .../css/images/treeview/treeview-black.gif | Bin 1216 -> 0 bytes .../images/treeview/treeview-default-line.gif | Bin 1993 -> 0 bytes .../css/images/treeview/treeview-default.gif | Bin 1222 -> 0 bytes .../treeview/treeview-famfamfam-line.gif | Bin 807 -> 0 bytes .../images/treeview/treeview-famfamfam.gif | Bin 1280 -> 0 bytes .../images/treeview/treeview-gray-line.gif | Bin 1877 -> 0 bytes .../css/images/treeview/treeview-gray.gif | Bin 1230 -> 0 bytes .../css/images/treeview/treeview-red-line.gif | Bin 1877 -> 0 bytes .../css/images/treeview/treeview-red.gif | Bin 1230 -> 0 bytes .../css/images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 212 -> 0 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 208 -> 0 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 335 -> 0 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 207 -> 0 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 262 -> 0 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 262 -> 0 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 332 -> 0 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 280 -> 0 bytes .../css/images/ui-icons_222222_256x240.png | Bin 4429 -> 0 bytes .../css/images/ui-icons_454545_256x240.png | Bin 4421 -> 0 bytes .../css/images/ui-icons_888888_256x240.png | Bin 4368 -> 0 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 42343 -> 0 bytes .../advanced-access-manager/screenshot-2.png | Bin 43579 -> 0 bytes .../advanced-access-manager/screenshot-3.png | Bin 55565 -> 0 bytes .../advanced-access-manager/screenshot-4.png | Bin 46486 -> 0 bytes .../advanced-access-manager/screenshot-5.png | Bin 42282 -> 0 bytes .../plugins/auto-submenu/auto-submenu.php | 95 + wp-content/plugins/auto-submenu/readme.txt | 38 + .../plugins/nextgen-gallery/changelog.txt | 1154 ++ wp-content/plugins/nextgen-gallery/index.html | 0 .../plugins/nextgen-gallery/license.txt | 340 + .../plugins/nextgen-gallery/nggallery.php | 648 + .../non_pope/class.nextgen_settings.php | 24 + .../class.nextgen_shortcode_manager.php | 159 + .../non_pope/class.nextgen_style_manager.php | 283 + .../non_pope/class.photocrati_cache.php | 265 + .../non_pope/class.photocrati_installer.php | 233 + .../class.photocrati_resource_manager.php | 214 + .../class.photocrati_settings_manager.php | 301 + .../plugins/nextgen-gallery/pope/README.txt | 93 + .../nextgen-gallery/pope/lib/autoload.php | 14 + .../pope/lib/class.base_module.php | 184 + .../pope/lib/class.base_product.php | 36 + .../pope/lib/class.component.php | 113 + .../pope/lib/class.component_factory.php | 35 + .../pope/lib/class.component_registry.php | 943 ++ .../pope/lib/class.extensibleobject.php | 1419 ++ .../pope/lib/interface.component.php | 10 + .../pope/lib/interface.component_factory.php | 6 + .../pope/lib/interface.pope_module.php | 6 + .../class.nextgen_product_installer.php | 59 + .../modules/ajax/README.txt | 30 + .../modules/ajax/adapter.ajax_routes.php | 21 + .../modules/ajax/adapter.ajax_settings.php | 15 + .../modules/ajax/class.ajax_controller.php | 55 + .../modules/ajax/class.ajax_installer.php | 13 + .../ajax/class.ajax_option_handler.php | 29 + .../ajax/interface.ajax_controller.php | 6 + .../modules/ajax/module.ajax.php | 103 + .../modules/ajax/static/ajax.js | 1 + .../modules/ajax/static/ngg_store.js | 42 + .../modules/ajax/static/persist.js | 145 + .../modules/ajax/static/persist.swf | Bin 0 -> 502 bytes .../modules/ajax/static/store.js | 2 + .../adapter.attach_to_post_ajax.php | 235 + .../adapter.attach_to_post_routes.php | 24 + .../adapter.gallery_storage_frame_event.php | 47 + .../class.attach_controller.php | 370 + .../class.attach_to_post_installer.php | 13 + .../class.attach_to_post_option_handler.php | 28 + .../class.attach_to_post_proxy_controller.php | 62 + .../interface.attach_to_post_controller.php | 6 + .../mixin.attach_to_post_display_tab.php | 285 + .../attach_to_post/module.attach_to_post.php | 418 + .../attach_to_post/static/atp_button.png | Bin 0 -> 346 bytes .../attach_to_post/static/attach_to_post.css | 279 + .../attach_to_post/static/attach_to_post.js | 122 + .../static/attach_to_post_dialog.css | 56 + .../attach_to_post/static/iframely.css | 30 + .../modules/attach_to_post/static/iframely.js | 63 + .../attach_to_post/static/invalid_image.png | Bin 0 -> 2857 bytes .../modules/attach_to_post/static/nextgen.gif | Bin 0 -> 963 bytes .../ngg_attach_to_post_tinymce_plugin.js | 136 + ...tach_to_post_tinymce_plugin_wp38_compat.js | 200 + .../modules/attach_to_post/static/ngg_tabs.js | 57 + .../modules/attach_to_post/static/spinner.gif | Bin 0 -> 1849 bytes .../static/underscore.string.js | 600 + .../static/uploader-icons-2x.png | Bin 0 -> 3915 bytes .../attach_to_post/static/uploader-icons.png | Bin 0 -> 1593 bytes .../templates/accordion_tab.php | 4 + .../templates/attach_to_post.php | 29 + .../templates/display_settings_form.php | 3 + .../attach_to_post/templates/display_tab.php | 11 + .../templates/display_tab_js.php | 1717 +++ .../templates/display_tab_source.php | 2 + .../templates/display_tab_type.php | 3 + .../templates/no_display_type_selected.php | 3 + .../attach_to_post/templates/preview_tab.php | 3 + .../modules/cache/class.cache.php | 85 + .../modules/cache/interface.cache.php | 7 + .../modules/cache/module.cache.php | 42 + .../modules/datamapper/README.txt | 1 + .../datamapper/adapter.datamapper_factory.php | 24 + .../class.custompost_datamapper_driver.php | 550 + .../class.customtable_datamapper_driver.php | 475 + .../class.datamapper_driver_base.php | 744 ++ .../datamapper/class.datamapper_installer.php | 14 + .../datamapper/class.datamapper_model.php | 157 + .../interface.custompost_datamapper.php | 6 + .../interface.customtable_datamapper.php | 6 + .../interface.datamapper_driver.php | 29 + .../datamapper/interface.datamapper_model.php | 9 + .../modules/datamapper/module.datamapper.php | 213 + .../adapter.dynamic_stylesheet_routes.php | 21 + .../class.dynamic_stylesheet_controller.php | 128 + .../class.dynamic_stylesheet_installer.php | 14 + .../interface.dynamic_stylesheet.php | 7 + .../module.dynamic_stylesheet.php | 53 + .../adapter.dynamic_thumbnail_routes.php | 28 + ...pter.dynamic_thumbnails_storage_driver.php | 113 + .../class.dynamic_thumbnails_controller.php | 72 + .../class.dynamic_thumbnails_installer.php | 14 + .../class.dynamic_thumbnails_manager.php | 517 + ...nterface.dynamic_thumbnails_controller.php | 5 + .../interface.dynamic_thumbnails_manager.php | 24 + .../module.dynamic_thumbnails.php | 53 + .../static/invalid_image.png | Bin 0 -> 2797 bytes ...ass.frame_communication_option_handler.php | 9 + .../class.frame_event_publisher.php | 79 + .../interface.frame_event_publisher.php | 6 + .../module.frame_communication.php | 71 + .../static/frame_event_publisher.js | 162 + .../modules/fs/class.fs.php | 401 + .../modules/fs/interface.fs.php | 6 + .../modules/fs/module.fs.php | 36 + .../i18n/adapter.i18n_album_translation.php | 31 + .../i18n/adapter.i18n_gallery_translation.php | 25 + .../i18n/adapter.i18n_image_translation.php | 25 + .../modules/i18n/adapter.i18n_routing_app.php | 23 + .../modules/i18n/lang/nggallery-bs_BA.mo | Bin 0 -> 75121 bytes .../modules/i18n/lang/nggallery-bs_BA.po | 4259 ++++++ .../modules/i18n/lang/nggallery-cs_CZ.mo | Bin 0 -> 76081 bytes .../modules/i18n/lang/nggallery-cs_CZ.po | 2991 +++++ .../modules/i18n/lang/nggallery-de_DE.mo | Bin 0 -> 89994 bytes .../modules/i18n/lang/nggallery-de_DE.po | 5929 +++++++++ .../modules/i18n/lang/nggallery-es_ES.mo | Bin 0 -> 78073 bytes .../modules/i18n/lang/nggallery-es_ES.po | Bin 0 -> 78073 bytes .../modules/i18n/lang/nggallery-fi.mo | Bin 0 -> 74068 bytes .../modules/i18n/lang/nggallery-fi.po | 4072 ++++++ .../modules/i18n/lang/nggallery-fil.mo | Bin 0 -> 78627 bytes .../modules/i18n/lang/nggallery-fil.po | 4330 +++++++ .../modules/i18n/lang/nggallery-fr_FR.mo | Bin 0 -> 81168 bytes .../modules/i18n/lang/nggallery-fr_FR.po | 4341 +++++++ .../modules/i18n/lang/nggallery-hu_HU.mo | Bin 0 -> 79364 bytes .../modules/i18n/lang/nggallery-hu_HU.po | 4279 +++++++ .../modules/i18n/lang/nggallery-it_IT.mo | Bin 0 -> 76080 bytes .../modules/i18n/lang/nggallery-it_IT.po | 4273 ++++++ .../modules/i18n/lang/nggallery-nl_NL.mo | Bin 0 -> 76238 bytes .../modules/i18n/lang/nggallery-nl_NL.po | 4272 ++++++ .../modules/i18n/lang/nggallery-ru_RU.mo | Bin 0 -> 88111 bytes .../modules/i18n/lang/nggallery-ru_RU.po | 3840 ++++++ .../modules/i18n/lang/nggallery-zh_CN.mo | Bin 0 -> 70799 bytes .../modules/i18n/lang/nggallery-zh_CN.po | 4154 ++++++ .../modules/i18n/lang/nggallery.po | 4261 ++++++ .../modules/i18n/module.i18n.php | 204 + .../lightbox/adapter.lightbox_factory.php | 14 + .../adapter.lightbox_library_form.php | 66 + .../lightbox/class.lightbox_installer.php | 211 + .../lightbox/class.lightbox_library.php | 69 + .../class.lightbox_library_mapper.php | 83 + .../lightbox/interface.lightbox_library.php | 6 + .../interface.lightbox_library_mapper.php | 6 + .../modules/lightbox/module.lightbox.php | 323 + .../lightbox/static/fancybox/blank.gif | Bin 0 -> 43 bytes .../lightbox/static/fancybox/fancy_close.png | Bin 0 -> 1517 bytes .../static/fancybox/fancy_loading.png | Bin 0 -> 10195 bytes .../static/fancybox/fancy_nav_left.png | Bin 0 -> 1446 bytes .../static/fancybox/fancy_nav_right.png | Bin 0 -> 1454 bytes .../static/fancybox/fancy_shadow_e.png | Bin 0 -> 107 bytes .../static/fancybox/fancy_shadow_n.png | Bin 0 -> 106 bytes .../static/fancybox/fancy_shadow_ne.png | Bin 0 -> 347 bytes .../static/fancybox/fancy_shadow_nw.png | Bin 0 -> 324 bytes .../static/fancybox/fancy_shadow_s.png | Bin 0 -> 111 bytes .../static/fancybox/fancy_shadow_se.png | Bin 0 -> 352 bytes .../static/fancybox/fancy_shadow_sw.png | Bin 0 -> 340 bytes .../static/fancybox/fancy_shadow_w.png | Bin 0 -> 103 bytes .../static/fancybox/fancy_title_left.png | Bin 0 -> 503 bytes .../static/fancybox/fancy_title_main.png | Bin 0 -> 96 bytes .../static/fancybox/fancy_title_over.png | Bin 0 -> 70 bytes .../static/fancybox/fancy_title_right.png | Bin 0 -> 506 bytes .../lightbox/static/fancybox/fancybox-x.png | Bin 0 -> 203 bytes .../lightbox/static/fancybox/fancybox-y.png | Bin 0 -> 176 bytes .../lightbox/static/fancybox/fancybox.png | Bin 0 -> 15287 bytes .../static/fancybox/jquery.easing-1.3.pack.js | 72 + .../static/fancybox/jquery.fancybox-1.3.4.css | 366 + .../static/fancybox/jquery.fancybox-1.3.4.js | 1156 ++ .../fancybox/jquery.fancybox-1.3.4.pack.js | 46 + .../fancybox/jquery.mousewheel-3.0.4.pack.js | 14 + .../static/fancybox/nextgen_fancybox_init.js | 15 + .../static/highslide/graphics/close.png | Bin 0 -> 1910 bytes .../static/highslide/graphics/closeX.png | Bin 0 -> 3665 bytes .../graphics/controlbar-black-border.gif | Bin 0 -> 5109 bytes .../graphics/controlbar-text-buttons.png | Bin 0 -> 1300 bytes .../graphics/controlbar-white-small.gif | Bin 0 -> 3151 bytes .../highslide/graphics/controlbar-white.gif | Bin 0 -> 4999 bytes .../static/highslide/graphics/controlbar2.gif | Bin 0 -> 884 bytes .../static/highslide/graphics/controlbar3.gif | Bin 0 -> 838 bytes .../highslide/graphics/controlbar4-hover.gif | Bin 0 -> 2410 bytes .../static/highslide/graphics/controlbar4.gif | Bin 0 -> 854 bytes .../static/highslide/graphics/fullexpand.gif | Bin 0 -> 209 bytes .../static/highslide/graphics/geckodimmer.png | Bin 0 -> 2817 bytes .../static/highslide/graphics/icon.gif | Bin 0 -> 867 bytes .../static/highslide/graphics/loader.gif | Bin 0 -> 668 bytes .../highslide/graphics/loader.white.gif | Bin 0 -> 673 bytes .../highslide/graphics/outlines/Outlines.psd | Bin 0 -> 171802 bytes .../highslide/graphics/outlines/beveled.png | Bin 0 -> 1848 bytes .../graphics/outlines/drop-shadow.png | Bin 0 -> 2091 bytes .../graphics/outlines/glossy-dark.png | Bin 0 -> 2793 bytes .../graphics/outlines/outer-glow.png | Bin 0 -> 3423 bytes .../graphics/outlines/rounded-black.png | Bin 0 -> 3031 bytes .../graphics/outlines/rounded-white.png | Bin 0 -> 2050 bytes .../static/highslide/graphics/resize.gif | Bin 0 -> 70 bytes .../highslide/graphics/scrollarrows.png | Bin 0 -> 6463 bytes .../static/highslide/graphics/zoomin.cur | Bin 0 -> 326 bytes .../static/highslide/graphics/zoomout.cur | Bin 0 -> 326 bytes .../static/highslide/highslide-full.js | 3320 +++++ .../static/highslide/highslide-full.min.js | 9 + .../static/highslide/highslide-full.packed.js | 9 + .../static/highslide/highslide-ie6.css | 76 + .../highslide/highslide-with-gallery.js | 2657 ++++ .../highslide/highslide-with-gallery.min.js | 9 + .../highslide-with-gallery.packed.js | 9 + .../static/highslide/highslide-with-html.js | 2481 ++++ .../highslide/highslide-with-html.min.js | 9 + .../highslide/highslide-with-html.packed.js | 9 + .../lightbox/static/highslide/highslide.css | 889 ++ .../lightbox/static/highslide/highslide.js | 1891 +++ .../static/highslide/highslide.min.js | 9 + .../static/highslide/highslide.packed.js | 9 + .../highslide/nextgen_highslide_init.js | 48 + .../lightbox/static/jquery.lightbox/jquery.js | 32 + .../jquery.lightbox/jquery.lightbox-0.5.css | 103 + .../jquery.lightbox/jquery.lightbox-0.5.js | 472 + .../jquery.lightbox-0.5.min.js | 42 + .../static/jquery.lightbox/lightbox-blank.gif | Bin 0 -> 43 bytes .../jquery.lightbox/lightbox-btn-close.gif | Bin 0 -> 700 bytes .../jquery.lightbox/lightbox-btn-next.gif | Bin 0 -> 812 bytes .../jquery.lightbox/lightbox-btn-prev.gif | Bin 0 -> 832 bytes .../jquery.lightbox/lightbox-ico-loading.gif | Bin 0 -> 3990 bytes .../jquery.lightbox/nextgen_lightbox_init.js | 62 + .../lightbox/static/lightbox_context.js | 27 + .../static/shutter/nextgen_shutter.js | 23 + .../lightbox/static/shutter/shutter.css | 94 + .../lightbox/static/shutter/shutter.js | 299 + .../static/shutter_reloaded/images/close.gif | Bin 0 -> 1062 bytes .../shutter_reloaded/images/loading.gif | Bin 0 -> 10049 bytes .../static/shutter_reloaded/images/next.gif | Bin 0 -> 549 bytes .../static/shutter_reloaded/images/prev.gif | Bin 0 -> 551 bytes .../shutter_reloaded/images/resize1.gif | Bin 0 -> 942 bytes .../shutter_reloaded/images/resize2.gif | Bin 0 -> 953 bytes .../nextgen_shutter_reloaded.js | 18 + .../static/shutter_reloaded/shutter.css | 92 + .../static/shutter_reloaded/shutter.js | 287 + .../static/thickbox/nextgen_thickbox_init.js | 29 + .../modules/lzw/class.lzw.php | 119 + .../modules/lzw/interface.lzw.php | 7 + .../modules/lzw/module.lzw.php | 38 + .../mediarss/adapter.mediarss_routes.php | 27 + .../mediarss/class.mediarss_controller.php | 172 + .../interface.mediarss_controller.php | 6 + .../modules/mediarss/module.mediarss.php | 46 + .../mediarss/templates/mediarss_feed.php | 34 + .../mediarss/templates/playlist_feed.php | 25 + .../photocrati_nextgen/modules/mvc/README | 85 + .../modules/mvc/adapter.mvc_factory.php | 9 + .../modules/mvc/adapter.mvc_fs.php | 56 + .../modules/mvc/adapter.mvc_router.php | 49 + .../modules/mvc/class.mvc_controller.php | 272 + .../modules/mvc/class.mvc_option_handler.php | 22 + .../modules/mvc/class.mvc_view.php | 287 + .../modules/mvc/class.mvc_view_element.php | 116 + .../modules/mvc/interface.mvc_controller.php | 12 + .../modules/mvc/interface.mvc_view.php | 5 + .../modules/mvc/module.mvc.php | 75 + .../modules/mvc/template_helper.php | 39 + .../modules/mvc/templates/404.php | 9 + .../modules/mvc/templates/500.php | 9 + .../modules/mvc/templates/index.php | 15 + .../adapter.import_folder_form.php | 23 + .../adapter.nextgen_addgallery_ajax.php | 189 + .../adapter.nextgen_addgallery_controller.php | 27 + .../adapter.nextgen_addgallery_forms.php | 19 + .../adapter.nextgen_addgallery_pages.php | 14 + .../adapter.upload_images_form.php | 126 + .../module.nextgen_addgallery_page.php | 64 + .../static/browserplus-2.4.21.min.js | 8 + .../jquery.filetree/images/directory.png | Bin 0 -> 537 bytes .../jquery.filetree/images/folder_open.png | Bin 0 -> 583 bytes .../static/jquery.filetree/images/spinner.gif | Bin 0 -> 2530 bytes .../jquery.filetree/jquery.filetree.css | 95 + .../static/jquery.filetree/jquery.filetree.js | 100 + .../static/plupload-2.1.1/Moxie.swf | Bin 0 -> 28902 bytes .../static/plupload-2.1.1/Moxie.xap | Bin 0 -> 62535 bytes .../static/plupload-2.1.1/i18n/ar.js | 2 + .../static/plupload-2.1.1/i18n/bs.js | 2 + .../static/plupload-2.1.1/i18n/ca.js | 2 + .../static/plupload-2.1.1/i18n/cs.js | 2 + .../static/plupload-2.1.1/i18n/cy.js | 2 + .../static/plupload-2.1.1/i18n/da.js | 2 + .../static/plupload-2.1.1/i18n/de.js | 2 + .../static/plupload-2.1.1/i18n/el.js | 2 + .../static/plupload-2.1.1/i18n/en.js | 2 + .../static/plupload-2.1.1/i18n/es.js | 2 + .../static/plupload-2.1.1/i18n/et.js | 2 + .../static/plupload-2.1.1/i18n/fa.js | 2 + .../static/plupload-2.1.1/i18n/fi.js | 2 + .../static/plupload-2.1.1/i18n/fr.js | 2 + .../static/plupload-2.1.1/i18n/he.js | 2 + .../static/plupload-2.1.1/i18n/hr.js | 2 + .../static/plupload-2.1.1/i18n/hu.js | 2 + .../static/plupload-2.1.1/i18n/hy.js | 2 + .../static/plupload-2.1.1/i18n/id.js | 2 + .../static/plupload-2.1.1/i18n/it.js | 2 + .../static/plupload-2.1.1/i18n/ja.js | 2 + .../static/plupload-2.1.1/i18n/ka.js | 2 + .../static/plupload-2.1.1/i18n/kk.js | 2 + .../static/plupload-2.1.1/i18n/ko.js | 2 + .../static/plupload-2.1.1/i18n/lt.js | 2 + .../static/plupload-2.1.1/i18n/lv.js | 2 + .../static/plupload-2.1.1/i18n/nl.js | 2 + .../static/plupload-2.1.1/i18n/pl.js | 2 + .../static/plupload-2.1.1/i18n/pt_BR.js | 2 + .../static/plupload-2.1.1/i18n/ro.js | 2 + .../static/plupload-2.1.1/i18n/ru.js | 2 + .../static/plupload-2.1.1/i18n/sk.js | 2 + .../static/plupload-2.1.1/i18n/sr.js | 2 + .../static/plupload-2.1.1/i18n/sv.js | 2 + .../static/plupload-2.1.1/i18n/th_TH.js | 2 + .../static/plupload-2.1.1/i18n/tr.js | 2 + .../static/plupload-2.1.1/i18n/uk_UA.js | 2 + .../static/plupload-2.1.1/i18n/zh_CN.js | 2 + .../static/plupload-2.1.1/i18n/zh_TW.js | 2 + .../css/jquery.plupload.queue.css | 181 + .../jquery.plupload.queue/img/backgrounds.gif | Bin 0 -> 2977 bytes .../img/buttons-disabled.png | Bin 0 -> 1292 bytes .../jquery.plupload.queue/img/buttons.png | Bin 0 -> 1439 bytes .../jquery.plupload.queue/img/delete.gif | Bin 0 -> 180 bytes .../jquery.plupload.queue/img/done.gif | Bin 0 -> 1024 bytes .../jquery.plupload.queue/img/error.gif | Bin 0 -> 994 bytes .../jquery.plupload.queue/img/throbber.gif | Bin 0 -> 1922 bytes .../jquery.plupload.queue/img/transp50.png | Bin 0 -> 399 bytes .../jquery.plupload.queue.js | 424 + .../jquery.plupload.queue.min.js | 1 + .../css/jquery.ui.plupload.css | 362 + .../jquery.ui.plupload/img/loading.gif | Bin 0 -> 4023 bytes .../jquery.ui.plupload/img/plupload.png | Bin 0 -> 6597 bytes .../jquery.ui.plupload/jquery.ui.plupload.js | 1307 ++ .../jquery.ui.plupload.min.js | 1 + .../static/plupload-2.1.1/moxie.js | 10684 ++++++++++++++++ .../static/plupload-2.1.1/moxie.min.js | 15 + .../static/plupload-2.1.1/plupload.dev.js | 2273 ++++ .../plupload-2.1.1/plupload.full.min.js | 28 + .../static/plupload-2.1.1/plupload.min.js | 13 + .../nextgen_addgallery_page/static/styles.css | 40 + .../templates/import_folder.php | 63 + .../templates/upload_images.php | 267 + .../nextgen_admin/adapter.fs_access_page.php | 43 + .../nextgen_admin/adapter.mvc_validation.php | 33 + .../adapter.nextgen_admin_default_pages.php | 13 + .../adapter.nextgen_settings_routes.php | 20 + .../modules/nextgen_admin/class.form.php | 390 + .../nextgen_admin/class.form_manager.php | 189 + .../class.nextgen_admin_installer.php | 36 + .../class.nextgen_admin_option_handler.php | 29 + .../class.nextgen_admin_page_controller.php | 296 + .../nextgen_admin/class.page_manager.php | 180 + .../modules/nextgen_admin/interface.form.php | 7 + .../nextgen_admin/interface.form_manager.php | 11 + .../interface.nextgen_admin_page.php | 6 + .../nextgen_admin/interface.page_manager.php | 6 + .../nextgen_admin/module.nextgen_admin.php | 158 + .../nextgen_admin/static/animation.gif | Bin 0 -> 44130 bytes .../static/gritter/css/gritter.css | 101 + .../static/gritter/gritter.min.js | 1 + .../static/gritter/images/gritter-light.png | Bin 0 -> 4978 bytes .../static/gritter/images/gritter-long.png | Bin 0 -> 6299 bytes .../static/gritter/images/gritter.png | Bin 0 -> 4880 bytes .../static/gritter/images/ie-spacer.gif | Bin 0 -> 43 bytes .../static/gritter/images/trees.jpg | Bin 0 -> 274003 bytes .../nextgen_admin/static/information.png | Bin 0 -> 462 bytes .../jquery-ui}/images/animated-overlay.gif | Bin .../jquery-ui/images/nextgen-logo-small.jpg | Bin 0 -> 8965 bytes .../images/ui-bg_flat_0_222_40x100.png | Bin 0 -> 220 bytes .../images/ui-bg_flat_0_333_40x100.png | Bin 0 -> 220 bytes .../images/ui-bg_flat_0_D54E21_40x100.png | Bin 0 -> 206 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 212 bytes .../images/ui-bg_flat_0_e1e1e1_40x100.png | Bin 0 -> 230 bytes .../images/ui-bg_flat_0_f5f5f5_40x100.png | Bin 0 -> 230 bytes .../images/ui-bg_flat_0_fff_40x100.png | Bin 0 -> 208 bytes .../images/ui-bg_flat_55_222_40x100.png | Bin 0 -> 220 bytes .../images/ui-bg_flat_55_e1e1e1_40x100.png | Bin 0 -> 230 bytes .../images/ui-bg_flat_65_0074A2_40x100.png | Bin 0 -> 206 bytes .../images/ui-bg_flat_65_e1e1e1_40x100.png | Bin 0 -> 230 bytes .../images/ui-bg_flat_65_ececec_40x100.png | Bin 0 -> 180 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 178 bytes .../images/ui-bg_glass_55_ffffe0_1x400.png | Bin 0 -> 115 bytes .../images/ui-bg_glass_95_ffebe8_1x400.png | Bin 0 -> 124 bytes .../ui-bg_highlight-hard_75_ececec_1x100.png | Bin 0 -> 95 bytes .../ui-bg_highlight-soft_75_ececec_1x100.png | Bin 0 -> 103 bytes .../ui-bg_inset-hard_75_ececec_1x100.png | Bin 0 -> 94 bytes .../jquery-ui/images/ui-icons-photocrati.png | Bin 0 -> 388 bytes .../images/ui-icons_21759b_256x240.png | Bin 0 -> 4369 bytes .../jquery-ui/images/ui-icons_222_256x240.png | Bin 0 -> 6922 bytes .../images/ui-icons_2EA2CC_256x240.png | Bin 0 -> 4549 bytes .../images/ui-icons_333333_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_999999_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_cc0000_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_cccccc_256x240.png | Bin 0 -> 6975 bytes .../jquery-ui/images/ui-icons_eee_256x240.png | Bin 0 -> 6916 bytes .../jquery-ui/images/ui-icons_fff_256x240.png | Bin 0 -> 6299 bytes .../jquery-ui/jquery-ui-1.10.4.custom.css | 1271 ++ .../jquery-ui/jquery-ui-1.9.1.custom.css | 1892 +++ .../static/jquery.nextgen_radio_toggle.js | 17 + .../static/jquery.placeholder.min.js | 2 + .../static/nextgen_admin_page.css | 54 + .../static/nextgen_admin_page.js | 67 + .../nextgen_admin/static/ngg_progressbar.css | 28 + .../nextgen_admin/static/ngg_progressbar.js | 102 + .../static/select2/select2-spinner.gif | Bin 0 -> 1849 bytes .../nextgen_admin/static/select2/select2.css | 573 + .../static/select2/select2.modded.js | 2432 ++++ .../nextgen_admin/static/select2/select2.png | Bin 0 -> 613 bytes .../static/select2/select2x2.png | Bin 0 -> 845 bytes .../nextgen_admin/templates/accordion_tab.php | 4 + .../nextgen_admin/templates/entity_errors.php | 10 + .../nextgen_admin/templates/entity_saved.php | 3 + .../nextgen_settings_field_color.php | 16 + .../nextgen_settings_field_number.php | 20 + .../nextgen_settings_field_radio.php | 26 + .../nextgen_settings_field_select.php | 18 + .../nextgen_settings_field_text.php | 17 + .../nextgen_settings_field_textarea.php | 16 + .../nextgen_settings_field_width_and_unit.php | 25 + .../field_generator/thumbnail_settings.php | 22 + .../modules/nextgen_admin/templates/form.php | 5 + .../templates/nextgen_admin_page.php | 29 + .../templates/not_authorized.php | 3 + .../adapter.nextgen_basic_album.php | 39 + ...adapter.nextgen_basic_album_controller.php | 286 + .../adapter.nextgen_basic_album_forms.php | 16 + .../adapter.nextgen_basic_album_mapper.php | 49 + .../adapter.nextgen_basic_album_routes.php | 48 + .../adapter.nextgen_basic_album_urls.php | 36 + ...apter.nextgen_basic_compact_album_form.php | 37 + ...pter.nextgen_basic_extended_album_form.php | 37 + .../class.nextgen_basic_album_installer.php | 25 + .../mixin.nextgen_basic_album_form.php | 54 + .../module.nextgen_basic_album.php | 151 + .../nextgen_basic_album/static/albumset.gif | Bin 0 -> 814 bytes .../static/compact_preview.jpg | Bin 0 -> 7320 bytes .../static/compact_settings.js | 5 + .../static/extended_preview.jpg | Bin 0 -> 6202 bytes .../static/extended_settings.js | 5 + .../nextgen_basic_album/static/init.js | 6 + .../static/jquery.dotdotdot-1.5.7-packed.js | 15 + .../static/nextgen_basic_album.css | 123 + .../nextgen_basic_album/templates/compact.php | 38 + .../templates/extended.php | 22 + ...nextgen_basic_album_galleries_per_page.php | 19 + ...xtgen_basic_album_gallery_display_type.php | 22 + .../adapter.nextgen_basic_gallery_forms.php | 10 + .../adapter.nextgen_basic_gallery_mapper.php | 103 + .../adapter.nextgen_basic_gallery_routes.php | 25 + .../adapter.nextgen_basic_gallery_urls.php | 114 + ...apter.nextgen_basic_gallery_validation.php | 46 + ...ter.nextgen_basic_slideshow_controller.php | 99 + .../adapter.nextgen_basic_slideshow_form.php | 335 + .../adapter.nextgen_basic_thumbnail_form.php | 206 + ...er.nextgen_basic_thumbnails_controller.php | 221 + .../class.nextgen_basic_gallery_installer.php | 27 + ...hook.nextgen_basic_gallery_integration.php | 50 + ...mixin.nextgen_basic_gallery_controller.php | 30 + .../module.nextgen_basic_gallery.php | 246 + .../static/slideshow/imagerotator.swf | Bin 0 -> 42706 bytes .../static/slideshow/jquery.cycle.all.js | 1548 +++ .../static/slideshow/jquery.cycle.all.min.js | 10 + .../static/slideshow/jquery.waitforimages.js | 135 + .../slideshow/nextgen_basic_slideshow.css | 67 + .../slideshow/nextgen_basic_slideshow.js | 55 + .../nextgen_basic_slideshow_settings.js | 20 + .../static/slideshow/placeholder.gif | Bin 0 -> 156 bytes .../static/slideshow_preview.jpg | Bin 0 -> 5254 bytes .../static/thumb_preview.jpg | Bin 0 -> 6538 bytes .../static/thumbnails/ajax_pagination.js | 61 + .../thumbnails/nextgen_basic_thumbnails.css | 102 + .../thumbnails/nextgen_basic_thumbnails.js | 2 + .../nextgen_basic_thumbnails_settings.css | 3 + .../nextgen_basic_thumbnails_settings.js | 11 + .../thumbnails/piclens/lite/NoFlash.jpg | Bin 0 -> 72549 bytes .../thumbnails/piclens/lite/PicLensButton.png | Bin 0 -> 3281 bytes .../thumbnails/piclens/lite/PicLensLite.swf | Bin 0 -> 251875 bytes .../static/thumbnails/piclens/lite/piclens.js | 1127 ++ .../piclens/lite/piclens_optimized.js | 20 + .../piclens/lytebox/images/blank.gif | Bin 0 -> 43 bytes .../piclens/lytebox/images/close_blue.png | Bin 0 -> 1788 bytes .../piclens/lytebox/images/close_gold.png | Bin 0 -> 1652 bytes .../piclens/lytebox/images/close_green.png | Bin 0 -> 1525 bytes .../piclens/lytebox/images/close_grey.png | Bin 0 -> 1715 bytes .../piclens/lytebox/images/close_red.png | Bin 0 -> 1525 bytes .../piclens/lytebox/images/loading.gif | Bin 0 -> 2767 bytes .../piclens/lytebox/images/next_blue.gif | Bin 0 -> 733 bytes .../piclens/lytebox/images/next_gold.gif | Bin 0 -> 732 bytes .../piclens/lytebox/images/next_green.gif | Bin 0 -> 732 bytes .../piclens/lytebox/images/next_grey.gif | Bin 0 -> 731 bytes .../piclens/lytebox/images/next_red.gif | Bin 0 -> 732 bytes .../piclens/lytebox/images/pause_blue.png | Bin 0 -> 1357 bytes .../piclens/lytebox/images/pause_gold.png | Bin 0 -> 1207 bytes .../piclens/lytebox/images/pause_green.png | Bin 0 -> 1149 bytes .../piclens/lytebox/images/pause_grey.png | Bin 0 -> 1282 bytes .../piclens/lytebox/images/pause_red.png | Bin 0 -> 1133 bytes .../piclens/lytebox/images/play_blue.png | Bin 0 -> 1231 bytes .../piclens/lytebox/images/play_gold.png | Bin 0 -> 1141 bytes .../piclens/lytebox/images/play_green.png | Bin 0 -> 1097 bytes .../piclens/lytebox/images/play_grey.png | Bin 0 -> 1178 bytes .../piclens/lytebox/images/play_red.png | Bin 0 -> 1079 bytes .../piclens/lytebox/images/prev_blue.gif | Bin 0 -> 748 bytes .../piclens/lytebox/images/prev_gold.gif | Bin 0 -> 748 bytes .../piclens/lytebox/images/prev_green.gif | Bin 0 -> 748 bytes .../piclens/lytebox/images/prev_grey.gif | Bin 0 -> 748 bytes .../piclens/lytebox/images/prev_red.gif | Bin 0 -> 748 bytes .../thumbnails/piclens/lytebox/lytebox.css | 93 + .../thumbnails/piclens/lytebox/lytebox.js | 843 ++ .../templates/slideshow/index.php | 202 + ..._slideshow_settings_gallery_dimensions.php | 29 + .../templates/thumbnails/index.php | 103 + .../adapter.nextgen_basic_imagebrowser.php | 28 + ....nextgen_basic_imagebrowser_controller.php | 213 + ...dapter.nextgen_basic_imagebrowser_form.php | 20 + ...apter.nextgen_basic_imagebrowser_forms.php | 11 + ...pter.nextgen_basic_imagebrowser_mapper.php | 34 + ...pter.nextgen_basic_imagebrowser_routes.php | 20 + ...dapter.nextgen_basic_imagebrowser_urls.php | 12 + ...s.nextgen_basic_imagebrowser_installer.php | 17 + ...ok.nextgen_basic_imagebrowser_alt_urls.php | 42 + .../module.nextgen_basic_imagebrowser.php | 128 + .../static/preview.jpg | Bin 0 -> 5571 bytes .../static/style.css | 58 + .../templates/nextgen_basic_imagebrowser.php | 76 + .../adapter.nextgen_basic_singlepic.php | 23 + ...ter.nextgen_basic_singlepic_controller.php | 155 + .../adapter.nextgen_basic_singlepic_form.php | 134 + .../adapter.nextgen_basic_singlepic_forms.php | 11 + ...adapter.nextgen_basic_singlepic_mapper.php | 78 + ...lass.nextgen_basic_singlepic_installer.php | 16 + .../module.nextgen_basic_singlepic.php | 129 + .../static/nextgen_basic_singlepic.css | 38 + .../static/preview.gif | Bin 0 -> 272 bytes .../templates/nextgen_basic_singlepic.php | 95 + ...en_basic_singlepic_settings_dimensions.php | 25 + .../nextgen_basic_singlepic_settings_link.php | 15 + ...xtgen_basic_singlepic_settings_quality.php | 17 + ...nextgen_basic_singlepic_settings_radio.php | 26 + ...extgen_basic_singlepic_settings_select.php | 19 + .../adapter.nextgen_basic_tagcloud.php | 23 + ...pter.nextgen_basic_tagcloud_controller.php | 80 + .../adapter.nextgen_basic_tagcloud_form.php | 52 + .../adapter.nextgen_basic_tagcloud_forms.php | 11 + .../adapter.nextgen_basic_tagcloud_mapper.php | 25 + .../adapter.nextgen_basic_tagcloud_routes.php | 20 + .../adapter.nextgen_basic_tagcloud_urls.php | 75 + ...class.nextgen_basic_tagcloud_installer.php | 21 + .../class.taxonomy_controller.php | 127 + .../interface.taxonomy_controller.php | 8 + .../module.nextgen_basic_tagcloud.php | 148 + .../static/nextgen_basic_tagcloud.css | 22 + .../nextgen_basic_tagcloud/static/preview.gif | Bin 0 -> 869 bytes .../templates/nextgen_basic_tagcloud.php | 7 + .../adapter.nextgen_basic_template_form.php | 220 + .../class.legacy_template_locator.php | 156 + .../interface.legacy_template_locator.php | 9 + .../mixin.nextgen_basic_templates.php | 37 + .../module.nextgen_basic_templates.php | 52 + .../static/ngg_template_settings.css | 19 + .../static/ngg_template_settings.js | 114 + ...tgen_basic_templates_settings_template.php | 21 + .../adapter.attachment_datamapper.php | 62 + ...adapter.customtable_sorting_datamapper.php | 42 + .../adapter.nextgen_data_factory.php | 56 + .../modules/nextgen_data/class.album.php | 57 + .../nextgen_data/class.album_mapper.php | 97 + .../modules/nextgen_data/class.gallery.php | 83 + .../nextgen_data/class.gallery_mapper.php | 130 + .../nextgen_data/class.gallery_storage.php | 76 + .../class.gallerystorage_base.php | 21 + .../class.gallerystorage_driver_base.php | 1522 +++ .../modules/nextgen_data/class.image.php | 58 + .../nextgen_data/class.image_mapper.php | 164 + .../nextgen_data/class.image_wrapper.php | 558 + .../class.image_wrapper_collection.php | 54 + .../class.nextgen_data_installer.php | 51 + .../nextgen_data/class.nextgen_metadata.php | 677 + .../class.ngglegacy_gallerystorage_driver.php | 835 ++ .../class.ngglegacy_thumbnail.php | 1035 ++ .../class.wordpress_gallerystorage_driver.php | 88 + .../modules/nextgen_data/interface.album.php | 6 + .../nextgen_data/interface.album_mapper.php | 6 + .../interface.component_config.php | 10 + .../nextgen_data/interface.gallery.php | 5 + .../nextgen_data/interface.gallery_mapper.php | 6 + .../interface.gallery_storage.php | 6 + .../nextgen_data/interface.gallery_type.php | 5 + .../interface.gallerystorage_driver.php | 31 + .../modules/nextgen_data/interface.image.php | 6 + .../nextgen_data/interface.image_mapper.php | 6 + .../mixin.nextgen_table_extras.php | 204 + .../nextgen_data/module.nextgen_data.php | 118 + .../nextgen_gallery_display/README.txt | 148 + .../adapter.display_settings_controller.php | 24 + .../adapter.display_settings_page.php | 12 + ...pter.displayed_gallery_trigger_element.php | 15 + ...er.displayed_gallery_trigger_resources.php | 49 + .../adapter.gallery_display_ajax.php | 39 + .../adapter.gallery_display_factory.php | 38 + .../adapter.gallery_display_view.php | 43 + .../class.display_type.php | 96 + .../class.display_type_controller.php | 316 + .../class.display_type_mapper.php | 110 + .../class.displayed_gallery.php | 956 ++ .../class.displayed_gallery_mapper.php | 101 + .../class.displayed_gallery_renderer.php | 355 + .../class.displayed_gallery_source.php | 49 + .../class.displayed_gallery_source_mapper.php | 91 + .../class.displayed_gallery_trigger.php | 32 + ...lass.displayed_gallery_trigger_manager.php | 284 + .../class.gallery_display_installer.php | 136 + ...agate_thumbnail_dimensions_to_settings.php | 29 + .../interface.display_settings_controller.php | 6 + .../interface.display_type.php | 6 + .../interface.display_type_controller.php | 6 + .../interface.display_type_form.php | 5 + .../interface.display_type_mapper.php | 6 + .../interface.displayed_gallery.php | 6 + .../interface.displayed_gallery_mapper.php | 6 + .../interface.displayed_gallery_renderer.php | 6 + .../interface.displayed_gallery_source.php | 6 + ...erface.displayed_gallery_source_mapper.php | 10 + .../mixin.display_type_form.php | 57 + .../module.nextgen_gallery_display.php | 370 + .../nextgen_gallery_display/static/common.js | 92 + .../static/fontawesome/font-awesome.css | 4 + .../static/fonts/FontAwesome.otf | Bin 0 -> 62856 bytes .../static/fonts/fontawesome-webfont.eot | Bin 0 -> 38205 bytes .../static/fonts/fontawesome-webfont.svg | 414 + .../static/fonts/fontawesome-webfont.ttf | Bin 0 -> 80652 bytes .../static/fonts/fontawesome-webfont.woff | Bin 0 -> 44432 bytes .../nextgen_gallery_display_settings.css | 57 + .../nextgen_gallery_display_settings.js | 12 + .../static/nextgen_gallery_related_images.css | 22 + .../static/trigger_buttons.css | 40 + .../templates/alt_view_link_text.php | 18 + .../templates/alternative_view.php | 20 + .../templates/container/after.php | 0 .../templates/container/before.php | 0 .../templates/image/after.php | 1 + .../templates/image/before.php | 7 + .../templates/index.php | 9 + .../templates/list/after.php | 0 .../templates/list/before.php | 0 .../templates/no_images_found.php | 1 + .../templates/related.php | 18 + .../templates/return_link_text.php | 18 + .../templates/show_altview_link.php | 27 + .../templates/show_return_link.php | 27 + .../adapter.image_options_form.php | 230 + .../adapter.lightbox_manager_form.php | 103 + .../adapter.miscellaneous_form.php | 91 + .../adapter.other_options_controller.php | 29 + .../adapter.other_options_forms.php | 41 + .../adapter.other_options_page.php | 12 + .../adapter.reset_form.php | 95 + .../adapter.roles_form.php | 24 + .../adapter.styles_form.php | 48 + .../adapter.stylesheet_ajax_actions.php | 49 + .../adapter.thumbnail_options_form.php | 42 + .../adapter.watermarking_ajax_actions.php | 44 + .../adapter.watermarks_form.php | 154 + .../class.settings_model.php | 55 + .../module.nextgen_other_options.php | 89 + .../static/nextgen_settings_page.css | 111 + .../static/nextgen_settings_page.js | 134 + .../templates/image_options_tab.php | 258 + .../templates/lightbox_library_tab.php | 68 + .../templates/misc_tab.php | 86 + .../templates/reset_tab.php | 34 + .../templates/styling_tab.php | 73 + .../templates/thumbnail_options_tab.php | 100 + .../templates/watermark_image_fields.php | 17 + .../templates/watermark_text_fields.php | 75 + .../templates/watermarks_tab.php | 99 + .../mixin.nextgen_basic_pagination.php | 99 + .../module.nextgen_pagination.php | 30 + .../nextgen_pagination/static/style.css | 41 + .../adapter.nextgen_pro_plus_upgrade_page.php | 25 + ...adapter.nextgen_pro_upgrade_controller.php | 59 + .../module.nextgen_pro_upgrade.php | 38 + .../nextgen_pro_upgrade/static/button.png | Bin 0 -> 7581 bytes .../nextgen_pro_upgrade/static/proupgrade.gif | Bin 0 -> 578587 bytes .../nextgen_pro_upgrade/static/style.css | 44 + .../nextgen_pro_upgrade/templates/plus.php | 17 + .../nextgen_pro_upgrade/templates/pro.php | 12 + .../class.nextgen_settings_installer.php | 173 + .../module.nextgen_settings.php | 38 + .../nextgen_xmlrpc/module.nextgen_xmlrpc.php | 632 + .../modules/ngglegacy/admin/admin.php | 604 + .../modules/ngglegacy/admin/ajax.php | 399 + .../modules/ngglegacy/admin/album.php | 717 ++ .../ngglegacy/admin/css/images/dropdown.png | Bin 0 -> 217 bytes .../admin/css/images/ui-anim_basic_16x16.gif | Bin 0 -> 1553 bytes .../css/images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../css/images/ui-icons_cccccc_256x240.png | Bin 0 -> 4369 bytes .../css/images/ui-icons_ffffff_256x240.png | Bin 0 -> 4369 bytes .../ngglegacy/admin/css/jquery.ui.tabs.css | 158 + .../modules/ngglegacy/admin/css/menu.css | 3 + .../ngglegacy/admin/css/nggColorPicker.css | 14 + .../modules/ngglegacy/admin/css/nggSorter.css | 76 + .../ngglegacy/admin/css/ngg_social_media.css | 33 + .../modules/ngglegacy/admin/css/nggadmin.css | 528 + .../ngglegacy/admin/css/tags-admin.css | 10 + .../ngglegacy/admin/edit-thumbnail.php | 183 + .../modules/ngglegacy/admin/functions.php | 1296 ++ .../ngglegacy/admin/images/facebook.png | Bin 0 -> 1082 bytes .../ngglegacy/admin/images/googleplus.png | Bin 0 -> 1513 bytes .../ngglegacy/admin/images/icon-paypal.gif | Bin 0 -> 220 bytes .../ngglegacy/admin/images/icon-rating.png | Bin 0 -> 728 bytes .../ngglegacy/admin/images/icon-translate.png | Bin 0 -> 819 bytes .../ngglegacy/admin/images/marker_bottom.gif | Bin 0 -> 45 bytes .../ngglegacy/admin/images/marker_middle.gif | Bin 0 -> 48 bytes .../ngglegacy/admin/images/marker_top.gif | Bin 0 -> 45 bytes .../ngglegacy/admin/images/menu-bits.gif | Bin 0 -> 1194 bytes .../ngglegacy/admin/images/nextgen.png | Bin 0 -> 738 bytes .../admin/images/nextgen_16_color.png | Bin 0 -> 388 bytes .../admin/images/nextgen_16_grey.png | Bin 0 -> 400 bytes .../admin/images/nextgen_32_color.png | Bin 0 -> 1108 bytes .../admin/images/nextgen_32_grey.png | Bin 0 -> 898 bytes .../modules/ngglegacy/admin/images/select.png | Bin 0 -> 506 bytes .../ngglegacy/admin/images/twitter.png | Bin 0 -> 964 bytes .../modules/ngglegacy/admin/index.html | 0 .../modules/ngglegacy/admin/install.php | 118 + .../ngglegacy/admin/js/Jcrop/css/Jcrop.gif | Bin 0 -> 329 bytes .../admin/js/Jcrop/css/jquery.Jcrop.css | 35 + .../admin/js/Jcrop/js/jquery.Jcrop.js | 1197 ++ .../admin/js/colorpicker/css/colorpicker.css | 161 + .../admin/js/colorpicker/images/blank.gif | Bin 0 -> 49 bytes .../images/colorpicker_background.png | Bin 0 -> 1897 bytes .../js/colorpicker/images/colorpicker_hex.png | Bin 0 -> 532 bytes .../colorpicker/images/colorpicker_hsb_b.png | Bin 0 -> 970 bytes .../colorpicker/images/colorpicker_hsb_h.png | Bin 0 -> 1012 bytes .../colorpicker/images/colorpicker_hsb_s.png | Bin 0 -> 1171 bytes .../colorpicker/images/colorpicker_indic.gif | Bin 0 -> 86 bytes .../images/colorpicker_overlay.png | Bin 0 -> 10355 bytes .../colorpicker/images/colorpicker_rgb_b.png | Bin 0 -> 970 bytes .../colorpicker/images/colorpicker_rgb_g.png | Bin 0 -> 1069 bytes .../colorpicker/images/colorpicker_rgb_r.png | Bin 0 -> 1066 bytes .../colorpicker/images/colorpicker_select.gif | Bin 0 -> 78 bytes .../colorpicker/images/colorpicker_submit.png | Bin 0 -> 984 bytes .../colorpicker/images/custom_background.png | Bin 0 -> 1916 bytes .../js/colorpicker/images/custom_hex.png | Bin 0 -> 562 bytes .../js/colorpicker/images/custom_hsb_b.png | Bin 0 -> 1097 bytes .../js/colorpicker/images/custom_hsb_h.png | Bin 0 -> 970 bytes .../js/colorpicker/images/custom_hsb_s.png | Bin 0 -> 1168 bytes .../js/colorpicker/images/custom_indic.gif | Bin 0 -> 86 bytes .../js/colorpicker/images/custom_rgb_b.png | Bin 0 -> 1008 bytes .../js/colorpicker/images/custom_rgb_g.png | Bin 0 -> 1069 bytes .../js/colorpicker/images/custom_rgb_r.png | Bin 0 -> 1018 bytes .../js/colorpicker/images/custom_submit.png | Bin 0 -> 997 bytes .../admin/js/colorpicker/images/select.png | Bin 0 -> 506 bytes .../admin/js/colorpicker/images/select2.png | Bin 0 -> 518 bytes .../admin/js/colorpicker/images/slider.png | Bin 0 -> 315 bytes .../admin/js/colorpicker/js/colorpicker.js | 484 + .../ngglegacy/admin/js/jquery.MultiFile.js | 535 + .../admin/js/jquery.MultiFile.pack.js | 11 + .../admin/js/jquery.ui.autocomplete.js | 612 + .../admin/js/jquery.ui.autocomplete.min.js | 32 + .../js/jqueryFileTree/images/directory.png | Bin 0 -> 537 bytes .../js/jqueryFileTree/images/folder_open.png | Bin 0 -> 583 bytes .../js/jqueryFileTree/images/spinner.gif | Bin 0 -> 2530 bytes .../js/jqueryFileTree/jqueryFileTree.css | 81 + .../admin/js/jqueryFileTree/jqueryFileTree.js | 98 + .../modules/ngglegacy/admin/js/ngg.ajax.js | 156 + .../ngglegacy/admin/js/ngg.autocomplete.js | 77 + .../ngglegacy/admin/js/ngg.progressbar.js | 141 + .../ngglegacy/admin/js/ngg_social_media.js | 8 + .../ngglegacy/admin/js/plupload.handler.js | 247 + .../ngglegacy/admin/manage-galleries.php | 476 + .../modules/ngglegacy/admin/manage-images.php | 588 + .../modules/ngglegacy/admin/manage-sort.php | 138 + .../modules/ngglegacy/admin/manage.php | 1110 ++ .../modules/ngglegacy/admin/media-upload.php | 303 + .../modules/ngglegacy/admin/overview.php | 499 + .../modules/ngglegacy/admin/publish.php | 64 + .../modules/ngglegacy/admin/roles.php | 137 + .../modules/ngglegacy/admin/rotate.php | 98 + .../modules/ngglegacy/admin/settings.php | 943 ++ .../modules/ngglegacy/admin/showmeta.php | 124 + .../modules/ngglegacy/admin/style.php | 250 + .../modules/ngglegacy/admin/tags.php | 292 + .../admin/templates/facebook_like_button.php | 2 + .../manage_gallery/gallery_author_field.php | 3 + .../gallery_create_page_field.php | 11 + .../manage_gallery/gallery_desc_field.php | 3 + .../gallery_link_to_page_field.php | 10 + .../manage_gallery/gallery_path_field.php | 9 + .../gallery_preview_image_field.php | 10 + .../manage_gallery/gallery_title_field.php | 8 + .../admin/templates/social_media_buttons.php | 4 + .../admin/templates/twitter_follow_link.php | 8 + .../ngglegacy/admin/thumbnails-template.php | 104 + .../modules/ngglegacy/admin/upgrade.php | 283 + .../modules/ngglegacy/admin/upload.php | 47 + .../modules/ngglegacy/admin/wpmu.php | 117 + .../ngglegacy/class.ngglegacy_installer.php | 108 + .../modules/ngglegacy/css/nggallery.css | 8 + .../modules/ngglegacy/fonts/arial.ttf | Bin 0 -> 311636 bytes .../modules/ngglegacy/images/ajax-loader.gif | Bin 0 -> 673 bytes .../modules/ngglegacy/images/loader.gif | Bin 0 -> 6820 bytes .../modules/ngglegacy/images/mrss-icon.gif | Bin 0 -> 1040 bytes .../modules/ngglegacy/images/piclens.gif | Bin 0 -> 1443 bytes .../modules/ngglegacy/index.html | 0 .../ngglegacy/lib/class.ngg_serializable.php | 48 + .../modules/ngglegacy/lib/core.php | 586 + .../ngglegacy/lib/gd.thumbnail.inc.php | 943 ++ .../modules/ngglegacy/lib/image.php | 83 + .../modules/ngglegacy/lib/imagemagick.inc.php | 597 + .../modules/ngglegacy/lib/media-rss.php | 244 + .../modules/ngglegacy/lib/meta.php | 588 + .../modules/ngglegacy/lib/multisite.php | 57 + .../modules/ngglegacy/lib/navigation.php | 123 + .../modules/ngglegacy/lib/ngg-db.php | 1138 ++ .../modules/ngglegacy/lib/post-thumbnail.php | 365 + .../modules/ngglegacy/lib/rewrite.php | 423 + .../modules/ngglegacy/lib/shortcodes.php | 141 + .../modules/ngglegacy/lib/sitemap.php | 127 + .../modules/ngglegacy/lib/swfobject.php | 195 + .../modules/ngglegacy/lib/tags.php | 386 + .../modules/ngglegacy/module.ngglegacy.php | 52 + .../modules/ngglegacy/ngg-config.php | 38 + .../modules/ngglegacy/nggallery.php | 339 + .../modules/ngglegacy/nggfunctions.php | 288 + .../modules/ngglegacy/nggshow.php | 65 + .../ngglegacy/static/Black_Minimalism.css | 49 + .../modules/ngglegacy/static/default.css | 32 + .../modules/ngglegacy/static/hovereffect.css | 142 + .../modules/ngglegacy/static/ngg_dkret3.css | 42 + .../modules/ngglegacy/static/ngg_k2.css | 84 + .../modules/ngglegacy/static/ngg_shadow.css | 24 + .../modules/ngglegacy/static/ngg_shadow2.css | 30 + .../modules/ngglegacy/static/shadow.gif | Bin 0 -> 4364 bytes .../modules/ngglegacy/static/shadowAlpha.png | Bin 0 -> 3403 bytes .../modules/ngglegacy/view/album-compact.php | 56 + .../modules/ngglegacy/view/album-extend.php | 44 + .../ngglegacy/view/gallery-caption.php | 69 + .../ngglegacy/view/gallery-carousel.php | 56 + .../modules/ngglegacy/view/gallery.php | 73 + .../ngglegacy/view/imagebrowser-caption.php | 37 + .../ngglegacy/view/imagebrowser-exif.php | 67 + .../modules/ngglegacy/view/imagebrowser.php | 37 + .../modules/ngglegacy/view/singlepic.php | 36 + .../modules/ngglegacy/xml/imagerotator.php | 52 + .../modules/ngglegacy/xml/json.php | 275 + .../modules/ngglegacy/xml/media-rss.php | 123 + .../router/adapter.routing_app_factory.php | 9 + .../router/class.http_response_controller.php | 47 + .../modules/router/class.router.php | 298 + .../modules/router/class.router_installer.php | 12 + .../modules/router/class.routing_app.php | 842 ++ .../router/interface.http_response.php | 7 + .../modules/router/interface.router.php | 8 + .../modules/router/interface.routing_app.php | 6 + .../modules/router/mixin.url_manipulation.php | 185 + .../modules/router/module.router.php | 52 + .../modules/security/README | 24 + .../security/adapter.security_factory.php | 29 + .../modules/security/class.security_actor.php | 144 + .../security/class.security_manager.php | 58 + .../modules/security/class.security_token.php | 68 + .../class.wordpress_security_actor.php | 138 + .../class.wordpress_security_manager.php | 128 + .../class.wordpress_security_token.php | 100 + .../security/interface.security_actor.php | 12 + .../security/interface.security_manager.php | 12 + .../security/interface.security_token.php | 14 + .../modules/security/module.security.php | 56 + .../simplehtmldom/module.simple_html_dom.php | 33 + .../simplehtmldom/simple_html_dom.php | 1742 +++ .../module.third_party_compat.php | 409 + .../modules/validation/mixin.validation.php | 511 + .../modules/validation/module.validation.php | 32 + .../modules/widget/class.widget.php | 83 + .../modules/widget/class.widget_gallery.php | 162 + .../modules/widget/class.widget_mediarss.php | 107 + .../modules/widget/class.widget_slideshow.php | 132 + .../modules/widget/interface.widget.php | 5 + .../modules/widget/module.widget.php | 56 + .../modules/widget/static/widgets.css | 16 + .../widget/templates/display_gallery.php | 29 + .../widget/templates/display_mediarss.php | 13 + .../widget/templates/display_slideshow.php | 8 + .../modules/widget/templates/form_gallery.php | 117 + .../widget/templates/form_mediarss.php | 54 + .../widget/templates/form_slideshow.php | 86 + .../adapter.wordpress_router.php | 145 + .../adapter.wordpress_routing_app.php | 99 + .../module.wordpress_routing.php | 78 + .../product.photocrati_nextgen.php | 74 + wp-content/plugins/nextgen-gallery/readme.txt | 828 ++ .../plugins/nextgen-gallery/screenshot-1.png | Bin 0 -> 384137 bytes .../plugins/nextgen-gallery/screenshot-2.png | Bin 0 -> 375877 bytes .../plugins/nextgen-gallery/screenshot-3.png | Bin 0 -> 444008 bytes .../plugins/nextgen-gallery/screenshot-4.png | Bin 0 -> 55501 bytes .../plugins/nextgen-gallery/screenshot-5.png | Bin 0 -> 192744 bytes .../plugins/nextgen-gallery/screenshot-6.png | Bin 0 -> 100579 bytes .../plugins/nextgen-gallery/screenshot-7.png | Bin 0 -> 73737 bytes .../plugins/nextgen-gallery/screenshot-8.png | Bin 0 -> 75244 bytes .../plugins/nextgen-gallery/screenshot-9.png | Bin 0 -> 70604 bytes .../css/images/animated-overlay.gif | Bin 0 -> 1738 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 -> 6922 bytes .../css/images/ui-icons_2e83ff_256x240.png | Bin .../css/images/ui-icons_454545_256x240.png | Bin 0 -> 6992 bytes .../css/images/ui-icons_888888_256x240.png | Bin 0 -> 6999 bytes .../css/images/ui-icons_cd0a0a_256x240.png | Bin .../plugins/user-role-editor/css/index.php | 3 + .../css/jquery-ui-1.10.4.custom.css | 1178 ++ .../css/jquery-ui-1.10.4.custom.min.css | 7 + .../user-role-editor/css/ure-admin.css | 183 + .../images/admin-menu-editor-pro.jpg | Bin 0 -> 89948 bytes .../images/changelog-icon.png | Bin 0 -> 494 bytes .../user-role-editor/images/donate-icon.png | Bin 0 -> 3190 bytes .../user-role-editor/images/faq-icon.png | Bin 0 -> 847 bytes .../plugins/user-role-editor/images/help.png | Bin 0 -> 786 bytes .../plugins/user-role-editor/images/index.php | 3 + .../user-role-editor/images/mwp250_2.png | Bin 0 -> 23078 bytes .../images/user-role-editor-icon.png | Bin 0 -> 867 bytes .../images/user-role-editor-page-icon.png | Bin 0 -> 2503 bytes .../images/user-role-editor-pro-728x90.jpg | Bin 0 -> 59700 bytes .../user-role-editor/images/vladimir.png | Bin 0 -> 767 bytes .../includes/class-advertisement.php | 92 + .../includes/class-ajax-processor.php | 107 + .../includes/class-garvs-wp-lib.php | 241 + .../includes/class-ure-lib.php | 2500 ++++ .../includes/class-ure-screen-help.php | 56 + .../includes/class-user-role-editor.php | 1041 ++ .../includes/define-constants.php | 15 + .../user-role-editor/includes/index.php | 3 + .../includes/misc-support-stuff.php | 31 + .../includes/settings-template.php | 184 + .../includes/ure-role-edit.php | 102 + .../includes/ure-user-edit.php | 150 + wp-content/plugins/user-role-editor/index.php | 3 + .../plugins/user-role-editor/js/index.php | 3 + .../plugins/user-role-editor/js/ure-js.js | 444 + .../plugins/user-role-editor/js/ure-users.js | 95 + .../plugins/user-role-editor/lang/index.php | 3 + .../plugins/user-role-editor/lang/ure-ca.mo | Bin 0 -> 8579 bytes .../plugins/user-role-editor/lang/ure-ca.po | 972 ++ .../user-role-editor/lang/ure-es_ES.mo | Bin 0 -> 10276 bytes .../user-role-editor/lang/ure-es_ES.po | 845 ++ .../user-role-editor/lang/ure-fa_IR.mo | Bin 0 -> 18396 bytes .../user-role-editor/lang/ure-fa_IR.po | 834 ++ .../user-role-editor/lang/ure-he_IL.mo | Bin 0 -> 10079 bytes .../user-role-editor/lang/ure-he_IL.po | 1411 ++ .../user-role-editor/lang/ure-id_ID.mo | Bin 0 -> 13142 bytes .../user-role-editor/lang/ure-id_ID.po | 848 ++ .../user-role-editor/lang/ure-ru_RU.mo | Bin 0 -> 20491 bytes .../user-role-editor/lang/ure-ru_RU.po | 1552 +++ .../user-role-editor/lang/ure-tr_TR.mo | Bin 0 -> 9208 bytes .../user-role-editor/lang/ure-tr_TR.po | 1376 ++ .../plugins/user-role-editor/lang/ure.mo | Bin 0 -> 554 bytes .../plugins/user-role-editor/lang/ure.pot | 806 ++ .../plugins/user-role-editor/license.txt | 375 + .../plugins/user-role-editor/readme.txt | 203 + .../plugins/user-role-editor/screenshot-1.png | Bin 0 -> 149460 bytes .../plugins/user-role-editor/screenshot-2.png | Bin 0 -> 75174 bytes .../plugins/user-role-editor/screenshot-3.png | Bin 0 -> 22897 bytes .../plugins/user-role-editor/screenshot-4.png | Bin 0 -> 166510 bytes .../plugins/user-role-editor/screenshot-5.png | Bin 0 -> 41254 bytes .../plugins/user-role-editor/uninstall.php | 38 + .../user-role-editor/user-role-editor.php | 56 + wp-content/plugins/wordfence/js/admin.js | 2 +- wp-content/plugins/wordfence/lib/GeoIP.dat | Bin 719284 -> 721510 bytes wp-content/plugins/wordfence/lib/wfLog.php | 7 +- wp-content/plugins/wordfence/lib/wfUtils.php | 4 +- .../plugins/wordfence/lib/wordfenceHash.php | 1 - wp-content/plugins/wordfence/readme.txt | 10 +- .../plugins/wordfence/tmp/configCache.php | 2 +- wp-content/plugins/wordfence/wordfence.php | 4 +- .../wp-responsive-menu/css/wprmenu.css | 297 + .../wp-responsive-menu/fonts/wprmenu.eot | Bin 0 -> 1644 bytes .../wp-responsive-menu/fonts/wprmenu.svg | 17 + .../wp-responsive-menu/fonts/wprmenu.ttf | Bin 0 -> 1480 bytes .../wp-responsive-menu/fonts/wprmenu.woff | Bin 0 -> 1020 bytes .../plugins/wp-responsive-menu/functions.php | 54 + .../inc/css/wpr_optionsframework.css | 287 + .../inc/images/ico-delete.png | Bin 0 -> 715 bytes .../class-options-framework-admin.php | 359 + .../inc/includes/class-options-framework.php | 121 + .../inc/includes/class-options-interface.php | 359 + .../includes/class-options-media-uploader.php | 123 + .../includes/class-options-sanitization.php | 385 + .../inc/js/media-uploader.js | 79 + .../inc/js/options-custom.js | 71 + .../inc/options-framework.php | 69 + .../wp-responsive-menu/inc/options.php | 207 + .../plugins/wp-responsive-menu/index.php | 2 + .../wp-responsive-menu/js/jquery.sidr.js | 312 + .../js/jquery.transit.min.js | 10 + .../plugins/wp-responsive-menu/js/wprmenu.js | 204 + .../plugins/wp-responsive-menu/readme.txt | 96 + .../wp-responsive-menu/screenshot-1.png | Bin 0 -> 93983 bytes .../wp-responsive-menu/wp-responsive-menu.php | 192 + .../library/admin/css/admin-headway.css | 3 + .../headway/library/admin/css/admin-write.css | 3 +- 1336 files changed, 199870 insertions(+), 23410 deletions(-) create mode 100755 index.html.save create mode 100644 petoskeyrobotics.sql create mode 100644 test.php create mode 100644 wp-content/ngg_styles/nggallery.css create mode 100644 wp-content/plugins/admin-menu-editor/css/admin.css create mode 100644 wp-content/plugins/admin-menu-editor/css/jquery.qtip.css create mode 100644 wp-content/plugins/admin-menu-editor/css/jquery.qtip.min.css create mode 100644 wp-content/plugins/admin-menu-editor/css/menu-editor.css create mode 100644 wp-content/plugins/admin-menu-editor/css/screen-meta-old-wp.css create mode 100644 wp-content/plugins/admin-menu-editor/css/screen-meta.css create mode 100644 wp-content/plugins/admin-menu-editor/css/style-classic.css create mode 100644 wp-content/plugins/admin-menu-editor/css/style-wp-grey.css create mode 100644 wp-content/plugins/admin-menu-editor/images/arrows-dark.png create mode 100644 wp-content/plugins/admin-menu-editor/images/arrows.png create mode 100644 wp-content/plugins/admin-menu-editor/images/bullet_arrow_down2.png create mode 100644 wp-content/plugins/admin-menu-editor/images/bullet_error.png create mode 100644 wp-content/plugins/admin-menu-editor/images/check-all.png create mode 100644 wp-content/plugins/admin-menu-editor/images/delete.png create mode 100644 wp-content/plugins/admin-menu-editor/images/external.png create mode 100644 wp-content/plugins/admin-menu-editor/images/gion/AUTHORS create mode 100644 wp-content/plugins/admin-menu-editor/images/gion/COPYING create mode 100644 wp-content/plugins/admin-menu-editor/images/gion/edit-copy.png create mode 100644 wp-content/plugins/admin-menu-editor/images/gnome-icon-theme/AUTHORS create mode 100644 wp-content/plugins/admin-menu-editor/images/gnome-icon-theme/COPYING_LGPL create mode 100644 wp-content/plugins/admin-menu-editor/images/gnome-icon-theme/edit-cut-blue.png create mode 100644 wp-content/plugins/admin-menu-editor/images/gnome-icon-theme/edit-paste.png create mode 100644 wp-content/plugins/admin-menu-editor/images/icon-extension-grey.png create mode 100644 wp-content/plugins/admin-menu-editor/images/logo-medium.png create mode 100644 wp-content/plugins/admin-menu-editor/images/menu-arrows.png create mode 100644 wp-content/plugins/admin-menu-editor/images/page-add.png create mode 100644 wp-content/plugins/admin-menu-editor/images/page-delete.png create mode 100644 wp-content/plugins/admin-menu-editor/images/pencil_delete.png create mode 100644 wp-content/plugins/admin-menu-editor/images/pencil_delete_gray.png create mode 100644 wp-content/plugins/admin-menu-editor/images/plugin_add.png create mode 100644 wp-content/plugins/admin-menu-editor/images/plugin_disabled.png create mode 100644 wp-content/plugins/admin-menu-editor/images/plugin_error.png create mode 100644 wp-content/plugins/admin-menu-editor/images/separator-add.png create mode 100644 wp-content/plugins/admin-menu-editor/images/sort_ascending.png create mode 100644 wp-content/plugins/admin-menu-editor/images/sort_descending.png create mode 100644 wp-content/plugins/admin-menu-editor/images/spinner.gif create mode 100644 wp-content/plugins/admin-menu-editor/images/transparent16.png create mode 100644 wp-content/plugins/admin-menu-editor/images/x-light.png create mode 100644 wp-content/plugins/admin-menu-editor/images/x.png create mode 100644 wp-content/plugins/admin-menu-editor/includes/.htaccess create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/CHANGELOG.md create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/README.md create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/autoloader.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/composer.json create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/CSSList/AtRuleBlockList.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/CSSList/CSSBlockList.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/CSSList/CSSList.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/CSSList/Document.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/CSSList/KeyFrame.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Parser.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Parsing/UnexpectedTokenException.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Property/AtRule.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Property/CSSNamespace.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Property/Charset.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Property/Import.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Property/Selector.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Rule/Rule.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/RuleSet/AtRuleSet.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/RuleSet/DeclarationBlock.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/RuleSet/RuleSet.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Settings.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Value/CSSFunction.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Value/Color.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Value/PrimitiveValue.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Value/RuleValueList.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Value/Size.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Value/String.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Value/URL.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Value/Value.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Value/ValueList.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/access-editor-dialog.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/admin-menu-editor-mu.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/auto-versioning.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/consistency-check.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/editor-page.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/generate-menu-dashicons.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/menu-editor-core.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/menu-item.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/menu.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/role-utils.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/settings-page.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/shadow_plugin_framework.php create mode 100644 wp-content/plugins/admin-menu-editor/includes/version-conflict-check.php create mode 100644 wp-content/plugins/admin-menu-editor/js/admin-helpers.js create mode 100644 wp-content/plugins/admin-menu-editor/js/jquery.cookie.js create mode 100644 wp-content/plugins/admin-menu-editor/js/jquery.form.js create mode 100644 wp-content/plugins/admin-menu-editor/js/jquery.json.js create mode 100644 wp-content/plugins/admin-menu-editor/js/jquery.qtip.js create mode 100644 wp-content/plugins/admin-menu-editor/js/jquery.qtip.min.js create mode 100644 wp-content/plugins/admin-menu-editor/js/jquery.sort.js create mode 100644 wp-content/plugins/admin-menu-editor/js/menu-editor.js create mode 100644 wp-content/plugins/admin-menu-editor/js/menu-highlight-fix.js create mode 100644 wp-content/plugins/admin-menu-editor/menu-editor.php create mode 100644 wp-content/plugins/admin-menu-editor/readme.txt create mode 100644 wp-content/plugins/admin-menu-editor/screenshot-1.png create mode 100644 wp-content/plugins/admin-menu-editor/screenshot-2.png create mode 100644 wp-content/plugins/admin-menu-editor/screenshot-3.png create mode 100644 wp-content/plugins/admin-menu-editor/uninstall.php delete mode 100644 wp-content/plugins/advanced-access-manager/aam.php delete mode 100644 wp-content/plugins/advanced-access-manager/active-menu.png delete mode 100644 wp-content/plugins/advanced-access-manager/application/control/object.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/control/object/capability.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/control/object/event.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/control/object/menu.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/control/object/metabox.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/control/object/post.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/control/object/term.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/control/subject.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/control/subject/role.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/control/subject/user.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/control/subject/visitor.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/core/api.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/core/configpress.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/core/console.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/core/extension.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/core/repository.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/core/request.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/core/settings.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/core/update.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/abstract.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/capability.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/collection.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/configpress.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/event.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/extension.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/help.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/manager.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/menu.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/metabox.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/post.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/role.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/capability.phtml delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/configpress.phtml delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/control_area.phtml delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/event.phtml delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/extension.phtml delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/help_developers.phtml delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/help_extensions.phtml delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/help_faq.phtml delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/help_overview.phtml delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/manager.phtml delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/menu.phtml delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/metabox.phtml delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/post.phtml delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/role.phtml delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/user.phtml delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/visitor.phtml delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/user.php delete mode 100644 wp-content/plugins/advanced-access-manager/application/view/visitor.php delete mode 100644 wp-content/plugins/advanced-access-manager/config.php delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/activity.css delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/activity.js delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/activity.php delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/extension.php delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/images/info-active.png delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/images/info.png delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/images/trash-active.png delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/images/trash.png delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/index.php delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/ui.phtml delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/extension.php delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/add-active.png delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/add.png delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/edit-active.png delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/edit.png delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/manage-active.png delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/manage.png delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/multisite-active.png delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/multisite.png delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/pin-active.png delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/pin.png delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/refresh-active.png delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/refresh.png delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/unpin.png delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/index.php delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/multisite.css delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/multisite.js delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/ui.phtml delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/extension.php delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/images/worker.png delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/index.php delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/my_feature.css delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/my_feature.js delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/ui.phtml delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/extension.php delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/geoip/freegeoip.php delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/geoip/geoip.php delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/index.php delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/javascript/loader.js delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/javascript/security.js delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/security.php delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/flags32.css delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/images/deny.png delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/images/flags32.png delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/images/large-iconset.png delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/images/restriction.png delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/security.css delete mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/view/security.phtml delete mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-de_DE.mo delete mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-de_DE.po delete mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-en_US.mo delete mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-en_US.po delete mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-es_ES.mo delete mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-es_ES.po delete mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-fa_IR.mo delete mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-fa_IR.po delete mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-fr_FR.mo delete mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-fr_FR.po delete mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-nb_NO.mo delete mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-pl_PL.mo delete mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-pl_PL.po delete mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-ru_RU.mo delete mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-ru_RU.po delete mode 100644 wp-content/plugins/advanced-access-manager/lang/aam.mo delete mode 100644 wp-content/plugins/advanced-access-manager/lang/aam.pot delete mode 100644 wp-content/plugins/advanced-access-manager/library/Zend/Config.php delete mode 100644 wp-content/plugins/advanced-access-manager/library/Zend/Config/Exception.php delete mode 100644 wp-content/plugins/advanced-access-manager/library/Zend/Config/Ini.php delete mode 100644 wp-content/plugins/advanced-access-manager/library/Zend/Exception.php delete mode 100644 wp-content/plugins/advanced-access-manager/license.txt delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/aam.css delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/codemirror.css delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/common.css delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/configpress.css delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/extension.css delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/capability/checked.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/capability/delete-active.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/capability/delete.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/capability/unchecked.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/cmanager/field-loader.gif delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/cmanager/lock.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/cmanager/role-active.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/cmanager/role.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/cmanager/user-active.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/cmanager/user.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/cmanager/visitor-active.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/cmanager/visitor.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/common/large-iconset.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/common/medium-iconset.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/common/medium-loader.gif delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/common/small-iconset.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/common/warning.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/cpanel/cpanel-loader.gif delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/event/delete-active.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/event/delete.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/event/edit-active.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/event/edit.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/extension/download-active.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/extension/download.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/extension/forum-active.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/extension/forum.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/extension/ok-active.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/extension/ok.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/extension/plus-active.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/extension/plus.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/extension/youtube-active.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/extension/youtube.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/feature-active.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/feature.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/lock.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/main-loader.gif delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/menu/checked.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/menu/unchecked.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/metabox-loader.gif delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/metabox/checked.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/metabox/link-active.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/metabox/link.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/metabox/unchecked.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/post/checked.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/post/info-active.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/post/info.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/post/loader.gif delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/post/lock-big.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/post/lock.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/post/post.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/post/unchecked.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/search-active.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/search.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/sort_asc.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/sort_asc_disabled.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/sort_both.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/sort_desc.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/sort_desc_disabled.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/table-filtered.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/ajax-loader.gif delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/file.gif delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/folder-close.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/folder-closed.gif delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/folder-open.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/folder.gif delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/minus.gif delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/plus.gif delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-black-line.gif delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-black.gif delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-default-line.gif delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-default.gif delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-famfamfam-line.gif delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-famfamfam.gif delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-gray-line.gif delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-gray.gif delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-red-line.gif delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-red.gif delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_flat_0_aaaaaa_40x100.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_flat_75_ffffff_40x100.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_glass_55_fbf9ee_1x400.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_glass_65_ffffff_1x400.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_glass_75_dadada_1x400.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_glass_75_e6e6e6_1x400.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_glass_95_fef1ec_1x400.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/ui-icons_222222_256x240.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/ui-icons_454545_256x240.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/ui-icons_888888_256x240.png delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/jquery-ui.css delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/jquery.dt.css delete mode 100644 wp-content/plugins/advanced-access-manager/media/css/jquery.treeview.css delete mode 100644 wp-content/plugins/advanced-access-manager/media/js/aam.js delete mode 100644 wp-content/plugins/advanced-access-manager/media/js/codemirror.js delete mode 100644 wp-content/plugins/advanced-access-manager/media/js/configpress.js delete mode 100644 wp-content/plugins/advanced-access-manager/media/js/extension.js delete mode 100644 wp-content/plugins/advanced-access-manager/media/js/jquery.dt.js delete mode 100644 wp-content/plugins/advanced-access-manager/media/js/jquery.treeview.js delete mode 100644 wp-content/plugins/advanced-access-manager/media/js/properties.js delete mode 100644 wp-content/plugins/advanced-access-manager/readme.txt delete mode 100644 wp-content/plugins/advanced-access-manager/screenshot-1.png delete mode 100644 wp-content/plugins/advanced-access-manager/screenshot-2.png delete mode 100644 wp-content/plugins/advanced-access-manager/screenshot-3.png delete mode 100644 wp-content/plugins/advanced-access-manager/screenshot-4.png delete mode 100644 wp-content/plugins/advanced-access-manager/screenshot-5.png create mode 100644 wp-content/plugins/auto-submenu/auto-submenu.php create mode 100644 wp-content/plugins/auto-submenu/readme.txt create mode 100644 wp-content/plugins/nextgen-gallery/changelog.txt create mode 100644 wp-content/plugins/nextgen-gallery/index.html create mode 100644 wp-content/plugins/nextgen-gallery/license.txt create mode 100644 wp-content/plugins/nextgen-gallery/nggallery.php create mode 100644 wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_settings.php create mode 100644 wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_shortcode_manager.php create mode 100644 wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_style_manager.php create mode 100644 wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_cache.php create mode 100644 wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_resource_manager.php create mode 100644 wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_settings_manager.php create mode 100644 wp-content/plugins/nextgen-gallery/pope/README.txt create mode 100644 wp-content/plugins/nextgen-gallery/pope/lib/autoload.php create mode 100644 wp-content/plugins/nextgen-gallery/pope/lib/class.base_module.php create mode 100644 wp-content/plugins/nextgen-gallery/pope/lib/class.base_product.php create mode 100644 wp-content/plugins/nextgen-gallery/pope/lib/class.component.php create mode 100644 wp-content/plugins/nextgen-gallery/pope/lib/class.component_factory.php create mode 100644 wp-content/plugins/nextgen-gallery/pope/lib/class.component_registry.php create mode 100644 wp-content/plugins/nextgen-gallery/pope/lib/class.extensibleobject.php create mode 100644 wp-content/plugins/nextgen-gallery/pope/lib/interface.component.php create mode 100644 wp-content/plugins/nextgen-gallery/pope/lib/interface.component_factory.php create mode 100644 wp-content/plugins/nextgen-gallery/pope/lib/interface.pope_module.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/class.nextgen_product_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/README.txt create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/adapter.ajax_routes.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/adapter.ajax_settings.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/class.ajax_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/class.ajax_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/class.ajax_option_handler.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/interface.ajax_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/module.ajax.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/static/ajax.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/static/ngg_store.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/static/persist.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/static/persist.swf create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/static/store.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_routes.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/adapter.gallery_storage_frame_event.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_to_post_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_to_post_option_handler.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_to_post_proxy_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/interface.attach_to_post_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/module.attach_to_post.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/atp_button.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post_dialog.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/invalid_image.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/nextgen.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin_wp38_compat.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_tabs.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/spinner.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/underscore.string.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/uploader-icons-2x.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/uploader-icons.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/accordion_tab.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/attach_to_post.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_settings_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_source.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_type.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/no_display_type_selected.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/preview_tab.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/cache/class.cache.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/cache/interface.cache.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/cache/module.cache.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/README.txt create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/adapter.datamapper_factory.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.custompost_datamapper_driver.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.customtable_datamapper_driver.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.datamapper_driver_base.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.datamapper_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.datamapper_model.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/interface.custompost_datamapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/interface.customtable_datamapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/interface.datamapper_driver.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/interface.datamapper_model.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/module.datamapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/adapter.dynamic_stylesheet_routes.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/class.dynamic_stylesheet_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/class.dynamic_stylesheet_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/interface.dynamic_stylesheet.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/module.dynamic_stylesheet.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/adapter.dynamic_thumbnail_routes.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/adapter.dynamic_thumbnails_storage_driver.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/class.dynamic_thumbnails_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/class.dynamic_thumbnails_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/class.dynamic_thumbnails_manager.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/interface.dynamic_thumbnails_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/interface.dynamic_thumbnails_manager.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/module.dynamic_thumbnails.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/static/invalid_image.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/class.frame_communication_option_handler.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/class.frame_event_publisher.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/interface.frame_event_publisher.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/module.frame_communication.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/static/frame_event_publisher.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/class.fs.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/interface.fs.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/module.fs.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/adapter.i18n_album_translation.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/adapter.i18n_gallery_translation.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/adapter.i18n_image_translation.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/adapter.i18n_routing_app.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-bs_BA.mo create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-bs_BA.po create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-cs_CZ.mo create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-cs_CZ.po create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-de_DE.mo create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-de_DE.po create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-es_ES.mo create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-es_ES.po create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-fi.mo create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-fi.po create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-fil.mo create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-fil.po create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-fr_FR.mo create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-fr_FR.po create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-hu_HU.mo create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-hu_HU.po create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-it_IT.mo create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-it_IT.po create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-nl_NL.mo create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-nl_NL.po create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-ru_RU.mo create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-ru_RU.po create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-zh_CN.mo create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-zh_CN.po create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery.po create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/module.i18n.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/adapter.lightbox_factory.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/class.lightbox_library.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/class.lightbox_library_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/interface.lightbox_library.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/interface.lightbox_library_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/module.lightbox.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/blank.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_close.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_loading.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_nav_left.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_nav_right.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_e.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_n.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_ne.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_nw.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_s.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_se.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_sw.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_w.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_title_left.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_title_main.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_title_over.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_title_right.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancybox-x.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancybox-y.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancybox.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.easing-1.3.pack.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.pack.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.mousewheel-3.0.4.pack.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/nextgen_fancybox_init.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/close.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/closeX.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-black-border.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-text-buttons.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-white-small.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-white.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar2.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar3.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar4-hover.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar4.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/fullexpand.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/geckodimmer.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/icon.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/loader.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/loader.white.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/Outlines.psd create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/beveled.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/drop-shadow.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/glossy-dark.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/outer-glow.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/rounded-black.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/rounded-white.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/resize.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/scrollarrows.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/zoomin.cur create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/zoomout.cur create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-full.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-full.min.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-full.packed.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-ie6.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-gallery.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-gallery.min.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-gallery.packed.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-html.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-html.min.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-html.packed.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.min.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.packed.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/nextgen_highslide_init.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox-0.5.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox-0.5.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox-0.5.min.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-blank.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-btn-close.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-btn-next.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-btn-prev.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-ico-loading.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/nextgen_lightbox_init.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/lightbox_context.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/nextgen_shutter.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/shutter.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/shutter.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/close.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/loading.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/next.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/prev.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/resize1.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/resize2.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/nextgen_shutter_reloaded.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/shutter.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/shutter.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/thickbox/nextgen_thickbox_init.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lzw/class.lzw.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lzw/interface.lzw.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lzw/module.lzw.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/adapter.mediarss_routes.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/class.mediarss_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/interface.mediarss_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/module.mediarss.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/templates/mediarss_feed.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/templates/playlist_feed.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/README create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/adapter.mvc_factory.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/adapter.mvc_fs.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/adapter.mvc_router.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_option_handler.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_view.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_view_element.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/interface.mvc_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/interface.mvc_view.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/module.mvc.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/template_helper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/templates/404.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/templates/500.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/templates/index.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.import_folder_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_forms.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_pages.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.upload_images_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/module.nextgen_addgallery_page.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/browserplus-2.4.21.min.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/images/directory.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/images/folder_open.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/images/spinner.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/jquery.filetree.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/jquery.filetree.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/Moxie.swf create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/Moxie.xap create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/ar.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/bs.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/ca.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/cs.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/cy.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/da.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/de.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/el.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/en.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/es.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/et.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/fa.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/fi.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/fr.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/he.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/hr.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/hu.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/hy.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/id.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/it.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/ja.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/ka.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/kk.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/ko.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/lt.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/lv.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/nl.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/pl.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/pt_BR.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/ro.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/ru.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/sk.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/sr.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/sv.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/th_TH.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/tr.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/uk_UA.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/zh_CN.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/i18n/zh_TW.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/jquery.plupload.queue/css/jquery.plupload.queue.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/jquery.plupload.queue/img/backgrounds.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/jquery.plupload.queue/img/buttons-disabled.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/jquery.plupload.queue/img/buttons.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/jquery.plupload.queue/img/delete.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/jquery.plupload.queue/img/done.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/jquery.plupload.queue/img/error.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/jquery.plupload.queue/img/throbber.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/jquery.plupload.queue/img/transp50.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/jquery.plupload.queue/jquery.plupload.queue.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/jquery.plupload.queue/jquery.plupload.queue.min.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/jquery.ui.plupload/css/jquery.ui.plupload.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/jquery.ui.plupload/img/loading.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/jquery.ui.plupload/img/plupload.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/jquery.ui.plupload/jquery.ui.plupload.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/jquery.ui.plupload/jquery.ui.plupload.min.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/moxie.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/moxie.min.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/plupload.dev.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/plupload.full.min.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload-2.1.1/plupload.min.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/styles.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/adapter.fs_access_page.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/adapter.mvc_validation.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/adapter.nextgen_admin_default_pages.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/adapter.nextgen_settings_routes.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.form_manager.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_option_handler.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.page_manager.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/interface.form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/interface.form_manager.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/interface.nextgen_admin_page.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/interface.page_manager.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/module.nextgen_admin.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/animation.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/css/gritter.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/gritter.min.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/images/gritter-light.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/images/gritter-long.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/images/gritter.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/images/ie-spacer.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/images/trees.jpg create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/information.png rename wp-content/plugins/{advanced-access-manager/media/css => nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui}/images/animated-overlay.gif (100%) create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/nextgen-logo-small.jpg create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_flat_0_222_40x100.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_flat_0_333_40x100.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_flat_0_D54E21_40x100.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_flat_0_e1e1e1_40x100.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_flat_0_f5f5f5_40x100.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_flat_0_fff_40x100.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_flat_55_222_40x100.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_flat_55_e1e1e1_40x100.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_flat_65_0074A2_40x100.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_flat_65_e1e1e1_40x100.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_flat_65_ececec_40x100.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_flat_75_ffffff_40x100.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_glass_55_ffffe0_1x400.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_glass_95_ffebe8_1x400.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_highlight-hard_75_ececec_1x100.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_highlight-soft_75_ececec_1x100.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_inset-hard_75_ececec_1x100.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-icons-photocrati.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-icons_21759b_256x240.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-icons_222_256x240.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-icons_2EA2CC_256x240.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-icons_333333_256x240.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-icons_999999_256x240.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-icons_cc0000_256x240.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-icons_cccccc_256x240.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-icons_eee_256x240.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-icons_fff_256x240.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/jquery-ui-1.10.4.custom.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/jquery-ui-1.9.1.custom.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery.nextgen_radio_toggle.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery.placeholder.min.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/ngg_progressbar.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/ngg_progressbar.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2-spinner.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.modded.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2x2.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/accordion_tab.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/entity_errors.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/entity_saved.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_color.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_number.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_radio.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_select.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_text.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_textarea.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_width_and_unit.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/thumbnail_settings.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/nextgen_admin_page.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/not_authorized.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album_forms.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album_routes.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album_urls.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_compact_album_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_extended_album_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/class.nextgen_basic_album_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/module.nextgen_basic_album.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/albumset.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/compact_preview.jpg create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/compact_settings.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/extended_preview.jpg create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/extended_settings.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/init.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/jquery.dotdotdot-1.5.7-packed.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/nextgen_basic_album.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/templates/compact.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/templates/extended.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/templates/nextgen_basic_album_galleries_per_page.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/templates/nextgen_basic_album_gallery_display_type.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_forms.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_routes.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_urls.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_validation.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnails_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/class.nextgen_basic_gallery_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/hook.nextgen_basic_gallery_integration.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/mixin.nextgen_basic_gallery_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/module.nextgen_basic_gallery.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/imagerotator.swf create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/jquery.cycle.all.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/jquery.cycle.all.min.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/jquery.waitforimages.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/nextgen_basic_slideshow.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/nextgen_basic_slideshow.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/nextgen_basic_slideshow_settings.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/placeholder.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow_preview.jpg create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumb_preview.jpg create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/ajax_pagination.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails_settings.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails_settings.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lite/NoFlash.jpg create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lite/PicLensButton.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lite/PicLensLite.swf create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lite/piclens.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lite/piclens_optimized.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/blank.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/close_blue.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/close_gold.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/close_green.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/close_grey.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/close_red.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/loading.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/next_blue.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/next_gold.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/next_green.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/next_grey.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/next_red.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/pause_blue.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/pause_gold.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/pause_green.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/pause_grey.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/pause_red.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/play_blue.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/play_gold.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/play_green.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/play_grey.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/play_red.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/prev_blue.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/prev_gold.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/prev_green.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/prev_grey.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/prev_red.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/lytebox.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/lytebox.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/index.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/nextgen_basic_slideshow_settings_gallery_dimensions.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/thumbnails/index.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_forms.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_routes.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_urls.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/class.nextgen_basic_imagebrowser_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/hook.nextgen_basic_imagebrowser_alt_urls.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/module.nextgen_basic_imagebrowser.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/static/preview.jpg create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/static/style.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_forms.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/class.nextgen_basic_singlepic_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/module.nextgen_basic_singlepic.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/static/nextgen_basic_singlepic.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/static/preview.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_dimensions.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_link.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_quality.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_radio.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_select.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_forms.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_routes.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_urls.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/class.nextgen_basic_tagcloud_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/class.taxonomy_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/interface.taxonomy_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/module.nextgen_basic_tagcloud.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/static/nextgen_basic_tagcloud.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/static/preview.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/templates/nextgen_basic_tagcloud.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/adapter.nextgen_basic_template_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/class.legacy_template_locator.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/interface.legacy_template_locator.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/mixin.nextgen_basic_templates.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/module.nextgen_basic_templates.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/static/ngg_template_settings.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/static/ngg_template_settings.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/templates/nextgen_basic_templates_settings_template.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/adapter.attachment_datamapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/adapter.customtable_sorting_datamapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/adapter.nextgen_data_factory.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.album.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.album_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.gallery.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.gallery_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.gallery_storage.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_base.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.image.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.image_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.image_wrapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.image_wrapper_collection.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.nextgen_data_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_thumbnail.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.wordpress_gallerystorage_driver.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.album.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.album_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.component_config.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.gallery.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.gallery_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.gallery_storage.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.gallery_type.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.gallerystorage_driver.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.image.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.image_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/mixin.nextgen_table_extras.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/module.nextgen_data.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/README.txt create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.display_settings_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.display_settings_page.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.displayed_gallery_trigger_element.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.displayed_gallery_trigger_resources.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.gallery_display_ajax.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.gallery_display_factory.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.gallery_display_view.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.display_type.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.display_type_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.display_type_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery_renderer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery_source.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery_source_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery_trigger.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery_trigger_manager.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.gallery_display_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/hook.propagate_thumbnail_dimensions_to_settings.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.display_settings_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.display_type.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.display_type_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.display_type_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.display_type_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.displayed_gallery.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.displayed_gallery_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.displayed_gallery_renderer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.displayed_gallery_source.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.displayed_gallery_source_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/mixin.display_type_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/common.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/fontawesome/font-awesome.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/fonts/FontAwesome.otf create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/fonts/fontawesome-webfont.eot create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/fonts/fontawesome-webfont.svg create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/fonts/fontawesome-webfont.ttf create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/fonts/fontawesome-webfont.woff create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_display_settings.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_display_settings.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_related_images.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/trigger_buttons.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/alt_view_link_text.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/alternative_view.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/container/after.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/container/before.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/image/after.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/image/before.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/index.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/list/after.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/list/before.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/no_images_found.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/related.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/return_link_text.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/show_altview_link.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/show_return_link.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.lightbox_manager_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.other_options_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.other_options_forms.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.other_options_page.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.roles_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.stylesheet_ajax_actions.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarking_ajax_actions.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/class.settings_model.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/module.nextgen_other_options.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/static/nextgen_settings_page.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/static/nextgen_settings_page.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/misc_tab.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/reset_tab.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/watermark_image_fields.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/watermark_text_fields.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/watermarks_tab.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pagination/mixin.nextgen_basic_pagination.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pagination/module.nextgen_pagination.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pagination/static/style.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/adapter.nextgen_pro_plus_upgrade_page.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/adapter.nextgen_pro_upgrade_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/module.nextgen_pro_upgrade.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/static/button.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/static/proupgrade.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/static/style.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/templates/plus.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/templates/pro.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_settings/module.nextgen_settings.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_xmlrpc/module.nextgen_xmlrpc.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/admin.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/ajax.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/album.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/images/dropdown.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/images/ui-anim_basic_16x16.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/images/ui-icons_222222_256x240.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/images/ui-icons_cccccc_256x240.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/images/ui-icons_ffffff_256x240.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/jquery.ui.tabs.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/menu.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggColorPicker.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggSorter.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/ngg_social_media.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggadmin.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/tags-admin.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/functions.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/facebook.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/googleplus.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/icon-paypal.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/icon-rating.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/icon-translate.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/marker_bottom.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/marker_middle.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/marker_top.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/menu-bits.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/nextgen.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/nextgen_16_color.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/nextgen_16_grey.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/nextgen_32_color.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/nextgen_32_grey.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/select.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/twitter.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/index.html create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/install.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/Jcrop/css/Jcrop.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/Jcrop/css/jquery.Jcrop.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/Jcrop/js/jquery.Jcrop.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/css/colorpicker.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/blank.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_background.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_hex.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_hsb_b.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_hsb_h.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_hsb_s.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_indic.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_overlay.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_rgb_b.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_rgb_g.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_rgb_r.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_select.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_submit.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_background.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_hex.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_hsb_b.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_hsb_h.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_hsb_s.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_indic.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_rgb_b.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_rgb_g.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_rgb_r.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_submit.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/select.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/select2.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/slider.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/js/colorpicker.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jquery.MultiFile.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jquery.MultiFile.pack.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jquery.ui.autocomplete.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jquery.ui.autocomplete.min.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jqueryFileTree/images/directory.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jqueryFileTree/images/folder_open.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jqueryFileTree/images/spinner.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jqueryFileTree/jqueryFileTree.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jqueryFileTree/jqueryFileTree.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/ngg.ajax.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/ngg.autocomplete.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/ngg.progressbar.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/ngg_social_media.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/plupload.handler.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/overview.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/publish.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/roles.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/settings.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/style.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/tags.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/facebook_like_button.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_author_field.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_create_page_field.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_desc_field.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_link_to_page_field.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_path_field.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_preview_image_field.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_title_field.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/social_media_buttons.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/twitter_follow_link.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/thumbnails-template.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/upload.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/class.ngglegacy_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/css/nggallery.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/fonts/arial.ttf create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/images/ajax-loader.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/images/loader.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/images/mrss-icon.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/images/piclens.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/index.html create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/class.ngg_serializable.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/core.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/gd.thumbnail.inc.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/image.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/imagemagick.inc.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/media-rss.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/meta.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/multisite.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/navigation.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/shortcodes.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/sitemap.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/swfobject.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/tags.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/module.ngglegacy.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/ngg-config.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/nggallery.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/nggfunctions.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/nggshow.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/Black_Minimalism.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/default.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/hovereffect.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_dkret3.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_k2.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_shadow.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_shadow2.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/shadow.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/shadowAlpha.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/album-compact.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/album-extend.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/gallery-caption.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/gallery-carousel.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/gallery.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/singlepic.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/xml/imagerotator.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/xml/json.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/adapter.routing_app_factory.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/class.http_response_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/class.router.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/class.router_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/class.routing_app.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/interface.http_response.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/interface.router.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/interface.routing_app.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/mixin.url_manipulation.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/module.router.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/README create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/adapter.security_factory.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.security_actor.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.security_manager.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.security_token.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.wordpress_security_actor.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.wordpress_security_manager.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.wordpress_security_token.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/interface.security_actor.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/interface.security_manager.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/interface.security_token.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/module.security.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/simplehtmldom/module.simple_html_dom.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/simplehtmldom/simplehtmldom/simple_html_dom.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/third_party_compat/module.third_party_compat.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/validation/mixin.validation.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/validation/module.validation.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/class.widget.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/class.widget_gallery.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/class.widget_mediarss.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/class.widget_slideshow.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/interface.widget.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/module.widget.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/static/widgets.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/display_gallery.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/display_mediarss.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/display_slideshow.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/form_gallery.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/form_mediarss.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/form_slideshow.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/wordpress_routing/adapter.wordpress_router.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/wordpress_routing/adapter.wordpress_routing_app.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/wordpress_routing/module.wordpress_routing.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/product.photocrati_nextgen.php create mode 100644 wp-content/plugins/nextgen-gallery/readme.txt create mode 100644 wp-content/plugins/nextgen-gallery/screenshot-1.png create mode 100644 wp-content/plugins/nextgen-gallery/screenshot-2.png create mode 100644 wp-content/plugins/nextgen-gallery/screenshot-3.png create mode 100644 wp-content/plugins/nextgen-gallery/screenshot-4.png create mode 100644 wp-content/plugins/nextgen-gallery/screenshot-5.png create mode 100644 wp-content/plugins/nextgen-gallery/screenshot-6.png create mode 100644 wp-content/plugins/nextgen-gallery/screenshot-7.png create mode 100644 wp-content/plugins/nextgen-gallery/screenshot-8.png create mode 100644 wp-content/plugins/nextgen-gallery/screenshot-9.png create mode 100644 wp-content/plugins/user-role-editor/css/images/animated-overlay.gif create mode 100644 wp-content/plugins/user-role-editor/css/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 wp-content/plugins/user-role-editor/css/images/ui-bg_flat_75_ffffff_40x100.png create mode 100644 wp-content/plugins/user-role-editor/css/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100644 wp-content/plugins/user-role-editor/css/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 wp-content/plugins/user-role-editor/css/images/ui-bg_glass_75_dadada_1x400.png create mode 100644 wp-content/plugins/user-role-editor/css/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100644 wp-content/plugins/user-role-editor/css/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 wp-content/plugins/user-role-editor/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100644 wp-content/plugins/user-role-editor/css/images/ui-icons_222222_256x240.png rename wp-content/plugins/{advanced-access-manager/media => user-role-editor}/css/images/ui-icons_2e83ff_256x240.png (100%) create mode 100644 wp-content/plugins/user-role-editor/css/images/ui-icons_454545_256x240.png create mode 100644 wp-content/plugins/user-role-editor/css/images/ui-icons_888888_256x240.png rename wp-content/plugins/{advanced-access-manager/media => user-role-editor}/css/images/ui-icons_cd0a0a_256x240.png (100%) create mode 100644 wp-content/plugins/user-role-editor/css/index.php create mode 100644 wp-content/plugins/user-role-editor/css/jquery-ui-1.10.4.custom.css create mode 100644 wp-content/plugins/user-role-editor/css/jquery-ui-1.10.4.custom.min.css create mode 100644 wp-content/plugins/user-role-editor/css/ure-admin.css create mode 100644 wp-content/plugins/user-role-editor/images/admin-menu-editor-pro.jpg create mode 100644 wp-content/plugins/user-role-editor/images/changelog-icon.png create mode 100644 wp-content/plugins/user-role-editor/images/donate-icon.png create mode 100644 wp-content/plugins/user-role-editor/images/faq-icon.png create mode 100644 wp-content/plugins/user-role-editor/images/help.png create mode 100644 wp-content/plugins/user-role-editor/images/index.php create mode 100644 wp-content/plugins/user-role-editor/images/mwp250_2.png create mode 100644 wp-content/plugins/user-role-editor/images/user-role-editor-icon.png create mode 100644 wp-content/plugins/user-role-editor/images/user-role-editor-page-icon.png create mode 100644 wp-content/plugins/user-role-editor/images/user-role-editor-pro-728x90.jpg create mode 100644 wp-content/plugins/user-role-editor/images/vladimir.png create mode 100644 wp-content/plugins/user-role-editor/includes/class-advertisement.php create mode 100644 wp-content/plugins/user-role-editor/includes/class-ajax-processor.php create mode 100644 wp-content/plugins/user-role-editor/includes/class-garvs-wp-lib.php create mode 100644 wp-content/plugins/user-role-editor/includes/class-ure-lib.php create mode 100644 wp-content/plugins/user-role-editor/includes/class-ure-screen-help.php create mode 100644 wp-content/plugins/user-role-editor/includes/class-user-role-editor.php create mode 100644 wp-content/plugins/user-role-editor/includes/define-constants.php create mode 100644 wp-content/plugins/user-role-editor/includes/index.php create mode 100644 wp-content/plugins/user-role-editor/includes/misc-support-stuff.php create mode 100644 wp-content/plugins/user-role-editor/includes/settings-template.php create mode 100644 wp-content/plugins/user-role-editor/includes/ure-role-edit.php create mode 100644 wp-content/plugins/user-role-editor/includes/ure-user-edit.php create mode 100644 wp-content/plugins/user-role-editor/index.php create mode 100644 wp-content/plugins/user-role-editor/js/index.php create mode 100644 wp-content/plugins/user-role-editor/js/ure-js.js create mode 100644 wp-content/plugins/user-role-editor/js/ure-users.js create mode 100644 wp-content/plugins/user-role-editor/lang/index.php create mode 100644 wp-content/plugins/user-role-editor/lang/ure-ca.mo create mode 100644 wp-content/plugins/user-role-editor/lang/ure-ca.po create mode 100644 wp-content/plugins/user-role-editor/lang/ure-es_ES.mo create mode 100644 wp-content/plugins/user-role-editor/lang/ure-es_ES.po create mode 100644 wp-content/plugins/user-role-editor/lang/ure-fa_IR.mo create mode 100644 wp-content/plugins/user-role-editor/lang/ure-fa_IR.po create mode 100644 wp-content/plugins/user-role-editor/lang/ure-he_IL.mo create mode 100644 wp-content/plugins/user-role-editor/lang/ure-he_IL.po create mode 100644 wp-content/plugins/user-role-editor/lang/ure-id_ID.mo create mode 100644 wp-content/plugins/user-role-editor/lang/ure-id_ID.po create mode 100644 wp-content/plugins/user-role-editor/lang/ure-ru_RU.mo create mode 100644 wp-content/plugins/user-role-editor/lang/ure-ru_RU.po create mode 100644 wp-content/plugins/user-role-editor/lang/ure-tr_TR.mo create mode 100644 wp-content/plugins/user-role-editor/lang/ure-tr_TR.po create mode 100644 wp-content/plugins/user-role-editor/lang/ure.mo create mode 100644 wp-content/plugins/user-role-editor/lang/ure.pot create mode 100644 wp-content/plugins/user-role-editor/license.txt create mode 100644 wp-content/plugins/user-role-editor/readme.txt create mode 100644 wp-content/plugins/user-role-editor/screenshot-1.png create mode 100644 wp-content/plugins/user-role-editor/screenshot-2.png create mode 100644 wp-content/plugins/user-role-editor/screenshot-3.png create mode 100644 wp-content/plugins/user-role-editor/screenshot-4.png create mode 100644 wp-content/plugins/user-role-editor/screenshot-5.png create mode 100644 wp-content/plugins/user-role-editor/uninstall.php create mode 100644 wp-content/plugins/user-role-editor/user-role-editor.php create mode 100644 wp-content/plugins/wp-responsive-menu/css/wprmenu.css create mode 100644 wp-content/plugins/wp-responsive-menu/fonts/wprmenu.eot create mode 100644 wp-content/plugins/wp-responsive-menu/fonts/wprmenu.svg create mode 100644 wp-content/plugins/wp-responsive-menu/fonts/wprmenu.ttf create mode 100644 wp-content/plugins/wp-responsive-menu/fonts/wprmenu.woff create mode 100644 wp-content/plugins/wp-responsive-menu/functions.php create mode 100644 wp-content/plugins/wp-responsive-menu/inc/css/wpr_optionsframework.css create mode 100644 wp-content/plugins/wp-responsive-menu/inc/images/ico-delete.png create mode 100644 wp-content/plugins/wp-responsive-menu/inc/includes/class-options-framework-admin.php create mode 100644 wp-content/plugins/wp-responsive-menu/inc/includes/class-options-framework.php create mode 100644 wp-content/plugins/wp-responsive-menu/inc/includes/class-options-interface.php create mode 100644 wp-content/plugins/wp-responsive-menu/inc/includes/class-options-media-uploader.php create mode 100644 wp-content/plugins/wp-responsive-menu/inc/includes/class-options-sanitization.php create mode 100644 wp-content/plugins/wp-responsive-menu/inc/js/media-uploader.js create mode 100644 wp-content/plugins/wp-responsive-menu/inc/js/options-custom.js create mode 100644 wp-content/plugins/wp-responsive-menu/inc/options-framework.php create mode 100644 wp-content/plugins/wp-responsive-menu/inc/options.php create mode 100644 wp-content/plugins/wp-responsive-menu/index.php create mode 100644 wp-content/plugins/wp-responsive-menu/js/jquery.sidr.js create mode 100644 wp-content/plugins/wp-responsive-menu/js/jquery.transit.min.js create mode 100644 wp-content/plugins/wp-responsive-menu/js/wprmenu.js create mode 100644 wp-content/plugins/wp-responsive-menu/readme.txt create mode 100644 wp-content/plugins/wp-responsive-menu/screenshot-1.png create mode 100644 wp-content/plugins/wp-responsive-menu/wp-responsive-menu.php diff --git a/index.html.save b/index.html.save new file mode 100755 index 0000000..53b5b8f --- /dev/null +++ b/index.html.save @@ -0,0 +1,47 @@ + + + + Gaslight Media Development Server + + + + + + + +
+
+ +
+
+
+ New Design +

Welcome!

+

www.petoskeyrobotics.org

+ +
+
+
+
+
+
+ Copyright©2014 Gaslight Media, All Rights Reserved. +
+ + diff --git a/petoskeyrobotics.sql b/petoskeyrobotics.sql new file mode 100644 index 0000000..319e12c --- /dev/null +++ b/petoskeyrobotics.sql @@ -0,0 +1,505 @@ +-- MySQL dump 10.13 Distrib 5.5.38, for debian-linux-gnu (i686) +-- +-- Host: localhost Database: petoskeyrobotics +-- ------------------------------------------------------ +-- Server version 5.5.38-0ubuntu0.14.04.1 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Table structure for table `wp_commentmeta` +-- + +DROP TABLE IF EXISTS `wp_commentmeta`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wp_commentmeta` ( + `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `comment_id` bigint(20) unsigned NOT NULL DEFAULT '0', + `meta_key` varchar(255) DEFAULT NULL, + `meta_value` longtext, + PRIMARY KEY (`meta_id`), + KEY `comment_id` (`comment_id`), + KEY `meta_key` (`meta_key`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wp_commentmeta` +-- + +LOCK TABLES `wp_commentmeta` WRITE; +/*!40000 ALTER TABLE `wp_commentmeta` DISABLE KEYS */; +/*!40000 ALTER TABLE `wp_commentmeta` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `wp_comments` +-- + +DROP TABLE IF EXISTS `wp_comments`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wp_comments` ( + `comment_ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `comment_post_ID` bigint(20) unsigned NOT NULL DEFAULT '0', + `comment_author` tinytext NOT NULL, + `comment_author_email` varchar(100) NOT NULL DEFAULT '', + `comment_author_url` varchar(200) NOT NULL DEFAULT '', + `comment_author_IP` varchar(100) NOT NULL DEFAULT '', + `comment_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `comment_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `comment_content` text NOT NULL, + `comment_karma` int(11) NOT NULL DEFAULT '0', + `comment_approved` varchar(20) NOT NULL DEFAULT '1', + `comment_agent` varchar(255) NOT NULL DEFAULT '', + `comment_type` varchar(20) NOT NULL DEFAULT '', + `comment_parent` bigint(20) unsigned NOT NULL DEFAULT '0', + `user_id` bigint(20) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`comment_ID`), + KEY `comment_post_ID` (`comment_post_ID`), + KEY `comment_approved_date_gmt` (`comment_approved`,`comment_date_gmt`), + KEY `comment_date_gmt` (`comment_date_gmt`), + KEY `comment_parent` (`comment_parent`), + KEY `comment_author_email` (`comment_author_email`(10)) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wp_comments` +-- + +LOCK TABLES `wp_comments` WRITE; +/*!40000 ALTER TABLE `wp_comments` DISABLE KEYS */; +INSERT INTO `wp_comments` VALUES (1,1,'Mr WordPress','','https://wordpress.org/','','2014-09-04 19:02:06','2014-09-04 19:02:06','Hi, this is a comment.\nTo delete a comment, just log in and view the post's comments. There you will have the option to edit or delete them.',0,'post-trashed','','',0,0); +/*!40000 ALTER TABLE `wp_comments` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `wp_hw_blocks` +-- + +DROP TABLE IF EXISTS `wp_hw_blocks`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wp_hw_blocks` ( + `id` char(20) NOT NULL, + `template` varchar(100) NOT NULL, + `layout` varchar(80) NOT NULL, + `type` varchar(30) NOT NULL, + `wrapper_id` char(20) NOT NULL, + `position` blob NOT NULL, + `dimensions` blob NOT NULL, + `settings` mediumblob, + `mirror_id` char(20) DEFAULT NULL, + `legacy_id` int(11) unsigned DEFAULT NULL, + PRIMARY KEY (`id`,`template`), + KEY `layout` (`layout`), + KEY `type` (`type`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wp_hw_blocks` +-- + +LOCK TABLES `wp_hw_blocks` WRITE; +/*!40000 ALTER TABLE `wp_hw_blocks` DISABLE KEYS */; +INSERT INTO `wp_hw_blocks` VALUES ('b0a5409f08ead26a','base','index','navigation','w895409f08e9e1cc','a:2:{s:4:\"left\";s:1:\"0\";s:3:\"top\";s:3:\"140\";}','a:2:{s:5:\"width\";s:2:\"24\";s:6:\"height\";s:2:\"40\";}','a:0:{}','',NULL),('bas5409f08ebbd44','base','index','widget-area','w895409f08e9e1cc','a:2:{s:4:\"left\";s:2:\"18\";s:3:\"top\";s:3:\"190\";}','a:2:{s:5:\"width\";s:1:\"6\";s:6:\"height\";s:3:\"270\";}','a:0:{}','',NULL),('bf15409f08ec3995','base','index','footer','w895409f08e9e1cc','a:2:{s:4:\"left\";s:1:\"0\";s:3:\"top\";s:3:\"520\";}','a:2:{s:5:\"width\";s:2:\"24\";s:6:\"height\";s:2:\"70\";}','a:0:{}','',NULL),('brg5409f08ea5211','base','index','header','w895409f08e9e1cc','a:2:{s:4:\"left\";s:1:\"0\";s:3:\"top\";s:1:\"0\";}','a:2:{s:5:\"width\";s:2:\"24\";s:6:\"height\";s:3:\"130\";}','a:0:{}','',NULL),('bxw5409f08eb4fa7','base','index','content','w895409f08e9e1cc','a:2:{s:4:\"left\";s:1:\"0\";s:3:\"top\";s:3:\"190\";}','a:2:{s:5:\"width\";s:2:\"18\";s:6:\"height\";s:3:\"320\";}','a:0:{}','',NULL); +/*!40000 ALTER TABLE `wp_hw_blocks` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `wp_hw_layout_meta` +-- + +DROP TABLE IF EXISTS `wp_hw_layout_meta`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wp_hw_layout_meta` ( + `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `template` varchar(100) NOT NULL, + `layout` varchar(80) NOT NULL, + `meta_key` varchar(255) DEFAULT NULL, + `meta_value` mediumblob, + PRIMARY KEY (`meta_id`,`template`), + KEY `template` (`layout`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wp_hw_layout_meta` +-- + +LOCK TABLES `wp_hw_layout_meta` WRITE; +/*!40000 ALTER TABLE `wp_hw_layout_meta` DISABLE KEYS */; +/*!40000 ALTER TABLE `wp_hw_layout_meta` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `wp_hw_snapshots` +-- + +DROP TABLE IF EXISTS `wp_hw_snapshots`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wp_hw_snapshots` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `template` varchar(100) NOT NULL, + `timestamp` datetime NOT NULL, + `comments` text, + `data_wp_options` longblob, + `data_wp_postmeta` longblob, + `data_hw_layout_meta` longblob, + `data_hw_wrappers` longblob, + `data_hw_blocks` longblob, + `data_other` longblob, + PRIMARY KEY (`id`), + KEY `template` (`template`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wp_hw_snapshots` +-- + +LOCK TABLES `wp_hw_snapshots` WRITE; +/*!40000 ALTER TABLE `wp_hw_snapshots` DISABLE KEYS */; +INSERT INTO `wp_hw_snapshots` VALUES (1,'base','2014-09-05 17:19:10','','a:2:{i:0;O:8:\"stdClass\":4:{s:9:\"option_id\";s:3:\"743\";s:11:\"option_name\";s:43:\"headway_|template=base|_option_group_design\";s:12:\"option_value\";s:11788:\"a:1:{s:10:\"properties\";a:53:{s:19:\"block-pin-board-pin\";a:1:{s:10:\"properties\";a:15:{s:11:\"padding-top\";i:1;s:13:\"padding-right\";i:1;s:14:\"padding-bottom\";i:1;s:12:\"padding-left\";i:1;s:16:\"background-color\";s:6:\"ffffff\";s:12:\"border-color\";s:6:\"eeeeee\";s:12:\"border-style\";s:5:\"solid\";s:16:\"border-top-width\";i:1;s:18:\"border-right-width\";i:1;s:19:\"border-bottom-width\";i:1;s:17:\"border-left-width\";i:1;s:16:\"box-shadow-color\";s:3:\"eee\";s:15:\"box-shadow-blur\";i:3;s:28:\"box-shadow-horizontal-offset\";i:0;s:26:\"box-shadow-vertical-offset\";i:2;}}s:25:\"block-pin-board-pin-title\";a:2:{s:10:\"properties\";a:6:{s:11:\"padding-top\";i:15;s:13:\"padding-right\";i:15;s:12:\"padding-left\";i:15;s:9:\"font-size\";i:18;s:11:\"line-height\";i:120;s:15:\"text-decoration\";s:4:\"none\";}s:21:\"special-element-state\";a:1:{s:5:\"hover\";a:1:{s:15:\"text-decoration\";s:9:\"underline\";}}}s:24:\"block-pin-board-pin-text\";a:1:{s:10:\"properties\";a:4:{s:9:\"font-size\";i:12;s:11:\"line-height\";i:150;s:13:\"padding-right\";i:15;s:12:\"padding-left\";i:15;}}s:24:\"block-pin-board-pin-meta\";a:1:{s:10:\"properties\";a:5:{s:9:\"font-size\";i:12;s:11:\"line-height\";i:120;s:13:\"padding-right\";i:15;s:12:\"padding-left\";i:15;s:5:\"color\";s:6:\"888888\";}}s:33:\"block-pin-board-pagination-button\";a:2:{s:10:\"properties\";a:10:{s:15:\"text-decoration\";s:4:\"none\";s:16:\"background-color\";s:6:\"eeeeee\";s:22:\"border-top-left-radius\";i:4;s:23:\"border-top-right-radius\";i:4;s:26:\"border-bottom-right-radius\";i:4;s:25:\"border-bottom-left-radius\";i:4;s:11:\"padding-top\";i:5;s:13:\"padding-right\";i:9;s:14:\"padding-bottom\";i:5;s:12:\"padding-left\";i:9;}s:21:\"special-element-state\";a:1:{s:5:\"hover\";a:1:{s:16:\"background-color\";s:6:\"e7e7e7\";}}}s:12:\"default-text\";a:1:{s:10:\"properties\";a:4:{s:9:\"font-size\";s:2:\"14\";s:11:\"font-family\";s:8:\"palatino\";s:11:\"line-height\";s:3:\"100\";s:5:\"color\";s:6:\"555555\";}}s:17:\"default-hyperlink\";a:1:{s:10:\"properties\";a:1:{s:5:\"color\";s:6:\"555555\";}}s:18:\"default-blockquote\";a:1:{s:10:\"properties\";a:12:{s:5:\"color\";s:6:\"666666\";s:11:\"padding-top\";s:1:\"5\";s:13:\"padding-right\";s:1:\"0\";s:14:\"padding-bottom\";s:1:\"5\";s:12:\"padding-left\";s:2:\"25\";s:17:\"border-left-width\";s:1:\"2\";s:12:\"border-style\";s:5:\"solid\";s:12:\"border-color\";s:6:\"666666\";s:10:\"margin-top\";s:2:\"15\";s:12:\"margin-right\";s:1:\"0\";s:13:\"margin-bottom\";s:2:\"15\";s:11:\"margin-left\";s:2:\"20\";}}s:13:\"default-block\";a:1:{s:10:\"properties\";a:2:{s:8:\"overflow\";s:6:\"hidden\";s:13:\"margin-bottom\";s:2:\"10\";}}s:11:\"block-title\";a:1:{s:10:\"properties\";a:2:{s:9:\"font-size\";s:2:\"22\";s:11:\"line-height\";s:3:\"150\";}}s:14:\"block-subtitle\";a:1:{s:10:\"properties\";a:3:{s:9:\"font-size\";s:2:\"14\";s:12:\"font-styling\";s:6:\"italic\";s:5:\"color\";s:6:\"999999\";}}s:4:\"body\";a:1:{s:10:\"properties\";a:1:{s:16:\"background-color\";s:6:\"dddddd\";}}s:7:\"wrapper\";a:1:{s:10:\"properties\";a:11:{s:16:\"background-color\";s:6:\"ffffff\";s:11:\"padding-top\";s:2:\"15\";s:13:\"padding-right\";s:2:\"15\";s:14:\"padding-bottom\";s:2:\"15\";s:12:\"padding-left\";s:2:\"15\";s:16:\"box-shadow-color\";s:6:\"c7c7c7\";s:15:\"box-shadow-blur\";s:1:\"8\";s:28:\"box-shadow-horizontal-offset\";s:1:\"1\";s:26:\"box-shadow-vertical-offset\";s:1:\"1\";s:10:\"margin-top\";s:2:\"30\";s:13:\"margin-bottom\";s:2:\"30\";}}s:23:\"block-header-site-title\";a:1:{s:10:\"properties\";a:8:{s:5:\"color\";s:6:\"222222\";s:9:\"font-size\";s:2:\"34\";s:11:\"line-height\";s:3:\"100\";s:15:\"text-decoration\";s:4:\"none\";s:10:\"margin-top\";s:2:\"20\";s:12:\"margin-right\";s:2:\"10\";s:13:\"margin-bottom\";s:1:\"0\";s:11:\"margin-left\";s:2:\"10\";}}s:25:\"block-header-site-tagline\";a:1:{s:10:\"properties\";a:8:{s:5:\"color\";s:6:\"999999\";s:9:\"font-size\";s:2:\"15\";s:11:\"line-height\";s:3:\"120\";s:12:\"font-styling\";s:6:\"italic\";s:10:\"margin-top\";s:2:\"10\";s:12:\"margin-right\";s:2:\"10\";s:13:\"margin-bottom\";s:2:\"20\";s:11:\"margin-left\";s:2:\"10\";}}s:16:\"block-navigation\";a:1:{s:10:\"properties\";a:7:{s:16:\"border-top-width\";s:1:\"1\";s:19:\"border-bottom-width\";s:1:\"1\";s:17:\"border-left-width\";s:1:\"0\";s:18:\"border-right-width\";s:1:\"0\";s:12:\"border-color\";s:6:\"eeeeee\";s:12:\"border-style\";s:5:\"solid\";s:8:\"overflow\";s:7:\"visible\";}}s:26:\"block-navigation-menu-item\";a:2:{s:10:\"properties\";a:5:{s:15:\"text-decoration\";s:4:\"none\";s:5:\"color\";s:6:\"888888\";s:14:\"capitalization\";s:9:\"uppercase\";s:13:\"padding-right\";s:2:\"15\";s:12:\"padding-left\";s:2:\"15\";}s:21:\"special-element-state\";a:2:{s:8:\"selected\";a:1:{s:5:\"color\";s:6:\"222222\";}s:5:\"hover\";a:1:{s:5:\"color\";s:6:\"555555\";}}}s:29:\"block-navigation-sub-nav-menu\";a:1:{s:10:\"properties\";a:1:{s:16:\"background-color\";s:6:\"eeeeee\";}}s:24:\"block-widget-area-widget\";a:1:{s:10:\"properties\";a:6:{s:11:\"line-height\";s:3:\"150\";s:11:\"padding-top\";s:1:\"5\";s:13:\"padding-right\";s:2:\"10\";s:14:\"padding-bottom\";s:1:\"5\";s:12:\"padding-left\";s:2:\"10\";s:10:\"margin-top\";s:2:\"15\";}}s:30:\"block-widget-area-widget-title\";a:1:{s:10:\"properties\";a:12:{s:9:\"font-size\";s:2:\"13\";s:12:\"border-style\";s:5:\"solid\";s:16:\"border-top-width\";s:1:\"1\";s:19:\"border-bottom-width\";s:1:\"1\";s:17:\"border-left-width\";s:1:\"0\";s:18:\"border-right-width\";s:1:\"0\";s:12:\"border-color\";s:6:\"eeeeee\";s:14:\"letter-spacing\";s:1:\"1\";s:14:\"capitalization\";s:9:\"uppercase\";s:11:\"line-height\";s:3:\"250\";s:5:\"color\";s:6:\"111111\";s:13:\"margin-bottom\";s:2:\"10\";}}s:30:\"block-widget-area-widget-links\";a:1:{s:10:\"properties\";a:1:{s:5:\"color\";s:6:\"333333\";}}s:29:\"block-content-entry-container\";a:1:{s:10:\"properties\";a:7:{s:12:\"border-style\";s:5:\"solid\";s:16:\"border-top-width\";s:1:\"0\";s:19:\"border-bottom-width\";s:1:\"1\";s:17:\"border-left-width\";s:1:\"0\";s:18:\"border-right-width\";s:1:\"0\";s:12:\"border-color\";s:6:\"efefef\";s:14:\"padding-bottom\";s:2:\"30\";}}s:19:\"block-content-title\";a:1:{s:10:\"properties\";a:3:{s:9:\"font-size\";s:2:\"24\";s:5:\"color\";s:6:\"333333\";s:11:\"line-height\";s:3:\"130\";}}s:27:\"block-content-archive-title\";a:1:{s:10:\"properties\";a:7:{s:9:\"font-size\";s:2:\"24\";s:5:\"color\";s:6:\"555555\";s:11:\"line-height\";s:3:\"110\";s:19:\"border-bottom-width\";s:1:\"1\";s:12:\"border-color\";s:6:\"eeeeee\";s:12:\"border-style\";s:5:\"solid\";s:14:\"padding-bottom\";s:2:\"15\";}}s:24:\"block-content-entry-meta\";a:1:{s:10:\"properties\";a:2:{s:11:\"line-height\";s:3:\"120\";s:5:\"color\";s:6:\"818181\";}}s:27:\"block-content-entry-content\";a:1:{s:10:\"properties\";a:3:{s:5:\"color\";s:6:\"555555\";s:9:\"font-size\";s:2:\"14\";s:11:\"line-height\";s:3:\"180\";}}s:21:\"block-content-heading\";a:1:{s:10:\"properties\";a:2:{s:9:\"font-size\";s:2:\"20\";s:11:\"line-height\";s:3:\"180\";}}s:25:\"block-content-sub-heading\";a:1:{s:10:\"properties\";a:2:{s:9:\"font-size\";s:2:\"16\";s:11:\"line-height\";s:3:\"180\";}}s:23:\"block-content-more-link\";a:2:{s:10:\"properties\";a:10:{s:16:\"background-color\";s:6:\"eeeeee\";s:15:\"text-decoration\";s:4:\"none\";s:22:\"border-top-left-radius\";s:1:\"4\";s:23:\"border-top-right-radius\";s:1:\"4\";s:26:\"border-bottom-right-radius\";s:1:\"4\";s:25:\"border-bottom-left-radius\";s:1:\"4\";s:11:\"padding-top\";s:1:\"2\";s:13:\"padding-right\";s:1:\"6\";s:14:\"padding-bottom\";s:1:\"2\";s:12:\"padding-left\";s:1:\"6\";}s:21:\"special-element-state\";a:1:{s:5:\"hover\";a:1:{s:16:\"background-color\";s:6:\"e7e7e7\";}}}s:34:\"block-content-loop-navigation-link\";a:2:{s:10:\"properties\";a:11:{s:16:\"background-color\";s:6:\"e1e1e1\";s:15:\"text-decoration\";s:4:\"none\";s:22:\"border-top-left-radius\";s:1:\"4\";s:23:\"border-top-right-radius\";s:1:\"4\";s:26:\"border-bottom-right-radius\";s:1:\"4\";s:25:\"border-bottom-left-radius\";s:1:\"4\";s:11:\"padding-top\";s:1:\"4\";s:13:\"padding-right\";s:1:\"8\";s:14:\"padding-bottom\";s:1:\"4\";s:12:\"padding-left\";s:1:\"8\";s:11:\"line-height\";s:3:\"130\";}s:21:\"special-element-state\";a:1:{s:5:\"hover\";a:1:{s:16:\"background-color\";s:6:\"d5d5d5\";}}}s:28:\"block-content-post-thumbnail\";a:1:{s:10:\"properties\";a:10:{s:16:\"border-top-width\";s:1:\"1\";s:18:\"border-right-width\";s:1:\"1\";s:19:\"border-bottom-width\";s:1:\"1\";s:17:\"border-left-width\";s:1:\"1\";s:12:\"border-color\";s:6:\"eeeeee\";s:12:\"border-style\";s:5:\"solid\";s:11:\"padding-top\";s:1:\"3\";s:13:\"padding-right\";s:1:\"3\";s:14:\"padding-bottom\";s:1:\"3\";s:12:\"padding-left\";s:1:\"3\";}}s:36:\"block-content-comments-area-headings\";a:1:{s:10:\"properties\";a:3:{s:5:\"color\";s:6:\"333333\";s:9:\"font-size\";s:2:\"18\";s:11:\"line-height\";s:3:\"130\";}}s:31:\"block-content-comment-container\";a:1:{s:10:\"properties\";a:1:{s:12:\"padding-left\";s:2:\"64\";}}s:28:\"block-content-comment-author\";a:1:{s:10:\"properties\";a:2:{s:9:\"font-size\";s:2:\"18\";s:11:\"line-height\";s:3:\"120\";}}s:26:\"block-content-comment-meta\";a:1:{s:10:\"properties\";a:2:{s:5:\"color\";s:6:\"888888\";s:9:\"font-size\";s:2:\"14\";}}s:26:\"block-content-comment-body\";a:1:{s:10:\"properties\";a:2:{s:9:\"font-size\";s:2:\"14\";s:11:\"line-height\";s:3:\"170\";}}s:32:\"block-content-comment-reply-link\";a:2:{s:10:\"properties\";a:11:{s:9:\"font-size\";s:2:\"12\";s:16:\"background-color\";s:6:\"eeeeee\";s:15:\"text-decoration\";s:4:\"none\";s:22:\"border-top-left-radius\";s:1:\"4\";s:23:\"border-top-right-radius\";s:1:\"4\";s:26:\"border-bottom-right-radius\";s:1:\"4\";s:25:\"border-bottom-left-radius\";s:1:\"4\";s:11:\"padding-top\";s:1:\"3\";s:13:\"padding-right\";s:1:\"6\";s:14:\"padding-bottom\";s:1:\"3\";s:12:\"padding-left\";s:1:\"6\";}s:21:\"special-element-state\";a:1:{s:5:\"hover\";a:1:{s:16:\"background-color\";s:6:\"e7e7e7\";}}}s:38:\"block-content-comment-form-input-label\";a:1:{s:10:\"properties\";a:3:{s:9:\"font-size\";s:2:\"14\";s:11:\"line-height\";s:3:\"220\";s:5:\"color\";s:6:\"888888\";}}s:29:\"block-slider-slider-container\";a:1:{s:10:\"properties\";a:2:{s:8:\"overflow\";s:7:\"visible\";s:13:\"margin-bottom\";s:2:\"30\";}}s:28:\"block-slider-slider-viewport\";a:1:{s:10:\"properties\";a:1:{s:8:\"overflow\";s:6:\"hidden\";}}s:27:\"block-slider-slider-caption\";a:1:{s:10:\"properties\";a:10:{s:16:\"background-color\";s:18:\"rgba(0, 0, 0, 0.6)\";s:5:\"color\";s:6:\"ffffff\";s:9:\"font-size\";s:2:\"14\";s:11:\"line-height\";s:3:\"150\";s:11:\"padding-top\";s:2:\"20\";s:13:\"padding-right\";s:2:\"20\";s:14:\"padding-bottom\";s:2:\"20\";s:12:\"padding-left\";s:2:\"20\";s:8:\"position\";s:8:\"absolute\";s:10:\"text-align\";s:6:\"center\";}}s:26:\"block-slider-slider-paging\";a:1:{s:10:\"properties\";a:2:{s:8:\"position\";s:8:\"absolute\";s:10:\"text-align\";s:6:\"center\";}}s:38:\"block-slider-slider-direction-nav-link\";a:1:{s:10:\"properties\";a:5:{s:10:\"margin-top\";s:3:\"-20\";s:8:\"position\";s:8:\"absolute\";s:16:\"background-image\";s:129:\"http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/wp-content/themes/headway/library/blocks/slider/assets/bg_direction_nav.png\";s:17:\"background-repeat\";s:9:\"no-repeat\";s:19:\"background-position\";s:8:\"left top\";}}s:38:\"block-slider-slider-direction-nav-next\";a:1:{s:10:\"properties\";a:1:{s:19:\"background-position\";s:9:\"right top\";}}s:31:\"block-slider-slider-paging-link\";a:2:{s:10:\"properties\";a:7:{s:16:\"background-color\";s:15:\"rgba(0,0,0,0.5)\";s:22:\"border-top-left-radius\";s:2:\"20\";s:23:\"border-top-right-radius\";s:2:\"20\";s:26:\"border-bottom-right-radius\";s:2:\"20\";s:25:\"border-bottom-left-radius\";s:2:\"20\";s:11:\"margin-left\";s:1:\"2\";s:12:\"margin-right\";s:1:\"2\";}s:21:\"special-element-state\";a:2:{s:5:\"hover\";a:1:{s:16:\"background-color\";s:15:\"rgba(0,0,0,0.7)\";}s:6:\"active\";a:1:{s:16:\"background-color\";s:15:\"rgba(0,0,0,0.9)\";}}}s:18:\"block-text-heading\";a:1:{s:10:\"properties\";a:2:{s:9:\"font-size\";s:2:\"20\";s:11:\"line-height\";s:3:\"180\";}}s:22:\"block-text-sub-heading\";a:1:{s:10:\"properties\";a:2:{s:9:\"font-size\";s:2:\"16\";s:11:\"line-height\";s:3:\"180\";}}s:12:\"block-footer\";a:1:{s:10:\"properties\";a:6:{s:16:\"border-top-width\";s:1:\"1\";s:18:\"border-right-width\";s:1:\"0\";s:19:\"border-bottom-width\";s:1:\"0\";s:17:\"border-left-width\";s:1:\"0\";s:12:\"border-color\";s:6:\"eeeeee\";s:12:\"border-style\";s:5:\"solid\";}}s:22:\"block-footer-copyright\";a:1:{s:10:\"properties\";a:1:{s:5:\"color\";s:6:\"666666\";}}s:32:\"block-footer-headway-attribution\";a:1:{s:10:\"properties\";a:1:{s:5:\"color\";s:6:\"666666\";}}s:33:\"block-footer-administration-panel\";a:1:{s:10:\"properties\";a:1:{s:5:\"color\";s:6:\"666666\";}}s:22:\"block-footer-go-to-top\";a:1:{s:10:\"properties\";a:1:{s:5:\"color\";s:6:\"666666\";}}s:33:\"block-footer-responsive-grid-link\";a:1:{s:10:\"properties\";a:1:{s:5:\"color\";s:6:\"666666\";}}}}\";s:8:\"autoload\";s:3:\"yes\";}i:1;O:8:\"stdClass\":4:{s:9:\"option_id\";s:3:\"742\";s:11:\"option_name\";s:44:\"headway_|template=base|_option_group_general\";s:12:\"option_value\";s:119:\"a:2:{s:31:\"merged-default-design-data-core\";s:4:\"true\";s:44:\"merged-default-design-data-core_37_pin_board\";s:4:\"true\";}\";s:8:\"autoload\";s:3:\"yes\";}}','a:0:{}','a:0:{}','a:1:{i:0;O:8:\"stdClass\":7:{s:2:\"id\";s:16:\"w895409f08e9e1cc\";s:8:\"template\";s:4:\"base\";s:6:\"layout\";s:5:\"index\";s:8:\"position\";s:1:\"0\";s:8:\"settings\";s:141:\"a:5:{s:7:\"columns\";s:2:\"24\";s:12:\"column-width\";s:2:\"20\";s:12:\"gutter-width\";s:2:\"20\";s:5:\"fluid\";s:5:\"false\";s:10:\"fluid-grid\";s:5:\"false\";}\";s:9:\"mirror_id\";s:0:\"\";s:9:\"legacy_id\";N;}}','a:5:{i:0;O:8:\"stdClass\":10:{s:2:\"id\";s:16:\"b0a5409f08ead26a\";s:8:\"template\";s:4:\"base\";s:6:\"layout\";s:5:\"index\";s:4:\"type\";s:10:\"navigation\";s:10:\"wrapper_id\";s:16:\"w895409f08e9e1cc\";s:8:\"position\";s:45:\"a:2:{s:4:\"left\";s:1:\"0\";s:3:\"top\";s:3:\"140\";}\";s:10:\"dimensions\";s:49:\"a:2:{s:5:\"width\";s:2:\"24\";s:6:\"height\";s:2:\"40\";}\";s:8:\"settings\";s:6:\"a:0:{}\";s:9:\"mirror_id\";s:0:\"\";s:9:\"legacy_id\";N;}i:1;O:8:\"stdClass\":10:{s:2:\"id\";s:16:\"bas5409f08ebbd44\";s:8:\"template\";s:4:\"base\";s:6:\"layout\";s:5:\"index\";s:4:\"type\";s:11:\"widget-area\";s:10:\"wrapper_id\";s:16:\"w895409f08e9e1cc\";s:8:\"position\";s:46:\"a:2:{s:4:\"left\";s:2:\"18\";s:3:\"top\";s:3:\"190\";}\";s:10:\"dimensions\";s:49:\"a:2:{s:5:\"width\";s:1:\"6\";s:6:\"height\";s:3:\"270\";}\";s:8:\"settings\";s:6:\"a:0:{}\";s:9:\"mirror_id\";s:0:\"\";s:9:\"legacy_id\";N;}i:2;O:8:\"stdClass\":10:{s:2:\"id\";s:16:\"bf15409f08ec3995\";s:8:\"template\";s:4:\"base\";s:6:\"layout\";s:5:\"index\";s:4:\"type\";s:6:\"footer\";s:10:\"wrapper_id\";s:16:\"w895409f08e9e1cc\";s:8:\"position\";s:45:\"a:2:{s:4:\"left\";s:1:\"0\";s:3:\"top\";s:3:\"520\";}\";s:10:\"dimensions\";s:49:\"a:2:{s:5:\"width\";s:2:\"24\";s:6:\"height\";s:2:\"70\";}\";s:8:\"settings\";s:6:\"a:0:{}\";s:9:\"mirror_id\";s:0:\"\";s:9:\"legacy_id\";N;}i:3;O:8:\"stdClass\":10:{s:2:\"id\";s:16:\"brg5409f08ea5211\";s:8:\"template\";s:4:\"base\";s:6:\"layout\";s:5:\"index\";s:4:\"type\";s:6:\"header\";s:10:\"wrapper_id\";s:16:\"w895409f08e9e1cc\";s:8:\"position\";s:43:\"a:2:{s:4:\"left\";s:1:\"0\";s:3:\"top\";s:1:\"0\";}\";s:10:\"dimensions\";s:50:\"a:2:{s:5:\"width\";s:2:\"24\";s:6:\"height\";s:3:\"130\";}\";s:8:\"settings\";s:6:\"a:0:{}\";s:9:\"mirror_id\";s:0:\"\";s:9:\"legacy_id\";N;}i:4;O:8:\"stdClass\":10:{s:2:\"id\";s:16:\"bxw5409f08eb4fa7\";s:8:\"template\";s:4:\"base\";s:6:\"layout\";s:5:\"index\";s:4:\"type\";s:7:\"content\";s:10:\"wrapper_id\";s:16:\"w895409f08e9e1cc\";s:8:\"position\";s:45:\"a:2:{s:4:\"left\";s:1:\"0\";s:3:\"top\";s:3:\"190\";}\";s:10:\"dimensions\";s:50:\"a:2:{s:5:\"width\";s:2:\"18\";s:6:\"height\";s:3:\"320\";}\";s:8:\"settings\";s:6:\"a:0:{}\";s:9:\"mirror_id\";s:0:\"\";s:9:\"legacy_id\";N;}}',NULL); +/*!40000 ALTER TABLE `wp_hw_snapshots` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `wp_hw_wrappers` +-- + +DROP TABLE IF EXISTS `wp_hw_wrappers`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wp_hw_wrappers` ( + `id` char(20) NOT NULL, + `template` varchar(100) NOT NULL, + `layout` varchar(80) NOT NULL, + `position` tinyint(2) unsigned DEFAULT NULL, + `settings` mediumblob, + `mirror_id` char(20) DEFAULT NULL, + `legacy_id` int(11) unsigned DEFAULT NULL, + PRIMARY KEY (`id`,`template`), + KEY `layout` (`layout`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wp_hw_wrappers` +-- + +LOCK TABLES `wp_hw_wrappers` WRITE; +/*!40000 ALTER TABLE `wp_hw_wrappers` DISABLE KEYS */; +INSERT INTO `wp_hw_wrappers` VALUES ('w895409f08e9e1cc','base','index',0,'a:5:{s:7:\"columns\";s:2:\"24\";s:12:\"column-width\";s:2:\"20\";s:12:\"gutter-width\";s:2:\"20\";s:5:\"fluid\";s:5:\"false\";s:10:\"fluid-grid\";s:5:\"false\";}','',NULL); +/*!40000 ALTER TABLE `wp_hw_wrappers` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `wp_links` +-- + +DROP TABLE IF EXISTS `wp_links`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wp_links` ( + `link_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `link_url` varchar(255) NOT NULL DEFAULT '', + `link_name` varchar(255) NOT NULL DEFAULT '', + `link_image` varchar(255) NOT NULL DEFAULT '', + `link_target` varchar(25) NOT NULL DEFAULT '', + `link_description` varchar(255) NOT NULL DEFAULT '', + `link_visible` varchar(20) NOT NULL DEFAULT 'Y', + `link_owner` bigint(20) unsigned NOT NULL DEFAULT '1', + `link_rating` int(11) NOT NULL DEFAULT '0', + `link_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `link_rel` varchar(255) NOT NULL DEFAULT '', + `link_notes` mediumtext NOT NULL, + `link_rss` varchar(255) NOT NULL DEFAULT '', + PRIMARY KEY (`link_id`), + KEY `link_visible` (`link_visible`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wp_links` +-- + +LOCK TABLES `wp_links` WRITE; +/*!40000 ALTER TABLE `wp_links` DISABLE KEYS */; +/*!40000 ALTER TABLE `wp_links` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `wp_options` +-- + +DROP TABLE IF EXISTS `wp_options`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wp_options` ( + `option_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `option_name` varchar(64) NOT NULL DEFAULT '', + `option_value` longtext NOT NULL, + `autoload` varchar(20) NOT NULL DEFAULT 'yes', + PRIMARY KEY (`option_id`), + UNIQUE KEY `option_name` (`option_name`) +) ENGINE=InnoDB AUTO_INCREMENT=774 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wp_options` +-- + +LOCK TABLES `wp_options` WRITE; +/*!40000 ALTER TABLE `wp_options` DISABLE KEYS */; +INSERT INTO `wp_options` VALUES (1,'siteurl','http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/wordpress','yes'),(2,'home','http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/wordpress','yes'),(3,'blogname','Petoskey Robotics','yes'),(4,'blogdescription','Engineering The Future','yes'),(5,'users_can_register','0','yes'),(6,'admin_email','dev@gaslightmedia.com','yes'),(7,'start_of_week','0','yes'),(8,'use_balanceTags','0','yes'),(9,'use_smilies','1','yes'),(10,'require_name_email','1','yes'),(11,'comments_notify','1','yes'),(12,'posts_per_rss','10','yes'),(13,'rss_use_excerpt','0','yes'),(14,'mailserver_url','mail.example.com','yes'),(15,'mailserver_login','login@example.com','yes'),(16,'mailserver_pass','password','yes'),(17,'mailserver_port','110','yes'),(18,'default_category','1','yes'),(19,'default_comment_status','open','yes'),(20,'default_ping_status','open','yes'),(21,'default_pingback_flag','1','yes'),(22,'posts_per_page','10','yes'),(23,'date_format','F j, Y','yes'),(24,'time_format','g:i a','yes'),(25,'links_updated_date_format','F j, Y g:i a','yes'),(26,'comment_moderation','0','yes'),(27,'moderation_notify','1','yes'),(28,'permalink_structure','','yes'),(29,'gzipcompression','0','yes'),(30,'hack_file','0','yes'),(31,'blog_charset','UTF-8','yes'),(32,'moderation_keys','','no'),(33,'active_plugins','a:0:{}','yes'),(34,'category_base','','yes'),(35,'ping_sites','http://rpc.pingomatic.com/','yes'),(36,'advanced_edit','0','yes'),(37,'comment_max_links','2','yes'),(38,'gmt_offset','','yes'),(39,'default_email_category','1','yes'),(40,'recently_edited','a:2:{i:0;s:76:\"/var/www/server/www.petoskeyrobotics.org/wp-content/themes/headway/style.css\";i:1;s:0:\"\";}','no'),(41,'template','headway','yes'),(42,'stylesheet','headway','yes'),(43,'comment_whitelist','1','yes'),(44,'blacklist_keys','','no'),(45,'comment_registration','0','yes'),(46,'html_type','text/html','yes'),(47,'use_trackback','0','yes'),(48,'default_role','subscriber','yes'),(49,'db_version','29630','yes'),(50,'uploads_use_yearmonth_folders','1','yes'),(51,'upload_path','','yes'),(52,'blog_public','1','yes'),(53,'default_link_category','2','yes'),(54,'show_on_front','posts','yes'),(55,'tag_base','','yes'),(56,'show_avatars','1','yes'),(57,'avatar_rating','G','yes'),(58,'upload_url_path','','yes'),(59,'thumbnail_size_w','150','yes'),(60,'thumbnail_size_h','150','yes'),(61,'thumbnail_crop','1','yes'),(62,'medium_size_w','300','yes'),(63,'medium_size_h','300','yes'),(64,'avatar_default','mystery','yes'),(65,'large_size_w','1024','yes'),(66,'large_size_h','1024','yes'),(67,'image_default_link_type','file','yes'),(68,'image_default_size','','yes'),(69,'image_default_align','','yes'),(70,'close_comments_for_old_posts','0','yes'),(71,'close_comments_days_old','14','yes'),(72,'thread_comments','1','yes'),(73,'thread_comments_depth','5','yes'),(74,'page_comments','0','yes'),(75,'comments_per_page','50','yes'),(76,'default_comments_page','newest','yes'),(77,'comment_order','asc','yes'),(78,'sticky_posts','a:0:{}','yes'),(79,'widget_categories','a:2:{i:2;a:4:{s:5:\"title\";s:0:\"\";s:5:\"count\";i:0;s:12:\"hierarchical\";i:0;s:8:\"dropdown\";i:0;}s:12:\"_multiwidget\";i:1;}','yes'),(80,'widget_text','a:2:{i:1;a:0:{}s:12:\"_multiwidget\";i:1;}','yes'),(81,'widget_rss','a:2:{i:1;a:0:{}s:12:\"_multiwidget\";i:1;}','yes'),(82,'uninstall_plugins','a:0:{}','no'),(83,'timezone_string','America/Detroit','yes'),(84,'page_for_posts','0','yes'),(85,'page_on_front','0','yes'),(86,'default_post_format','0','yes'),(87,'link_manager_enabled','0','yes'),(88,'initial_db_version','29630','yes'),(89,'wp_user_roles','a:5:{s:13:\"administrator\";a:2:{s:4:\"name\";s:13:\"Administrator\";s:12:\"capabilities\";a:62:{s:13:\"switch_themes\";b:1;s:11:\"edit_themes\";b:1;s:16:\"activate_plugins\";b:1;s:12:\"edit_plugins\";b:1;s:10:\"edit_users\";b:1;s:10:\"edit_files\";b:1;s:14:\"manage_options\";b:1;s:17:\"moderate_comments\";b:1;s:17:\"manage_categories\";b:1;s:12:\"manage_links\";b:1;s:12:\"upload_files\";b:1;s:6:\"import\";b:1;s:15:\"unfiltered_html\";b:1;s:10:\"edit_posts\";b:1;s:17:\"edit_others_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:10:\"edit_pages\";b:1;s:4:\"read\";b:1;s:8:\"level_10\";b:1;s:7:\"level_9\";b:1;s:7:\"level_8\";b:1;s:7:\"level_7\";b:1;s:7:\"level_6\";b:1;s:7:\"level_5\";b:1;s:7:\"level_4\";b:1;s:7:\"level_3\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:17:\"edit_others_pages\";b:1;s:20:\"edit_published_pages\";b:1;s:13:\"publish_pages\";b:1;s:12:\"delete_pages\";b:1;s:19:\"delete_others_pages\";b:1;s:22:\"delete_published_pages\";b:1;s:12:\"delete_posts\";b:1;s:19:\"delete_others_posts\";b:1;s:22:\"delete_published_posts\";b:1;s:20:\"delete_private_posts\";b:1;s:18:\"edit_private_posts\";b:1;s:18:\"read_private_posts\";b:1;s:20:\"delete_private_pages\";b:1;s:18:\"edit_private_pages\";b:1;s:18:\"read_private_pages\";b:1;s:12:\"delete_users\";b:1;s:12:\"create_users\";b:1;s:17:\"unfiltered_upload\";b:1;s:14:\"edit_dashboard\";b:1;s:14:\"update_plugins\";b:1;s:14:\"delete_plugins\";b:1;s:15:\"install_plugins\";b:1;s:13:\"update_themes\";b:1;s:14:\"install_themes\";b:1;s:11:\"update_core\";b:1;s:10:\"list_users\";b:1;s:12:\"remove_users\";b:1;s:9:\"add_users\";b:1;s:13:\"promote_users\";b:1;s:18:\"edit_theme_options\";b:1;s:13:\"delete_themes\";b:1;s:6:\"export\";b:1;}}s:6:\"editor\";a:2:{s:4:\"name\";s:6:\"Editor\";s:12:\"capabilities\";a:34:{s:17:\"moderate_comments\";b:1;s:17:\"manage_categories\";b:1;s:12:\"manage_links\";b:1;s:12:\"upload_files\";b:1;s:15:\"unfiltered_html\";b:1;s:10:\"edit_posts\";b:1;s:17:\"edit_others_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:10:\"edit_pages\";b:1;s:4:\"read\";b:1;s:7:\"level_7\";b:1;s:7:\"level_6\";b:1;s:7:\"level_5\";b:1;s:7:\"level_4\";b:1;s:7:\"level_3\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:17:\"edit_others_pages\";b:1;s:20:\"edit_published_pages\";b:1;s:13:\"publish_pages\";b:1;s:12:\"delete_pages\";b:1;s:19:\"delete_others_pages\";b:1;s:22:\"delete_published_pages\";b:1;s:12:\"delete_posts\";b:1;s:19:\"delete_others_posts\";b:1;s:22:\"delete_published_posts\";b:1;s:20:\"delete_private_posts\";b:1;s:18:\"edit_private_posts\";b:1;s:18:\"read_private_posts\";b:1;s:20:\"delete_private_pages\";b:1;s:18:\"edit_private_pages\";b:1;s:18:\"read_private_pages\";b:1;}}s:6:\"author\";a:2:{s:4:\"name\";s:6:\"Author\";s:12:\"capabilities\";a:10:{s:12:\"upload_files\";b:1;s:10:\"edit_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:4:\"read\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:12:\"delete_posts\";b:1;s:22:\"delete_published_posts\";b:1;}}s:11:\"contributor\";a:2:{s:4:\"name\";s:11:\"Contributor\";s:12:\"capabilities\";a:5:{s:10:\"edit_posts\";b:1;s:4:\"read\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:12:\"delete_posts\";b:1;}}s:10:\"subscriber\";a:2:{s:4:\"name\";s:10:\"Subscriber\";s:12:\"capabilities\";a:2:{s:4:\"read\";b:1;s:7:\"level_0\";b:1;}}}','yes'),(90,'widget_search','a:2:{i:2;a:1:{s:5:\"title\";s:0:\"\";}s:12:\"_multiwidget\";i:1;}','yes'),(91,'widget_recent-posts','a:2:{i:2;a:2:{s:5:\"title\";s:0:\"\";s:6:\"number\";i:5;}s:12:\"_multiwidget\";i:1;}','yes'),(92,'widget_recent-comments','a:2:{i:2;a:2:{s:5:\"title\";s:0:\"\";s:6:\"number\";i:5;}s:12:\"_multiwidget\";i:1;}','yes'),(93,'widget_archives','a:2:{i:2;a:3:{s:5:\"title\";s:0:\"\";s:5:\"count\";i:0;s:8:\"dropdown\";i:0;}s:12:\"_multiwidget\";i:1;}','yes'),(94,'widget_meta','a:2:{i:2;a:1:{s:5:\"title\";s:0:\"\";}s:12:\"_multiwidget\";i:1;}','yes'),(95,'sidebars_widgets','a:4:{s:19:\"wp_inactive_widgets\";a:6:{i:0;s:10:\"archives-2\";i:1;s:6:\"meta-2\";i:2;s:8:\"search-2\";i:3;s:12:\"categories-2\";i:4;s:14:\"recent-posts-2\";i:5;s:17:\"recent-comments-2\";}s:18:\"orphaned_widgets_1\";a:0:{}s:18:\"orphaned_widgets_2\";a:0:{}s:13:\"array_version\";i:3;}','yes'),(96,'cron','a:10:{i:1409857332;a:3:{s:16:\"wp_version_check\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}s:17:\"wp_update_plugins\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}s:16:\"wp_update_themes\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}}i:1409857341;a:1:{s:19:\"wp_scheduled_delete\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}i:1409859167;a:1:{s:30:\"wp_scheduled_auto_draft_delete\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}i:1409864838;a:1:{s:26:\"upgrader_scheduled_cleanup\";a:1:{s:32:\"adcb9b75260590ff6058773ddcb9ddd6\";a:2:{s:8:\"schedule\";b:0;s:4:\"args\";a:1:{i:0;i:4;}}}}i:1409864894;a:1:{s:26:\"upgrader_scheduled_cleanup\";a:1:{s:32:\"c9059feef497c200e69cb9956a81f005\";a:2:{s:8:\"schedule\";b:0;s:4:\"args\";a:1:{i:0;i:5;}}}}i:1409864960;a:1:{s:26:\"upgrader_scheduled_cleanup\";a:1:{s:32:\"686c8315be36c96dc00d0d7ed3656b43\";a:2:{s:8:\"schedule\";b:0;s:4:\"args\";a:1:{i:0;i:6;}}}}i:1409903520;a:1:{s:20:\"wp_maybe_auto_update\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}}i:1409938389;a:1:{s:8:\"do_pings\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:2:{s:8:\"schedule\";b:0;s:4:\"args\";a:0:{}}}}i:1409940817;a:1:{s:26:\"upgrader_scheduled_cleanup\";a:1:{s:32:\"c185de4a9f4c74ab215031e581ca3dd7\";a:2:{s:8:\"schedule\";b:0;s:4:\"args\";a:1:{i:0;i:73;}}}}s:7:\"version\";i:2;}','yes'),(97,'_transient_doing_cron','1409939014.0152781009674072265625','yes'),(98,'_transient_random_seed','375289127876179d59846ae0158ae1e5','yes'),(99,'_site_transient_update_core','O:8:\"stdClass\":4:{s:7:\"updates\";a:1:{i:0;O:8:\"stdClass\":10:{s:8:\"response\";s:6:\"latest\";s:8:\"download\";s:57:\"https://downloads.wordpress.org/release/wordpress-4.0.zip\";s:6:\"locale\";s:5:\"en_US\";s:8:\"packages\";O:8:\"stdClass\":5:{s:4:\"full\";s:57:\"https://downloads.wordpress.org/release/wordpress-4.0.zip\";s:10:\"no_content\";s:68:\"https://downloads.wordpress.org/release/wordpress-4.0-no-content.zip\";s:11:\"new_bundled\";s:69:\"https://downloads.wordpress.org/release/wordpress-4.0-new-bundled.zip\";s:7:\"partial\";b:0;s:8:\"rollback\";b:0;}s:7:\"current\";s:3:\"4.0\";s:7:\"version\";s:3:\"4.0\";s:11:\"php_version\";s:5:\"5.2.4\";s:13:\"mysql_version\";s:3:\"5.0\";s:11:\"new_bundled\";s:3:\"3.8\";s:15:\"partial_version\";s:0:\"\";}}s:12:\"last_checked\";i:1409937715;s:15:\"version_checked\";s:3:\"4.0\";s:12:\"translations\";a:0:{}}','yes'),(100,'_site_transient_update_plugins','O:8:\"stdClass\":4:{s:12:\"last_checked\";i:1409937713;s:8:\"response\";a:0:{}s:12:\"translations\";a:0:{}s:9:\"no_update\";a:0:{}}','yes'),(103,'_site_transient_update_themes','O:8:\"stdClass\":4:{s:12:\"last_checked\";i:1409937714;s:7:\"checked\";a:6:{s:7:\"headway\";s:6:\"3.7.10\";s:12:\"twentyeleven\";s:3:\"1.9\";s:14:\"twentyfourteen\";s:3:\"1.2\";s:9:\"twentyten\";s:3:\"1.7\";s:14:\"twentythirteen\";s:3:\"1.3\";s:12:\"twentytwelve\";s:3:\"1.5\";}s:8:\"response\";a:0:{}s:12:\"translations\";a:0:{}}','yes'),(104,'_site_transient_timeout_browser_aa74ce38e4c52fd7ca531d9c22914b97','1410462143','yes'),(105,'_site_transient_browser_aa74ce38e4c52fd7ca531d9c22914b97','a:9:{s:8:\"platform\";s:5:\"Linux\";s:4:\"name\";s:6:\"Chrome\";s:7:\"version\";s:12:\"37.0.2062.94\";s:10:\"update_url\";s:28:\"http://www.google.com/chrome\";s:7:\"img_src\";s:49:\"http://s.wordpress.org/images/browsers/chrome.png\";s:11:\"img_src_ssl\";s:48:\"https://wordpress.org/images/browsers/chrome.png\";s:15:\"current_version\";s:2:\"18\";s:7:\"upgrade\";b:0;s:8:\"insecure\";b:0;}','yes'),(106,'can_compress_scripts','0','yes'),(119,'_transient_timeout_plugin_slugs','1410020256','no'),(120,'_transient_plugin_slugs','a:0:{}','no'),(124,'recently_activated','a:0:{}','yes'),(126,'_transient_twentyfourteen_category_count','1','yes'),(130,'current_theme','Headway Base','yes'),(131,'theme_mods_headway','a:2:{i:0;b:0;s:18:\"nav_menu_locations\";a:7:{s:33:\"navigation_block_bmp5408c29e3ff70\";i:0;s:33:\"navigation_block_b3k5409bd90d638c\";i:3;s:33:\"navigation_block_bkb5408c168f2901\";i:3;s:33:\"navigation_block_byr5409e5eca686c\";i:3;s:33:\"navigation_block_bst5409e694aecbc\";i:3;s:33:\"navigation_block_btb5409e755d60ba\";i:3;s:33:\"navigation_block_b0a5409f08ead26a\";i:3;}}','yes'),(132,'theme_switched','','yes'),(142,'category_children','a:0:{}','yes'),(154,'theme_mods_twentyeleven','a:2:{i:0;b:0;s:16:\"sidebars_widgets\";a:2:{s:4:\"time\";i:1409929784;s:4:\"data\";a:6:{s:19:\"wp_inactive_widgets\";a:0:{}s:9:\"sidebar-1\";a:6:{i:0;s:8:\"search-2\";i:1;s:14:\"recent-posts-2\";i:2;s:17:\"recent-comments-2\";i:3;s:10:\"archives-2\";i:4;s:12:\"categories-2\";i:5;s:6:\"meta-2\";}s:9:\"sidebar-2\";N;s:9:\"sidebar-3\";N;s:9:\"sidebar-4\";N;s:9:\"sidebar-5\";N;}}}','yes'),(162,'_site_transient_timeout_browser_b7686c633cfe8719a4fab9e3e09c6b8e','1410463793','yes'),(163,'_site_transient_browser_b7686c633cfe8719a4fab9e3e09c6b8e','a:9:{s:8:\"platform\";s:7:\"Windows\";s:4:\"name\";s:7:\"Firefox\";s:7:\"version\";s:4:\"32.0\";s:10:\"update_url\";s:23:\"http://www.firefox.com/\";s:7:\"img_src\";s:50:\"http://s.wordpress.org/images/browsers/firefox.png\";s:11:\"img_src_ssl\";s:49:\"https://wordpress.org/images/browsers/firefox.png\";s:15:\"current_version\";s:2:\"16\";s:7:\"upgrade\";b:0;s:8:\"insecure\";b:0;}','yes'),(178,'nav_menu_options','a:2:{i:0;b:0;s:8:\"auto_add\";a:0:{}}','yes'),(228,'WPLANG','','yes'),(247,'theme_mods_twentythirteen','a:2:{i:0;b:0;s:16:\"sidebars_widgets\";a:2:{s:4:\"time\";i:1409861436;s:4:\"data\";a:3:{s:19:\"wp_inactive_widgets\";a:0:{}s:9:\"sidebar-1\";a:6:{i:0;s:8:\"search-2\";i:1;s:14:\"recent-posts-2\";i:2;s:17:\"recent-comments-2\";i:3;s:10:\"archives-2\";i:4;s:12:\"categories-2\";i:5;s:6:\"meta-2\";}s:9:\"sidebar-2\";N;}}}','yes'),(280,'_transient_timeout_feed_ac0b00fe65abe10e0c5b588f3ed8c7ca','1409961629','no'),(281,'_transient_feed_ac0b00fe65abe10e0c5b588f3ed8c7ca','a:4:{s:5:\"child\";a:1:{s:0:\"\";a:1:{s:3:\"rss\";a:1:{i:0;a:6:{s:4:\"data\";s:3:\"\n\n\n\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:7:\"version\";s:3:\"2.0\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:1:{s:0:\"\";a:1:{s:7:\"channel\";a:1:{i:0;a:6:{s:4:\"data\";s:51:\"\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:3:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"WordPress News\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:25:\"http://wordpress.org/news\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"WordPress News\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:13:\"lastBuildDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 04 Sep 2014 17:05:39 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"language\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"en-US\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:9:\"generator\";a:1:{i:0;a:5:{s:4:\"data\";s:27:\"http://wordpress.org/?v=4.0\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"item\";a:10:{i:0;a:6:{s:4:\"data\";s:42:\"\n \n \n \n \n \n \n\n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:5:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:25:\"WordPress 4.0 “Benny”\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:40:\"http://wordpress.org/news/2014/09/benny/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:49:\"http://wordpress.org/news/2014/09/benny/#comments\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 04 Sep 2014 17:05:39 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://wordpress.org/news/?p=3296\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:370:\"Version 4.0 of WordPress, named “Benny” in honor of jazz clarinetist and bandleader Benny Goodman, is available for download or update in your WordPress dashboard. While 4.0 is just another number for us after 3.9 and before 4.1, we feel we’ve put a little extra polish into it. This release brings you a smoother writing and management experience […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:23304:\"

Version 4.0 of WordPress, named “Benny” in honor of jazz clarinetist and bandleader Benny Goodman, is available for download or update in your WordPress dashboard. While 4.0 is just another number for us after 3.9 and before 4.1, we feel we’ve put a little extra polish into it. This release brings you a smoother writing and management experience we think you’ll enjoy.

\n
\n
\n

Manage your media with style

\n

\"MediaExplore your uploads in a beautiful, endless grid. A new details preview makes viewing and editing any amount of media in sequence a snap.

\n
\n

Working with embeds has never been easier

\n
\n
\n

Paste in a YouTube URL on a new line, and watch it magically become an embedded video. Now try it with a tweet. Oh yeah — embedding has become a visual experience. The editor shows a true preview of your embedded content, saving you time and giving you confidence.

\n

We’ve expanded the services supported by default, too — you can embed videos from CollegeHumor, playlists from YouTube, and talks from TED. Check out all of the embeds that WordPress supports.

\n
\n

Focus on your content

\n
\n

Writing and editing is smoother and more immersive with an editor that expands to fit your content as you write, and keeps the formatting tools available at all times.

\n
\n

Finding the right plugin

\n

\"Add

\n

There are more than 30,000 free and open source plugins in the WordPress plugin directory. WordPress 4.0 makes it easier to find the right one for your needs, with new metrics, improved search, and a more visual browsing experience.

\n
\n

The Ensemble

\n

This release was led by Helen Hou-Sandí, with the help of these fine individuals. There are 275 contributors with props in this release, a new high. Pull up some Benny Goodman on your music service of choice, as a bandleader or in one of his turns as a classical clarinetist, and check out some of their profiles:

\n

_Redd, Aaron D. Campbell, Aaron Jorbin, Adam Silverstein, Alex Mills (Viper007Bond), Alex Shiels, Alexander Rohmann, Alison Barrett, Allan Collins, Amit Gupta, Amy Hendrix (sabreuse), Andrea Fercia, Andres Villarreal, Andrew Mowe, Andrew Nacin, Andrew Ozz, Andy Skelton, Ankit K Gupta, Anton Timmermans, arnee, Aubrey Portwood, Austin Matzko, Ben Dunkle, Bernhard Kau, Boone Gorges, Brady Vercher, bramd, Brandon Kraft, Brian Krogsgard, Brian Layman, Brian Richards, Camden Segal, Carbis, Caroline Moore, Charles Fulton, Chouby, ChriCo, Chris Olbekson, chrisl27, Christian Axelsson, Christopher Finke, Christopher Spires, Clifton Griffin, Corey McKrill, Corphi, Daisuke Takahashi, Dan Griffiths, Daniel Bachhuber, Daniel Husken, Daniel Jalkut (Red Sweater), Danny de Haan, Darin Kotter, Daryl Koopersmith, Daryl L. L. Houston (dllh), David A. Kennedy, David Herrera, David Naber, DavidTheMachine, DeBAAT, Dion Hulse, Dominik Schilling, Donncha O Caoimh, Drew Jaynes, Dustyn Doyle, Eddie Moya, Eduardo Reveles, Edwin Siebel, ehg, Enrique Chavez, erayalakese, Eric Andrew Lewis, Eric Binnion, Eric Mann, Evan Anderson, Evan Herman, Fabien Quatravaux, Fahmi Adib, feedmeastraycat, Frank Klein, garhdez, Gary Cao, Gary Jones, Gary Pendergast, garza, gauravmittal1995, Gavrisimo, George Stephanis, Graham Armfield, Grant Mangham, Gregory Cornelius, Gustavo Bordoni, harrym, hebbet, Hinnerk Altenburg, Hugh Lashbrooke, iljoja, imath, Ipstenu (Mika Epstein), issuu, J.D. Grimes, Jack Lenox, Jack Reichert, Jacob Dubail, JanHenkG, Janneke Van Dorpe, Jared Wenerd, Jaza613, Jeff Stieler, Jeremy Felt, Jeremy Pry, Jeroen Schmit, Jerry Bates (jerrysarcastic), Jesin A, Jesper Johansen (jayjdk), Jesper van Engelen, Jesper van Engelen, Jesse Pollak, jgadbois, Joan Artes, Joe Dolson, Joe Hoyle, Joey Kudish, John Blackbourn, John James Jacoby, John Zanussi, Jon Cave, jonnyauk, Joost de Valk, Jordi Cabot, Josh Eaton, JOTAKI Taisuke, Julio Potier, Justin Sainton, Justin Sternberg, Justin Tadlock, K.Adam White, Kailey (trepmal), Kaito, kapeels, Kelly Dwan, Kevin Langley, Kevin Worthington, Kim Parsell, Kirk Wight, kitchin, Knut Sparhell, Konstantin Kovshenin, Konstantin Obenland, Kurt Payne, Lance Willett, Lee Willis, lessbloat, Lew Ayotte, lritter, Luke Gedeon, m_i_n, Manny Fleurmond, Manuel Schmalstieg, Marius Jensen (Clorith), Mark Jaquith, Marko Heijnen, Matt Banks, Matt Martz, Matt Mullenweg, Matt Wiebe, Matthew Boynes, Matthew Denton, Matthew Eppelsheimer, Matthew Haines-Young, mattyrob, meekyhwang, Mel Choyce, mi_cat, Michael Adams (mdawaffe), michalzuber, Mike Auteri, Mike Hansen, Mike Jolley, Mike Little, Mike Manger, Mike Schroder, Mikey Arce, Milan Dinic, mnelson4, Morgan Estes, Mr Papa, mrmist, Mustafa Uysal, MuViMoTV, nabil_kadimi, Namibia, Nashwan Doaqan, nd987, Neil Pie, Niall Kennedy, Nick Halsey, Nikolay Bachiyski, Nils Schonwald, Ninos, Nowell VanHoesen, Patrick Hesselberg, Paul Bearne, Paul Clark, Paul Wilde, paulschreiber, pavelevap, Peter Westwood, Philip Arthur Moore, Philip John, Piet, Piotr Soluch, Pippin Williamson, purzlbaum, Rachel Baker, RC Lations, Richard Tape, Ricky Lee Whittemore, rob1n, Robert Chapin, Robert Dall, RobertHarm, Rohan Rawat, Rouven Hurling, Ruud Laan, Ryan Boren, Ryan McCue, Sam Brodie, Samuel Wood (Otto), sathishn, Scott Reilly, Scott Taylor, ScreenfeedFr, scribu, Sean Hayes, Sean Nessworthy, Sergej Muller, Sergey Biryukov, shanebp, Shaun Andrews, Simon Wheatley, simonp303, Slobodan Manic, solarissmoke, sphoid, Stephane Daury, Stephen Edgar, Steven Jones, strangerstudios, Sumit Singh, sumobi, t4k1s, Takashi Irie, Taylor Dewey, Thomas van der Beek, Till Kruss, Tim \'Eli\' Dalbey, TobiasBg, Tom J Nowell, Tom Willmot, Topher, torresga, Tracy Levesque, Travis Smith, treyhunner, Umesh Kumar, Vinod Dalvi, vlajos, voldemortensen, Weston Ruter, winterDev, Wojtek Szkutnik, Yoav Farhi, Zack Katz, Zack Tollman, and Zoe Rooney. Also thanks to Michael Pick for producing the release video, and Helen with Adrián Sandí for the music.

\n

If you want to follow along or help out, check out Make WordPress and our core development blog. Thanks for choosing WordPress. See you soon for version 4.1!

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:36:\"http://wellformedweb.org/CommentAPI/\";a:1:{s:10:\"commentRss\";a:1:{i:0;a:5:{s:4:\"data\";s:45:\"http://wordpress.org/news/2014/09/benny/feed/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:38:\"http://purl.org/rss/1.0/modules/slash/\";a:1:{s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:1:\"0\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:1;a:6:{s:4:\"data\";s:45:\"\n \n \n \n \n \n \n \n\n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:5:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"WordPress 4.0 Release Candidate\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:66:\"http://wordpress.org/news/2014/08/wordpress-4-0-release-candidate/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:75:\"http://wordpress.org/news/2014/08/wordpress-4-0-release-candidate/#comments\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 27 Aug 2014 12:20:37 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:2:{i:0;a:5:{s:4:\"data\";s:11:\"Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://wordpress.org/news/?p=3287\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:321:\"The first release candidate for WordPress 4.0 is now available! In RC 1, we’ve made refinements to what we’ve been working on for this release. Check out the Beta 1 announcement post for more details on those features. We hope to ship WordPress 4.0 next week, but we need your help to get there. If you […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"Helen Hou-Sandi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:2127:\"

The first release candidate for WordPress 4.0 is now available!

\n

In RC 1, we’ve made refinements to what we’ve been working on for this release. Check out the Beta 1 announcement post for more details on those features. We hope to ship WordPress 4.0 next week, but we need your help to get there. If you haven’t tested 4.0 yet, there’s no time like the present. (Please, not on a production site, unless you’re adventurous.)

\n

Think you’ve found a bug? Please post to the Alpha/Beta area in the support forums. If any known issues come up, you’ll be able to find them here.

\n

To test WordPress 4.0 RC1, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the release candidate here (zip). If you’d like to learn more about what’s new in WordPress 4.0, visit the awesome About screen in your dashboard (\"\" → About in the toolbar).

\n

Developers, please test your plugins and themes against WordPress 4.0 and update your plugin’s Tested up to version in the readme to 4.0 before next week. If you find compatibility problems, please be sure to post any issues to the support forums so we can figure those out before the final release. You also may want to give your plugin an icon, which we launched last week and will appear in the dashboard along with banners.

\n

It is almost time
\n For the 4.0 release
\n And its awesomeness

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:36:\"http://wellformedweb.org/CommentAPI/\";a:1:{s:10:\"commentRss\";a:1:{i:0;a:5:{s:4:\"data\";s:71:\"http://wordpress.org/news/2014/08/wordpress-4-0-release-candidate/feed/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:38:\"http://purl.org/rss/1.0/modules/slash/\";a:1:{s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:1:\"0\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:2;a:6:{s:4:\"data\";s:45:\"\n \n \n \n \n \n \n \n\n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:5:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:20:\"WordPress 4.0 Beta 4\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"http://wordpress.org/news/2014/08/wordpress-4-0-beta-4/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:64:\"http://wordpress.org/news/2014/08/wordpress-4-0-beta-4/#comments\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 15 Aug 2014 05:06:19 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:2:{i:0;a:5:{s:4:\"data\";s:11:\"Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://wordpress.org/news/?p=3280\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:353:\"The fourth and likely final beta for WordPress 4.0 is now available. We’ve made more than 250 changes in the past month, including: Further improvements to the editor scrolling experience, especially when it comes to the second column of boxes. Better handling of small screens in the media library modals. A separate bulk selection mode […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"Helen Hou-Sandi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:1999:\"

The fourth and likely final beta for WordPress 4.0 is now available. We’ve made more than 250 changes in the past month, including:

\n\n

We need your help. We’re still aiming for a release this month, which means the next week will be critical for identifying and squashing bugs. If you’re just joining us, please see the Beta 1 announcement post for what to look out for.

\n

If you think you’ve found a bug, you can post to the Alpha/Beta area in the support forums, where friendly moderators are standing by. Plugin developers, if you haven’t tested WordPress 4.0 yet, now is the time — and be sure to update the “tested up to” version for your plugins so they’re listed as compatible with 4.0.

\n

This software is still in development, so we don’t recommend you run it on a production site. Consider setting up a test site just to play with the new version. To test WordPress 4.0, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the beta here (zip).

\n

We are working hard
\nTo finish up 4.0
\n
Will you help us too?

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:36:\"http://wellformedweb.org/CommentAPI/\";a:1:{s:10:\"commentRss\";a:1:{i:0;a:5:{s:4:\"data\";s:60:\"http://wordpress.org/news/2014/08/wordpress-4-0-beta-4/feed/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:38:\"http://purl.org/rss/1.0/modules/slash/\";a:1:{s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:1:\"0\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:3;a:6:{s:4:\"data\";s:45:\"\n \n \n \n \n \n \n \n\n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:5:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"WordPress 3.9.2 Security Release\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:50:\"http://wordpress.org/news/2014/08/wordpress-3-9-2/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:59:\"http://wordpress.org/news/2014/08/wordpress-3-9-2/#comments\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 06 Aug 2014 19:04:27 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:2:{i:0;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Security\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://wordpress.org/news/?p=3269\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:377:\"WordPress 3.9.2 is now available as a security release for all previous versions. We strongly encourage you to update your sites immediately. This release fixes a possible denial of service issue in PHP’s XML processing, reported by Nir Goldshlager of the Salesforce.com Product Security Team. It  was fixed by Michael Adams and Andrew Nacin of the WordPress […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"Andrew Nacin\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:2352:\"

WordPress 3.9.2 is now available as a security release for all previous versions. We strongly encourage you to update your sites immediately.

\n

This release fixes a possible denial of service issue in PHP’s XML processing, reported by Nir Goldshlager of the Salesforce.com Product Security Team. It  was fixed by Michael Adams and Andrew Nacin of the WordPress security team and David Rothstein of the Drupal security team. This is the first time our two projects have coordinated joint security releases.

\n

WordPress 3.9.2 also contains other security changes:

\n\n

We appreciated responsible disclosure of these issues directly to our security team. For more information, see the release notes or consult the list of changes.

\n

Download WordPress 3.9.2 or venture over to Dashboard → Updates and simply click “Update Now”.

\n

Sites that support automatic background updates will be updated to WordPress 3.9.2 within 12 hours. (If you are still on WordPress 3.8.3 or 3.7.3, you will also be updated to 3.8.4 or 3.7.4. We don’t support older versions, so please update to 3.9.2 for the latest and greatest.)

\n

Already testing WordPress 4.0? The third beta is now available (zip) and it contains these security fixes.

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:36:\"http://wellformedweb.org/CommentAPI/\";a:1:{s:10:\"commentRss\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"http://wordpress.org/news/2014/08/wordpress-3-9-2/feed/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:38:\"http://purl.org/rss/1.0/modules/slash/\";a:1:{s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:1:\"0\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:4;a:6:{s:4:\"data\";s:45:\"\n \n \n \n \n \n \n \n\n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:5:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:20:\"WordPress 4.0 Beta 2\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"http://wordpress.org/news/2014/07/wordpress-4-0-beta-2/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:64:\"http://wordpress.org/news/2014/07/wordpress-4-0-beta-2/#comments\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 18 Jul 2014 21:15:35 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:2:{i:0;a:5:{s:4:\"data\";s:11:\"Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://wordpress.org/news/?p=3261\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:374:\"WordPress 4.0 Beta 2 is now available for download and testing. This is software still in development, so we don’t recommend that you run it on a production site. To get the beta, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the beta here (zip). For more of what’s new in version 4.0, check out […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"Helen Hou-Sandi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:1738:\"

WordPress 4.0 Beta 2 is now available for download and testing. This is software still in development, so we don’t recommend that you run it on a production site. To get the beta, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the beta here (zip).

\n

For more of what’s new in version 4.0, check out the Beta 1 blog post. Some of the changes in Beta 2 include:

\n\n

If you think you’ve found a bug, you can post to the Alpha/Beta area in the support forums. Or, if you’re comfortable writing a bug report, file one on the WordPress Trac. There, you can also find a list of known bugs and everything we’ve fixed.

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:36:\"http://wellformedweb.org/CommentAPI/\";a:1:{s:10:\"commentRss\";a:1:{i:0;a:5:{s:4:\"data\";s:60:\"http://wordpress.org/news/2014/07/wordpress-4-0-beta-2/feed/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:38:\"http://purl.org/rss/1.0/modules/slash/\";a:1:{s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:1:\"0\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:5;a:6:{s:4:\"data\";s:45:\"\n \n \n \n \n \n \n \n\n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:5:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:20:\"WordPress 4.0 Beta 1\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"http://wordpress.org/news/2014/07/wordpress-4-0-beta-1/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:64:\"http://wordpress.org/news/2014/07/wordpress-4-0-beta-1/#comments\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 10 Jul 2014 10:17:41 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:2:{i:0;a:5:{s:4:\"data\";s:11:\"Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://wordpress.org/news/?p=3248\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:329:\"WordPress 4.0 Beta 1 is now available! This software is still in development, so we don’t recommend you run it on a production site. Consider setting up a test site just to play with the new version. To test WordPress 4.0, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"Helen Hou-Sandi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:4025:\"

WordPress 4.0 Beta 1 is now available!

\n

This software is still in development, so we don’t recommend you run it on a production site. Consider setting up a test site just to play with the new version. To test WordPress 4.0, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the beta here (zip).

\n

4.0 is due out next month, but to get there, we need your help testing what we’ve been working on:

\n\n

If you think you’ve found a bug, you can post to the Alpha/Beta area in the support forums. We’d love to hear from you! If you’re comfortable writing a reproducible bug report, file one on the WordPress Trac. There, you can also find a list of known bugs and everything we’ve fixed so far.

\n

Developers: Never fear, we haven’t forgotten you. There’s plenty for you, too – more on that in upcoming posts. In the meantime, check out the API for panels in the Customizer.

\n

Happy testing!

\n

Plugins, editor
\nMedia, things in between
\nPlease help look for bugs

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:36:\"http://wellformedweb.org/CommentAPI/\";a:1:{s:10:\"commentRss\";a:1:{i:0;a:5:{s:4:\"data\";s:60:\"http://wordpress.org/news/2014/07/wordpress-4-0-beta-1/feed/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:38:\"http://purl.org/rss/1.0/modules/slash/\";a:1:{s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:1:\"0\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:6;a:6:{s:4:\"data\";s:42:\"\n \n \n \n \n \n \n\n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:5:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"WordPress 3.9.1 Maintenance Release\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:50:\"http://wordpress.org/news/2014/05/wordpress-3-9-1/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:59:\"http://wordpress.org/news/2014/05/wordpress-3-9-1/#comments\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 08 May 2014 18:40:58 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://wordpress.org/news/?p=3241\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:385:\"After three weeks and more than 9 million downloads of WordPress 3.9, we’re pleased to announce that WordPress 3.9.1 is now available. This maintenance release fixes 34 bugs in 3.9, including numerous fixes for multisite networks, customizing widgets while previewing themes, and the updated visual editor. We’ve also made some improvements to the new audio/video […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"Andrew Nacin\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:3077:\"

After three weeks and more than 9 million downloads of WordPress 3.9, we’re pleased to announce that WordPress 3.9.1 is now available.

\n

This maintenance release fixes 34 bugs in 3.9, including numerous fixes for multisite networks, customizing widgets while previewing themes, and the updated visual editor. We’ve also made some improvements to the new audio/video playlists feature and made some adjustments to improve performance. For a full list of changes, consult the list of tickets and the changelog.

\n

If you are one of the millions already running WordPress 3.9, we’ve started rolling out automatic background updates for 3.9.1. For sites that support them, of course.

\n

Download WordPress 3.9.1 or venture over to Dashboard → Updates and simply click “Update Now.”

\n

Thanks to all of these fine individuals for contributing to 3.9.1: Aaron Jorbin, Andrew Nacin, Andrew Ozz, Brian Richards, Chris Blower, Corey McKrill, Daniel Bachhuber, Dominik Schilling, feedmeastraycat, Gregory Cornelius, Helen Hou-Sandi, imath, Janneke Van Dorpe, Jeremy Felt, John Blackbourn, Konstantin Obenland, Lance Willett, m_i_n, Marius Jensen, Mark Jaquith, Milan Dinić, Nick Halsey, pavelevap, Scott Taylor, Sergey Biryukov, and Weston Ruter.

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:36:\"http://wellformedweb.org/CommentAPI/\";a:1:{s:10:\"commentRss\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"http://wordpress.org/news/2014/05/wordpress-3-9-1/feed/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:38:\"http://purl.org/rss/1.0/modules/slash/\";a:1:{s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:1:\"0\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:7;a:6:{s:4:\"data\";s:42:\"\n \n \n \n \n \n \n\n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:5:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:25:\"WordPress 3.9 “Smith”\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:40:\"http://wordpress.org/news/2014/04/smith/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:49:\"http://wordpress.org/news/2014/04/smith/#comments\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 16 Apr 2014 18:33:44 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://wordpress.org/news/?p=3154\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:411:\"Version 3.9 of WordPress, named “Smith” in honor of jazz organist Jimmy Smith, is available for download or update in your WordPress dashboard. This release features a number of refinements that we hope you’ll love. A smoother media editing experience Improved visual editing The updated visual editor has improved speed, accessibility, and mobile support. You can paste into the […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:23216:\"

Version 3.9 of WordPress, named “Smith” in honor of jazz organist Jimmy Smith, is available for download or update in your WordPress dashboard. This release features a number of refinements that we hope you’ll love.

\n\n

A smoother media editing experience

\n
\n

\"editor\"

\n

Improved visual editing

\n

The updated visual editor has improved speed, accessibility, and mobile support. You can paste into the visual editor from your word processor without wasting time to clean up messy styling. (Yeah, we’re talking about you, Microsoft Word.)

\n
\n
\n
\n

\"image\"

\n

Edit images easily

\n

With quicker access to crop and rotation tools, it’s now much easier to edit your images while editing posts. You can also scale images directly in the editor to find just the right fit.

\n
\n
\n
\n

\"dragdrop\"

\n

Drag and drop your images

\n

Uploading your images is easier than ever. Just grab them from your desktop and drop them in the editor.

\n
\n
\n
\n

Gallery previews

\n

\"gallery\"

\n

Galleries display a beautiful grid of images right in the editor, just like they do in your published post.

\n
\n

Do more with audio and video

\n\nAin\'t Misbehavin\'\nDavenport Blues\nBuddy Bolden\'s Blues\nSquaty Roo\nDixie Blues\nWolverine Blues\n\n

Images have galleries; now we’ve added simple audio and video playlists, so you can showcase your music and clips.

\n
\n

Live widget and header previews

\n
\n

Add, edit, and rearrange your site’s widgets right in the theme customizer. No “save and surprise” — preview your changes live and only save them when you’re ready.

\n

The improved header image tool also lets you upload, crop, and manage headers while customizing your theme.

\n
\n

Stunning new theme browser

\n

\"theme\"
\nLooking for a new theme should be easy and fun. Lose yourself in the boundless supply of free WordPress.org themes with the beautiful new theme browser.

\n
\n

The Crew

\n

This release was led by Andrew Nacin and Mike Schroder, with the help of these fine individuals. There are 267 contributors with props in this release, a new high:

\n

Aaron D. Campbell, Aaron Jorbin, Adam Harley, Adam Silverstein, adelval, Ajay, Akeda Bagus, Alex Concha, Alex Shiels, Alison Barrett, Allan Collins, Amy Hendrix (sabreuse), Andrea Fercia, Andrew Nacin, Andrew Norcross, Andrew Ozz, Andrey \"Rarst\" Savchenko, Andy Keith, Andy Skelton, Anton Timmermans, Aubrey Portwood, Barry, Bartosz Romanowski, bassgang, bcworkz, Ben Dunkle, Bernhard Riedl, bigdawggi, Bob Gregor, bobbingwide, Brad Touesnard, bradparbs, bramd, Brandon Kraft, brasofilo, bravokeyl, Bryan Petty, cgaffga, Chirag Swadia, Chouby, Chris Blower, Chris Marslender, Chris Olbekson, Chris Scott, chriseverson, chrisguitarguy, Christopher Finke, ciantic, Comparativa de Bancos, Connor Jennings, Cor van Noorloos, Corphi, cramdesign, Daniel Bachhuber, Daniel Jalkut (Red Sweater), Danny de Haan, Daryl Koopersmith, Dave Kellam (eightface), DaveE, David A. Kennedy, David Anderson, David Marichal, Denis de Bernardy, Dion Hulse, Dominik Schilling, Doug Wollison, Drew Jaynes, DrProtocols, Dustin Filippini, eatingrules, edik, Eduardo Reveles, Elio Rivero, enej, Eric Lewis, Eric Mann, Erica Varlese, Erick Hitter, Evan Anderson, Fahmi Adib, fboender, Frank Klein, Gary Cao, Gary Jones, Gary Pendergast, genkisan, Gennady Kovshenin, George Stephanis, Graham Armfield, Grant Mangham, Gregory Cornelius, Gregory Karpinsky (@tivnet), hakre, hanni, Helen Hou-Sandí, ippetkov, Ipstenu (Mika Epstein), J.D. Grimes, Jack Reichert, jameslee, Janneke Van Dorpe, janrenn, JayCC, Jeff Sebring, Jen Mylo, Jeremy Felt, Jesin A, Jesper Johansen (jayjdk), jnielsendotnet, Joan Artes, Joe Dolson, Joe Hoyle, John Blackbourn, John James Jacoby, John P. Bloch, John Regan, Jon Cave, Jonas Bolinder (jond3r), Joost de Valk, Josh Pollock, Joshua Abenazer, jstraitiff, Julio Potier, Justin Kopepasah, Justin Sainton, K.Adam White, Kailey (trepmal), Kaspars, Kelly Dwan, kerikae, Kevin Worthington, Kim Parsell, Kirk Wight, kitchin, klihelp, Knut Sparhell, Konstantin Kovshenin, Konstantin Obenland, Krzysiek Drozdz, Lance Willett, Lee Willis, lpointet, Luc De Brouwer, Lucas Karpiuk, Luke Woodward, Mark Barnes, Mark Jaquith, Marko Heijnen, Marventus, Matt (Thomas) Miklic, Matt Banks, Matt Mullenweg, Matthew Boynes, Matthew Denton, Matthew Haines-Young, mattonomics, mattyrob, Matías Ventura, Max Cutler, mcadwell, Mel Choyce, meloniq, Michael Arestad, Michel - xiligroup dev, Miguel Fonseca, Mike Burns, Mike Hansen, Mike Manger, Mike Schinkel, Mike Schroder, mikecorkum, mitcho (Michael Yoshitaka Erlewine), Mohammad Jangda, Morgan Estes, Morten Rand-Hendriksen, Naoko Takano, Nashwan Doaqan, nendeb55, Nick Halsey, Nicole Arnold, Nikhil Vimal (NikV), Nivi Jah, nofearinc, Nuno Morgadinho, olivM, Omer Korner, OriginalEXE, patricknami, Paul Bearne, Paul Gibbs, Paul Wilde, pavelevap, Peter Westwood, Philip Arthur Moore, Pippin Williamson, Prasath Nadarajah, prettyboymp, Raam Dev, Rachel Baker, Ram Ratan Maurya, ramonchiara, Rescuework Support, Rhys Wynne, Ricardo Correia, Richard Sweeney, Richard Tape, richard2222, Ricky Lee Whittemore, Robert Chapin, robmiller, Rodrigo Primo, romaimperator, roothorick, Ruud Laan, Ryan Boren, Ryan McCue, Sal Ferrarello, Samuel Wood (Otto), Sandeep, Scott Lee, Scott Reilly, Scott Taylor, ScreenfeedFr, scribu, sdasse, Sean Butze, Sean Hayes, Sean Nessworthy, Sergey Biryukov, shahpranaf, Shaun Andrews, ShinichiN, Simon Prosser, Simon Wheatley, Siobhan, Siobhan Bamber (siobhyb), sirzooro, solarissmoke, sonjanyc, Spencer Finnell, Spencer Piontkowski, stephcook22, Stephen Edgar, Stephen Harris, Steve Bruner, Steven Word, Takayuki Miyauchi, Tanner Moushey, Taylor Lovett, tbrams, TobiasBg, Tom Auger, Tom Willmot, Topher, topquarky, Torsten Landsiedel, Toru, Travis Smith, Umesh Kumar, undergroundnetwork, VarunAgw, wawco, Weston Ruter, wokamoto, xsonic, Yoav Farhi, Yuri Victor, Zach Tirrell, and Ze Fontainhas. Also thanks to Michael Pick for producing the release video.

\n

If you want to follow along or help out, check out Make WordPress and our core development blog. Thanks for choosing WordPress. See you soon for version 4.0!

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:36:\"http://wellformedweb.org/CommentAPI/\";a:1:{s:10:\"commentRss\";a:1:{i:0;a:5:{s:4:\"data\";s:45:\"http://wordpress.org/news/2014/04/smith/feed/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:38:\"http://purl.org/rss/1.0/modules/slash/\";a:1:{s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:1:\"0\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:8;a:6:{s:4:\"data\";s:45:\"\n \n \n \n \n \n \n \n\n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:5:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"WordPress 3.9 Release Candidate 2\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"http://wordpress.org/news/2014/04/wordpress-3-9-release-candidate-2/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:77:\"http://wordpress.org/news/2014/04/wordpress-3-9-release-candidate-2/#comments\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 15 Apr 2014 09:47:36 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:2:{i:0;a:5:{s:4:\"data\";s:11:\"Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://wordpress.org/news/?p=3151\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:356:\"The second release candidate for WordPress 3.9 is now available for testing. If you haven’t tested 3.9 yet, you’re running out of time! We made about five dozen changes since the first release candidate, and those changes are all helpfully summarized in our weekly post on the development blog. Probably the biggest fixes are to live […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"Andrew Nacin\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:2273:\"

The second release candidate for WordPress 3.9 is now available for testing.

\n

If you haven’t tested 3.9 yet, you’re running out of time! We made about five dozen changes since the first release candidate, and those changes are all helpfully summarized in our weekly post on the development blog. Probably the biggest fixes are to live widget previews and the new theme browser, along with some extra TinyMCE compatibility and some RTL fixes.

\n

Plugin authors: Could you test your plugins against 3.9, and if they’re compatible, make sure they are marked as tested up to 3.9? It only takes a few minutes and this really helps make launch easier. Be sure to follow along the core development blog; we’ve been posting notes for developers for 3.9. (For example: HTML5, symlinks, MySQL, Plupload.)

\n

To test WordPress 3.9 RC2, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the release candidate here (zip). If you’d like to learn more about what’s new in WordPress 3.9, visit the nearly complete About screen in your dashboard (\"\" → About in the toolbar) and also check out the Beta 1 post.

\n

This is for testing,
\nso not recommended for
\nproduction sites—yet.

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:36:\"http://wellformedweb.org/CommentAPI/\";a:1:{s:10:\"commentRss\";a:1:{i:0;a:5:{s:4:\"data\";s:73:\"http://wordpress.org/news/2014/04/wordpress-3-9-release-candidate-2/feed/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:38:\"http://purl.org/rss/1.0/modules/slash/\";a:1:{s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:1:\"0\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:9;a:6:{s:4:\"data\";s:42:\"\n \n \n \n \n \n \n\n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:5:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"WordPress 3.8.3 Maintenance Release\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:50:\"http://wordpress.org/news/2014/04/wordpress-3-8-3/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:59:\"http://wordpress.org/news/2014/04/wordpress-3-8-3/#comments\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 14 Apr 2014 19:29:13 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://wordpress.org/news/?p=3145\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:338:\"WordPress 3.8.3 is now available to fix a small but unfortunate bug in the WordPress 3.8.2 security release. The “Quick Draft” tool on the dashboard screen was broken in the 3.8.2 update. If you tried to use it, your draft would disappear and it wouldn’t save. While we doubt anyone was writing a novella using […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"Andrew Nacin\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:2339:\"

WordPress 3.8.3 is now available to fix a small but unfortunate bug in the WordPress 3.8.2 security release.

\n

The “Quick Draft” tool on the dashboard screen was broken in the 3.8.2 update. If you tried to use it, your draft would disappear and it wouldn’t save. While we doubt anyone was writing a novella using this tool, any loss of content is unacceptable to us.

\n

We recognize how much trust you place in us to safeguard your content, and we take this responsibility very seriously. We’re sorry we let you down.

\n

We’ve all lost words we’ve written before, like an email thanks to a cat on the keyboard or a term paper to a blue screen of death. Over the last few WordPress releases, we’ve made a number of improvements to features like autosaves and revisions. With revisions, an old edit can always be restored. We’re trying our hardest to save your content somewhere even if your power goes out or your browser crashes. We even monitor your internet connection and prevent you from hitting that “Publish” button at the exact moment the coffee shop Wi-Fi has a hiccup.

\n

It’s possible that the quick draft you lost last week is still in the database, and just hidden from view. As an added complication, these “discarded drafts” normally get deleted after seven days, and it’s already been six days since the release. If we were able to rescue your draft, you’ll see it on the “All Posts” screen after you update to 3.8.3. (We’ll also be pushing 3.8.3 out as a background update, so you may just see a draft appear.)

\n

So, if you tried to jot down a quick idea last week, I hope WordPress has recovered it for you. Maybe it’ll turn into that novella.

\n

Download WordPress 3.8.3 or click “Update Now” on Dashboard → Updates.

\n

This affected version 3.7.2 as well, so we’re pushing a 3.7.3 to these installs, but we’d encourage you to update to the latest and greatest.

\n
\n

Now for some good news:
\nWordPress 3.9 is near.
\nExpect it this week

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:36:\"http://wellformedweb.org/CommentAPI/\";a:1:{s:10:\"commentRss\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"http://wordpress.org/news/2014/04/wordpress-3-8-3/feed/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:38:\"http://purl.org/rss/1.0/modules/slash/\";a:1:{s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:1:\"0\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}s:27:\"http://www.w3.org/2005/Atom\";a:1:{s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:0:\"\";s:7:\"attribs\";a:1:{s:0:\"\";a:3:{s:4:\"href\";s:31:\"http://wordpress.org/news/feed/\";s:3:\"rel\";s:4:\"self\";s:4:\"type\";s:19:\"application/rss+xml\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:44:\"http://purl.org/rss/1.0/modules/syndication/\";a:2:{s:12:\"updatePeriod\";a:1:{i:0;a:5:{s:4:\"data\";s:6:\"hourly\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:15:\"updateFrequency\";a:1:{i:0;a:5:{s:4:\"data\";s:1:\"1\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}}}}}}s:4:\"type\";i:128;s:7:\"headers\";a:9:{s:6:\"server\";s:5:\"nginx\";s:4:\"date\";s:29:\"Fri, 05 Sep 2014 12:00:29 GMT\";s:12:\"content-type\";s:23:\"text/xml; charset=UTF-8\";s:10:\"connection\";s:5:\"close\";s:4:\"vary\";s:15:\"Accept-Encoding\";s:10:\"x-pingback\";s:36:\"http://wordpress.org/news/xmlrpc.php\";s:13:\"last-modified\";s:29:\"Thu, 04 Sep 2014 17:05:39 GMT\";s:15:\"x-frame-options\";s:10:\"SAMEORIGIN\";s:4:\"x-nc\";s:11:\"HIT lax 249\";}s:5:\"build\";s:14:\"20140904185513\";}','no'),(282,'_transient_timeout_feed_mod_ac0b00fe65abe10e0c5b588f3ed8c7ca','1409961629','no'),(283,'_transient_feed_mod_ac0b00fe65abe10e0c5b588f3ed8c7ca','1409918429','no'),(284,'_transient_timeout_feed_867bd5c64f85878d03a060509cd2f92c','1409961630','no'),(285,'_transient_feed_867bd5c64f85878d03a060509cd2f92c','a:4:{s:5:\"child\";a:1:{s:0:\"\";a:1:{s:3:\"rss\";a:1:{i:0;a:6:{s:4:\"data\";s:3:\"\n\n\n\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:7:\"version\";s:3:\"2.0\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:1:{s:0:\"\";a:1:{s:7:\"channel\";a:1:{i:0;a:6:{s:4:\"data\";s:61:\"\n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:1:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:16:\"WordPress Planet\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://planet.wordpress.org/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"language\";a:1:{i:0;a:5:{s:4:\"data\";s:2:\"en\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:47:\"WordPress Planet - http://planet.wordpress.org/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"item\";a:50:{i:0;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:63:\"WPTavern: Rams: A Free WordPress Blogging Theme With Zero Fluff\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29752\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:72:\"http://wptavern.com/rams-a-free-wordpress-blogging-theme-with-zero-fluff\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2745:\"

Rams is a new release from WordPress theme developer Anders Norén. The theme is aptly named for Dieter Rams, a German industrial designer who is well known for his innovative, unobtrusive, and timeless product design.

\n

Rams is a minimalist blogging theme that bears Noren’s trademark simplicity. Norén said that he designed the theme with “zero fluff” to put the content in focus.

\n

\"rams\"

\n

Rams includes support for the gallery, video and quote post formats. It is retina-ready and responsive, providing a high quality reading experience on desktop, tablets, and mobile phones.

\n

The theme comes packaged with a beautiful, simplified archive template and built-in editor styles. It also includes support for Jetpack Tiled Galleries and infinite scroll.

\n

\"jetpack-tiled-gallery\"

\n

Check out a live demo to see Rams in action and make sure to navigate through the various templates and styles.

\n

One Theme Option

\n

Rams includes only one theme option. Yes, you read that correctly. The color control option allows you to set the background color of the sidebar as well as the accent color of the content. Rams includes no other options and no widget areas. That means that it takes no effort whatsoever to get your site looking just like the demo.

\n

Norén skillfully captures the essence of Dieter Rams’ principles of good design in this tribute theme. If you’re looking for a beautiful, simple blog design with plenty of room for content to breathe, Rams is a solid option. Download it for free from WordPress.org.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 05 Sep 2014 04:58:21 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:1;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:62:\"WPTavern: Syed Balkhi on The Overnight Success of OptinMonster\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29899\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:72:\"http://wptavern.com/syed-balkhi-on-the-overnight-success-of-optinmonster\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3253:\"\"Monsterphoto credit: JD Hancockcc\n

Created by Syed Balkhi and Thomas Griffin, OptinMonster is one of the most popular WordPress plugins when it comes to converting visitors into subscribers and customers. Its success is one of the reasons the duo decided to join forces. While the team enjoys the success of OptinMonster today, the plugin almost didn’t make it to the market.

\n

Balkhi shares a story on his personal site that explains how he and Griffin turned OptinMonster into a 10 month-long, overnight success story.

\n

That night was the longest night ever. Once we added List25 along with few other sites, our servers crashed. Since neither of us were sysadmins, we couldn’t get the servers to scale properly.

\n

We consulted with a few sysadmins and long story short the issue was our reporting. The WordPress database couldn’t handle that many rewrites. We were tracking impressions and conversions for every site (imagine the amount of database writes).

\n

We really had two options at this point: completely pivot in 30 days or close down shop.

\n

Stories like this are great because it gives us a glimpse into the work involved to create a stellar product. What’s of particular interest to me is that it almost didn’t see the light of day. The team persevered, made a pivot, and are now the proud owners of a great plugin.

\n

I’d love to see more developers share their journeys. Other developers that have shared their stories include:

\n\n

I almost think I’m in the wrong business when I hear about WordPress companies or specific products making millions of dollars. However, stories like the ones above are reminders that there is a lot of work that goes on behind the scenes to create a successful product.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 04 Sep 2014 23:04:15 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:2;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:61:\"WPTavern: Poll: Who Uses Reader In The WordPress Mobile Apps?\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29874\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:69:\"http://wptavern.com/poll-who-uses-reader-in-the-wordpress-mobile-apps\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2434:\"

WordPress for iOS 4.3 is now available for download from the App Store. The new release contains updates to stats and reader. You can now see more details in the stats chart for Visitors and Views. Just tap any of the views available such as Days, Weeks, or Months.

\n

\"WordPress

\n\"FollowFollow Any Site In Reader\n

In previous versions of the app, reader was limited to WordPress.com and self hosted sites using Jetpack. In 4.3, you can add any site to the reader by URL or tag essentially turning it into an RSS Feed Reader.

\n

The app contains several improvements under the hood to prepare for the release of iOS 8. Among some of the features slated for the next version include an iOS 8 Today extension to view stats, a major interface update for notifications, and a limited roll out of a new WYSIWYG post editor.

\n

Who Uses The Reader Part Of The Mobile Apps?

\n

Being able to add any site to the reader is a nice enhancement but it’s not enough to convince me to use it. I use Feedly as my feed reader both on the desktop and my phone. The interface of reader makes it difficult to quickly skim the headlines of several different websites and I’d rather not manage so many sites on my phone. I’ve also found it to not be the ideal experience to consume content.

\n

I wonder how many people use this portion of the app. Help me figure it out by participating in the poll. If you vote yes, let me know in the comments how you use it.

\nNote: There is a poll embedded within this post, please visit the site to participate in this post\'s poll.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 04 Sep 2014 21:56:55 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:3;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:9:\"Matt: 4.0\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:21:\"http://ma.tt/?p=44082\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:25:\"http://ma.tt/2014/09/4-0/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:534:\"

WordPress 4.0, code-named Benny, is now available. The response so far has been great, over 200k downloads in just a few hours. Today we celebrate, watch the counter, and tomorrow go back to work on 4.1. \":)\" For those following along at home, the 3.x series of WordPress was downloaded 300 million times.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 04 Sep 2014 21:00:50 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:4;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:58:\"WPTavern: Pressgram to Shut Down, Development Discontinued\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29842\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:67:\"http://wptavern.com/pressgram-to-shut-down-development-discontinued\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4734:\"

\"pressgram-feature\"

\n

Pressgram founder John Saddington announced today that he will be shutting down the project and pulling the app from the Apple Store on September 11. The app started as a WordPress-powered photo sharing app and evolved to support all kinds of publishing platforms. Last March, Saddington dropped the social layer in favor of focusing his efforts on the publishing features.

\n

Despite running a successful $50K+ Kickstarter campaign, Saddington was not able to continue development on the project.

\n

Today marks the 2-year (official) anniversary of Pressgram and it is with a very heavy heart that I am announcing that active development on Pressgram is being discontinued.

\n

He does not specify the reasons for shutting down the app in his departure post, which is more of a thank you to investors and a farewell to users. However, his responses to users on Twitter indicate that he could not continue to uphold the financial burden of the Amazon AWS costs of running the service, which centralized publishing requests to various social outlets.

\n

@Tarendai @Pressgram // custom built API to handle a ton of requests from the users, especially to publish to multiple techs and platforms.

\n

— John Saddington (@saddington) September 4, 2014

\n

\n

In response to users who inquired whether or not they will be able to continue using the app, Saddington replied, “The service will turn off officially at the end of the month, unfortunately.”

\n

When Pressgram was in the crowdfunding stage, WordPress co-founder Matt Mullenweg had pledged $10K dollars to help get it off the ground but eventually withdrew his pledge when he learned that the project would not be open source. The last time we spoke with Saddington, he was open to open sourcing the app but has thus far continued with it under a proprietary license. Now that development is being discontinued, users want to know about the possibility of open sourcing the code so that it doesn’t disappear. He confirmed that this is still a possibility.

\n

@ramiabraham @Pressgram always a possibility.

\n

— John Saddington (@saddington) September 4, 2014

\n

\n

At a later date, Saddington plans to share more thoughts about why the project didn’t end up working out. The information will undoubtedly be of interest to his many Kickstarter backers, some of whom pledged hundreds of dollars to see this app become a reality.

\n

From the beginning, Pressgram had mass appeal, given that it used WordPress to power a creative application with the potential to become a viable alternative to some of the larger players, such as Instagram. Many in the WordPress community were hoping that that app would be open source, since it was originally based on open source software and could potentially help move the WordPress app space forward.

\n

If Pressgram were open source, it’s possible that someone could use the code as a starting place to build an app that doesn’t require a centralized service. Where could Saddington have taken Pressgram if he had a team of enthusiastic open source contributors surrounding the project and improving upon it at a faster rate? Would you like to see the app open sourced or do you think it should be simply retired? Let us know in the comments.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 04 Sep 2014 20:42:37 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:5;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:71:\"WPTavern: WPWeekly Episode 161 – The CTO Of CrowdFavorite, Chris Lema\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:44:\"http://wptavern.com?p=29854&preview_id=29854\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:76:\"http://wptavern.com/wpweekly-episode-161-the-cto-of-crowdfavorite-chris-lema\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3852:\"

Marcus Couch and I are joined by CrowdFavorite CTO, Chris Lema. We talk about his new position and what the joint-venture partnership means for both CrowdFavorite and iThemes. Lema explains what the word enterprise means for WordPress products and near the end of the show, gives us his prediction on what will happen in the service and product sectors of the WordPress ecosystem.

\n

Stories Discussed:

\n

Critical Security Vulnerability Found in WordPress Slider Revolution Plugin, Immediate Update Advised
\nProWordPress Subreddit Passes 1,000 Subscribers
\nWhy You Might Consider Adding Development Hours to Your Changelog
\nThe Hidden Savings Of a WordCamp Ticket

\n

Plugins Picked By Marcus:

\n

WP Scroll Depth is a small Google Analytics plugin that allows you to measure how far down the page your users are scrolling. It monitors the 25%, 50%, 75%, and 100% scroll points, sending a Google Analytics Event at each one. You can also track when specific elements on the page are scrolled into view. On a blog, for example, you could send a Scroll Depth event whenever the user reaches the end of a post.

\n

Embed Custom Field adds a shortcode for including a custom field on a page or post. Create a custom field on your post/page, then use the following shortcode to include it on your site: [embed_custom_field \"field-name-here\"]

\n

WP Taxi Me adds the ability to order a taxi directly from your mobile site using Uber. You can encourage users to register for Uber using an optional setting as well. The plugin hides itself if the user isn’t on mobile, but users can still register for Uber.

\n

WPWeekly Meta:

\n

Next Episode: Wednesday, September 10th 9:30 P.M. Eastern

\n

Subscribe To WPWeekly Via Itunes: Click here to subscribe

\n

Subscribe To WPWeekly Via RSS: Click here to subscribe

\n

Subscribe To WPWeekly Via Stitcher Radio: Click here to subscribe

\n

Listen To Episode #161:
\n

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 04 Sep 2014 19:38:29 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:6;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"WPTavern: WordPress 4.0 Benny Now Available for Download\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29690\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:66:\"http://wptavern.com/wordpress-4-0-benny-now-available-for-download\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:6916:\"

WordPress 4.0 “Benny” was released today, named for American jazz and swing musician Benny Goodman, also known as the “King of Swing.”

\n

Development for 4.0 kicked off at the end of April, led by Helen Hou-Sandí. This release includes hundreds of refinements and a few brand new features, culminating in a more polished media and editing experience. You’ll also find some exciting new tools for developers. Here’s a quick overview of what’s new.

\n

New Media Grid View

\n

\"media-library\"

\n

The WordPress media library has a beautiful new default grid view. When you click on an item, the attachment details will launch a preview that allows you to easily edit and navigate items in your library. Media is now easier to manage with the “bulk select” option which enables you to delete multiple items at once.

\n

Improved Writing Experience

\n

\"sticky-editing-tools\"

\n

Composing in WordPress has never been better. The visual editor now expands to fit your content, instead of the awkward scrollbar you used to see within the content area. The editing experience is smoother with a fixed toolbar as you scroll, which means your tools will follow you as your content expands.

\n

oEmbed Previews

\n
\nhttp://wptavern.com/wp-content/uploads/2014/09/oembed-previews.mp4
  • Run Time 0:17
  • Dimensions 1,312 × 800
  • File Name oembed-previews.mp4
  • File Size 2.41 MB
  • File Type MP4
  • Mime Type video/quicktime
\n

WordPress 4.0 adds oEmbed support for TED talks, Mixcloud, CollegeHumor.com, Issuu, Polldaddy’s short URL format, YouTube playlist URLs. The visual editor now displays previews of media added via on oEmbed URL. The video above is included on the 4.0 about page, demonstrating oEmbed previews in action.

\n

Refreshed Plugin Install and Search Experience

\n

\"add-plugins\"

\n

WordPress 4.0 makes it much easier to search for plugins in the admin. The plugin installer now displays plugin as cards in a grid view. Plugin authors can add custom icons that will appear in the installer. Clicking on a listing launches the plugin details modal with a description, ratings, reviews, compatibility information and more.

\n

Improved Language Support

\n

\"wordpress-languages\"

\n

This release adds major internationalization improvements to the software. Language selection is now available at installation and language management has been streamlined in the dashboard.

\n

What’s new under the hood?

\n

WordPress 4.0 also includes an exciting array of new developer goodies. Here are a few of the highlights:

\n
Customizer API
\n

This release adds a new Panels API that enables developers to group customizer controls into sections. It also includes support for contextual controls that will be visible or hidden based on the page the user is viewing. The improved customizer offers a wider array of controls and parameters that allow developers to extend it for more varied uses beyond themes.

\n
Query Ordering
\n

WordPress 4.0 includes a more powerful ORDER BY argument for developers working with WP_Query. Developers can now pass an array to WP_Query as the value for orderby for more flexible and precise querying.

\n
External Libraries
\n

This major release includes updates for libraries used in WordPress, including TinyMCE 4.1.3, jQuery 1.11.1, MediaElement 2.15.

\n

You can find the full list of all the changes on the 4.0 release page, which was created by volunteers from the docs team.

\n

WordPress 4.0 is the result of the tireless efforts of 275 contributors. If code is poetry, then this release is a skillfully-written sonnet that resolves problem spots and introduces new tools that users will love. Once you update, you’ll wonder how you ever lived without these improvements. Visit your WordPress site and navigate to Dashboard > Update to get 4.0 and take advantage of all the shiny new features.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 04 Sep 2014 17:13:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:7;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"Dev Blog: WordPress 4.0 “Benny”\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://wordpress.org/news/?p=3296\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:40:\"http://wordpress.org/news/2014/09/benny/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:21825:\"

Version 4.0 of WordPress, named “Benny” in honor of jazz clarinetist and bandleader Benny Goodman, is available for download or update in your WordPress dashboard. While 4.0 is just another number for us after 3.9 and before 4.1, we feel we’ve put a little extra polish into it. This release brings you a smoother writing and management experience we think you’ll enjoy.

\n
\n
\n

Manage your media with style

\n

\"MediaExplore your uploads in a beautiful, endless grid. A new details preview makes viewing and editing any amount of media in sequence a snap.

\n
\n

Working with embeds has never been easier

\n
\n//s.w.org/images/core/4.0/embed.mp4
\n

Paste in a YouTube URL on a new line, and watch it magically become an embedded video. Now try it with a tweet. Oh yeah — embedding has become a visual experience. The editor shows a true preview of your embedded content, saving you time and giving you confidence.

\n

We’ve expanded the services supported by default, too — you can embed videos from CollegeHumor, playlists from YouTube, and talks from TED. Check out all of the embeds that WordPress supports.

\n
\n

Focus on your content

\n
//s.w.org/images/core/4.0/focus.mp4
\n

Writing and editing is smoother and more immersive with an editor that expands to fit your content as you write, and keeps the formatting tools available at all times.

\n
\n

Finding the right plugin

\n

\"Add

\n

There are more than 30,000 free and open source plugins in the WordPress plugin directory. WordPress 4.0 makes it easier to find the right one for your needs, with new metrics, improved search, and a more visual browsing experience.

\n
\n

The Ensemble

\n

This release was led by Helen Hou-Sandí, with the help of these fine individuals. There are 275 contributors with props in this release, a new high. Pull up some Benny Goodman on your music service of choice, as a bandleader or in one of his turns as a classical clarinetist, and check out some of their profiles:

\n

_Redd, Aaron D. Campbell, Aaron Jorbin, Adam Silverstein, Alex Mills (Viper007Bond), Alex Shiels, Alexander Rohmann, Alison Barrett, Allan Collins, Amit Gupta, Amy Hendrix (sabreuse), Andrea Fercia, Andres Villarreal, Andrew Mowe, Andrew Nacin, Andrew Ozz, Andy Skelton, Ankit K Gupta, Anton Timmermans, Arne Brachhold, Aubrey Portwood, Austin Matzko, Ben Dunkle, Bernhard Kau, Boone Gorges, Brady Vercher, bramd, Brandon Kraft, Brian Krogsgard, Brian Layman, Brian Richards, camden, Carbis, Caroline Moore, Charles Fulton, Chouby, ChriCo, Chris Olbekson, chrisl27, Christian Axelsson, Christopher Finke, Christopher Spires, Clifton Griffin, codenameEli, Corey McKrill, Corphi, Daisuke Takahashi, Dan Griffiths, Daniel Bachhuber, Daniel Husken, Daniel Jalkut (Red Sweater), Danny de Haan, Darin Kotter, Daryl Koopersmith, Daryl L. L. Houston (dllh), David A. Kennedy, David Herrera, David Naber, DavidTheMachine, DeBAAT, Dion Hulse, Dominik Schilling, Donncha O Caoimh, Drew Jaynes, dustyn, Eddie Moya, Eduardo Reveles, Edwin Siebel, ehg, Enrique Chavez, erayalakese, Eric Andrew Lewis, Eric Binnion, Eric Mann, Evan Anderson, Evan Herman, Fabien Quatravaux, Fahmi Adib, feedmeastraycat, Frank Klein, garhdez, Gary Cao, Gary Jones, Gary Pendergast, garza, gauravmittal1995, Gavrisimo, George Stephanis, Graham Armfield, Grant Mangham, Gregory Cornelius, Gustavo Bordoni, harrym, hebbet, Hinnerk Altenburg, Hugh Lashbrooke, iljoja, imath, Ipstenu (Mika Epstein), issuu, J.D. Grimes, Jack Lenox, Jack Reichert, Jacob Dubail, JanHenkG, Janneke Van Dorpe, Jaza613, Jeff Stieler, Jeremy Felt, Jeremy Pry, Jeroen Schmit, Jerry Bates (jerrysarcastic), Jesin A, Jesper Johansen (jayjdk), Jesper van Engelen, Jesper van Engelen, jessepollak, jgadbois, Joan Artes, Joe Dolson, Joe Hoyle, Joey Kudish, John Blackbourn, John James Jacoby, John Zanussi, Jon Cave, jonnyauk, Joost de Valk, Jordi Cabot, Josh Eaton, JOTAKI Taisuke, Julio Potier, Justin Sainton, Justin Sternberg, Justin Tadlock, jwenerd, K.Adam White, Kailey (trepmal), Kaito, kapeels, Kelly Dwan, Kevin Langley, Kevin Worthington, Kim Parsell, Kirk Wight, kitchin, Knut Sparhell, Konstantin Kovshenin, Konstantin Obenland, Kurt Payne, Lance Willett, Lee Willis, lessbloat, Lew Ayotte, lritter, Luke Gedeon, m_i_n, Manny Fleurmond, Manuel Schmalstieg, Marius Jensen (Clorith), Mark Jaquith, Marko Heijnen, Matt Banks, Matt Martz, Matt Mullenweg, Matt Wiebe, Matthew Boynes, Matthew Denton, Matthew Eppelsheimer, Matthew Haines-Young, mattyrob, meekyhwang, Mel Choyce, mi_cat, Michael Adams (mdawaffe), michalzuber, Mike Auteri, Mike Hansen, Mike Little, Mike Manger, Mike Schroder, mikejolley, mikeyarce, Milan Dinic, mnelson4, Morgan Estes, Mr Papa, mrmist, Mustafa Uysal, MuViMoTV, nabil_kadimi, Namibia, nd987, Neil Pie, Niall Kennedy, Nick Halsey, Nikolay Bachiyski, Nils Schonwald, Ninos, Nowell VanHoesen, Patrick Hesselberg, Paul Bearne, Paul Clark, Paul Wilde, paulschreiber, pavelevap, Peter Westwood, Philip Arthur Moore, Philip John, Piet, Piotr Soluch, Pippin Williamson, purzlbaum, Rachel Baker, rclations, Richard Tape, Ricky Lee Whittemore, rob1n, Robert Chapin, Robert Dall, RobertHarm, Rohan Rawat, Rouven Hurling, Ruud Laan, Ryan Boren, Ryan McCue, Sam Brodie, Samuel Wood (Otto), sathishn, Scott Reilly, Scott Taylor, ScreenfeedFr, scribu, Sean Hayes, Sean Nessworthy, Sergej Muller, Sergey Biryukov, shanebp, Shaun Andrews, Simon Wheatley, simonp303, Slobodan Manic, solarissmoke, sphoid, Stephane Daury, Stephen Edgar, Steven Jones, strangerstudios, Sumit Singh, sumobi, t4k1s, Takashi Irie, Taylor Dewey, Thomas van der Beek, Till Kruss, TobiasBg, Tom J Nowell, Tom Willmot, Topher, torresga, Tracy Levesque, Travis Smith, treyhunner, Umesh Kumar, Vinod Dalvi, vlajos, Weston Ruter, winterDev, Wojtek Szkutnik, Yoav Farhi, Zack Katz, Zack Tollman, and Zoe Rooney. Also thanks to Michael Pick for producing the release video, and Helen with Adrián Sandí for the music.

\n

If you want to follow along or help out, check out Make WordPress and our core development blog. Thanks for choosing WordPress. See you soon for version 4.1!

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 04 Sep 2014 17:05:39 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:8;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:41:\"WP iPhone: WordPress for iOS 4.3 Released\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://apps.wordpress.org/?p=2207\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:49:\"http://apps.wordpress.org/2014/09/04/4-3-release/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3735:\"

WordPress for iOS 4.3 is here! The download is available from the App Store. Here’s a glimpse at the latest updates:

\n

Various stats improvements

\n

We know you love checking your stats on the go, wherever you may be. On your Stats page, you can now see more details in the stats chart in your Visitors and Views. Just tap on any view — Days, Weeks, Months — and then click on a particular day, week, or month to view specific views and visitors stats for that item.

\n\n\"Stat\n\"Stat\n\"Stat\n\n

Follow more sites in your Reader

\n

You can now follow a blog or website, on WordPress.com and elsewhere on the web, by adding its URL. In your Reader, click on the tag at the top right of the screen, and enter the URL of the site you’d like to follow:

\n

\"Photo

\n

After you click “Done,” you’ll see a “Followed” message on the screen that confirms you’ve successfully followed the site.

\n

Other updates and fixes

\n

In addition, we’ve provided initial support for iOS 8 in preparation for upcoming features — we’re excited about what’s to come! We’ve also released numerous stability updates, including fixes for errors that affected some users, including a crash when opening the Reader, as well as an error for live chat users who were unable to follow up on their support requests.

\n

As usual, we’re hard at work on the next release, which will include an iOS 8 “Today” extension to view stats, a major interface update for notifications and a limited rollout of a new WYSIWYG post editor.

\n

Many thanks to the contributors who worked on this release: Aaron Douglas, Brad Angelcyk, Cyril Chandelier, Dan Roundhill, David Filip, Eric Johnson, Jorge Bernal, Jorge Leandro Perez, Matt Bumgardner, Oguz Kocer and Sendhil Panchadsaram.

\n

If you have feedback, please leave a comment below or tweet us @WordPressiOS. Thanks!

\"\"\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 04 Sep 2014 15:18:37 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Brad Angelcyk\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:9;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:50:\"WordPress.tv Blog: WordPress.tv Weekly Staff Picks\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"http://blog.wordpress.tv/?p=369\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"http://blog.wordpress.tv/2014/09/04/wordpress-tv-weekly-staff-picks/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4078:\"

The past week (August 25-31, 2014) has brought with it a great collection of WordCamp videos for designers and developers alike. If you’re looking to learn more about WordPress, these videos are a great way to level up!

\n

Loris Grillet: Selling Your Projects and Building the Perfect Client Relationship

\n

From WordCamp Switzerland (May 3-4, 2014) comes this great presentation by web and UX designer Loris Grillet on presenting design work and building a good relationship with clients.

\n
\n
\n

View on WordPress.tv

\n

Simon Owen: Optimising Your Front-End Workflow for WordPress

\n

For theme developers, this presentation from WordCamp Manchester (June 28-29, 2014) by Simon Owen covers the techniques, applications and shortcuts that he uses to help him when building WordPress themes.

\n
\n
\n

View on WordPress.tv

\n

Kevin Stover: The Candid Developer. Developing and Maintaining A Successful Plugin… Is Scary

\n

Also from WordCamp Manchester (June 28-29, 2014) comes this presentation from Kevin Stover that is an honest look at the very scary prospect of releasing a plugin to the public, and how to overcome that fear.

\n
\n
\n

View on WordPress.tv

\n

Of course, this is just a sampling of the great videos that are being published every day, so feel free to visit WordPress.tv and expand your WordPress knowledge!

\n

- Your WordPress.tv Moderator Squad


\"\" \"\"
\"Loris
\"Simon
\"Kevin
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 04 Sep 2014 01:01:12 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Jerry Bates\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:10;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:111:\"WPTavern: Critical Security Vulnerability Found in WordPress Slider Revolution Plugin, Immediate Update Advised\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29756\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:120:\"http://wptavern.com/critical-security-vulnerability-found-in-wordpress-slider-revolution-plugin-immediate-update-advised\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:5476:\"

The security team at Sucuri publicized a critical vulnerability found in the WordPress Slider Revolution plugin recently. The bug has since been patched, but the development team for Slider Revolution kept silent about it and did not notify their users of the importance of updating.

\n

The popular commercial slider plugin is hosted on Codecanyon, an offshoot of EnvatoMarket. The slider is bundled in theme packages, such as Avada, Themeforest’s top-selling theme. It’s also packaged with other themes and used independently on thousands of websites.

\n

Details of the Vulnerability

\n

This is a nasty security vulnerability by which virtually anyone could easily gain access to your database credentials and everything else. It allows a remote attacker to download any file from the server, including the wp-config.php file, which gives the hacker full access to your site. Sucuri shared an example of how one might easily access a site’s wp-config file by exploiting the vulnerability:

\n

http://victim.com/wp-admin/admin-ajax.php?action=revslider_show_image&img=../wp-config.php

\n

“This type of vulnerability is known as a Local File Inclusion (LFI) attack,” Sucuri explained. “The attacker is able to access, review, download a local file on the server.”

\n

The Slider Revolution vulnerability was first disclosed via underground forums before the plugin’s author decided to patch it silently. A team of Bangladeshi hackers published a video on Youtube, detailing how to exploit sites that are vulnerable.

\n

The cyber advisory issued on the security threat states that the vulnerability is being actively exploited in the wild. The vulnerability places small, medium, and large government and business entities at a high risk.

\n

Sucuri analyzed WAF access logs and confirmed that today alone “there were 64 different IP addresses trying to trigger this vulnerability on more than 1,000 different websites within our environment.”

\n

Users Advised to Update Slider Revolution Immediately

\n

If you are using the Slider Revolution plugin on your site, you need to update immediately to avoid becoming a victim of this critical vulnerability. You should also scan your files and database for evidence of hacking and put hardening measures in place to prevent future attacks.

\n

Although the issue was fixed in version 4.2 of the plugin, issued February 25th, the changelog simply referenced a “security fix.” Users have since commented on the product’s Codecanyon page to express outrage at not having been further notified:

\n

You should have let us know to update immediately. I am signed up for notifications of updates, but the only way I found out about this was through the Sucuri blog.

\n

The team at ThemePunch, the plugin’s creators, allegedly contacted multiple security companies for advice on the matter.

\n

“We urgently discussed this security issue with leading Security Companies and we were strongly advised to go with a Silent Update,” a ThemePunch representative replied. They also referenced an auto update system that users can sign up for to receive notice in the future.

\n

“We have an Update system for Auto Updates, for which you can register once you have purchased the item, which informs you about new updates.”

\n

The Risk of Using Free or Commercial Extensions Without Update Notifications

\n

If you are using a commercial plugin or theme that has no auto-update system or relies on email to notify you of updates, you need to be very proactive about keeping yourself informed. A critical security vulnerability, such as the one reported for Slider Revolution, can easily take down your site(s) if you neglect updates. Theme authors don’t always update their bundled plugins and their users cannot take advantage of the auto update system provided by the plugin author.

\n

This particular security threat wouldn’t put so many sites in danger if the Slider Revolution plugin was not bundled into themes. Bundling commercial plugins with themes tends to obscure the details of how users can get plugin updates. Even with an update notification system, users are made vulnerable by developers who patch silently and don’t make an effort to notify their user base about a critical security update. Users can protect themselves from situations like this by declining to purchase themes that bundle plugins/functionality.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 03 Sep 2014 23:39:55 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:11;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:66:\"WPTavern: Tom McFarlin Launches Crowdfunding Campaign For PodsCamp\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29684\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:76:\"http://wptavern.com/tom-mcfarlin-launches-crowdfunding-campaign-for-podscamp\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2467:\"

Running a conference is usually an expensive endeavor. Scott Kingsley Clark is finding out personally as he continues to work towards putting on the first ever PodsCamp, a conference devoted to the Pods Framework. Tom McFarlin hopes to ease budget concerns and has started a Crowd Tilt campaign for PodsCamp.

\n\"CrowdCrowd Tilt Campaign For PodsCamp\n

The campaign is set to tilt at $1,500 with $3,000 being the target amount. According to the campaign description, it offers an opportunity for people to give back to the project.

\n

Since the Pods team has given so much to WordPress in a variety of ways and since I know how generous the WordPress community is, I’d love to raise some money to help out with the finances of the conference.

\n

No amount is too small. Seriously – $1.00 is helpful – but I know that Scott and his team are doing amazing things for WordPress, and I know that many of us are benefiting from it – or will benefit from it – in some way.

\n

An alternative to donating is to purchase a ticket for $50 and attend the event. It’s October 3rd in Dallas, TX, and will focus on all things Pods. It’s the first time the entire development team will be in the same physical location.

\n

If you’ve been thinking about donating to the Pods plugin, consider contributing to the campaign to help Clark put on a phenomenal conference.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 03 Sep 2014 21:46:24 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:12;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:103:\"WPTavern: Gitium Provides Automatic Git Version Control and Deployment for WordPress Plugins and Themes\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29556\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:113:\"http://wptavern.com/gitium-provides-automatic-git-version-control-and-deployment-for-wordpress-plugins-and-themes\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3894:\"

\"gitium\"

\n

One important trend surfacing this year is WordPress developers’ growing desire to add git-based version control to their sites. It adds an extra layer of safety in case you need to revert changes. Version control also helps multi-person teams work together more efficiently on the same website.

\n

Several plugin options are in the works in varying stages of development. While VersionPress missed its crowdfunding goal by $14.5K and struggles to put out a working prototype, the Revisr plugin is open source and already available on WordPress.org.

\n

Gitium is a new plugin in beta, targeted specifically at adding version control for plugins and themes. It enables continuous deployment for WordPress and integrates with Github, Bitbucket, or Travis-CI.The plugin provides automatic git version control and deployment for WordPress extensions and also tracks code edits that originate in the plugin and theme editors.

\n

Gitium was built by the folks at PressLabs, a Romanian-based WordPress hosting company. It requires the git command line tool (minimum version of 1.7) installed on the server and the proc_open PHP function enabled.

\n

Gitium installs like a normal plugin and the settings page prompts the user to provide a URL for remote access to a Git repository via SSH, HTTPS, or Subversion. If you use GitHub or Bitbucket, you will need the key issued by Gitum for SSH key-based authentication to allow write access to your repository.

\n

\"gitium-settings\"

\n

Once configured, Gitium will monitor when you add, remove, update or change files in a plugin or theme. The plugin sets the WordPress logged-in user as the author of the commits. It allows for staging and production to follow different branches of the same repository. Code can be deployed using git push. In the event of a conflict, Gitium will overwrite the changes on the origin repository with the local changes- local modifications will always take precedence over remove ones.

\n

Ordinarily, most of the code changes on a WordPress site happen within the context of plugins and themes. Gitium allows you to keep track of who changed what. At the moment, the plugin does not support WordPress multisite or submodules. If you need to track changes in both the files and database of your site, then Revisr might be a more suitable option for adding git-based version control to your site.

\n

Gitium is licensed under the GPLv2 license. It is still in beta and is not yet ready for production use. Adventurous folks can download it for free from the Gitium website or check out the project on GitHub.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 03 Sep 2014 19:06:11 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:13;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:25:\"Matt: ALS Challenge Fails\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:21:\"http://ma.tt/?p=44069\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:41:\"http://ma.tt/2014/09/als-challenge-fails/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:394:\"

\n

Pretty hilarious compilation of ALS Ice Bucket Challenges gone wrong. I’ve been challenged and it’s not going to happen, but did make a donation to the foundation. Really clever marketing, reminenscent of charity: water’s birthday campaigns.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 03 Sep 2014 17:34:37 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:14;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:44:\"WP iPhone: WordPress Android App Version 3.1\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://apps.wordpress.org/?p=2193\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:71:\"http://apps.wordpress.org/2014/09/03/wordpress-android-app-version-3-1/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3747:\"

The WordPress Android app version 3.1 is now available in the Google Play Store. This update brings robust statistics to the app experience, and makes keeping up with your favorite sites in the Reader even easier.

\n

Native Statistics Details

\n

Now, you can tap the bar chart in your Statistics to access more detailed stats. Tap a specific bar in the Days, Weeks, or Months views to see detailed data on your views and visitors.

\n\n\"native-stats-day\"\n\"native-stats-week\"\n\"native-stats-month\"\n\n

General Changes

\n\n

\"new-blog-preview2\"

\n

 

\n

We’ve also temporarily disabled the live chat with Automattic support due to an issue with the library we’re using. We expect to re-enable it in the next version or two.

\n

Bug Fixes

\n

This version also comes with a bunch of bug fixes. Here’s a non-exhaustive list:

\n\n

What’s Next?

\n

A big thanks to all of the contributors who worked on this release: @beaucollins, @daniloercoli, @maxme, @mjangda, @nbradbury, @roundhill and @sendhil! You can keep up with the development progress for the next version by visiting our 3.2 milestone on GitHub or by following us on Twitter @WPAndroid.

\n

Beta testers have access to beta versions with beta updates shipped directly through Google Play. The beta versions may have new features, new fixes, and possibly new bugs. If you want to join them, request access on our Google+ Community.

\"\"\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 03 Sep 2014 14:30:16 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:6:\"Maxime\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:15;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"Matt: Downtown Vegas Podcast\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:21:\"http://ma.tt/?p=44072\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:44:\"http://ma.tt/2014/09/downtown-vegas-podcast/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:430:\"

I’m a fan of Tony Hsieh’s Downtown Project and try to do something with the community whenever I’m in town. On Thursday I’m going to be on the Downtown Vegas Podcast which will be filmed live at 9 pm at Inspire Theatre. Please come by if you’re in the area!

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 03 Sep 2014 06:55:41 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:16;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:62:\"WPTavern: Sprout Apps Launches Free WordPress Invoicing Plugin\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29553\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:72:\"http://wptavern.com/sprout-apps-launches-free-wordpress-invoicing-plugin\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4837:\"

Last month, Sprout Apps announced that it would soon be launching a suite of business apps targeted at WordPress freelancers and small businesses. While the company is still in pre-launch operations, Sprout Invoices was just released on WordPress.org as part of the launch plan.

\n

Dan Cameron, the founder of Sprout Apps, believes there are some distinct advantages to managing common business-related tasks in the admin. The Sprout Apps product suite aims to streamline and brand all client communications, making your WordPress site the center of activity for your business. Cameron hopes that users will opt for a homegrown WordPress solution that fits right into their websites, instead of relegating business tasks to third-party applications with narrow customization options.

\n

The Sprout Invoices plugin unifies the workflow of estimate creation and invoice management. It allows you to receive estimate requests via a default form, or you can integrate it with Gravity Forms or Ninja Forms. The plugin automatically creates estimates based on the requests you receive and you can easily manage their status in the admin:

\n

\"easy-estimate-management\"

\n

Once an estimate is accepted, the plugin automatically generates the invoice to speed up the process of being paid. Sprout Invoicing has built-in support for deposit payments.

\n

\"sprout-invoice\"

\n

Sprout Invoicing allows for custom estimate and invoice templates, which you can brand for your business via a standards WordPress theme template. Notification editing allows for plain-text or HTML, so you can also match the branding in your email communications.

\n

The plugin’s dashboard lets you know how your business is doing at a glance, with charts and summaries:

\n

\"sprout-invoicing-dashboard\"

\n

Sprout Invoicing also includes dynamic reports, which allow for date filtering, sorting, search, and exporting – all of the features you would normally expect from your standard invoicing app.

\n

\"dynamic-reports\"

\n

The free Sprout Invoicing plugin allows you to accept payment via Paypal Pro or send customers to Paypal to pay invoices. The Sprout App marketplace includes additional upgrades and payment add-ons.

\n

Sprout Invoicing features at a glance include:

\n\n

In the future, Cameron plans to add importing from WP-Invoice, Harvest, and Freshbooks. Other major features on the roadmap include time tracking, recurring payments, and payment terms.

\n

If you are currently using commercial invoicing software and want to save your small business a little bit of cash, Sprout Invoices looks like a promising WordPress-based alternative. You can download it for free from WordPress.org.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 02 Sep 2014 22:00:08 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:17;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:49:\"WPTavern: The Hidden Savings Of a WordCamp Ticket\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29602\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:59:\"http://wptavern.com/the-hidden-savings-of-a-wordcamp-ticket\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:12345:\"

When we wrote about tickets going on sale for the first ever PodsCamp, some folks commented that $50 was too much for a one day event, especially when compared to a WordCamp. I agree with Sarah Pressler who said, “WordCampers are spoiled by the $20-40 fees associated with WordCamps.”

\n

To see how spoiled the WordPress community is in having the WordPress Foundation, WordCamp Central pillar sponsors, and Multi-Event Sponsors foot most of the bill for WordCamps, I compared their prices with other conferences. I also discovered through public budget reports that ticket prices are 2-4 times cheaper than what the total amount of expenses are per attendee.

\n

Joomla Conferences

\n

\"Joomla

\n

Joomla has two different types of conferences. One is called Joomla Day while the other is Joomla World. Joomla Day is a 1-3 day event, similar to WordCamps. They’re held all over the world. Based on my research, prices for events based in the United States range from $20-$80.

\n

Joomla World is similar to WordCamp San Francisco in that its a once a year, unique experience in addition to learning about Joomla from premiere speakers. The location of Joomla World changes every year.

\n

This year, it’s in Grand Oasis Cancun, Mexico, November 7th-9th. Early bird tickets are $199 while standard tickets are $299. The 3-day pass includes access to all the sessions from Friday through Sunday. Food and accommodations are NOT included with the ticket.

\n

According to the Joomla events website, Open Source Matters will provide $2,500 in funding to first time Joomla Days. For subsequent annual events, OSM will provide $1,500 in financial support.

\n

Drupal Conferences

\n

\"Drupal

\n

Drupal also has two different conference types, Drupal Camp and DrupalCon. A Drupal Camp is similar to WordCamp in that it’s a 1-2 day event that focuses on many aspects of Drupal in one location. DrupalCon is the official conference of the Drupal Community.

\n

Tickets for DrupalCon Austin, TX, that took place June 2nd-6th ranged in price depending on when you purchased them. Here’s what the ticket price break down looks like.

\n\n

These are the average prices for a DrupalCon held in the United States. A ticket to DrupalCon Austin would have given you access to a daily lunch and morning coffee break, most of the event, and swag items. Drupal Camps on the other hand average $20 for admission. The ticket price includes food and swag items.

\n

Acquia is the commercial entity that supports the Drupal project and is the top-tier sponsor for most DrupalCons. Similar to WordPress and Joomla, Drupal has an association dedicated to helping the open-source CMS project flourish. Unlike Joomla and WordPress, the Drupal Association does not help with the fiscal responsibilities of Drupal Camps.

\n

Everyone Sees Value Differently

\n\"TheThe First Ever Podscamp\n

The only person that determines whether a conference is worth the price of admission is the attendee. On price alone, WordCamps are substantially more affordable than several other conferences related to open source software. This is in large part due to the financial support provided by the WordPress Foundation,  WordCamp Pillar Sponsors, and Multi-Event Sponsors.

\n

While Scott Kingsley Clark would love to have PodsCamp be free to attend, the costs associated with the event prohibit it from happening. Since it’s a separate event from WordCamp, Clark doesn’t have access to the funds WordCamps enjoy. Instead, he’s relying on sponsors to help offset the costs so everything is not out of his pocket.

\n

Again, value is determined by an individual but for $50, you get food, a full day of sessions devoted to Pods, and face to face access with the entire development team. I think $50 is a bargain, especially for those who use Pods extensively.

\n

Should Open Source Conferences Be Free?

\n

There is a line of thought that open source conferences should be free to attend. Steve Burge, of OSTraining.com, explains why.

\n

If you want to increase the number of people using your software, you should leverage your event to attract as many people as you possibly can.

\n

If you charge $50 or more, you’ll only ever attract the same old people. If you want to attract new people, try and remove all barriers that might stop them from attending.

\n

Burge goes on to list a few different ways offering free tickets can work. I’ve never organized a WordCamp myself but have spoken to many who have. Several of them have told me the cost of the venue is the most expensive part of the event. Food and beverages are typically the second largest expense. Swag items are not as expensive as you might think since they are purchased in bulk.

\n

I don’t think what Burge describes is likely to happen for WordCamps. Part of the reason is expectations. The other is that because of the WordCamp guidelines, several of the events are cookie cutter in nature. By upping the ante with a bigger after party or extravagant offerings, WordCamps can differentiate themselves. It’s possible the cost of differentiating the event will generate more expensive tickets unless it’s offset by a sponsorship.

\n

One item Burge doesn’t mention in his post is the incentive given to people who pay for a ticket. The WordCamp planning site explains the benefits of charging a small fee.

\n

We think of WordCamp tickets not as being comparable to conference tickets (for many WordCamp lineups, you’d have to pay hundreds of dollars at a regular conference), but as being just enough to get people out of bed on that sleepy WordCamp morning.

\n

Typical prices run about $15-20 per day, which basically covers lunch and a t-shirt, leaving you to cover the additional event costs through fundraising. If you think you need to charge more than $20 per day, chances are there’s something going on your budget that can be adjusted.

\n

WordCamp Budgets Show How Much Money We’re Saving On Ticket Prices

\n\"Cashphoto credit: Historias Visualescc\n

At least a few WordCamps have their budget reports available for public viewing. The numbers that jump out at me are the total expenses per attendee.

\n\n

Both WordCamp San Francisco and Milwaukee had a total expense amount close to $83 per attendee. This means both events would have needed to charge attendees $84 to put on the event without financial support from external sources. WCSF charged $20 per day per person while Milwaukee charged $25 for Saturday and Sunday. Thanks to sponsorships and the WordPress Foundation, attendees saved anywhere from $40-$60 per ticket.

\n

WordCamps Need To Keep Ticket Prices Low

\n

The biggest point Burge makes in his post and something I agree with is that the more affordable conferences are, the more people who can attend them. I’d hate to see average WordCamp prices between $50-$80 for 1-2 days of learning. More expensive WordCamps would cause exclusivity which is against the ethos of WordPress.

\n

I’d love to hear from WordCamp organizers on ideas or steps you’ve taken to get more people with low income levels to attend your event. I’m also interested to know if you offer free tickets to college students or members of non-profit organizations.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 02 Sep 2014 21:12:34 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:18;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"WPTavern: Saga: A Free WordPress Theme for Writers from Theme Hybrid\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29076\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:77:\"http://wptavern.com/saga-a-free-wordpress-theme-for-writers-from-theme-hybrid\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4333:\"

When Theme Hybrid launched its Stargazer theme, the idea of a design-specific parent theme that would provide limitations landed in stark contrast to the super generic, all-encompassing themes that permeate the market. You’ve probably seen themes marketed as “the last WordPress theme you’ll ever need.” They kinds of themes purport to have so much flexibility that they can be suitable for any kind of website. Stargazer was launched as the exact opposite.

\n

Justin Tadlock is aiming to restore the original design for the relationship between parent and child themes. His post on Designing in a Box further explains the philosophy behind child themes with limitations where the parent theme houses the majority of the design. The Stargazer experiment inspired a flurry of child themes. It represented a shift in how Theme Hybrid themes are built and its overwhelming success prompted Tadlock to create another.

\n

Saga is the next parent theme in Theme Hybrid’s revolution. It was designed specifically for writers and has been stripped of anything that would distract from the content.

\n

\"saga\"

\n

The theme was designed with careful attention to typography, since it focuses on the written word. The homepage and single posts display big, bold featured images. The customizer offers custom color options and a header icon option with 400+ icons to choose from. Navigation is mobile-friendly and hidden until clicked.

\n

Saga seamlessly integrates with several of Tadlock’s free plugins for further customization, including Custom Background Extended, Grid Columns, and Custom Header Extended for per-post headers and backgrounds.

\n

The theme is compatible with Philip Author Moore’s new Subtitles plugin, which offers an elegant and portable way to include subtitles even if you change themes.

\n

Saga also includes beautiful support for post formats with a unique design for each format.

\n

\"saga-post-formats\"

\n

Check out a live demo of Saga to see the theme in action.

\n

Build a Saga Child Theme

\n

If you want to build a child theme for Saga, the barrier for entry is intentionally low so that new theme developers can easily get started experimenting. “Like Stargazer, you can literally build a custom child theme for Saga with just a few lines of code,” Tadlock said. Child theme authors who submit their themes to Theme Hybrid and WordPress.org will receive a free, lifetime membership to Theme Hybrid. You’ll also receive a detailed technical review from Tadlock and the WordPress Theme Review Team, which will help you refine your skills as a theme author.

\n

Even if you’re not planning on building a child theme, Saga is beautiful without any modifications. It offers writers a unique design for sharing stories while keeping the focus on the content. If your blog needs a design refresh, you can download Saga for free from Theme Hybrid. It will also be arriving soon on WordPress.org, pending approval.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 02 Sep 2014 18:32:36 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:19;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:78:\"WPTavern: WordPress Plugin Boilerplate 3.0 Released with New Community Website\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29559\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:88:\"http://wptavern.com/wordpress-plugin-boilerplate-3-0-released-with-new-community-website\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:6679:\"

\"wppb\"

\n

Version 3.0 of the WordPress Plugin Boilerplate was released today. The open source project was started in 2011 by Tom McFarlin as a GitHub repository for storing code while he learned plugin development. Over the past three years, the boilerplate has matured beyond his expectations with the help of 39 contributors. It now has more than 1800 stars on GitHub and a brand new logo and website.

\n

What’s New in 3.0?

\n

The 3.0 release constitutes a major rewrite of the boilerplate. The primary objective of the project is to provide a standardized, object-oriented starting place for building high quality plugins.

\n

“In the new version, we’ve broken things down into a very, very specific organizational structure,” McFarlin explained. “It’s much more object-oriented than it’s predecessor, the code doesn’t include a lot of TODO’s. Instead, the comments give developers guidance as to what a variable or a function should be doing when using the Boilerplate.”

\n

As developers implement their own work using the boilerplate, they are encouraged to overwrite the comments that are included as a guide.

\n

McFarlin and contributors made every effort to ensure that the code in version 3.0 conforms to WordPress’ coding standards and its inline documentation standards.

\n

The plugin boilerplate now includes classes that are responsible for everything. There are classes for:

\n\n

The new directory structure is now broken down into assets and trunk directories:

\n

\"wppb-directory-structure\"

\n

One of the most exciting updates to 3.0 is that this version of the boilerplate can be installed and activated like a regular plugin, making it easier for new plugin developers to get started. “It doesn’t introduce any functionality into WordPress,” McFarlin explained. “But there are two sample JavaScript files that show how to use the core Boilerplate code to get started.”

\n

The Future of the WordPress Plugin Boilerplate: Expanded Documentation and Community

\n

Version 3.0 omits the Github Updater, which was part of previous versions. The reason behind this change is that McFarlin wanted to scale back the boilerplate’s contents in order to offer only the bare essentials to get started.

\n

“I want to start up Editions (or basically forks) of the Boilerplate that are tailored to those who like to use Grunt or Composer or those who want to include the GitHub updater in the plugin,” he said. “Personally, I’m a big fan of it and I use it in a number of my plugins, but I didn’t want to build it into this version when it can just as easily be added by someone else’s fork.”

\n

With the new website and branding in place, McFarlin hopes to develop the community behind the project. “Hopefully, having a face to relate to the Boilerplate will help elevate it beyond just a miscellaneous GitHub repository,” he said. “A domain, a logo, branding, and all of that stuff can go a long way in helping others to associate a project with an idea and a group of people more than an open source repository and a README could ever do.”

\n

McFarlin plans to expand the boilerplate’s documentation on the website and grow a community where developers can share ideas and forks that they’ve created for specific use cases, such as WordPress multisite.

\n

Appealing to new developers is also part of the goal for the new website. “I want to make the Boilerplate more accessible – GitHub is great, but it’s great if you’re a programmer,” McFarlin said. “If not, it’s really intimidating and people have no idea how to get started with contributing to a project.”

\n

The boilerplate website will serve to provide documentation, example code, and an explanation of how people can get involved contributing to the project. McFarlin is even considering adding courses, editions, and a forum. “To be honest, I’ve even considered holding online events where people can pay to learn how to use the Boilerplate for certain things, though this and all of the other things are so far on the backburner that it’s hard to envision how it’s going to play out right now,” he said.

\n

Over the years, the community surrounding the boilerplate has helped to shape its future and McFarlin is committed to move the project in a direction that continues to serve WordPress plugin developers.

\n

“I think the one thing that I never expect to hear, yet never get tired of hearing, is: ‘I didn’t know how to write a plugin or where to start until I found the Boilerplate,’” he said. “That’s a really great feeling.”

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 02 Sep 2014 14:41:51 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:20;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"Matt: Fight Club A/B Testing\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:21:\"http://ma.tt/?p=44063\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:42:\"http://ma.tt/2014/09/fight-club-abtesting/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:221:\"

Luca Sartoni writes The Rules of A/B Testing by Tyler Durden. “1st Rule: You don’t talk about A/B Testing.”

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 01 Sep 2014 15:39:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:21;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"Akismet: August Stats Roundup\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"http://blog.akismet.com/?p=1680\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"http://blog.akismet.com/2014/09/01/august-stats-roundup/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3819:\"\n

This post is part of a monthly series summarizing some stats and figures from the Akismet universe. Feel free to browse all of the posts in the series.

\n

In August, there were 7,203,785,500 pieces of spam that came through Akismet. If each piece of spam were one word, it would take 6645 copies of the Harry Potter series to accomodate them all.

\n

Here’s a breakdown of the number of spam and legitimate comments (what we call ham) we saw last month:

\n
\"Akismet

Our busiest day was August 21, with about 269 million spam messages, and the slowest day was August 3 with 173 million. We missed only about 1 in every 5,916 spams.

\n

The number of spam message is up 92% from last year, which is a similar large rise we’ve seen in previous months. It’s also up from last month by 28%.

\n

The number of legimate messages that went through this month is 33,377,8500. If each legitimate comment was a word, they’d only fill 307 copies of the Harry Potter series. The amount of legitimate content going around is only about 4% – and the large difference is business as usual.

\n

As always, if your own missed spam or false positive numbers are on the rise, we’d love to help. You can reach out through our contact form.

\n

August was a big month in the spam universe, three services were in the news. Google added new spam filtering support to Gmail – you can find more info on PC World. Twitter announced its new spam filtering system, BotMaker. And, Apple’s iMessage seems to have been hit with a bout of spam. Wired explained why, though MacWorld showed us why the numbers may not in fact be so dire.

\n

And now for a question for the readers: what other data tidbits would you like to see mentioned or discussed in these monthly spam reports? We’d love to hear from you, and accomodate where we can :)


\"\" \"\"\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 01 Sep 2014 05:43:18 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:7:\"Valerie\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:22;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:42:\"Matt: You Can’t Tell This is 3D Rendered\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:21:\"http://ma.tt/?p=44052\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"http://ma.tt/2014/08/ikea-3d/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:442:\"

\"\"

\n

Khoi Vinh writes about How 75% of the real-looking photographs you see in an Ikea catalog are actually 3d-rendered. Hat tip: Hafiz Rahman.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sun, 31 Aug 2014 15:29:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:23;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:16:\"Matt: Why LaTeX?\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:21:\"http://ma.tt/?p=44050\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:30:\"http://ma.tt/2014/08/whylatex/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:448:\"

Posts like this are why @wordpressdotcom and @jetpack offer LaTeX / Beautiful Math support. http://t.co/rYUbyq2IpR

\n

— George Stephanis (@daljo628) August 26, 2014

\n

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 30 Aug 2014 14:58:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:24;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"WPTavern: Tickets On Sale For The First Ever PodsCamp\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29485\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:63:\"http://wptavern.com/tickets-on-sale-for-the-first-ever-podscamp\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4175:\"\"TheThe First Ever PodsCamp\n

Tickets are now on sale for the first ever PodsCamp. It’s being held in Dallas, TX on October 3rd, 2014, a day before WordCamp DFW (Dallas/Fort Worth) with a ticket price of $50 each. Each ticket grants you access to the event, BBQ for lunch, and direct access to the developers of Pods Framework.

\n

The event will focus on what you can do with Pods and will feature sessions on topics such as an introduction to Pods, building applications, and a Q&A session with the Pods development team. For those not familiar with the plugin, Pods is a framework for creating, managing, and deploying customized content types and fields.

\n

A First For The Pods Development Team

\n

The event will mark the first time the entire Pods development team will be under one roof. Lead developer for Pods, Scott Kingsley Clark, said the team will be in Dallas, TX the Wednesday before WordCamp and will be working on putting the finishing touches on Pods 3.0.

\n

Clark explains why the team hasn’t had a PodsCamp in the past. “We’ve been talking about and planning an event like this for years, but it wasn’t until the Pods team grew large enough for me to feel like we could really do something worth people’s time.”

\n

No Conflicts With WordCamp

\n

Initially, I thought PodsCamp was taking place at the same time as WordCamp DFW but since it’s a day before, it won’t interfere with the event. “It’s completely separate, in terms of organization and funding,” Clark told the Tavern.

\n

A few years ago, PodCamps would sometimes be merged with a WordCamp to offer attendees a chance to attend two events with one ticket. However, WordCamp central frowns against this practice and now states that WordCamps must be focused on WordPress. From the WordCamp Central FAQ:

\n

Q. Can I do a track at a BarCamp/PodCamp/other event and call it WordCamp?
\nA. No. The use of the WordCamp name indicates that it is a standalone event dedicated to WordPress, and to prevent confusion, WordPress “tracks” within larger events such as BarCamp or other conferences are no longer called WordCamps.

\n

Sponsoring and Needing to Be Sponsored

\n

The Pods Foundation is sponsoring the WordCamp DFW Contributor Day on October 5th, through a deal Clark made to secure the same space for both days. At the same time, PodsCamp is in need of more sponsors. If you’re interested in sponsorship opportunities, please get in touch with the organizing team. SiteGround, Chris Lema, Aesop Interactive, and Beil Media are just a sample of the sponsors already on board with helping the event.

\n

I think it’s great to see events like PodsCamp where you can focus on a particular plugin or subject while not conflicting with a WordCamp that same weekend. I like the strategy on the part of Clark and his team for the event to be a day before WordCamp so people can attend both without worrying about missing sessions.

\n

Will you be attending the first ever PodsCamp?

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 29 Aug 2014 22:36:06 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:25;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:63:\"WPTavern: How to Create a Quick Style Guide for Client Websites\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29499\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:73:\"http://wptavern.com/how-to-create-a-quick-style-guide-for-client-websites\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3870:\"

The business of building WordPress websites is exploding, and most agencies and freelancers have more work than they can handle. Clients are attracted to WordPress because of how easy it is to manage content. In the old days, if you had a website built, you would still need to hire a developer to make updates to your content or design. WordPress makes it possible for anyone to create new posts, pages, products, etc., without any technical experience.

\n

The flip side of this is that your design may be in danger when everything is so easy to edit. If you want to keep branding consistent across a website, you may need to include a style guide to breakdown the design you’ve created.

\n

Having a style guide for reference is especially important if you are passing off a CMS to a client who will be using it to create content on a regular basis. Without a guide your client may go nuts with customization features that may be built into the theme. Before you know it, he will have used 10 different typefaces in various places and multiple header colors and sizes. The beautiful website you created can end up looking like digital goulash in the end, which is no good for your portfolio.

\n

I’d like to introduce you to Stylify Me, a handy new tool that can automatically create a quick style guide for any website. Simply enter the site URL and the app will return its background colors, text colors, typography, and image dimensions.

\n

Here are the colors you get when you input WordPress.org:

\n

\"wordpress-styles\"

\n

It also returns the typography and image dimensions found on the homeapage.

\n

\"wordpress-typography\"

\n

The download for your style guide comes in the form of a PDF, a somewhat inconvenient file type that many clients seem to love for whatever reason. Obviously, this is just a quick start which you can further edit and fine tune. Some homepages may not lend themselves as well to demonstrating the site’s style. In that case you may want to select another content page from which the app can extract styles more representative of the site as a whole.

\n

The Stylify Me app was built on NodeJS and PhantomJS. Its creators, Annabelle Yoon and Michael Mrowetz, wanted to provide a tool that would allow designers to research sites more efficiently, without having to inspect each element. The app is hosted on Heroku using the multi buildpack and is MIT-licensed. Check out the code on GitHub to see how it works.

\n

Stylify Me gives you the ability to quickly generate a style guide that will help your clients keep their websites within the realm of the original design. Providing a style guide adds an extra touch, which demonstrates that you care and are invested in your client’s success.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 29 Aug 2014 22:23:12 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:26;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:30:\"Matt: Journalism vs Mass-Media\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:21:\"http://ma.tt/?p=44047\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:45:\"http://ma.tt/2014/08/journalism-vsmass-media/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:335:\"

Matthew Ingram writes for Gigaom: Journalism is doing just fine, thanks — it’s mass-media business models that are ailing. Hat tip: Ben Thompson.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 29 Aug 2014 20:52:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:27;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:75:\"WPTavern: Nouveau Riche: A Free WordPress Blogging Theme for Creative Minds\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29473\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:84:\"http://wptavern.com/nouveau-riche-a-free-wordpress-blogging-theme-for-creative-minds\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3987:\"

Denis Bosire has been working with WordPress for more than five years. As client work became more frustrating, he decided to focus his attention on WordPress themes. After an unsuccessful attempt to monetize themes at Creative Market, Bosire decided to try his hand at developing themes for WordPress.org. Nouveau Riche was approved this week and is his first theme in the directory.

\n

\"nouveau-riche\"

\n

Nouveau Riche is a simple, customizable blogging theme that was designed for creative minds. It offers beautiful support for post formats, with custom icons assigned to each. The theme utilizes the native WordPress customizer to include options for uploading a logo, adding a header and background image, and setting colors for the header, background, and theme.

\n

The sidebar is hidden by default and slides out when clicked. The theme also includes support for two other widget areas- main footer and sub footer.

\n

\"nouveau-riche-sidebar\"

\n

Check out a live demo to see the theme in action.

\n

Nouveau Riche is based on the Underscores starter theme. “I didn’t use any framework, just _S starter theme, which I use for ALL of my other themes,” Bosire told the Tavern. “No CSS framework either; I find them very unsuitable for WordPress themes because of all the bloat. Took me about three days from start to finish and submitted it immediately,” he said.

\n

Bosire found that building the theme was easy and quick, because he was used to all the WordPress coding standards after finishing a theme for WordPress.com. His commercial theme is currently undergoing review and should be launching in a few days. He plans to release another free theme in September in addition to another commercial blogging theme that is still in process.

\n

His journey began when he started offering free themes on his website. “I started building simple blogging themes and offering them for free on my website,” Bosire said. “I then proceeded to build premium themes that I sell on Creative Market. Sadly, they didn’t sell as expected but I really enjoyed building themes, so I decided to continue doing it, this time for WordPress.org.”

\n

Bosire’s tenacity in continuing theme development after a discouraging experience is admirable. If you build a theme and submit it to one marketplace where it doesn’t take off, don’t get discouraged and stop building themes. If you love creating themes for WordPress users, try again via a different distribution route. If you choose to go the WordPress.org route, you’ll learn quite a bit during the process with the help of Theme Review Team.

\n

Nouveau Riche is a beautiful and simple blogging theme that you can personalize in a matter of minutes. It’s responsive and translation-ready. If your blog needs a fresh design but you don’t have a lot of time, this might be good option. Download Nouveau Riche for free from WordPress.org.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 29 Aug 2014 20:43:35 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:28;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:75:\"WPTavern: Why You Might Consider Adding Development Hours to Your Changelog\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29275\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:85:\"http://wptavern.com/why-you-might-consider-adding-development-hours-to-your-changelog\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3936:\"

Jean Galea, who is a member of the Advanced WordPress group on Facebook, recently shared a plugin with an interesting changelog. It’s called Bulk Delete and is developed by Sudar Muthu, a developer based in Bangalore, India. The changelog not only shows which bugs have been fixed or features that were added, it also displays the amount of time spent on each release.

\n\"BulkBulk Delete Changelog On WordPress.org\n

Due to some personal things going in his life, Muthu began to track how much time he was investing in his side projects. “This happened because I got married and suddenly the amount of free time that I used to have in my life started to dry up. I wanted to find out which pet projects are taking up the majority of my free time,” Muthu Told the Tavern. In April of 2012, he wrote about the initiative and started adding the metrics to the changelog of Bulk Delete.

\n\"BulkBulk Delete Settings Page\n

Some plugin authors have funded development of their plugin by having users pay for specific features. Muthu doesn’t get paid to work on Bulk Delete but he has started to sell commercial addons for it.

\n

A Different Approach to Getting Free Support

\n

One of the things Muthu has noticed is how users approach him to receive free support. “After I started adding the amount of time I am spending on different plugins in the changelog, the way people interact in the support forum seems to have changed a bit. I felt that they were able to understand the amount of time I am investing in developing and supporting a free plugin,” Muthu said.

\n

I asked if he thinks this is something other plugin authors should consider implementing. “Each developer has their own preference but I guess if possible, I would like plugin authors to do this. It seems people like it and it will also let people know how much time an author spends in developing and maintaining a free plugin,” Muthu said.

\n

I Think It’s a Great Idea

\n

As someone who investigates the changelog for every plugin update, I’ve seen my share of them. However, I’ve yet to see one that is as detailed and informative as Bulk Delete. Showing the amount of time each version takes to develop gives users a perspective of the time and effort required to maintain a plugin. We generally hear how much time is involved, but rarely get to see how much.

\n

Would you like to see this type of information added to the changelog of more plugins? Will seeing the amount of time change the way you approach the author to receive support? Sound off in the comments.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 29 Aug 2014 19:56:51 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:29;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:93:\"WPTavern: Google Authorship is Officially Dead, WordPress Authorship Plugins are Now Obsolete\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29438\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:228:\"http://wptavern.com/google-authorship-is-officially-dead-wordpress-authorship-plugins-are-now-obsolete?utm_source=rss&utm_medium=rss&utm_campaign=google-authorship-is-officially-dead-wordpress-authorship-plugins-are-now-obsolete\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4329:\"

John Mueller, Webmaster Trends Analyst at Google, announced today that Google will be discontinuing its support for authorship in search results.

\n

We’ve gotten lots of useful feedback from all kinds of webmasters and users, and we’ve tweaked, updated, and honed recognition and displaying of authorship information. Unfortunately, we’ve also observed that this information isn’t as useful to our users as we’d hoped, and can even distract from those results. With this in mind, we’ve made the difficult decision to stop showing authorship in search results.

\n

In June 2014, author photos were dropped from search results in order to reduce clutter in the design, according to Mueller. Today’s announcement means that the rel=author markup will no longer be tracked on websites.

\n\"GoogleGoogle authorship in action\n

Authorship was an experiment that Google had been running for the past three years. Mueller reported that their tests showed that removing authorship generally does not seem to reduce traffic to sites, nor does it make it more likely that users will click on ads. The change was allegedly implemented to improve users’ experience.

\n

Although the authorship schema is no longer used to identify a post’s author in search results, Mueller says there’s no need to be in a rush to remove it from your code. “We’re no longer using it for authorship, we treat it like any other markup on your pages. Leaving it is fine, it won’t cause problems (and perhaps your users appreciate being able to find out more about you through your profile too),” he said.

\n

Jetpack 2.5 introduced an easy way for WordPress users to add authorship to posts. Representatives from the Jetpack team were not immediately available to comment on whether or not the plugin will shed the dead weight of authorship in the next release. There are many other WordPress plugins that add Google authorship, though not as elegantly as Jetpack did. Several major SEO plugins also incorporate ways to add authorship to posts. The authorship-related functionality in these plugins is now obsolete.

\n

Mueller emphasized that even though authorship is being discontinued, Google will continue its support for structured markup:

\n

Going forward, we’re strongly committed to continuing and expanding our support of structured markup (such as schema.org). This markup helps all search engines better understand the content and context of pages on the web, and we’ll continue to use it to show rich snippets in search results.

\n

Many SEO specialists have speculated that linking authorship to Google+ profiles was a ploy to get more people to use Google+, a product that has failed to gain momentum. Fans of the authorship feature are baffled by its removal, given that Google’s research indicates that it doesn’t seem to affect search results. From a user’s standpoint, seeing an author you recognize can be tremendously beneficial when selecting among similar search results.

\n

Google is well known for experimenting with features and products and killing them off as soon as tests show that they are no longer valuable. It’s not clear whether or not authorship will be reincarnated in some other form down the road. If you’re using a WordPress plugin that adds authorship to your site for SEO purposes, you are safe to disable it, as Google is no longer interested in that data.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 29 Aug 2014 01:25:13 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:30;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:57:\"WPTavern: ProWordPress Subreddit Passes 1,000 Subscribers\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29393\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:156:\"http://wptavern.com/prowordpress-subreddit-passes-1000-subscribers?utm_source=rss&utm_medium=rss&utm_campaign=prowordpress-subreddit-passes-1000-subscribers\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4264:\"

\"reddit\"

\n

Earlier this year we featured the /r/ProWordPress subreddit on a post exploring various WordPress watering holes. If you’re not familiar with subreddits, they are essentially focused topics where where registered users can vote article submissions “up” or “down.” Subscribing to a subreddit allows you to hone in on specific topics where you have an interest.

\n

/r/ProWordPress was started by Brad Williams, CEO of WebDevStudios and author of Professional WordPress Plugin Development. As a developer, Williams has a strong interest in exploring more technical topics surrounding WordPress. The group recently passed 1,000 subscribers (currently at 1,027 readers) and continues to grow.

\n

\"prowordpress-subreddit\"

\n

“I started the r/ProWordPress subreddit to focus on more advanced WordPress topics,” Williams told the Tavern. “r/WordPress is great but will always have more beginner users, so it’s hard for the more advanced topics to surface. r/ProWordPress is a smaller, more focused subreddit with a focus on advanced WP topics.

\n

As the subreddit has grown, r/ProWordPress has become one of William’s main sources of news on WordPress development. More subscribers translates into a wider reach of advanced topics as well as more voting users to curate the quality of articles that float to the top. Williams has the ability to moderate the topics submitted but reports that, unless you have a highly active subreddit, very little work is required.

\n

With WordPress now powering more than 23% of all websites online, the community surrounding the software is growing at breakneck speed. People are working with WordPress every day, building businesses on top of it, and are seeking out places online to learn from each other. Matt Mullenweg recently jumped in on the Advanced WordPress group on Facebook, which has accrued more than 9,000 members. This group explores a wide range of WordPress-related topics but may not appeal to everyone.

\n

While some WordPress users enjoy interacting on Facebook, others are taking to forums such as WP Chat. Different kinds of groups are popping up, reflecting the various interaction styles that WordPress community members use to connect.

\n

“WordPress has such a large user base that it’s hard to have a one size fits all area for all topics,” Williams said. In his corner of the internet, he hopes that /r/ProWordPress will continue to be a nice place to share and read about more advanced topics. In some ways Reddit combines the best aspects of both Twitter and forums, in that you can share articles, vote, and comment to enter into discussions with other members. If advanced WordPress development falls within your wheelhouse, make sure to drop by the /r/ProWordPress subreddit and subscribe to new topics.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 28 Aug 2014 23:15:55 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:31;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:102:\"WPTavern: WP Settings Generator: Quickly Create a Custom Options Page Using the WordPress Settings API\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29385\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:246:\"http://wptavern.com/wp-settings-generator-quickly-create-a-custom-options-page-using-the-wordpress-settings-api?utm_source=rss&utm_medium=rss&utm_campaign=wp-settings-generator-quickly-create-a-custom-options-page-using-the-wordpress-settings-api\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3454:\"\"photophoto credit: Leo Reynoldscc\n

Yesterday we featured a plugin, created by application developer Jeroen Sormani, that clones Google Keep functionality in the WordPress dashboard. Sormani has produced a number of other interesting experiment with WordPress, including a little known tool for generating WordPress settings.

\n

The WP Settings Generator is a tool for plugin and theme developers. It generates a custom options page that is fully compatible with the WordPress Settings API standards. The tool is similar to the kinds of generators found at GenerateWP, which lacks a tool for creating settings.

\n

On the config tab you can enter your plugin/theme name, plugin prefix, and text domain. Select your menu position and then proceed to the next tab.

\n

\"settings-generator\"

\n

The next screen provides a drag-and-drop interface for adding settings fields:

\n

\"settings-fields\"

\n

Once you have added all your fields, you will be presented with your customized settings code, which you can scroll through and copy to your plugin. Although it is designed to create settings pages for themes or plugins, the general consensus these days is that it’s preferable to utilize the native customizer for theme settings.

\n

\"the-code\"

\n

After reviewing your code, you have the opportunity to leave a personalized review of the generator. If you find that the code you receive has any errors or seems off, make sure to let Sormani know with a quick comment.

\n

Of course, using a settings generator isn’t going to help you learn how the WordPress Settings API works, but it does give you a quick start for creating options. It’s not so much of a teaching tool but rather designed to eliminate the rote task of writing your own settings. Check it out and let us know if it ends up saving you time.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 28 Aug 2014 21:03:47 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:32;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:27:\"Matt: Everything Is Bloated\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:21:\"http://ma.tt/?p=44042\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:42:\"http://ma.tt/2014/08/everything-isbloated/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:126:\"

Tom McFarlin writes Everything Is Bloated, Nothing Is Good.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 28 Aug 2014 17:30:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:33;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"WPTavern: An Easy Way To Notify Users When Their Comment Is Approved\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29371\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:180:\"http://wptavern.com/an-easy-way-to-notify-users-when-their-comment-is-approved?utm_source=rss&utm_medium=rss&utm_campaign=an-easy-way-to-notify-users-when-their-comment-is-approved\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2475:\"

By default, WordPress doesn’t notify users when their comments are approved from the moderation queue. If you’d like to change that, consider using the Comment Approved plugin by Niels van Renselaar. The plugin is simple to use and configure. After it’s installed and activated, you’ll find the settings in Settings > Comment Approved. It’s important to note that even when the plugin is activated, it won’t send out notifications unless you check mark the box to enable the comment approved message.

\n\"ClickClick The Checkbox To Enable The Comment Approved Message\n

The text area is populated with a default message using the only two shortcodes available. You can customize this message using standard HTML. Here is what the default message looks like in an email.

\n\"DefaultDefault Approved Message Email Content\n

While I like the default behavior to notify users when their comment is approved, you can use this plugin to award first time commenters. For example, you can send them a link to a free eBook or a different promotional item. Once the user’s comment is approved, they won’t see the approval message again.

\n

It’s strange that comment approval notifications are not part of the default behaviour of WordPress. I think it makes sense, especially if the front-end notifies them that their comment may be held in moderation. While I doubt this plugin will prevent commenters from getting in touch with site administrators to figure out why their comment is not displaying on the site, at least they’ll know when it’s approved.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 28 Aug 2014 07:49:41 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:34;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:81:\"WPTavern: Jason Schuller Shares His Experience Running a WordPress Theme Business\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29349\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:206:\"http://wptavern.com/jason-schuller-shares-his-experience-running-a-wordpress-theme-business?utm_source=rss&utm_medium=rss&utm_campaign=jason-schuller-shares-his-experience-running-a-wordpress-theme-business\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4642:\"

\"Press75

\n

Jason Schuller who was the previous owner of Press75.com, has published a great post detailing his experience of running a WordPress commercial theme business from 2008-2014. While Schuller describes a variety of ups and downs he encountered while running the business, I thought his reasoning for losing his way in 2010 was fascinating.

\n

As WordPress became increasingly more complex and option rich, so did the demand for themes. The proverbial “gold rush” of the WordPress world hit and new shops were launching almost weekly with themes that were powered by complex frameworks including endless layout, customization, style options and “shortcodes”. In 2010 I began to focus more on the “bar” that had been set by the market and less on why I started Press75 to begin with.

\n

Instead of continuing to focus on what he was so good at doing, he started developing themes to cater to the market which was outside of his passion. The increase in complexity in WordPress coupled with various development techniques he implemented in his catalog of 20 themes became a huge burden, especially when it came to support. One piece of advice Schuller shares that I think is important and hits home for many commercial theme authors is to never forget who you are and what your own style is. Be inspired by what others are doing, but always stay true to yourself.

\n

Schuller is not the first person to learn this lesson the hard way. When UpThemes announced a complete restructuring of their theme business in early 2014, they cited poor infrastructure as one of the main culprits of creating a large demand for support.

\n

Building the themes was easy enough, but then selling, deploying, supporting, updating, and generally making a profit on them was something we struggled with, mightily. With every theme, we introduced a ton of new code that had to be supported and maintained. This was at a time when WordPress was still changing the way themes worked. It made development more difficult.

\n

One of the things Schuller wished he had done is to hire the right people once the business became too much to handle. Not doing so put all of the pressure of running the business on his shoulders. In the post, he shares a few other lessons I think aspiring theme shop owners can learn from as well. If you’d like to hear Schuller tell his story, listen to this special interview I did with him early in 2014.

\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 28 Aug 2014 07:34:54 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:35;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:77:\"WPTavern: WPWeekly Episode 160 – The Founder Of BruteProtect, Sam Hotchkiss\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:44:\"http://wptavern.com?p=29356&preview_id=29356\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:188:\"http://wptavern.com/wpweekly-episode-160-the-founder-of-bruteprotect-sam-hotchkiss?utm_source=rss&utm_medium=rss&utm_campaign=wpweekly-episode-160-the-founder-of-bruteprotect-sam-hotchkiss\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4191:\"

In this weeks show, Marcus Couch and I are joined by the founder of BruteProtect, Sam Hotchkiss. We learn the circumstances which lead to the birth of BruteProtect and how it operates. Hotchkiss explains the details of the acquisition with Automattic and how it will be rolled into Jetpack. While some people are not happy that it’s being added to Jetpack, we discuss why it’s a huge win. Last but not least, Hotchkiss explains the process he went through to obtain funding and offers advice to plugin authors who may find themselves in the same position.

\n

Stories Discussed:

\n

WordPress 4.0 Adds Custom Icons to the Plugin Installer
\nWordPress Plugin WP Inject Renames to ImageInject and Introduces New Features
\nBuddyPress 2.1 Beta 1 Now Available for Testing
\nChris Wiegman on Why He Sold Better WP Security to iThemes
\nWordPress 4.0 Release Candidate Now Available for Testing

\n

Plugins Picked By Marcus:

\n

WP Admin Quicknav adds a simple dropdown box at the top admin edit screens allowing you to quickly jump from one page, post, or custom post type to the next without having to return to the respective listing page. This is easily customized and can be really handy for saving time navigating to specific admin pages.

\n

Comment Approved can be used to notify a user when their comment is approved. This is a great way to keep the communication channel open between you and your loyal readers. You can customize the approval notification enabling you to reward those who participate. This could include an ebook, a link to special content, etc.

\n

WP Is Mobile Text Widget adds a text widget that switches the display text using the wp_is_mobile() function depending on whether the device is mobile or not. This is a great enhancement for delivering a simple, custom piece of text content based on the detection of a mobile browser.

\n

WPWeekly Meta:

\n

Next Episode: Wednesday, September 3rd 9:30 P.M. Eastern

\n

Subscribe To WPWeekly Via Itunes: Click here to subscribe

\n

Subscribe To WPWeekly Via RSS: Click here to subscribe

\n

Subscribe To WPWeekly Via Stitcher Radio: Click here to subscribe

\n

Listen To Episode #160:
\n

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 28 Aug 2014 07:30:40 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:36;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:81:\"WPTavern: WP Dashboard Notes Plugin Clones Google Keep in the WordPress Dashboard\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29322\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:192:\"http://wptavern.com/wp-dashboard-notes-clones-google-keep-in-the-wordpress-dashboard?utm_source=rss&utm_medium=rss&utm_campaign=wp-dashboard-notes-clones-google-keep-in-the-wordpress-dashboard\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3991:\"

\"wp-dashboard-notes\"

\n

Dashboard notes can come in handy when working with multiple people on a WordPress site. Even when working alone, you can use notes to collect ideas for posts or to remind yourself of important publishing-related tasks and ways to promote your posts. While there are many varying plugins devoted to creating sticky notes in the dashboard, the new WP Dashboard Notes plugin stands out with an interesting implementation that mirrors Google’s popular note-taking service.

\n

Google junkies will notice that the color scheme of the notes is strangely similar to that of Google Keep, if not identical. The note creation and management process is also very similar in that there is no save button for editing and everything is saved automatically in the background.

\n

WP Dashboard Notes doesn’t add any admin menus. Once installed, you can create a new note by clicking “Add Note” under Screen Options in the upper right corner. After you create your first note, you can add new notes from the black bar within existing notes.

\n

\"add-note\"

\n

A new note pops into your dashboard, which you can now edit and skin with one of the preset colors. Like Google Keep, notes can be set as a single note or a list. Users also have the option to set the visibility to ‘Everyone’ or ‘Private.’ Here’s a quick demo:

\n

\"wp-dashboard-notes\"

\n

WP Dashboard Notes contains virtually all the same capabilities of Google Keep, minus the ability to upload images. The plugin’s features include:

\n
    \n
  • Colored notes
  • \n
  • List notes or regular notes
  • \n
  • Public or private notes
  • \n
  • Edit on dashboard
  • \n
  • Add as many notes as you like
  • \n
  • Drag and drop list items
  • \n
  • No save button needed
  • \n
\n

Multiple notes arranged together create a colorful dashboard full of ideas and users will see public notes upon logging in.

\n

\"notes\"

\n

After testing the plugin I found that it was simple and intuitive to use. The plugin, created by application developer Jeroen Sormani, elegantly merges WordPress and Google Keep functionality to create a useful addition to the dashboard.

\n

You can customize the colors by overriding the plugin’s CSS from another stylesheet. Additional color palettes and per-user visibility settings might make the plugin even more fun, but for now Sormani has kept it delightfully simple.

\n

If you need note-taking capabilities for better collaboration in the dashboard, this plugin works as advertised and goes far beyond most other dashboard notes plugins. WP Dashboard Notes is available for free from WordPress.org.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 27 Aug 2014 22:41:41 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:37;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"WPTavern: Matt Mullenweg Hosts Impromptu Q&A Session On Facebook\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29278\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:170:\"http://wptavern.com/matt-mullenweg-hosts-impromptu-qa-session-on-facebook?utm_source=rss&utm_medium=rss&utm_campaign=matt-mullenweg-hosts-impromptu-qa-session-on-facebook\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:7047:\"

WordPress co-creator, Matt Mullenweg, stopped by the Advanced WordPress Facebook group and participated in a WordPress edition of ask me anything. After receiving a warm welcome from the group, Mullenweg outlined what types of questions he would answer.

\n\"RulesRules Of Engagement\n

Once the gates were opened, the questions started pouring in. Here are a few of my favorites along with Mullenweg’s answers.

\n

What is the most important thing we can do to support and bring value to WordPress?

\n

Everyone really sets their own path. Think about the thing that makes you happiest, what you consider your gift that you can share with the world, or something that you want to learn a lot more about.

\n

What are your thoughts on the businesses and entire industries that are built around WordPress and what opportunities do you see in the future?

\n

I think it’s awesome there are whole industries built on WordPress, that was part of the idea from very early on. It’s counter-intuitive, but I actually think one of bigger opportunities is in consulting and building sites right now. WordPress can get people 90% of the way there, but that last 10% represents a lot of opportunity for clients from the Fortune 500 to the smallest personal sites.

\n

I’m curious about Automattic’s policy about unlimited vacation days. I have never heard of this policy anywhere else. How does that play out? Seems like such an awesome place to work.

\n

I think open vacation policies are becoming more common, here’s an article that covers the pros and cons fairly well and says 1% of companies offer them now: The Pros And Cons Of Unlimited Vacation Policies

\n

I think it really comes down to hiring. With the right people you can have very liberal policies like this because people think about the organization as a whole and do the right thing. If anything we sometimes have to encourage people to take a bit more time off, something I don’t always set the best example of but I’m trying this week. I’ll be completely offline Thursday through Sunday.

\n

Is the Codex really going to disappear eventually?

\n

We’re not going to take down the Codex until we have something better to replace it. It’s more likely you’ll just see more links default to someplace new and Codex traffic will trail off until at some point, we’ll put it into archive mode.

\n

Do you think now that JSON support in WordPress core is coming, should it be used over RSS for building things like Mobile Apps? What you would recommend?

\n

Whether you use the prototype JSON API or RSS for a mobile app I would say depends a lot on what it does. Think of the JSON API more as replacing XML-RPC.

\n

What would be great for everyone is to start to try and build applications on top of the prototype API, and let the team know where you get stuck or find things hard to understand. I’m extremely anxious to have a cleaner API in core, but I feel strongly that it should remain a plugin until we’ve built a few independent third-party applications on top of it when it’s in plugin form, utilizing every aspect of the API, so we know where it works well and where it’s lacking.

\n

This is a lesson I’ve learned from my experience at Automattic. You can never design a perfect API and anticipate all needs, you really need to use it to solve real problems a few times before you can iterate it to have it be something that works well and that you’ll want to support for many years to come.

\n

This is just a sample of the questions and answers within the conversation that took place on Facebook. If you want to see the rest of them, you’ll need to join the Advanced WordPress group on Facebook. It’s free and the moderators are quick to approve new members.

\n

I’d Like To See More Of These Types Of Events

\n\"ConversationImage Courtesy of Bucky Box\n

This was just a sample of the questions and answers within the conversation. If you want to see the rest of them, you’ll need to join the Facebook group. It’s free and the moderators are quick to approve new members.

\n

Seeing Mullenweg join the Facebook Group and then participate by answering questions was a shock to me. I know from experience that he likes to hang out where discussions of WordPress are taking place but it’s rare that I see him participate in the discussions, let alone host an impromptu Q&A session.

\n

I’d like to see more of these types of events from Mullenweg whether it be on his blog or through a medium of his choice. Perhaps once a month, he can hold a Q&A session at a different WordPress hangout.

\n

The community can be a fickle bunch but I think it would be beneficial if he participated in more discussions outside of what’s going on in core. In his roundup post, Matt Cromwell hits the nail on the head on what it means to some folks to have a direct conversation with Mullenweg.

\n

I hope Mullenweg drops by again in the future. For him it may have been a quick dip into the WP Community. But for boat loads of WordPress developers, it was the highlight of the week.

\n

Just out of curiosity, if you had one question to ask Mullenweg, what would it be?

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 27 Aug 2014 18:52:55 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:38;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:79:\"Lorelle on WP: Two WordPress College Classes Offered at Clark College This Fall\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:37:\"http://lorelle.wordpress.com/?p=11855\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:105:\"http://lorelle.wordpress.com/2014/08/27/two-wordpress-college-classes-offered-at-clark-college-this-fall/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:482:\"The WordPress I CTEC 160 courses at Clark College are about to close and there are still seats open in the Monday/Wednesday classes. This fall there are two times to choose from. Days from 1-3:30PM and evenings from 6:30-9PM. The 5-credit course covers the basics of WordPress, from content to design. Much of the classwork […]\"\"\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 27 Aug 2014 18:08:59 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:17:\"Lorelle VanFossen\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:39;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:52:\"WPTavern: WP Tech Event Will No Longer Be a WordCamp\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29222\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:148:\"http://wptavern.com/wp-tech-event-will-no-longer-be-a-wordcamp?utm_source=rss&utm_medium=rss&utm_campaign=wp-tech-event-will-no-longer-be-a-wordcamp\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:7380:\"

\"nantes-featured\"

\n

WP Tech is “breaking up with WordCamp,” according to co-organizer Willy Bahuaud. The developer-centric event, previously called WordCamp Nantes WP Tech, is set to be held at the end of November and was welcomed as France’s second official WordCamp.

\n

During the course of working with WordCamp Central, the organizers decided to opt out of keeping WP Tech under the WordCamp umbrella due to a number of conflicts.

\n

“WordCamp Central gave us too many constraints, and we would not have been able to create a great technical event about WordPress,” co-organizer Daniel Roch told the Tavern. “It will be an independent WordPress tech event, like other great events such as Pressnomics, WPSessions, WordSesh or WordUps.”

\n

The organizing team found that some of the WC Central rules would have forced them to change the core concept of WP Tech. “In our case, we wanted to hold WP Tech as a national event, inviting speakers from France to a provincial town (Nantes),” said Bahuaud. However, this poses a problem, as WordCamps are meant to be local events and the majority of speakers have to be from the city where the event takes place.

\n

The second critical conflict they encountered was regarding speaker expenses. “We want to cover speakers’s travel cost. WordCamp central was very firm with this point: we can’t. The WP Tech team was told that the only people’s expenses that can be covered are those who appear on the sidebar of WordPress’ about page.

\n

“WC Central’s position is that traveling to speak at a conference is a legitimate business expense,” Bahuaud said. “But we think it’s not. We believe that if people spent time to prepare a conference, it’s normal to cover their $200 (on average) travel and accommodation costs.”

\n

Additionally, Bahuaud reports that the requirement to use the WordCamp platform for the event’s website was problematic, since it doesn’t allow for extensive customization. The event branding requirements were also an issue. Organizers changed the event name to “WordCamp Nantes WP Tech” but WC Central required further changes to make it compatible with guidelines.

\n

“Four months before the event, rules were still changing and we had to be accountable on each step. It was very frustrating, so we decided to break up with WordCamp, and make our event separate,” Bahuaud explained.

\n

Cultural and Economic Differences Regarding Speaker Travel Guidelines

\n

Jenny Beaumont, a WordPress developer and an active member of the French WordPress community, commented on the conflict with insight on the economic differences experienced by non-US event organizers:

\n

In France, a majority of people in the WordPress community are freelancers, and as such, many of us have a legal status that’s called an ‘auto-entrepreneur’. It’s part of what is known as a micro-regime that gives us a tax break on social contributions, which are very imposing here (45% for regular business owners).

\n

The flip side to this is two-fold: 1) We have a ceiling on earnings, 2) We can’t deduct expenses. It’s this last fact that also influences the desire on the part of WordCamp organizers in France to want to reimburse speakers for their travels costs. WordCamp Paris has been doing it for years, though in light of recent events, may be prohibited from doing so in the future.

\n

Whereas Americans are free to deduct work-related travel expenses as a business expense from their taxes, French speakers do not share that same privilege. At this point in time, WC Central guidelines don’t currently allow for flexibility on the issue of speaker travel, but the guidelines are not written in stone. WordCamp Central is open to further discussion on the matter.

\n

Andrea Middleton clarified the issue of speaker travel expenses today on the make.wordpress.org Community blog. She highlighted the importance of WordCamps as local events and how paying for speaker travel costs doesn’t mesh well with that guideline:

\n

WordCamps are locally-focused, so there’s an inherent disconnect between paying for people from out of town to speak at a WordCamp and that emphasis on local community. Local experts are assets to their communities all year round, whereas visiting speakers don’t typically serve as ongoing resources once they have returned to their home cities.

\n

Middleton suggests the more cost-effective option of utilizing Skype or Google hangouts to pull in out-of-town speakers who are unable to cover their own travel expenses. The idea is that the WordCamp budget can be better used to serve the local community.

\n

“A WordCamp’s primary focus is on connecting local community and lifting up local experts, rather than blowing our budgets on flying people around the world when technology can get them there so much faster,” she explained.

\n

Community members who want to advocate a different opinion on the guidelines have the opportunity to do so. Middleton invites discussion in the comments of her post. She also plans to discuss the issue with contributors at the WordPress Community Summit in October, which will include WordCamp and meetup organizers from around the world. Data from WordCamp San Francisco’s new travel assistance program may also factor into the discussion.

\n

Not every WordPress event has to be a WordCamp. It’s not a failure on the part of the organizers or WC Central if there are irreconcilable differences. If an event finds the WordCamp guidelines to be too problematic, organizers can host it as an independent event. WC Central exists to nurture local pockets of WordPress enthusiasm, but not every event will share that mission. There’s no mandate that all WordPress events have to be WordCamps and many successful events run outside of that umbrella.

\n

Do you think the economic differences in other countries are an influencing factor regarding the creation of new WordCamps? Should cultural and economic differences come into play when it comes to officially-sanctioned WordCamp events?

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 27 Aug 2014 17:11:38 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:40;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:26:\"Matt: How The Sun Sees You\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:21:\"http://ma.tt/?p=44036\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:41:\"http://ma.tt/2014/08/how-the-sun-seesyou/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:243:\"

\n

This video really makes you want to wear sunblock, something I haven’t been as good about this week. (Sorry Mom!) Hat tip: Sara Rosso.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 27 Aug 2014 17:00:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:41;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:67:\"WPTavern: WordPress 4.0 Release Candidate Now Available for Testing\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29281\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:178:\"http://wptavern.com/wordpress-4-0-release-candidate-now-available-for-testing?utm_source=rss&utm_medium=rss&utm_campaign=wordpress-4-0-release-candidate-now-available-for-testing\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2011:\"

WordPress 4.0 RC 1 is now available for download. Helen Hou-Sandí announced the release candidate today with an update to the project schedule. The official release was targeted for the week of August 25th but will likely be arriving the following week.

\n

“We hope to ship WordPress 4.0 next week, but we need your help to get there. If you haven’t tested 4.0 yet, there’s no time like the present,” Hou-Sandí said in the release announcement.

\n

The easiest way to test RC1 is to put the WordPress Beta Tester plugin on a test site and start running through all the new features, many of which are highlighted on the 4.0 about page in the admin (wp-admin/about.php). If you want a more in-depth look at the new features, Hou-Sandí previewed WordPress 4.0 at a recent NYC Meetup and you can watch the video.

\n

The good news is that plugin and theme authors still have plenty of time to test their extensions against the release candidate for compatibility. Since WordPress 4.0 adds icons to the admin plugin installer, plugin developers will want to put their custom icons in place to improve visibility among all the auto-generated ones.

\n

Over the past month of four beta releases, WordPress 4.0 has incorporated hundreds of fixes and refinements that make it truly a joy to use. Watch for the official release to drop sometime next week.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 27 Aug 2014 16:06:34 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:42;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:41:\"Dev Blog: WordPress 4.0 Release Candidate\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://wordpress.org/news/?p=3287\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:66:\"http://wordpress.org/news/2014/08/wordpress-4-0-release-candidate/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2126:\"

The first release candidate for WordPress 4.0 is now available!

\n

In RC 1, we’ve made refinements to what we’ve been working on for this release. Check out the Beta 1 announcement post for more details on those features. We hope to ship WordPress 4.0 next week, but we need your help to get there. If you haven’t tested 4.0 yet, there’s no time like the present. (Please, not on a production site, unless you’re adventurous.)

\n

Think you’ve found a bug? Please post to the Alpha/Beta area in the support forums. If any known issues come up, you’ll be able to find them here.

\n

To test WordPress 4.0 RC1, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the release candidate here (zip). If you’d like to learn more about what’s new in WordPress 4.0, visit the awesome About screen in your dashboard (\"\" → About in the toolbar).

\n

Developers, please test your plugins and themes against WordPress 4.0 and update your plugin’s Tested up to version in the readme to 4.0 before next week. If you find compatibility problems, please be sure to post any issues to the support forums so we can figure those out before the final release. You also may want to give your plugin an icon, which we launched last week and will appear in the dashboard along with banners.

\n

It is almost time
\n For the 4.0 release
\n And its awesomeness

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 27 Aug 2014 12:20:37 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"Helen Hou-Sandi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:43;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:63:\"WPTavern: Menu Humility: A Plugin to Put Plugins in Their Place\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29253\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:168:\"http://wptavern.com/menu-humility-a-plugin-to-put-plugins-in-their-place?utm_source=rss&utm_medium=rss&utm_campaign=menu-humility-a-plugin-to-put-plugins-in-their-place\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2017:\"

\"menu-humility\"

\n

Giving a plugin a top level admin menu between Dashboard and Posts is somewhat frowned upon among WordPress plugin developers. Although the Administration Menus section of the WordPress codex doesn’t outright forbid top level menus above Posts, plugin authors are strongly encouraged to consider placing their plugin’s menu underneath an existing WordPress top-level menu.

\n

Nevertheless, many plugins assume a higher level of importance by placing their admin menus above WordPress’ core publishing features such as Posts, Comments, and Media. Jetpack is a prime example. As useful as the plugin is, its settings menu is not something that most users need to access more often than posts or comments.

\n

That’s why WordPress lead developer Mark Jaquith created Menu Humility, a plugin that reassigns the menu location for errant menu items. For example, if you use it on a site with Jetpack installed, it will put its admin menu at the very bottom below Settings.

\n

Menu Humility is not a new plugin. In fact, it’s three years old – ancient in WordPress years. After testing the plugin today, I found that it’s still effective at stripping plugins of their assumed preeminence in the admin.

\n

The bottom line is that most plugins don’t require top billing. If you feel that a top level menu item constitutes a plugin getting too big for its britches, then install the Menu Humility plugin to bring it back down to its place.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 27 Aug 2014 04:10:30 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:44;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"WPTavern: Chris Wiegman on Why He Sold Better WP Security to iThemes\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29247\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:180:\"http://wptavern.com/chris-wiegman-on-why-he-sold-better-wp-security-to-ithemes?utm_source=rss&utm_medium=rss&utm_campaign=chris-wiegman-on-why-he-sold-better-wp-security-to-ithemes\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4755:\"\"WordPressWordPress Security Expert Chris Wiegman\n

If you’ve ever wondered why Chris Wiegman sold Better WP Security to iThemes, he answers the question in a post on his personal site. The birth of Better WP Security started off as a mixture of features from several of his favorite security plugins. “I started mashing together features of some of the plugins I liked while adding in some of the functionality we wanted as a department (like ‘Away mode’) to produce something that I could manage myself and would make sure I kept off of anyone’s radar by not being hacked,” Wiegman said.

\n

Wiegman goes on to describe the success the plugin had and how much money he was making in donations. At the peak of its popularity, it was downloaded over 1M times with $20,000 earned in donations. This prompted Wiegman to create a premium support channel. “It was so big I was no longer able to keep up and had to implement premium support only for folks who needed it. This was a new revenue stream and the first official revenue stream for the plugin.” The surge of popularity came at a time when Wiegman was teaching and reviewing books for APress. This severely limited the amount of time he had available to develop new features.

\n

iThemes Enters The Picture

\n

\"iThemesOne day, the founder of iThemes, Cory Miller, reached out to Wiegman for support after he was locked out of his site. “What started out as a rather simple conversation quickly lead to something more. I realized that the medicine the project needed to get off life support wasn’t necessarily something I needed to provide myself but could in fact come in the form of selling the plugin to a group who had the resources to make more of it,” Wiegman said.

\n

According to the post, he reached out to a few other groups but stuck with iThemes because they had products that complimented a security plugin such as BackupBuddy and Exchange. Better WP Security was sold to iThemes on December 1st, 2013 and renamed to iThemes Security. As part of the deal, Wiegman joined iThemes as a full-time employee to continue developing iThemes Security.

\n

Not Every Plugin Has a Happy Ending

\n

What I like most about Wiegman’s story is how a simple idea turns into a solid product. I think a lot of WordPress plugins are created because they scratch an itch or solve a problem. The plugin’s creator usually submits the plugin to the directory with a mindset that it can help others as well. Since WordPress is used on 23% of the web, there’s a good chance that a plugin distributed through the directory will help more than one person.

\n

While Wiegman’s tale has a happy ending, so many plugins never reach the type of adoption of Better WP Security. In fact, quite a few end up in a graveyard of abandonment for any number of reasons. If you find yourself in this situation, read our guide on how to adopt a plugin and put one up for adoption. It could end up being the next Better WP Security or BruteProtect.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 27 Aug 2014 03:55:22 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:45;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:50:\"WPTavern: 3 Quick Ways to Create bbPress Test Data\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29172\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:144:\"http://wptavern.com/3-quick-ways-to-create-bbpress-test-data?utm_source=rss&utm_medium=rss&utm_campaign=3-quick-ways-to-create-bbpress-test-data\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:5651:\"

\"bbpress-test-data-feature\"

\n

bbPress 2.5 introduced a host of new importers for AEF, Drupal, FluxBB, Kunena Forums (Joomla), MyBB, Phorum, PHPFox, PHPWind, PunBB, SMF, Xenforo and XMB, making it easier than ever to bring forums into WordPress. bbPress 2.5 also improved existing importers to include better support for importing stickies, topic tags, and forum categories.

\n

If you’re thinking about importing forums into bbPress or starting with a fresh installation, you may want to set up a test site first to see how different themes and plugins will work with your content. There’s nothing more tedious than trying to create a bunch of forums, topics, and replies manually, so you’ll need an automatic way to generate a bunch of demo data.

\n

In searching for bbPress demo data, I found that there’s no standard way to generate it. Several developers have created and shared their own tools. Depending on your development workflow, one method may prove easier than another, so we’ll check out all three.

\n

XML: bbPress Unit Testing Data

\n

The first option is a set of bbPress unit testing data stored in an XML file, which allows you to import it via the standard WordPress import tool. The file was created by bbPress core commiter Stephen Edgar. It gives you 17 forums, including 15 public, 1 private, and 1 hidden.

\n

\"xml-demo-data\"

\n

The demo data includes multiple topics and replies and also a group of forums and categories based on the Nested set model.

\n

\"forums\"

\n

Technically, this unit testing data is still in process, as it’s currently hosted in a ticket on bbPress trac and is open to further improvement.

\n

Plugin: bbpFauxData

\n

bbpFauxData is another option created by WordPress developer Daniel Dvorkin. It’s a quick and dirty plugin to help you populate a bbPress instance with faux data which seems real, generated by the Faker PHP library, in order to test performance.

\n

\"bbpfauxdata\"

\n

Once installed, you can set how many users, forums, topics and replies that you want to generate:

\n
\n$bfd = new bbpFauxData();\n\nconst USERS   = 50;\nconst FORUMS  = 5;\nconst TOPICS  = 100;\nconst REPLIES = 1000;\n\nfor ( $i = 0; $i < USERS; $i++ ) {\n    $bfd->generate_user();\n}\n\nfor ( $i = 0; $i < FORUMS; $i++ ) {\n    $bfd->generate_forum();\n}\n\nfor ( $i = 0; $i < TOPICS; $i++ ) {\n    $bfd->generate_topic();\n}\n\nfor ( $i = 0; $i < REPLIES; $i++ ) {\n    $bfd->generate_reply();\n}
\n

This plugin gives you a little more control over how much demo data you want to generate, as it is geared more towards testing performance. Dvorkin suggests that you bump up the ‘max_execution_time’ and ‘memory_limit’, if implementing this data at higher numbers.

\n

Plugin: Test Data for bbPress

\n

\"bbpress-test-data\"

\n

Test Data for bbPress is a plugin created by Rob Mehew, who needed demo data while developing a theme. The plugin creates the following:

\n
    \n
  • Adds a forum with nested forums
  • \n
  • Adds a forum with loads of topics
  • \n
  • Adds a topic with loads of replies
  • \n
\n

Test Data for bbPress was created for the purpose of testing themes and includes lorem ipsum for sample text. As with all of the above options, this plugin should only be used on a development site; it is not designed for use on a live site.

\n

Anyone have other bbPress demo data creation tools? Let us know in the comments.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 26 Aug 2014 19:35:17 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:46;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:27:\"Matt: BruteProtect Acquired\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:21:\"http://ma.tt/?p=44040\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"http://ma.tt/2014/08/bruteprotect-acquired/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:438:\"

You can read on the Jetpack blog and the BruteProtect blog about the company, plugin, and service joining Automattic. BTW, BruteProtect has protected this site from 1,663 attacks in the past 28 days.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 26 Aug 2014 17:27:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:47;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:69:\"WPTavern: Automattic Acquires Parka LLC, The Creators Of BruteProtect\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=28911\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:180:\"http://wptavern.com/automattic-acquires-parka-llc-the-creators-of-bruteprotect?utm_source=rss&utm_medium=rss&utm_campaign=automattic-acquires-parka-llc-the-creators-of-bruteprotect\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:5332:\"\"photophoto credit: Peter Slutsky\n

The parent company of BruteProtect, Parka, LLC has been acquired by Automattic for an undisclosed amount. BruteProtect is a service providing brute force login protection for thousands of WordPress sites. The BruteProtect plugin will be phased out and rolled into Jetpack and will  remain free to use. The services offered by BruteProtect pro are now free for anyone to use. As part of the acquisition, all seven Parka employees will be employed by Automattic and will be part of the Jetpack development team.

\n

Once it’s merged into Jetpack, an announcement will be made to confirm the end-of-life date for the BruteProtect plugin. You won’t have to worry about managing two different API keys since it will function with the same key used by Jetpack. Unless you opt-out, BruteProtect will run at the same time as Jetpack. However, it’s unclear if it will be an auto-activated module when the merger is complete.

\n

The Origin Of BruteProtect

\n\"BruteProtectBruteProtect Plugin Header\n

In 2013, Matt Mullenweg published an article with his thoughts on passwords and brute force. The article was published around the same time a large botnet was using brute force techniques to login to WordPress sites using Admin as the username. The article generated a healthy discussion on the WP-Hackers mailing list, especially around the Limit Login Attempts plugin which is commonly recommended to protect against unwanted login attempts.

\n

The discussion prompted Hotchkiss to come up with a better solution. Instead of websites battling the problem alone, BruteProtect brought websites together to fight a common cause, similar to how Akismet works. Little did he know that he was writing his destiny.

\n

Another option to consider would be adding a “Security” plugin to Jetpack.

\n

This could be used to manage a centralized blacklist, as well as to patch security vulnerabilities as they pop up. If all failed login attempts get reported back to Jetpack central, it could blacklist an IP for X minutes/hours after Y number of failed logins on any Jetpack-enabled site within Z minutes/hours.

\n

Since its launch, it’s been installed on 106,836 sites and defended against 135,986,764 brute force attacks worldwide.

\n

BruteForce Protection For The Masses

\n

Having the product remain free was an important part of the acquisition. “I feel strongly that we need to be free and used by as many people as possible in order to provide the best protection and to do the most good,” Hotchkiss told the Tavern.

\n

With BruteProtect now part of Jetpack, millions of websites will be protected from BruteForce login attempts and contribute to the centralized blacklist of IP addresses making the service much more effective. I think this is a huge win, especially for those who use Jetpack. Users don’t have to figure out technical jargon or difficult configuration settings.

\n

What do you think about the acquisition? Let us know in the comments.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 26 Aug 2014 17:25:23 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:48;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:92:\"Post Status: iThemes to partner with Crowd Favorite to take their products to the enterprise\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:30:\"http://www.poststat.us/?p=7103\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:84:\"http://www.poststat.us/ithemes-partner-crowd-favorite-enterprise-wordpress-products/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3851:\"

\"crowd-favorite-ithemes-partnership\"Today, iThemes and Crowd Favorite are announcing a partnership where they will collaborate to take iThemes products to a more enterprise-level market.

\n

Practically, this means that Crowd Favorite will contribute developers and other resources to help iThemes better structure and market their products beyond a consumer audience. iThemes will in turn list the enterprise versions of these products within their product pages, as well as work with Crowd Favorite to create enterprise-focused features for their core product base.

\n

The products that are a focus of this collaboration are iThemes Sync, Exchange, Security, and BackupBuddy.

\n

The announcement post calls it more than a distribution partnership, but a joint venture:

\n

The joint venture will be establishing an advisory board that will hold key executives from both companies consisting of myself, Cory Miller, Chris Lema, Matt Danner and Alex King. The goal will be to develop product roadmaps for our target market.

\n

The result of this partnership is even greater alignment fueled by the African proverb widely quoted by both Miller and Lema – “If you want to go fast, go alone. If you want to go far, go together.”

\n

The “enterprise” market is an interesting thing in WordPress. There are companies and people working to make more enterprise-level WordPress products, but it’s still a product market that is in limbo. It’s so much more common to cater to a consumer audience with different needs and desires; different products that cater to the enterprise and corporate audience leaves room for a lot of experimentation.

\n

Also noted in the blog post, Crowd Favorite CEO Karim Marucchi highlights three ways to enter a product space: product acquisition, talent acquisition, and — the route they are taking with this move — partnership.

\n

I don’t know yet what pricing will look like for this deal, nor do I know exactly what the profit sharing breakdown is. I do know that both iThemes and Crowd Favorite leadership saw it as a no-brainer; and this is also one of the first strategic product moves lead by incoming Crowd Favorite CTO Chris Lema.

\n

Crowd Favorite hopes to market the enterprise-portion of iThemes’ product suite to corporations, as well as other high-end WordPress and web development agencies. They’re already a bit of a trend-setter in that world — I believe — with their comparatively high-priced RAMP content deployment product. I’ve always been a fan of that product, which has a very specific task that’s pretty high value, and they charge for it appropriately.

\n

You can learn more on iThemes’ announcement post, as well as Crowd Favorite’s.

\n

I see this venture with iThemes as different route for getting access to more products with that goal in mind, and it seems like a win-win from my point of view. I certainly don’t think this is the last such partnership we’ll see, but rather a sign of things to come.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 26 Aug 2014 14:16:18 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"Brian Krogsgard\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:49;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:93:\"WPTavern: Editorial Access Manager Adds Granular Editing Control for all WordPress Post Types\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=28603\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:230:\"http://wptavern.com/editorial-access-manager-adds-granular-editing-control-for-all-wordpress-post-types?utm_source=rss&utm_medium=rss&utm_campaign=editorial-access-manager-adds-granular-editing-control-for-all-wordpress-post-types\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2698:\"\"photophoto credit: pollascc\n

Editorial access is a capability granted only to Administrator and Editor user roles in WordPress. This access is not easily shared to other roles without changing a user’s role or adding extra capabilities. There are several complex plugins out there that will allow you to create custom roles and manage capabilities. But what if you only need to change editorial access for a few posts or pages?

\n

Editorial Access Manager is a simple plugin that lets you control who has access to which posts. It was created by 10up engineer Taylor Lovett, who found that the default roles were inadequate for certain one-off situations. The plugin lets you assign which users or roles have access to specific posts. It adds a meta box to the post editor where you can set editorial access:

\n

\"editorial-access-manager\"

\n

Editorial Access Manager has no other settings besides the meta box for each post. For safety reasons, the site administrator will always be able to edit any post. Editorial access is limited to roles that have the “edit_posts” capability, so the Subscriber role is not available by default.

\n

Sometimes creating a new user role is overkill for just a handful of posts or pages. That’s where the Editorial Access Manager plugin comes in handy, particularly for large publications or multi-author blogs. Perhaps you have a contributor or author who you want to pull in to edit a particular post. This plugin is ideal for that kind of scenario. You can download it for free from WordPress.org or the plugin’s home on GitHub.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 26 Aug 2014 02:23:14 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}}}}}}}}}}s:4:\"type\";i:128;s:7:\"headers\";a:10:{s:6:\"server\";s:5:\"nginx\";s:4:\"date\";s:29:\"Fri, 05 Sep 2014 12:00:29 GMT\";s:12:\"content-type\";s:8:\"text/xml\";s:14:\"content-length\";s:6:\"243783\";s:10:\"connection\";s:5:\"close\";s:4:\"vary\";s:15:\"Accept-Encoding\";s:13:\"last-modified\";s:29:\"Fri, 05 Sep 2014 12:00:13 GMT\";s:15:\"x-frame-options\";s:10:\"SAMEORIGIN\";s:4:\"x-nc\";s:11:\"HIT lax 249\";s:13:\"accept-ranges\";s:5:\"bytes\";}s:5:\"build\";s:14:\"20140904185513\";}','no'),(286,'_transient_timeout_feed_mod_867bd5c64f85878d03a060509cd2f92c','1409961630','no'),(287,'_transient_feed_mod_867bd5c64f85878d03a060509cd2f92c','1409918430','no'),(288,'_transient_timeout_feed_b9388c83948825c1edaef0d856b7b109','1409961630','no'),(289,'_transient_feed_b9388c83948825c1edaef0d856b7b109','a:4:{s:5:\"child\";a:1:{s:0:\"\";a:1:{s:3:\"rss\";a:1:{i:0;a:6:{s:4:\"data\";s:3:\"\n \n\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:7:\"version\";s:3:\"2.0\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:1:{s:0:\"\";a:1:{s:7:\"channel\";a:1:{i:0;a:6:{s:4:\"data\";s:72:\"\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:39:\"WordPress Plugins » View: Most Popular\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:44:\"http://wordpress.org/plugins/browse/popular/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:39:\"WordPress Plugins » View: Most Popular\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"language\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"en-US\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 05 Sep 2014 11:50:20 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:9:\"generator\";a:1:{i:0;a:5:{s:4:\"data\";s:25:\"http://bbpress.org/?v=1.1\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"item\";a:15:{i:0;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:7:\"Akismet\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:45:\"http://wordpress.org/plugins/akismet/#post-15\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 09 Mar 2007 22:11:30 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"15@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:98:\"Akismet checks your comments against the Akismet Web service to see if they look like spam or not.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:1;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Contact Form 7\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:54:\"http://wordpress.org/plugins/contact-form-7/#post-2141\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 02 Aug 2007 12:45:03 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"2141@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:54:\"Just another contact form plugin. Simple but flexible.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:16:\"Takayuki Miyoshi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:2;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:22:\"WordPress SEO by Yoast\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"http://wordpress.org/plugins/wordpress-seo/#post-8321\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 01 Jan 2009 20:34:44 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"8321@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:131:\"Improve your WordPress SEO: Write better content and have a fully optimized WordPress site using Yoast's WordPress SEO plugin.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Joost de Valk\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:3;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:19:\"All in One SEO Pack\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:58:\"http://wordpress.org/plugins/all-in-one-seo-pack/#post-753\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 30 Mar 2007 20:08:18 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"753@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:126:\"All in One SEO Pack is a WordPress SEO plugin to automatically optimize your WordPress blog for Search Engines such as Google.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"uberdose\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:4;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:19:\"Google XML Sitemaps\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:63:\"http://wordpress.org/plugins/google-sitemap-generator/#post-132\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 09 Mar 2007 22:31:32 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"132@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:105:\"This plugin will generate a special XML sitemap which will help search engines to better index your blog.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"arnee\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:5;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Wordfence Security\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:50:\"http://wordpress.org/plugins/wordfence/#post-29832\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sun, 04 Sep 2011 03:13:51 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"29832@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:137:\"Wordfence Security is a free enterprise class security and performance plugin that makes your site up to 50 times faster and more secure.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:9:\"Wordfence\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:6;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:24:\"Jetpack by WordPress.com\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:48:\"http://wordpress.org/plugins/jetpack/#post-23862\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 20 Jan 2011 02:21:38 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"23862@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:104:\"Supercharge your WordPress site with powerful features previously only available to WordPress.com users.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:9:\"Tim Moore\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:7;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:20:\"MailPoet Newsletters\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:59:\"http://wordpress.org/plugins/wysija-newsletters/#post-32629\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 02 Dec 2011 17:09:16 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"32629@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:94:\"Send newsletters, post notifications or autoresponders from WordPress easily, and beautifully.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"MailPoet Staff\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:8;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"WordPress Importer\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:59:\"http://wordpress.org/plugins/wordpress-importer/#post-18101\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 20 May 2010 17:42:45 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"18101@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:101:\"Import posts, pages, comments, custom fields, categories, tags and more from a WordPress export file.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Brian Colinger\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:9;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:21:\"WPtouch Mobile Plugin\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:47:\"http://wordpress.org/plugins/wptouch/#post-5468\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 01 May 2008 04:58:09 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"5468@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:63:\"Create a slick mobile WordPress website with just a few clicks.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:17:\"BraveNewCode Inc.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:10;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"NextGEN Gallery\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"http://wordpress.org/plugins/nextgen-gallery/#post-1169\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 23 Apr 2007 20:08:06 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"1169@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:121:\"The most popular WordPress gallery plugin and one of the most popular plugins of all time with over 10 million downloads.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:9:\"Alex Rabe\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:11;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"WooCommerce - excelling eCommerce\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:52:\"http://wordpress.org/plugins/woocommerce/#post-29860\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 05 Sep 2011 08:13:36 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"29860@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:97:\"WooCommerce is a powerful, extendable eCommerce plugin that helps you sell anything. Beautifully.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:9:\"WooThemes\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:12;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:19:\"Broken Link Checker\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:59:\"http://wordpress.org/plugins/broken-link-checker/#post-2441\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 08 Oct 2007 21:35:04 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"2441@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:131:\"This plugin will check your posts, comments and other content for broken links and missing images, and notify you if any are found.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Janis Elsts\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:13;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"WP Super Cache\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:54:\"http://wordpress.org/plugins/wp-super-cache/#post-2572\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 05 Nov 2007 11:40:04 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"2572@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:73:\"A very fast caching engine for WordPress that produces static html files.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:16:\"Donncha O Caoimh\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:14;a:6:{s:4:\"data\";s:30:\"\n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:25:\"Google Analytics by Yoast\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:70:\"http://wordpress.org/plugins/google-analytics-for-wordpress/#post-2316\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 14 Sep 2007 12:15:27 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"2316@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:124:\"Track your WordPress site easily with the latest tracking codes and lots added data for search result pages and error pages.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Joost de Valk\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}s:27:\"http://www.w3.org/2005/Atom\";a:1:{s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:0:\"\";s:7:\"attribs\";a:1:{s:0:\"\";a:3:{s:4:\"href\";s:45:\"http://wordpress.org/plugins/rss/view/popular\";s:3:\"rel\";s:4:\"self\";s:4:\"type\";s:19:\"application/rss+xml\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}}}}}}s:4:\"type\";i:128;s:7:\"headers\";a:11:{s:6:\"server\";s:5:\"nginx\";s:4:\"date\";s:29:\"Fri, 05 Sep 2014 12:00:30 GMT\";s:12:\"content-type\";s:23:\"text/xml; charset=UTF-8\";s:10:\"connection\";s:5:\"close\";s:4:\"vary\";s:15:\"Accept-Encoding\";s:7:\"expires\";s:29:\"Fri, 05 Sep 2014 12:25:21 GMT\";s:13:\"cache-control\";s:0:\"\";s:6:\"pragma\";s:0:\"\";s:13:\"last-modified\";s:31:\"Fri, 05 Sep 2014 11:50:21 +0000\";s:15:\"x-frame-options\";s:10:\"SAMEORIGIN\";s:4:\"x-nc\";s:11:\"HIT lax 249\";}s:5:\"build\";s:14:\"20140904185513\";}','no'),(290,'_transient_timeout_feed_mod_b9388c83948825c1edaef0d856b7b109','1409961630','no'),(291,'_transient_feed_mod_b9388c83948825c1edaef0d856b7b109','1409918430','no'),(292,'_transient_timeout_dash_4077549d03da2e451c8b5f002294ff51','1409961630','no'),(293,'_transient_dash_4077549d03da2e451c8b5f002294ff51','
  • WordPress 4.0 “Benny” September 4, 2014
    Version 4.0 of WordPress, named “Benny” in honor of jazz clarinetist and bandleader Benny Goodman, is available for download or update in your WordPress dashboard. While 4.0 is just another number for us after 3.9 and before 4.1, we feel we’ve put a little extra polish into it. This release brings you a smoother writing and management experience […]
','no'),(308,'widget_pages','a:2:{i:1;a:0:{}s:12:\"_multiwidget\";i:1;}','yes'),(309,'widget_calendar','a:2:{i:1;a:0:{}s:12:\"_multiwidget\";i:1;}','yes'),(310,'widget_tag_cloud','a:2:{i:1;a:0:{}s:12:\"_multiwidget\";i:1;}','yes'),(311,'widget_nav_menu','a:2:{i:1;a:0:{}s:12:\"_multiwidget\";i:1;}','yes'),(447,'_site_transient_timeout_browser_cf886822a51b23aadaa6878472b27077','1410533334','yes'),(448,'_site_transient_browser_cf886822a51b23aadaa6878472b27077','a:9:{s:8:\"platform\";s:7:\"Windows\";s:4:\"name\";s:6:\"Chrome\";s:7:\"version\";s:13:\"37.0.2062.103\";s:10:\"update_url\";s:28:\"http://www.google.com/chrome\";s:7:\"img_src\";s:49:\"http://s.wordpress.org/images/browsers/chrome.png\";s:11:\"img_src_ssl\";s:48:\"https://wordpress.org/images/browsers/chrome.png\";s:15:\"current_version\";s:2:\"18\";s:7:\"upgrade\";b:0;s:8:\"insecure\";b:0;}','yes'),(449,'_site_transient_timeout_browser_6d44eab61dcf5b1f0e6fa8f6595ee1bc','1410533678','yes'),(450,'_site_transient_browser_6d44eab61dcf5b1f0e6fa8f6595ee1bc','a:9:{s:8:\"platform\";s:7:\"Windows\";s:4:\"name\";s:17:\"Internet Explorer\";s:7:\"version\";s:2:\"11\";s:10:\"update_url\";s:51:\"http://www.microsoft.com/windows/internet-explorer/\";s:7:\"img_src\";s:45:\"http://s.wordpress.org/images/browsers/ie.png\";s:11:\"img_src_ssl\";s:44:\"https://wordpress.org/images/browsers/ie.png\";s:15:\"current_version\";s:1:\"9\";s:7:\"upgrade\";b:0;s:8:\"insecure\";b:0;}','yes'),(451,'_site_transient_timeout_browser_fa06a7c9d42ae5b386feae5b01f48a3f','1410533905','yes'),(452,'_site_transient_browser_fa06a7c9d42ae5b386feae5b01f48a3f','a:9:{s:8:\"platform\";s:5:\"Linux\";s:4:\"name\";s:7:\"Firefox\";s:7:\"version\";s:4:\"32.0\";s:10:\"update_url\";s:23:\"http://www.firefox.com/\";s:7:\"img_src\";s:50:\"http://s.wordpress.org/images/browsers/firefox.png\";s:11:\"img_src_ssl\";s:49:\"https://wordpress.org/images/browsers/firefox.png\";s:15:\"current_version\";s:2:\"16\";s:7:\"upgrade\";b:0;s:8:\"insecure\";b:0;}','yes'),(534,'_site_transient_timeout_browser_0d70b90143a29ddeae4366d34e210758','1410535976','yes'),(535,'_site_transient_browser_0d70b90143a29ddeae4366d34e210758','a:9:{s:8:\"platform\";s:5:\"Linux\";s:4:\"name\";s:6:\"Chrome\";s:7:\"version\";s:12:\"37.0.2062.94\";s:10:\"update_url\";s:28:\"http://www.google.com/chrome\";s:7:\"img_src\";s:49:\"http://s.wordpress.org/images/browsers/chrome.png\";s:11:\"img_src_ssl\";s:48:\"https://wordpress.org/images/browsers/chrome.png\";s:15:\"current_version\";s:2:\"18\";s:7:\"upgrade\";b:0;s:8:\"insecure\";b:0;}','yes'),(599,'_site_transient_timeout_wporg_theme_feature_list','1409944472','yes'),(600,'_site_transient_wporg_theme_feature_list','a:4:{s:6:\"Colors\";a:15:{i:0;s:5:\"black\";i:1;s:4:\"blue\";i:2;s:5:\"brown\";i:3;s:4:\"gray\";i:4;s:5:\"green\";i:5;s:6:\"orange\";i:6;s:4:\"pink\";i:7;s:6:\"purple\";i:8;s:3:\"red\";i:9;s:6:\"silver\";i:10;s:3:\"tan\";i:11;s:5:\"white\";i:12;s:6:\"yellow\";i:13;s:4:\"dark\";i:14;s:5:\"light\";}s:6:\"Layout\";a:9:{i:0;s:12:\"fixed-layout\";i:1;s:12:\"fluid-layout\";i:2;s:17:\"responsive-layout\";i:3;s:10:\"one-column\";i:4;s:11:\"two-columns\";i:5;s:13:\"three-columns\";i:6;s:12:\"four-columns\";i:7;s:12:\"left-sidebar\";i:8;s:13:\"right-sidebar\";}s:8:\"Features\";a:20:{i:0;s:19:\"accessibility-ready\";i:1;s:8:\"blavatar\";i:2;s:10:\"buddypress\";i:3;s:17:\"custom-background\";i:4;s:13:\"custom-colors\";i:5;s:13:\"custom-header\";i:6;s:11:\"custom-menu\";i:7;s:12:\"editor-style\";i:8;s:21:\"featured-image-header\";i:9;s:15:\"featured-images\";i:10;s:15:\"flexible-header\";i:11;s:20:\"front-page-post-form\";i:12;s:19:\"full-width-template\";i:13;s:12:\"microformats\";i:14;s:12:\"post-formats\";i:15;s:20:\"rtl-language-support\";i:16;s:11:\"sticky-post\";i:17;s:13:\"theme-options\";i:18;s:17:\"threaded-comments\";i:19;s:17:\"translation-ready\";}s:7:\"Subject\";a:3:{i:0;s:7:\"holiday\";i:1;s:13:\"photoblogging\";i:2;s:8:\"seasonal\";}}','yes'),(678,'_site_transient_timeout_theme_roots','1409938379','yes'),(679,'_site_transient_theme_roots','a:6:{s:7:\"headway\";s:7:\"/themes\";s:12:\"twentyeleven\";s:7:\"/themes\";s:14:\"twentyfourteen\";s:7:\"/themes\";s:9:\"twentyten\";s:7:\"/themes\";s:14:\"twentythirteen\";s:7:\"/themes\";s:12:\"twentytwelve\";s:7:\"/themes\";}','yes'),(688,'_site_transient_timeout_browser_4472faefc11234fb02c39466f5d2f1c6','1410541492','yes'),(689,'_site_transient_browser_4472faefc11234fb02c39466f5d2f1c6','a:9:{s:8:\"platform\";s:5:\"Linux\";s:4:\"name\";s:7:\"Firefox\";s:7:\"version\";s:4:\"31.0\";s:10:\"update_url\";s:23:\"http://www.firefox.com/\";s:7:\"img_src\";s:50:\"http://s.wordpress.org/images/browsers/firefox.png\";s:11:\"img_src_ssl\";s:49:\"https://wordpress.org/images/browsers/firefox.png\";s:15:\"current_version\";s:2:\"16\";s:7:\"upgrade\";b:0;s:8:\"insecure\";b:0;}','yes'),(737,'theme_mods_twentyfourteen','a:1:{s:16:\"sidebars_widgets\";a:2:{s:4:\"time\";i:1409937497;s:4:\"data\";a:4:{s:19:\"wp_inactive_widgets\";a:0:{}s:9:\"sidebar-1\";a:6:{i:0;s:8:\"search-2\";i:1;s:14:\"recent-posts-2\";i:2;s:17:\"recent-comments-2\";i:3;s:10:\"archives-2\";i:4;s:12:\"categories-2\";i:5;s:6:\"meta-2\";}s:9:\"sidebar-2\";a:0:{}s:9:\"sidebar-3\";a:0:{}}}}','yes'),(742,'headway_|template=base|_option_group_general','a:3:{s:31:\"merged-default-design-data-core\";s:4:\"true\";s:44:\"merged-default-design-data-core_37_pin_board\";s:4:\"true\";s:13:\"last-snapshot\";i:1409937551;}','yes'),(743,'headway_|template=base|_option_group_design','a:1:{s:10:\"properties\";a:53:{s:19:\"block-pin-board-pin\";a:1:{s:10:\"properties\";a:15:{s:11:\"padding-top\";i:1;s:13:\"padding-right\";i:1;s:14:\"padding-bottom\";i:1;s:12:\"padding-left\";i:1;s:16:\"background-color\";s:6:\"ffffff\";s:12:\"border-color\";s:6:\"eeeeee\";s:12:\"border-style\";s:5:\"solid\";s:16:\"border-top-width\";i:1;s:18:\"border-right-width\";i:1;s:19:\"border-bottom-width\";i:1;s:17:\"border-left-width\";i:1;s:16:\"box-shadow-color\";s:3:\"eee\";s:15:\"box-shadow-blur\";i:3;s:28:\"box-shadow-horizontal-offset\";i:0;s:26:\"box-shadow-vertical-offset\";i:2;}}s:25:\"block-pin-board-pin-title\";a:2:{s:10:\"properties\";a:6:{s:11:\"padding-top\";i:15;s:13:\"padding-right\";i:15;s:12:\"padding-left\";i:15;s:9:\"font-size\";i:18;s:11:\"line-height\";i:120;s:15:\"text-decoration\";s:4:\"none\";}s:21:\"special-element-state\";a:1:{s:5:\"hover\";a:1:{s:15:\"text-decoration\";s:9:\"underline\";}}}s:24:\"block-pin-board-pin-text\";a:1:{s:10:\"properties\";a:4:{s:9:\"font-size\";i:12;s:11:\"line-height\";i:150;s:13:\"padding-right\";i:15;s:12:\"padding-left\";i:15;}}s:24:\"block-pin-board-pin-meta\";a:1:{s:10:\"properties\";a:5:{s:9:\"font-size\";i:12;s:11:\"line-height\";i:120;s:13:\"padding-right\";i:15;s:12:\"padding-left\";i:15;s:5:\"color\";s:6:\"888888\";}}s:33:\"block-pin-board-pagination-button\";a:2:{s:10:\"properties\";a:10:{s:15:\"text-decoration\";s:4:\"none\";s:16:\"background-color\";s:6:\"eeeeee\";s:22:\"border-top-left-radius\";i:4;s:23:\"border-top-right-radius\";i:4;s:26:\"border-bottom-right-radius\";i:4;s:25:\"border-bottom-left-radius\";i:4;s:11:\"padding-top\";i:5;s:13:\"padding-right\";i:9;s:14:\"padding-bottom\";i:5;s:12:\"padding-left\";i:9;}s:21:\"special-element-state\";a:1:{s:5:\"hover\";a:1:{s:16:\"background-color\";s:6:\"e7e7e7\";}}}s:12:\"default-text\";a:1:{s:10:\"properties\";a:4:{s:9:\"font-size\";s:2:\"14\";s:11:\"font-family\";s:8:\"palatino\";s:11:\"line-height\";s:3:\"100\";s:5:\"color\";s:6:\"555555\";}}s:17:\"default-hyperlink\";a:1:{s:10:\"properties\";a:1:{s:5:\"color\";s:6:\"555555\";}}s:18:\"default-blockquote\";a:1:{s:10:\"properties\";a:12:{s:5:\"color\";s:6:\"666666\";s:11:\"padding-top\";s:1:\"5\";s:13:\"padding-right\";s:1:\"0\";s:14:\"padding-bottom\";s:1:\"5\";s:12:\"padding-left\";s:2:\"25\";s:17:\"border-left-width\";s:1:\"2\";s:12:\"border-style\";s:5:\"solid\";s:12:\"border-color\";s:6:\"666666\";s:10:\"margin-top\";s:2:\"15\";s:12:\"margin-right\";s:1:\"0\";s:13:\"margin-bottom\";s:2:\"15\";s:11:\"margin-left\";s:2:\"20\";}}s:13:\"default-block\";a:1:{s:10:\"properties\";a:2:{s:8:\"overflow\";s:6:\"hidden\";s:13:\"margin-bottom\";s:2:\"10\";}}s:11:\"block-title\";a:1:{s:10:\"properties\";a:2:{s:9:\"font-size\";s:2:\"22\";s:11:\"line-height\";s:3:\"150\";}}s:14:\"block-subtitle\";a:1:{s:10:\"properties\";a:3:{s:9:\"font-size\";s:2:\"14\";s:12:\"font-styling\";s:6:\"italic\";s:5:\"color\";s:6:\"999999\";}}s:4:\"body\";a:1:{s:10:\"properties\";a:1:{s:16:\"background-color\";s:6:\"dddddd\";}}s:7:\"wrapper\";a:1:{s:10:\"properties\";a:11:{s:16:\"background-color\";s:6:\"ffffff\";s:11:\"padding-top\";s:2:\"15\";s:13:\"padding-right\";s:2:\"15\";s:14:\"padding-bottom\";s:2:\"15\";s:12:\"padding-left\";s:2:\"15\";s:16:\"box-shadow-color\";s:6:\"c7c7c7\";s:15:\"box-shadow-blur\";s:1:\"8\";s:28:\"box-shadow-horizontal-offset\";s:1:\"1\";s:26:\"box-shadow-vertical-offset\";s:1:\"1\";s:10:\"margin-top\";s:2:\"30\";s:13:\"margin-bottom\";s:2:\"30\";}}s:23:\"block-header-site-title\";a:1:{s:10:\"properties\";a:8:{s:5:\"color\";s:6:\"222222\";s:9:\"font-size\";s:2:\"34\";s:11:\"line-height\";s:3:\"100\";s:15:\"text-decoration\";s:4:\"none\";s:10:\"margin-top\";s:2:\"20\";s:12:\"margin-right\";s:2:\"10\";s:13:\"margin-bottom\";s:1:\"0\";s:11:\"margin-left\";s:2:\"10\";}}s:25:\"block-header-site-tagline\";a:1:{s:10:\"properties\";a:8:{s:5:\"color\";s:6:\"999999\";s:9:\"font-size\";s:2:\"15\";s:11:\"line-height\";s:3:\"120\";s:12:\"font-styling\";s:6:\"italic\";s:10:\"margin-top\";s:2:\"10\";s:12:\"margin-right\";s:2:\"10\";s:13:\"margin-bottom\";s:2:\"20\";s:11:\"margin-left\";s:2:\"10\";}}s:16:\"block-navigation\";a:1:{s:10:\"properties\";a:7:{s:16:\"border-top-width\";s:1:\"1\";s:19:\"border-bottom-width\";s:1:\"1\";s:17:\"border-left-width\";s:1:\"0\";s:18:\"border-right-width\";s:1:\"0\";s:12:\"border-color\";s:6:\"eeeeee\";s:12:\"border-style\";s:5:\"solid\";s:8:\"overflow\";s:7:\"visible\";}}s:26:\"block-navigation-menu-item\";a:2:{s:10:\"properties\";a:5:{s:15:\"text-decoration\";s:4:\"none\";s:5:\"color\";s:6:\"888888\";s:14:\"capitalization\";s:9:\"uppercase\";s:13:\"padding-right\";s:2:\"15\";s:12:\"padding-left\";s:2:\"15\";}s:21:\"special-element-state\";a:2:{s:8:\"selected\";a:1:{s:5:\"color\";s:6:\"222222\";}s:5:\"hover\";a:1:{s:5:\"color\";s:6:\"555555\";}}}s:29:\"block-navigation-sub-nav-menu\";a:1:{s:10:\"properties\";a:1:{s:16:\"background-color\";s:6:\"eeeeee\";}}s:24:\"block-widget-area-widget\";a:1:{s:10:\"properties\";a:6:{s:11:\"line-height\";s:3:\"150\";s:11:\"padding-top\";s:1:\"5\";s:13:\"padding-right\";s:2:\"10\";s:14:\"padding-bottom\";s:1:\"5\";s:12:\"padding-left\";s:2:\"10\";s:10:\"margin-top\";s:2:\"15\";}}s:30:\"block-widget-area-widget-title\";a:1:{s:10:\"properties\";a:12:{s:9:\"font-size\";s:2:\"13\";s:12:\"border-style\";s:5:\"solid\";s:16:\"border-top-width\";s:1:\"1\";s:19:\"border-bottom-width\";s:1:\"1\";s:17:\"border-left-width\";s:1:\"0\";s:18:\"border-right-width\";s:1:\"0\";s:12:\"border-color\";s:6:\"eeeeee\";s:14:\"letter-spacing\";s:1:\"1\";s:14:\"capitalization\";s:9:\"uppercase\";s:11:\"line-height\";s:3:\"250\";s:5:\"color\";s:6:\"111111\";s:13:\"margin-bottom\";s:2:\"10\";}}s:30:\"block-widget-area-widget-links\";a:1:{s:10:\"properties\";a:1:{s:5:\"color\";s:6:\"333333\";}}s:29:\"block-content-entry-container\";a:1:{s:10:\"properties\";a:7:{s:12:\"border-style\";s:5:\"solid\";s:16:\"border-top-width\";s:1:\"0\";s:19:\"border-bottom-width\";s:1:\"1\";s:17:\"border-left-width\";s:1:\"0\";s:18:\"border-right-width\";s:1:\"0\";s:12:\"border-color\";s:6:\"efefef\";s:14:\"padding-bottom\";s:2:\"30\";}}s:19:\"block-content-title\";a:1:{s:10:\"properties\";a:3:{s:9:\"font-size\";s:2:\"24\";s:5:\"color\";s:6:\"333333\";s:11:\"line-height\";s:3:\"130\";}}s:27:\"block-content-archive-title\";a:1:{s:10:\"properties\";a:7:{s:9:\"font-size\";s:2:\"24\";s:5:\"color\";s:6:\"555555\";s:11:\"line-height\";s:3:\"110\";s:19:\"border-bottom-width\";s:1:\"1\";s:12:\"border-color\";s:6:\"eeeeee\";s:12:\"border-style\";s:5:\"solid\";s:14:\"padding-bottom\";s:2:\"15\";}}s:24:\"block-content-entry-meta\";a:1:{s:10:\"properties\";a:2:{s:11:\"line-height\";s:3:\"120\";s:5:\"color\";s:6:\"818181\";}}s:27:\"block-content-entry-content\";a:1:{s:10:\"properties\";a:3:{s:5:\"color\";s:6:\"555555\";s:9:\"font-size\";s:2:\"14\";s:11:\"line-height\";s:3:\"180\";}}s:21:\"block-content-heading\";a:1:{s:10:\"properties\";a:2:{s:9:\"font-size\";s:2:\"20\";s:11:\"line-height\";s:3:\"180\";}}s:25:\"block-content-sub-heading\";a:1:{s:10:\"properties\";a:2:{s:9:\"font-size\";s:2:\"16\";s:11:\"line-height\";s:3:\"180\";}}s:23:\"block-content-more-link\";a:2:{s:10:\"properties\";a:10:{s:16:\"background-color\";s:6:\"eeeeee\";s:15:\"text-decoration\";s:4:\"none\";s:22:\"border-top-left-radius\";s:1:\"4\";s:23:\"border-top-right-radius\";s:1:\"4\";s:26:\"border-bottom-right-radius\";s:1:\"4\";s:25:\"border-bottom-left-radius\";s:1:\"4\";s:11:\"padding-top\";s:1:\"2\";s:13:\"padding-right\";s:1:\"6\";s:14:\"padding-bottom\";s:1:\"2\";s:12:\"padding-left\";s:1:\"6\";}s:21:\"special-element-state\";a:1:{s:5:\"hover\";a:1:{s:16:\"background-color\";s:6:\"e7e7e7\";}}}s:34:\"block-content-loop-navigation-link\";a:2:{s:10:\"properties\";a:11:{s:16:\"background-color\";s:6:\"e1e1e1\";s:15:\"text-decoration\";s:4:\"none\";s:22:\"border-top-left-radius\";s:1:\"4\";s:23:\"border-top-right-radius\";s:1:\"4\";s:26:\"border-bottom-right-radius\";s:1:\"4\";s:25:\"border-bottom-left-radius\";s:1:\"4\";s:11:\"padding-top\";s:1:\"4\";s:13:\"padding-right\";s:1:\"8\";s:14:\"padding-bottom\";s:1:\"4\";s:12:\"padding-left\";s:1:\"8\";s:11:\"line-height\";s:3:\"130\";}s:21:\"special-element-state\";a:1:{s:5:\"hover\";a:1:{s:16:\"background-color\";s:6:\"d5d5d5\";}}}s:28:\"block-content-post-thumbnail\";a:1:{s:10:\"properties\";a:10:{s:16:\"border-top-width\";s:1:\"1\";s:18:\"border-right-width\";s:1:\"1\";s:19:\"border-bottom-width\";s:1:\"1\";s:17:\"border-left-width\";s:1:\"1\";s:12:\"border-color\";s:6:\"eeeeee\";s:12:\"border-style\";s:5:\"solid\";s:11:\"padding-top\";s:1:\"3\";s:13:\"padding-right\";s:1:\"3\";s:14:\"padding-bottom\";s:1:\"3\";s:12:\"padding-left\";s:1:\"3\";}}s:36:\"block-content-comments-area-headings\";a:1:{s:10:\"properties\";a:3:{s:5:\"color\";s:6:\"333333\";s:9:\"font-size\";s:2:\"18\";s:11:\"line-height\";s:3:\"130\";}}s:31:\"block-content-comment-container\";a:1:{s:10:\"properties\";a:1:{s:12:\"padding-left\";s:2:\"64\";}}s:28:\"block-content-comment-author\";a:1:{s:10:\"properties\";a:2:{s:9:\"font-size\";s:2:\"18\";s:11:\"line-height\";s:3:\"120\";}}s:26:\"block-content-comment-meta\";a:1:{s:10:\"properties\";a:2:{s:5:\"color\";s:6:\"888888\";s:9:\"font-size\";s:2:\"14\";}}s:26:\"block-content-comment-body\";a:1:{s:10:\"properties\";a:2:{s:9:\"font-size\";s:2:\"14\";s:11:\"line-height\";s:3:\"170\";}}s:32:\"block-content-comment-reply-link\";a:2:{s:10:\"properties\";a:11:{s:9:\"font-size\";s:2:\"12\";s:16:\"background-color\";s:6:\"eeeeee\";s:15:\"text-decoration\";s:4:\"none\";s:22:\"border-top-left-radius\";s:1:\"4\";s:23:\"border-top-right-radius\";s:1:\"4\";s:26:\"border-bottom-right-radius\";s:1:\"4\";s:25:\"border-bottom-left-radius\";s:1:\"4\";s:11:\"padding-top\";s:1:\"3\";s:13:\"padding-right\";s:1:\"6\";s:14:\"padding-bottom\";s:1:\"3\";s:12:\"padding-left\";s:1:\"6\";}s:21:\"special-element-state\";a:1:{s:5:\"hover\";a:1:{s:16:\"background-color\";s:6:\"e7e7e7\";}}}s:38:\"block-content-comment-form-input-label\";a:1:{s:10:\"properties\";a:3:{s:9:\"font-size\";s:2:\"14\";s:11:\"line-height\";s:3:\"220\";s:5:\"color\";s:6:\"888888\";}}s:29:\"block-slider-slider-container\";a:1:{s:10:\"properties\";a:2:{s:8:\"overflow\";s:7:\"visible\";s:13:\"margin-bottom\";s:2:\"30\";}}s:28:\"block-slider-slider-viewport\";a:1:{s:10:\"properties\";a:1:{s:8:\"overflow\";s:6:\"hidden\";}}s:27:\"block-slider-slider-caption\";a:1:{s:10:\"properties\";a:10:{s:16:\"background-color\";s:18:\"rgba(0, 0, 0, 0.6)\";s:5:\"color\";s:6:\"ffffff\";s:9:\"font-size\";s:2:\"14\";s:11:\"line-height\";s:3:\"150\";s:11:\"padding-top\";s:2:\"20\";s:13:\"padding-right\";s:2:\"20\";s:14:\"padding-bottom\";s:2:\"20\";s:12:\"padding-left\";s:2:\"20\";s:8:\"position\";s:8:\"absolute\";s:10:\"text-align\";s:6:\"center\";}}s:26:\"block-slider-slider-paging\";a:1:{s:10:\"properties\";a:2:{s:8:\"position\";s:8:\"absolute\";s:10:\"text-align\";s:6:\"center\";}}s:38:\"block-slider-slider-direction-nav-link\";a:1:{s:10:\"properties\";a:5:{s:10:\"margin-top\";s:3:\"-20\";s:8:\"position\";s:8:\"absolute\";s:16:\"background-image\";s:129:\"http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/wp-content/themes/headway/library/blocks/slider/assets/bg_direction_nav.png\";s:17:\"background-repeat\";s:9:\"no-repeat\";s:19:\"background-position\";s:8:\"left top\";}}s:38:\"block-slider-slider-direction-nav-next\";a:1:{s:10:\"properties\";a:1:{s:19:\"background-position\";s:9:\"right top\";}}s:31:\"block-slider-slider-paging-link\";a:2:{s:10:\"properties\";a:7:{s:16:\"background-color\";s:15:\"rgba(0,0,0,0.5)\";s:22:\"border-top-left-radius\";s:2:\"20\";s:23:\"border-top-right-radius\";s:2:\"20\";s:26:\"border-bottom-right-radius\";s:2:\"20\";s:25:\"border-bottom-left-radius\";s:2:\"20\";s:11:\"margin-left\";s:1:\"2\";s:12:\"margin-right\";s:1:\"2\";}s:21:\"special-element-state\";a:2:{s:5:\"hover\";a:1:{s:16:\"background-color\";s:15:\"rgba(0,0,0,0.7)\";}s:6:\"active\";a:1:{s:16:\"background-color\";s:15:\"rgba(0,0,0,0.9)\";}}}s:18:\"block-text-heading\";a:1:{s:10:\"properties\";a:2:{s:9:\"font-size\";s:2:\"20\";s:11:\"line-height\";s:3:\"180\";}}s:22:\"block-text-sub-heading\";a:1:{s:10:\"properties\";a:2:{s:9:\"font-size\";s:2:\"16\";s:11:\"line-height\";s:3:\"180\";}}s:12:\"block-footer\";a:1:{s:10:\"properties\";a:6:{s:16:\"border-top-width\";s:1:\"1\";s:18:\"border-right-width\";s:1:\"0\";s:19:\"border-bottom-width\";s:1:\"0\";s:17:\"border-left-width\";s:1:\"0\";s:12:\"border-color\";s:6:\"eeeeee\";s:12:\"border-style\";s:5:\"solid\";}}s:22:\"block-footer-copyright\";a:1:{s:10:\"properties\";a:1:{s:5:\"color\";s:6:\"666666\";}}s:32:\"block-footer-headway-attribution\";a:1:{s:10:\"properties\";a:1:{s:5:\"color\";s:6:\"666666\";}}s:33:\"block-footer-administration-panel\";a:1:{s:10:\"properties\";a:1:{s:5:\"color\";s:6:\"666666\";}}s:22:\"block-footer-go-to-top\";a:1:{s:10:\"properties\";a:1:{s:5:\"color\";s:6:\"666666\";}}s:33:\"block-footer-responsive-grid-link\";a:1:{s:10:\"properties\";a:1:{s:5:\"color\";s:6:\"666666\";}}}}','yes'),(744,'headway','a:1:{s:7:\"version\";s:6:\"3.7.10\";}','yes'),(749,'headway_option_group_general','a:29:{s:13:\"ran-tour-grid\";s:4:\"true\";s:15:\"ran-tour-design\";s:4:\"true\";s:19:\"license-key-headway\";s:32:\"8ceeb02021c6a692fc64772026b0a5f9\";s:22:\"license-status-headway\";s:5:\"valid\";s:7:\"favicon\";s:0:\"\";s:8:\"feed-url\";s:0:\"\";s:10:\"menu-setup\";s:15:\"getting-started\";s:14:\"affiliate-link\";s:0:\"\";s:13:\"seo-templates\";a:12:{s:5:\"index\";a:8:{s:5:\"title\";s:22:\"%tagline% | %sitename%\";s:11:\"description\";s:0:\"\";s:7:\"noindex\";s:0:\"\";s:8:\"nofollow\";s:0:\"\";s:9:\"noarchive\";s:0:\"\";s:9:\"nosnippet\";s:0:\"\";s:5:\"noodp\";s:0:\"\";s:6:\"noydir\";s:0:\"\";}s:11:\"single-post\";a:8:{s:5:\"title\";s:20:\"%title% | %sitename%\";s:11:\"description\";s:0:\"\";s:7:\"noindex\";s:0:\"\";s:8:\"nofollow\";s:0:\"\";s:9:\"noarchive\";s:0:\"\";s:9:\"nosnippet\";s:0:\"\";s:5:\"noodp\";s:0:\"\";s:6:\"noydir\";s:0:\"\";}s:11:\"single-page\";a:8:{s:5:\"title\";s:20:\"%title% | %sitename%\";s:11:\"description\";s:0:\"\";s:7:\"noindex\";s:0:\"\";s:8:\"nofollow\";s:0:\"\";s:9:\"noarchive\";s:0:\"\";s:9:\"nosnippet\";s:0:\"\";s:5:\"noodp\";s:0:\"\";s:6:\"noydir\";s:0:\"\";}s:17:\"single-attachment\";a:8:{s:5:\"title\";s:20:\"%title% | %sitename%\";s:11:\"description\";s:0:\"\";s:7:\"noindex\";s:0:\"\";s:8:\"nofollow\";s:0:\"\";s:9:\"noarchive\";s:0:\"\";s:9:\"nosnippet\";s:0:\"\";s:5:\"noodp\";s:0:\"\";s:6:\"noydir\";s:0:\"\";}s:16:\"archive-category\";a:8:{s:5:\"title\";s:20:\"%title% | %sitename%\";s:11:\"description\";s:0:\"\";s:7:\"noindex\";s:0:\"\";s:8:\"nofollow\";s:0:\"\";s:9:\"noarchive\";s:0:\"\";s:9:\"nosnippet\";s:0:\"\";s:5:\"noodp\";s:0:\"\";s:6:\"noydir\";s:0:\"\";}s:14:\"archive-search\";a:8:{s:5:\"title\";s:28:\"Search: %title% | %sitename%\";s:11:\"description\";s:0:\"\";s:7:\"noindex\";s:0:\"\";s:8:\"nofollow\";s:0:\"\";s:9:\"noarchive\";s:1:\"1\";s:9:\"nosnippet\";s:0:\"\";s:5:\"noodp\";s:0:\"\";s:6:\"noydir\";s:0:\"\";}s:12:\"archive-date\";a:8:{s:5:\"title\";s:20:\"%title% | %sitename%\";s:11:\"description\";s:0:\"\";s:7:\"noindex\";s:0:\"\";s:8:\"nofollow\";s:0:\"\";s:9:\"noarchive\";s:0:\"\";s:9:\"nosnippet\";s:0:\"\";s:5:\"noodp\";s:0:\"\";s:6:\"noydir\";s:0:\"\";}s:14:\"archive-author\";a:8:{s:5:\"title\";s:20:\"%title% | %sitename%\";s:11:\"description\";s:0:\"\";s:7:\"noindex\";s:0:\"\";s:8:\"nofollow\";s:0:\"\";s:9:\"noarchive\";s:0:\"\";s:9:\"nosnippet\";s:0:\"\";s:5:\"noodp\";s:0:\"\";s:6:\"noydir\";s:0:\"\";}s:16:\"archive-post_tag\";a:8:{s:5:\"title\";s:25:\"Tag: %title% | %sitename%\";s:11:\"description\";s:0:\"\";s:7:\"noindex\";s:0:\"\";s:8:\"nofollow\";s:0:\"\";s:9:\"noarchive\";s:0:\"\";s:9:\"nosnippet\";s:0:\"\";s:5:\"noodp\";s:0:\"\";s:6:\"noydir\";s:0:\"\";}s:16:\"archive-taxonomy\";a:8:{s:5:\"title\";s:28:\"%title%: %meta% | %sitename%\";s:11:\"description\";s:0:\"\";s:7:\"noindex\";s:0:\"\";s:8:\"nofollow\";s:0:\"\";s:9:\"noarchive\";s:0:\"\";s:9:\"nosnippet\";s:0:\"\";s:5:\"noodp\";s:0:\"\";s:6:\"noydir\";s:0:\"\";}s:17:\"archive-post_type\";a:8:{s:5:\"title\";s:31:\"%post_type_plural% | %sitename%\";s:11:\"description\";s:0:\"\";s:7:\"noindex\";s:0:\"\";s:8:\"nofollow\";s:0:\"\";s:9:\"noarchive\";s:0:\"\";s:9:\"nosnippet\";s:0:\"\";s:5:\"noodp\";s:0:\"\";s:6:\"noydir\";s:0:\"\";}s:6:\"four04\";a:8:{s:5:\"title\";s:35:\"Whoops! Page Not Found | %sitename%\";s:11:\"description\";s:0:\"\";s:7:\"noindex\";s:0:\"\";s:8:\"nofollow\";s:0:\"\";s:9:\"noarchive\";s:0:\"\";s:9:\"nosnippet\";s:0:\"\";s:5:\"noodp\";s:0:\"\";s:6:\"noydir\";s:0:\"\";}}s:7:\"noindex\";s:0:\"\";s:8:\"nofollow\";s:0:\"\";s:9:\"noarchive\";s:0:\"\";s:9:\"nosnippet\";s:0:\"\";s:5:\"noodp\";s:0:\"\";s:6:\"noydir\";s:0:\"\";s:27:\"nofollow-comment-author-url\";s:1:\"0\";s:14:\"header-scripts\";s:0:\"\";s:14:\"footer-scripts\";s:0:\"\";s:30:\"disable-visual-editor-tooltips\";s:1:\"0\";s:18:\"disable-codemirror\";s:1:\"0\";s:14:\"grid-safe-mode\";s:1:\"1\";s:25:\"layout-selector-safe-mode\";s:1:\"1\";s:15:\"disable-caching\";s:1:\"1\";s:28:\"remove-dependency-query-vars\";s:1:\"0\";s:11:\"enable-gzip\";s:1:\"1\";s:24:\"hide-menu-version-number\";s:1:\"1\";s:22:\"disable-update-notices\";s:1:\"0\";s:20:\"disable-editor-style\";s:1:\"0\";s:10:\"debug-mode\";s:1:\"0\";}','yes'),(753,'_transient_hw_webfont_cache_template_base','a:0:{}','yes'),(756,'_transient_timeout_headway-update-response','2819918802','no'),(765,'_transient_headway-update-response','O:8:\"stdClass\":8:{s:11:\"new_version\";s:6:\"3.7.10\";s:4:\"name\";s:7:\"Headway\";s:4:\"slug\";s:7:\"headway\";s:3:\"url\";s:55:\"http://headwaythemes.com/downloads/headway/?changelog=1\";s:8:\"homepage\";s:43:\"http://headwaythemes.com/downloads/headway/\";s:7:\"package\";s:125:\"http://headwaythemes.com/?edd_action=package_download&id=83&key=ac667d2c9c611932f2379db5ab3dc968&expires=MTQwOTk0MTQwMQ%3D%3D\";s:13:\"download_link\";s:125:\"http://headwaythemes.com/?edd_action=package_download&id=83&key=ac667d2c9c611932f2379db5ab3dc968&expires=MTQwOTk0MTQwMQ%3D%3D\";s:8:\"sections\";a:2:{s:11:\"description\";s:0:\"\";s:9:\"changelog\";s:13970:\"

3.7.10
\nSeptember 5th, 2014

\n

###Bug Fixes###
\n* Fixed issue with mirrored block styling. This fixes the issue with mirrored navigation blocks.
\n* Fixed minor PHP notice in compiler.php

\n

3.7.9
\nSeptember 4th, 2014

\n

###Additions###
\n* Visual Editor: You can now duplicate blocks! Simply right-click then click on Duplicate in the Grid Mode.
\n* Custom Code Blocks now use the Ace Code editor in the Visual Editor

\n

###Tweaks###
\n* Design Editor: Ctrl/Command + S now triggers the save action when using the Live CSS Editor
\n* Navigation Block: Reduced number of queries
\n* Responsive Grid: Legacy Responsive Grid option is now only shown if there is an existing value
\n* Visual Editor: Greatly improved the way wrappers are re-ordered in the Grid Mode
\n* Visual Editor: Wrapper margin controls in Grid mode are no longer finicky
\n* Visual Editor: Updated jQuery Draggables to 1.10.2
\n* Visual Editor: Ace Code editor now has Find/Replace
\n* Visual Editor: Wrapper Options are now available in the Design Mode
\n* Visual Editor: Updating block and wrapper custom classes in DE now updates the attribute immediately.
\n* Hooks: Added filters to HeadwayLayout methods to control which layouts are being displayed programmatically.

\n

###Bug Fixes###
\n* 3.7 Upgrade: Fixed an occasional error when upgrading to 3.7
\n* Design Mode: Fixed issue where Design Mode would not fully load correctly
\n* Design Editor: Nudging with arrow keys now works properly
\n* Visual Editor: Fixed issues with tooltip positioning
\n* Visual Editor: Blocks no longer pop out of the wrappers when moving them from wrapper to wrapper.
\n* Visual Editor: Grid Wizard Layout Import/Export now works correctly with wrappers and styling.

\n

3.7.8
\nJuly 26th, 2014

\n

###Changes###
\n* Content Block: Improvements to how featured image sizing is handled

\n

###Bug Fixes###
\n* Template Export: Fixed issues where templates wouldn\'t export correctly in some cases.
\n* Data: HeadwayBlocksData::get_blocks_by_type() was caching the wrong array. This is now fixed.
\n* Data: Issue where meta box data wouldn\'t save is now fixed.

\n

###Translations###
\n* Added German translation. Thanks Carsten! http://headway-support-deutsch.de/

\n

3.7.7
\nJuly 22nd, 2014

\n

###Changes###
\n* Content Block: Removed styling that stretches featured images above title/content to 100%

\n

###Bug Fixes###
\n* Visual Editor: Fixed issue with dragging blocks in the latest version of Chrome 35
\n* Visual Editor: Fixed issue where image uploader would not properly initialize
\n* Visual Editor: Fixed occasional problem where you could not open certain element instances due to old data causing a JS error
\n* Plugin Compatibility: Improved compatibility with WooCommerce plugins such as the Product Finder plugin

\n

3.7.6
\nJuly 10th, 2014

\n

###Changes###
\n* Admin: To reset Headway you now need to put in a constant in wp-config.php first for security and to prevent accidents
\n* Snapshots: Automatic snapshots can be disabled by setting HEADWAY_DISABLE_AUTO_SNAPSHOT to true in wp-config.php
\n* Data: UTF-8 charset is now always used for Headway tables

\n

###Bug Fixes###
\n* 3.7 Upgrade: Fixed issue where existing data not would be properly overwritten
\n* Panel API: Fixed issue with select input not working with numbers in some cases
\n* Data: Block ID creation no longer uses php_uname() due some hosts blocking that function
\n* Layout Selector: Fixed occasional PHP notice in Layout Selector
\n* Layout Selector: \"Single\" layout will now try to get URL of a post OR a page rather than just the first post since no posts may exist

\n

3.7.5
\nJune 2nd, 2014

\n

###Bug Fixes###
\n* 3.7 Upgrade: Issues with corrupted templates, template IDs that are too long, and duplicate IDs with blocks/wrappers are now corrected by the 3.7 updater to its best ability
\n* Plugin Compatibility: Renamed the Headway image resizing class so it does not conflict with other plugins
\n* Visual Editor: Fixed an issue where cloning layouts would not work

\n

3.7.4
\nJune 23rd, 2014
\n###Bug Fixes###
\n* Visual Editor: Fixed an occasional error that would prevent the Grid Mode from loading.
\n* 3.7 Upgrade: The WP Options backup is now stored in a file instead of the database to prevent MySQL from locking up.

\n

3.7.3
\nJune 21th, 2014
\n###Bug Fixes###
\n* 3.7 Upgrade: Split upgrade process up into multiple steps.

\n

3.7.2
\nJune 20th, 2014
\n###Improvements###
\n* Pin Board: Added categories meta option to display categories in Pin Board
\n* Caching Compatibility: Headway now knows if GoDaddy/MediaTemple caching is present and will automatically clear it after upgrading and when saving in the Visual Editor

\n

###Bug Fixes###
\n* 3.7 Upgrade: Upon starting the upgrade, all Headway options in the wp_options table will be backed up in case the upgrade routine is halted or does not run correctly for any reason.
\n* 3.7 Upgrade: Blocks that are mirroring themselves are corrected on upgrade

\n

3.7 and 3.7.1
\nJune 19th, 2014
\n###Additions and Major Improvements###
\n* Visual Editor: Fresh new user interface that matches the UI of WordPress 3.8 (MP6)
\n* Snapshots! Never worry about losing your work again. Snapshots are automatically created when saving (maximum of one automatic snapshot every 15 minutes). If you need more than one snapshot every 15 minutes you can manually create snapshots in the Snapshots panel.
\n* Data Handling: Headway now uses custom MySQL tables to store wrappers, blocks, layout meta, and snapshots. This greatly improves reliability and speed.
\n* Design Editor: Live CSS Editor is now powered by Ace rather than CodeMirror. The Live CSS Editor is now in a dedicated popup which allows you to put it on a separate monitor or use tabbing to improve your workflow.
\n* Design Editor: Added support for units (px, em, rem, %) on properties such as Font Size, Line Height, Margins, Padding, and so on.
\n* Templates: Moved Templates panel to WordPress Admin under Headway » Templates (previously in Visual Editor)

\n

###Other Notable Improvements and Changes###
\n* Data Handling: Block and Wrapper IDs are no longer numeric. They are now universally unique ID\'s (UUIDs). This prevents ID overlap and improves stability. Please note: If you are upgrading an existing Headway site, Headway will still reference the old numeric IDs to prevent CSS and JavaScript from breaking. Any new blocks and wrappers you create will NOT have numeric IDs.
\n* Data Handling: Layout options are now stored using WordPress postmeta table if capable. If not, they are stored in the new Headway layout meta table.
\n* Data Handling: Layout IDs are now split apart using || rather than hyphens. This reduces conflicts with custom post type and custom taxonomies IDs
\n* Visual Editor: Added hardware acceleration to the dragging of blocks. Adding, moving, and resizing blocks is now much more fluid.
\n* Visual Editor: Moving blocks from one wrapper to another now shows more visible feedback so you know where the block will be placed immediately.
\n* Visual Editor: Improved error handling with saving
\n* Visual Editor: Simplified the Add Wrapper buttons. They are now on the left-side of the Visual Editor in the Grid Mode
\n* Visual Editor: Headway Image Uploader now uses the WordPress 3.5 Media Uploader
\n* Visual Editor: You can now right-click on blocks and wrappers and add and change the aliases without digging into the options.
\n* Visual Editor: Added icons to the wrappers\' right-click menu
\n* Design Editor: All instances and states are now visible.
\n* Design Editor: Element customizations are now found in the \"Styles\" tab
\n* Design Editor: You can now select parent elements with the inspector
\n* Admin: Removed block repair
\n* Admin: Improved the Getting Started page. Credit: Chris Howard
\n* Admin: Added a What\'s New page after updating.
\n* Admin: Hide Headway Version Number From Menu now defaults to true
\n* Content Block: Fix tag archive description and add term archive description
\n* Content Block: Added support for styling lists in the content block
\n* Content Block: Added ability to style blockquotes in Design Editor
\n* Content Block: You can now style meta hyperlinks in Design Editor
\n* Social Block: Fixed issue with icon positioning
\n* Widget Area Block: Added Default Widgets option that allows you to set default widgets if the Widget Area doesn\'t have any widgets assigned. This is primarily used for Templates so on initial import the Widget Areas look fine.
\n* Templates: Templates now use the same functions that are used to create and rollback snapshots so Templates now include more data and are less prone to hiccups.
\n* WordPress 3.9 Compatibility: Added HTML5 support for image captions and also made them editable with Design Editor
\n* Caching: Headway will now attempt to clear WPEngine memcached and varnish cache when saving and rolling back to a snapshot.

\n

###New Blocks###
\n* Search Block: Add a simple search form to your website with the Search block.
\n* Pin Board: Display your posts and entires with a Pinterest-like arrangement. This block is no longer offered as a plugin and is now in the core of Headway and includes many improvements.

\n

###Bug Fixes###
\n* General: Took care of numerous PHP notices
\n* Listings Block: Defaults are now correctly set on first load
\n* Visual Editor: Tooltips now properly hide
\n* Visual Editor: Fixed an issue with a potential infinite loop with the toggling in the Panel/Block Options API
\n* Visual Editor: Fixed hide/show toggles on the breakpoint select
\n* Visual Editor: WYSIWYG input no longer causes Safari to freeze
\n* Mirroring: Deleting a block or wrapper that\'s being mirrored will now remove the reference of that mirror on the block or wrapper that was mirroring
\n* Text Block: Addressed issue with font size and font color
\n* Wrappers: Deleting wrappers now properly deletes the blocks inside of it and their design instances
\n* Wrappers: Resetting layouts will now correctly delete wrappers. Also, deleting wrappers now removes the design instances

\n

###3.7.1 Changes###
\nThere was a major change with wrapper instance IDs in 3.7 and existing 3.7 beta sites needed updated.

\n

We are launching Headway 3.7 as 3.7.1 for this reason.

\n

3.6.3
\nFebruary 18th, 2014
\n###Additions###
\n* New responsive breakpoint options for blocks
\n* New responsive breakpoint options for wrappers
\n* WooCommerce compatibility layer is now in core! Be sure to change all of your old WooCommerce blocks to Content blocks and it will automatically work.

\n

###Improvements/Changes###
\n* Removed Maintenance tab from Headway » Tools
\n* Licensing: Activate License is now always Save & Activate License
\n* Updated jQuery Fitvids to 1.0.3
\n* Image Block: Block titles can now be added to image blocks

\n

###Bug Fixes###
\n* Fixed PHP notices in Social and Listings blocks
\n* Compiler works correctly with HTTPS even if WordPress’ is_ssl() function is returning false
\n* Responsive Grid: Images with captions are properly responsive
\n* Visual Editor: Template Export now handles relative image paths
\n* Visual Editor: Layout Selector now handles posts with post parent IDs set by plugins that should not be setting post parent IDs
\n* Visual Editor: Grid settings now reflect the appropriate value depending on the Template
\n* Visual Editor: Switching Templates now updates the Live CSS and column/grid options immediately
\n* Widgets: Added missing close span on widget block

\n

3.6.2
\nJanuary 27th, 2014
\n###Bug Fixes###
\n* Header/Footer Scripts: HTML tags are no longer encoded in the text area
\n* Slider Block: Caption will properly stretch when the block is in a fluid wrapper and grid

\n

3.6.1
\nJanuary 26th, 2014
\n###Improvements/Changes###
\n* Admin: Fixed styling for WP 3.8
\n* Content Block: Added a responsive breakpoint to disable column excerpts if the browser is narrower than the block width
\n* Compiler/General CSS: The \'headway_general_css\' filter runs before the Live CSS is added now that way the Live CSS will be added to the end of the general CSS file.
\n* Licensing: Added a new save and activate button for a one step activation process
\n* Licensing: License inputs are now masked
\n* SSL Compatibility: If FORCE_SSL_ADMIN is true and the Visual Editor is accessed in HTTP then it will auto-redirect to HTTPS
\n* Visual Editor: WYSIWYG inputs now allow all form tags
\n* Visual Editor - Layout Selector: You can now revert/reset a layout even if it\'s the last one

\n

###Bug Fixes###
\n* Fixed PHP error with HeadwaySkinLayoutOption::delete()
\n* Content Block: Fixed CSS selector on the Meta Above Content element
\n* Design Editor: Layout-specific customizations now work properly with selectors that have commas in them
\n* Design Editor: Font Selector is now scrollable with Firefox again
\n* Slider Block: Fixed CSS to insure that slider images are properly resized
\n* Slider Block: If there\'s only one image, there will no longer be additional space added to the bottom
\n* Upgrading: Activating Headway no longer sets the database version, this was causing some upgrade issues with 3.6.
\n* Visual Editor: Fixed issues with the WYSIWYG image upload not working on some hosts

\n\";}}','no'),(770,'_transient_hw_customized_layouts_template_base','a:1:{i:0;s:5:\"index\";}','yes'),(771,'_transient_hw_layouts_with_templates_template_base','a:0:{}','yes'),(772,'_transient_hw_block_actions_template_base','a:5:{s:4:\"init\";a:1:{s:5:\"index\";a:2:{i:0;s:16:\"b0a5409f08ead26a\";i:1;s:16:\"bas5409f08ebbd44\";}}s:7:\"enqueue\";a:1:{s:5:\"index\";a:1:{i:0;s:16:\"b0a5409f08ead26a\";}}s:10:\"dynamic-js\";a:1:{s:5:\"index\";a:1:{i:0;s:16:\"b0a5409f08ead26a\";}}s:11:\"dynamic-css\";a:1:{s:5:\"index\";a:2:{i:0;s:16:\"b0a5409f08ead26a\";i:1;s:16:\"bxw5409f08eb4fa7\";}}s:13:\"block-objects\";a:3:{s:16:\"b0a5409f08ead26a\";a:11:{s:2:\"id\";s:16:\"b0a5409f08ead26a\";s:8:\"template\";s:4:\"base\";s:6:\"layout\";s:5:\"index\";s:4:\"type\";s:10:\"navigation\";s:10:\"wrapper_id\";s:16:\"w895409f08e9e1cc\";s:8:\"position\";a:2:{s:4:\"left\";s:1:\"0\";s:3:\"top\";s:3:\"140\";}s:10:\"dimensions\";a:2:{s:5:\"width\";s:2:\"24\";s:6:\"height\";s:2:\"40\";}s:8:\"settings\";a:0:{}s:9:\"mirror_id\";s:0:\"\";s:9:\"legacy_id\";N;s:5:\"class\";s:22:\"HeadwayNavigationBlock\";}s:16:\"bxw5409f08eb4fa7\";a:11:{s:2:\"id\";s:16:\"bxw5409f08eb4fa7\";s:8:\"template\";s:4:\"base\";s:6:\"layout\";s:5:\"index\";s:4:\"type\";s:7:\"content\";s:10:\"wrapper_id\";s:16:\"w895409f08e9e1cc\";s:8:\"position\";a:2:{s:4:\"left\";s:1:\"0\";s:3:\"top\";s:3:\"190\";}s:10:\"dimensions\";a:2:{s:5:\"width\";s:2:\"18\";s:6:\"height\";s:3:\"320\";}s:8:\"settings\";a:0:{}s:9:\"mirror_id\";s:0:\"\";s:9:\"legacy_id\";N;s:5:\"class\";s:19:\"HeadwayContentBlock\";}s:16:\"bas5409f08ebbd44\";a:11:{s:2:\"id\";s:16:\"bas5409f08ebbd44\";s:8:\"template\";s:4:\"base\";s:6:\"layout\";s:5:\"index\";s:4:\"type\";s:11:\"widget-area\";s:10:\"wrapper_id\";s:16:\"w895409f08e9e1cc\";s:8:\"position\";a:2:{s:4:\"left\";s:2:\"18\";s:3:\"top\";s:3:\"190\";}s:10:\"dimensions\";a:2:{s:5:\"width\";s:1:\"6\";s:6:\"height\";s:3:\"270\";}s:8:\"settings\";a:0:{}s:9:\"mirror_id\";s:0:\"\";s:9:\"legacy_id\";N;s:5:\"class\";s:22:\"HeadwayWidgetAreaBlock\";}}}','yes'),(773,'_transient_hw_compiler_template_base','a:7:{s:12:\"editor-style\";a:11:{s:4:\"name\";s:12:\"editor-style\";s:6:\"format\";s:3:\"css\";s:9:\"fragments\";a:1:{i:0;s:34:\"headway_content_block_editor_style\";}s:12:\"dependencies\";a:1:{i:0;s:106:\"/var/www/server/www.petoskeyrobotics.org/wp-content/themes/headway/library/blocks/content/editor-style.php\";}s:9:\"footer-js\";b:1;s:7:\"enqueue\";b:0;s:18:\"require-hard-flush\";b:0;s:12:\"iframe-cache\";b:0;s:13:\"output-inline\";b:0;s:8:\"filename\";N;s:4:\"hash\";N;}s:2:\"ve\";a:11:{s:4:\"name\";s:2:\"ve\";s:6:\"format\";s:4:\"less\";s:9:\"fragments\";a:6:{i:0;s:111:\"/var/www/server/www.petoskeyrobotics.org/wp-content/themes/headway/library/visual-editor/css/editor-mixins.less\";i:1;s:113:\"/var/www/server/www.petoskeyrobotics.org/wp-content/themes/headway/library/visual-editor/css/editor-tooltips.less\";i:2;s:104:\"/var/www/server/www.petoskeyrobotics.org/wp-content/themes/headway/library/visual-editor/css/editor.less\";i:3;s:120:\"/var/www/server/www.petoskeyrobotics.org/wp-content/themes/headway/library/visual-editor/css/editor-layout-selector.less\";i:4;s:111:\"/var/www/server/www.petoskeyrobotics.org/wp-content/themes/headway/library/visual-editor/css/editor-inputs.less\";i:5;s:111:\"/var/www/server/www.petoskeyrobotics.org/wp-content/themes/headway/library/visual-editor/css/editor-design.less\";}s:12:\"dependencies\";a:0:{}s:9:\"footer-js\";b:1;s:7:\"enqueue\";b:0;s:18:\"require-hard-flush\";b:1;s:12:\"iframe-cache\";b:0;s:13:\"output-inline\";b:0;s:8:\"filename\";N;s:4:\"hash\";N;}s:29:\"block-dynamic-js-layout-index\";a:11:{s:4:\"name\";s:29:\"block-dynamic-js-layout-index\";s:6:\"format\";s:2:\"js\";s:9:\"fragments\";a:1:{i:0;a:2:{i:0;s:13:\"HeadwayBlocks\";i:1;s:23:\"output_block_dynamic_js\";}}s:12:\"dependencies\";a:0:{}s:9:\"footer-js\";b:1;s:7:\"enqueue\";b:0;s:18:\"require-hard-flush\";b:0;s:12:\"iframe-cache\";b:0;s:13:\"output-inline\";b:0;s:8:\"filename\";N;s:4:\"hash\";N;}s:7:\"general\";a:11:{s:4:\"name\";s:7:\"general\";s:6:\"format\";s:3:\"css\";s:9:\"fragments\";a:7:{s:9:\"reset.css\";s:94:\"/var/www/server/www.petoskeyrobotics.org/wp-content/themes/headway/library/media/css/reset.css\";s:8:\"grid.css\";s:93:\"/var/www/server/www.petoskeyrobotics.org/wp-content/themes/headway/library/media/css/grid.css\";s:16:\"block-basics.css\";s:101:\"/var/www/server/www.petoskeyrobotics.org/wp-content/themes/headway/library/media/css/block-basics.css\";s:19:\"content-styling.css\";s:104:\"/var/www/server/www.petoskeyrobotics.org/wp-content/themes/headway/library/media/css/content-styling.css\";s:10:\"alerts.css\";s:95:\"/var/www/server/www.petoskeyrobotics.org/wp-content/themes/headway/library/media/css/alerts.css\";s:21:\"dynamic-block-heights\";a:2:{i:0;s:19:\"HeadwayDynamicStyle\";i:1;s:13:\"block_heights\";}s:21:\"dynamic-design-editor\";a:2:{i:0;s:19:\"HeadwayDynamicStyle\";i:1;s:13:\"design_editor\";}}s:12:\"dependencies\";a:1:{i:0;s:98:\"/var/www/server/www.petoskeyrobotics.org/wp-content/themes/headway/library/media/dynamic/style.php\";}s:9:\"footer-js\";b:1;s:7:\"enqueue\";b:1;s:18:\"require-hard-flush\";b:0;s:12:\"iframe-cache\";b:0;s:13:\"output-inline\";b:0;s:8:\"filename\";N;s:4:\"hash\";N;}s:12:\"layout-index\";a:11:{s:4:\"name\";s:12:\"layout-index\";s:6:\"format\";s:3:\"css\";s:9:\"fragments\";a:2:{s:15:\"dynamic-wrapper\";a:2:{i:0;s:19:\"HeadwayDynamicStyle\";i:1;s:7:\"wrapper\";}s:17:\"dynamic-block-css\";a:2:{i:0;s:13:\"HeadwayBlocks\";i:1;s:24:\"output_block_dynamic_css\";}}s:12:\"dependencies\";a:1:{i:0;s:98:\"/var/www/server/www.petoskeyrobotics.org/wp-content/themes/headway/library/media/dynamic/style.php\";}s:9:\"footer-js\";b:1;s:7:\"enqueue\";b:1;s:18:\"require-hard-flush\";b:0;s:12:\"iframe-cache\";b:0;s:13:\"output-inline\";b:0;s:8:\"filename\";N;s:4:\"hash\";N;}s:14:\"ve-iframe-grid\";a:11:{s:4:\"name\";s:14:\"ve-iframe-grid\";s:6:\"format\";s:4:\"less\";s:9:\"fragments\";a:9:{i:0;s:94:\"/var/www/server/www.petoskeyrobotics.org/wp-content/themes/headway/library/media/css/reset.css\";i:1;s:93:\"/var/www/server/www.petoskeyrobotics.org/wp-content/themes/headway/library/media/css/grid.css\";i:2;s:95:\"/var/www/server/www.petoskeyrobotics.org/wp-content/themes/headway/library/media/css/alerts.css\";i:3;s:111:\"/var/www/server/www.petoskeyrobotics.org/wp-content/themes/headway/library/visual-editor/css/editor-loading.css\";i:4;s:111:\"/var/www/server/www.petoskeyrobotics.org/wp-content/themes/headway/library/visual-editor/css/editor-mixins.less\";i:5;s:111:\"/var/www/server/www.petoskeyrobotics.org/wp-content/themes/headway/library/visual-editor/css/editor-iframe.less\";i:6;s:113:\"/var/www/server/www.petoskeyrobotics.org/wp-content/themes/headway/library/visual-editor/css/editor-tooltips.less\";i:7;s:116:\"/var/www/server/www.petoskeyrobotics.org/wp-content/themes/headway/library/visual-editor/css/editor-iframe-grid.less\";i:8;s:126:\"/var/www/server/www.petoskeyrobotics.org/wp-content/themes/headway/library/visual-editor/css/editor-iframe-grid-wireframe.less\";}s:12:\"dependencies\";a:0:{}s:9:\"footer-js\";b:1;s:7:\"enqueue\";b:1;s:18:\"require-hard-flush\";b:1;s:12:\"iframe-cache\";b:1;s:13:\"output-inline\";b:0;s:8:\"filename\";N;s:4:\"hash\";N;}s:22:\"ve-iframe-grid-dynamic\";a:11:{s:4:\"name\";s:22:\"ve-iframe-grid-dynamic\";s:6:\"format\";s:3:\"css\";s:9:\"fragments\";a:1:{i:0;a:2:{i:0;s:19:\"HeadwayDynamicStyle\";i:1;s:7:\"wrapper\";}}s:12:\"dependencies\";a:1:{i:0;s:98:\"/var/www/server/www.petoskeyrobotics.org/wp-content/themes/headway/library/media/dynamic/style.php\";}s:9:\"footer-js\";b:1;s:7:\"enqueue\";b:1;s:18:\"require-hard-flush\";b:0;s:12:\"iframe-cache\";b:0;s:13:\"output-inline\";b:0;s:8:\"filename\";N;s:4:\"hash\";N;}}','yes'); +/*!40000 ALTER TABLE `wp_options` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `wp_postmeta` +-- + +DROP TABLE IF EXISTS `wp_postmeta`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wp_postmeta` ( + `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `post_id` bigint(20) unsigned NOT NULL DEFAULT '0', + `meta_key` varchar(255) DEFAULT NULL, + `meta_value` longtext, + PRIMARY KEY (`meta_id`), + KEY `post_id` (`post_id`), + KEY `meta_key` (`meta_key`) +) ENGINE=InnoDB AUTO_INCREMENT=503 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wp_postmeta` +-- + +LOCK TABLES `wp_postmeta` WRITE; +/*!40000 ALTER TABLE `wp_postmeta` DISABLE KEYS */; +INSERT INTO `wp_postmeta` VALUES (2,4,'_wp_attached_file','2014/09/headway-378.zip'),(3,4,'_wp_attachment_context','upgrader'),(4,5,'_wp_attached_file','2014/09/headway-3781.zip'),(5,5,'_wp_attachment_context','upgrader'),(6,6,'_wp_attached_file','2014/09/headway-3782.zip'),(7,6,'_wp_attachment_context','upgrader'),(29,10,'_edit_last','1'),(30,10,'_wp_page_template','default'),(45,10,'_edit_lock','1409859159:1'),(46,12,'_edit_last','1'),(47,12,'_wp_page_template','default'),(62,12,'_edit_lock','1409859174:1'),(63,14,'_edit_last','1'),(64,14,'_wp_page_template','default'),(79,14,'_edit_lock','1409859196:1'),(80,16,'_edit_last','1'),(81,16,'_wp_page_template','default'),(96,16,'_edit_lock','1409859214:1'),(97,18,'_edit_last','1'),(98,18,'_wp_page_template','default'),(113,18,'_edit_lock','1409931929:1'),(150,1,'_wp_trash_meta_status','publish'),(151,1,'_wp_trash_meta_time','1409860284'),(152,1,'_wp_trash_meta_comments_status','a:1:{i:1;s:1:\"1\";}'),(155,28,'_edit_last','1'),(156,28,'_edit_lock','1409918604:1'),(157,28,'_wp_page_template','default'),(182,35,'_wp_attached_file','2014/09/lake.jpg'),(183,35,'_wp_attachment_metadata','a:5:{s:5:\"width\";i:310;s:6:\"height\";i:130;s:4:\"file\";s:16:\"2014/09/lake.jpg\";s:5:\"sizes\";a:2:{s:9:\"thumbnail\";a:4:{s:4:\"file\";s:16:\"lake-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:6:\"medium\";a:4:{s:4:\"file\";s:16:\"lake-300x125.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:125;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:11:{s:8:\"aperture\";i:0;s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";i:0;s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";i:0;s:3:\"iso\";i:0;s:13:\"shutter_speed\";i:0;s:5:\"title\";s:0:\"\";s:11:\"orientation\";i:0;}}'),(184,36,'_wp_attached_file','2014/09/paladin.jpg'),(185,36,'_wp_attachment_metadata','a:5:{s:5:\"width\";i:310;s:6:\"height\";i:130;s:4:\"file\";s:19:\"2014/09/paladin.jpg\";s:5:\"sizes\";a:2:{s:9:\"thumbnail\";a:4:{s:4:\"file\";s:19:\"paladin-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:6:\"medium\";a:4:{s:4:\"file\";s:19:\"paladin-300x125.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:125;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:11:{s:8:\"aperture\";i:0;s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";i:0;s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";i:0;s:3:\"iso\";i:0;s:13:\"shutter_speed\";i:0;s:5:\"title\";s:0:\"\";s:11:\"orientation\";i:0;}}'),(186,37,'_wp_attached_file','2014/09/g3.jpg'),(187,37,'_wp_attachment_metadata','a:5:{s:5:\"width\";i:310;s:6:\"height\";i:130;s:4:\"file\";s:14:\"2014/09/g3.jpg\";s:5:\"sizes\";a:2:{s:9:\"thumbnail\";a:4:{s:4:\"file\";s:14:\"g3-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:6:\"medium\";a:4:{s:4:\"file\";s:14:\"g3-300x125.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:125;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:11:{s:8:\"aperture\";i:0;s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";i:0;s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";i:0;s:3:\"iso\";i:0;s:13:\"shutter_speed\";i:0;s:5:\"title\";s:0:\"\";s:11:\"orientation\";i:0;}}'),(188,38,'_edit_last','1'),(189,38,'_edit_lock','1409924439:1'),(190,38,'_wp_page_template','default'),(205,40,'_edit_last','1'),(206,40,'_edit_lock','1409924466:1'),(207,40,'_wp_page_template','default'),(222,42,'_edit_last','1'),(223,42,'_edit_lock','1409924530:1'),(224,42,'_wp_page_template','default'),(239,44,'_edit_last','1'),(240,44,'_wp_page_template','default'),(255,44,'_edit_lock','1409924545:1'),(256,46,'_edit_last','1'),(257,46,'_wp_page_template','default'),(272,46,'_edit_lock','1409924578:1'),(273,48,'_edit_last','1'),(274,48,'_wp_page_template','default'),(289,48,'_edit_lock','1409924597:1'),(290,50,'_edit_last','1'),(291,50,'_wp_page_template','default'),(306,50,'_edit_lock','1409924614:1'),(307,52,'_edit_last','1'),(308,52,'_edit_lock','1409924622:1'),(309,52,'_wp_page_template','default'),(324,54,'_edit_last','1'),(325,54,'_wp_page_template','default'),(340,54,'_edit_lock','1409924642:1'),(341,56,'_menu_item_type','post_type'),(342,56,'_menu_item_menu_item_parent','0'),(343,56,'_menu_item_object_id','16'),(344,56,'_menu_item_object','page'),(345,56,'_menu_item_target',''),(346,56,'_menu_item_classes','a:1:{i:0;s:0:\"\";}'),(347,56,'_menu_item_xfn',''),(348,56,'_menu_item_url',''),(350,57,'_menu_item_type','post_type'),(351,57,'_menu_item_menu_item_parent','0'),(352,57,'_menu_item_object_id','14'),(353,57,'_menu_item_object','page'),(354,57,'_menu_item_target',''),(355,57,'_menu_item_classes','a:1:{i:0;s:0:\"\";}'),(356,57,'_menu_item_xfn',''),(357,57,'_menu_item_url',''),(359,58,'_menu_item_type','post_type'),(360,58,'_menu_item_menu_item_parent','0'),(361,58,'_menu_item_object_id','12'),(362,58,'_menu_item_object','page'),(363,58,'_menu_item_target',''),(364,58,'_menu_item_classes','a:1:{i:0;s:0:\"\";}'),(365,58,'_menu_item_xfn',''),(366,58,'_menu_item_url',''),(368,59,'_menu_item_type','post_type'),(369,59,'_menu_item_menu_item_parent','0'),(370,59,'_menu_item_object_id','10'),(371,59,'_menu_item_object','page'),(372,59,'_menu_item_target',''),(373,59,'_menu_item_classes','a:1:{i:0;s:0:\"\";}'),(374,59,'_menu_item_xfn',''),(375,59,'_menu_item_url',''),(377,60,'_menu_item_type','post_type'),(378,60,'_menu_item_menu_item_parent','59'),(379,60,'_menu_item_object_id','40'),(380,60,'_menu_item_object','page'),(381,60,'_menu_item_target',''),(382,60,'_menu_item_classes','a:1:{i:0;s:0:\"\";}'),(383,60,'_menu_item_xfn',''),(384,60,'_menu_item_url',''),(386,61,'_menu_item_type','post_type'),(387,61,'_menu_item_menu_item_parent','59'),(388,61,'_menu_item_object_id','38'),(389,61,'_menu_item_object','page'),(390,61,'_menu_item_target',''),(391,61,'_menu_item_classes','a:1:{i:0;s:0:\"\";}'),(392,61,'_menu_item_xfn',''),(393,61,'_menu_item_url',''),(395,62,'_menu_item_type','post_type'),(396,62,'_menu_item_menu_item_parent','58'),(397,62,'_menu_item_object_id','44'),(398,62,'_menu_item_object','page'),(399,62,'_menu_item_target',''),(400,62,'_menu_item_classes','a:1:{i:0;s:0:\"\";}'),(401,62,'_menu_item_xfn',''),(402,62,'_menu_item_url',''),(404,63,'_menu_item_type','post_type'),(405,63,'_menu_item_menu_item_parent','58'),(406,63,'_menu_item_object_id','42'),(407,63,'_menu_item_object','page'),(408,63,'_menu_item_target',''),(409,63,'_menu_item_classes','a:1:{i:0;s:0:\"\";}'),(410,63,'_menu_item_xfn',''),(411,63,'_menu_item_url',''),(413,64,'_menu_item_type','post_type'),(414,64,'_menu_item_menu_item_parent','57'),(415,64,'_menu_item_object_id','48'),(416,64,'_menu_item_object','page'),(417,64,'_menu_item_target',''),(418,64,'_menu_item_classes','a:1:{i:0;s:0:\"\";}'),(419,64,'_menu_item_xfn',''),(420,64,'_menu_item_url',''),(422,65,'_menu_item_type','post_type'),(423,65,'_menu_item_menu_item_parent','57'),(424,65,'_menu_item_object_id','46'),(425,65,'_menu_item_object','page'),(426,65,'_menu_item_target',''),(427,65,'_menu_item_classes','a:1:{i:0;s:0:\"\";}'),(428,65,'_menu_item_xfn',''),(429,65,'_menu_item_url',''),(431,66,'_menu_item_type','post_type'),(432,66,'_menu_item_menu_item_parent','56'),(433,66,'_menu_item_object_id','54'),(434,66,'_menu_item_object','page'),(435,66,'_menu_item_target',''),(436,66,'_menu_item_classes','a:1:{i:0;s:0:\"\";}'),(437,66,'_menu_item_xfn',''),(438,66,'_menu_item_url',''),(440,67,'_menu_item_type','post_type'),(441,67,'_menu_item_menu_item_parent','56'),(442,67,'_menu_item_object_id','52'),(443,67,'_menu_item_object','page'),(444,67,'_menu_item_target',''),(445,67,'_menu_item_classes','a:1:{i:0;s:0:\"\";}'),(446,67,'_menu_item_xfn',''),(447,67,'_menu_item_url',''),(449,68,'_menu_item_type','post_type'),(450,68,'_menu_item_menu_item_parent','56'),(451,68,'_menu_item_object_id','50'),(452,68,'_menu_item_object','page'),(453,68,'_menu_item_target',''),(454,68,'_menu_item_classes','a:1:{i:0;s:0:\"\";}'),(455,68,'_menu_item_xfn',''),(456,68,'_menu_item_url',''),(458,69,'_wp_attached_file','2014/09/header.jpg'),(459,69,'_wp_attachment_metadata','a:5:{s:5:\"width\";i:960;s:6:\"height\";i:140;s:4:\"file\";s:18:\"2014/09/header.jpg\";s:5:\"sizes\";a:2:{s:9:\"thumbnail\";a:4:{s:4:\"file\";s:18:\"header-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:6:\"medium\";a:4:{s:4:\"file\";s:17:\"header-300x43.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:43;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:11:{s:8:\"aperture\";i:0;s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";i:0;s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";i:0;s:3:\"iso\";i:0;s:13:\"shutter_speed\";i:0;s:5:\"title\";s:0:\"\";s:11:\"orientation\";i:0;}}'),(460,69,'_edit_lock','1409930289:1'),(483,73,'_wp_attached_file','2014/09/headway-379.zip'),(484,73,'_wp_attachment_context','upgrader'),(485,74,'_edit_last','1'),(486,74,'_edit_lock','1409938267:1'),(487,74,'_pingme','1'),(488,74,'_encloseme','1'),(489,74,'_hw_|template=base|_template',''),(490,74,'_hw_hide-title',''),(491,74,'_hw_alternate-title',''),(492,74,'_hw_css-class',''),(493,74,'_hw_post-thumbnail_position',''),(494,74,'_hw_seo_title',''),(495,74,'_hw_seo_description',''),(496,74,'_hw_seo_noindex','false'),(497,74,'_hw_seo_nofollow','false'),(498,74,'_hw_seo_noarchive','false'),(499,74,'_hw_seo_nosnippet','false'),(500,74,'_hw_seo_noodp','false'),(501,74,'_hw_seo_noydir','false'),(502,74,'_hw_seo_redirect-301',''); +/*!40000 ALTER TABLE `wp_postmeta` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `wp_posts` +-- + +DROP TABLE IF EXISTS `wp_posts`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wp_posts` ( + `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `post_author` bigint(20) unsigned NOT NULL DEFAULT '0', + `post_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `post_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `post_content` longtext NOT NULL, + `post_title` text NOT NULL, + `post_excerpt` text NOT NULL, + `post_status` varchar(20) NOT NULL DEFAULT 'publish', + `comment_status` varchar(20) NOT NULL DEFAULT 'open', + `ping_status` varchar(20) NOT NULL DEFAULT 'open', + `post_password` varchar(20) NOT NULL DEFAULT '', + `post_name` varchar(200) NOT NULL DEFAULT '', + `to_ping` text NOT NULL, + `pinged` text NOT NULL, + `post_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `post_modified_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `post_content_filtered` longtext NOT NULL, + `post_parent` bigint(20) unsigned NOT NULL DEFAULT '0', + `guid` varchar(255) NOT NULL DEFAULT '', + `menu_order` int(11) NOT NULL DEFAULT '0', + `post_type` varchar(20) NOT NULL DEFAULT 'post', + `post_mime_type` varchar(100) NOT NULL DEFAULT '', + `comment_count` bigint(20) NOT NULL DEFAULT '0', + PRIMARY KEY (`ID`), + KEY `post_name` (`post_name`), + KEY `type_status_date` (`post_type`,`post_status`,`post_date`,`ID`), + KEY `post_parent` (`post_parent`), + KEY `post_author` (`post_author`) +) ENGINE=InnoDB AUTO_INCREMENT=76 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wp_posts` +-- + +LOCK TABLES `wp_posts` WRITE; +/*!40000 ALTER TABLE `wp_posts` DISABLE KEYS */; +INSERT INTO `wp_posts` VALUES (1,1,'2014-09-04 19:02:06','2014-09-04 19:02:06','Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!','Hello world!','','trash','open','open','','hello-world','','','2014-09-04 19:51:24','2014-09-04 19:51:24','',0,'http://cd0.gaslightmedia.comwww.petoskeyrobotics.org/?p=1',0,'post','',1),(3,1,'2014-09-04 19:02:23','0000-00-00 00:00:00','','Auto Draft','','auto-draft','open','open','','','','','2014-09-04 19:02:23','0000-00-00 00:00:00','',0,'http://cd0.gaslightmedia.comwww.petoskeyrobotics.org/?p=3',0,'post','',0),(4,1,'2014-09-04 19:07:18','2014-09-04 19:07:18','http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/wp-content/uploads/2014/09/headway-378.zip','headway-378.zip','','private','open','open','','headway-378-zip','','','2014-09-04 19:07:18','2014-09-04 19:07:18','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/wp-content/uploads/2014/09/headway-378.zip',0,'attachment','',0),(5,1,'2014-09-04 19:08:14','2014-09-04 19:08:14','http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/wp-content/uploads/2014/09/headway-3781.zip','headway-378.zip','','private','open','open','','headway-378-zip-2','','','2014-09-04 19:08:14','2014-09-04 19:08:14','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/wp-content/uploads/2014/09/headway-3781.zip',0,'attachment','',0),(6,1,'2014-09-04 19:09:20','2014-09-04 19:09:20','http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/wp-content/uploads/2014/09/headway-3782.zip','headway-378.zip','','private','open','open','','headway-378-zip-3','','','2014-09-04 19:09:20','2014-09-04 19:09:20','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/wp-content/uploads/2014/09/headway-3782.zip',0,'attachment','',0),(10,1,'2014-09-04 19:35:00','2014-09-04 19:35:00','','Teams','','publish','open','open','','teams','','','2014-09-04 19:35:00','2014-09-04 19:35:00','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?page_id=10',0,'page','',0),(11,1,'2014-09-04 19:35:00','2014-09-04 19:35:00','','Teams','','inherit','open','open','','10-revision-v1','','','2014-09-04 19:35:00','2014-09-04 19:35:00','',10,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=11',0,'revision','',0),(12,1,'2014-09-04 19:35:14','2014-09-04 19:35:14','','Sponsors','','publish','open','open','','sponsors','','','2014-09-04 19:35:14','2014-09-04 19:35:14','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?page_id=12',0,'page','',0),(13,1,'2014-09-04 19:35:14','2014-09-04 19:35:14','','Sponsors','','inherit','open','open','','12-revision-v1','','','2014-09-04 19:35:14','2014-09-04 19:35:14','',12,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=13',0,'revision','',0),(14,1,'2014-09-04 19:35:38','2014-09-04 19:35:38','','Support Us','','publish','open','open','','support-us','','','2014-09-04 19:35:38','2014-09-04 19:35:38','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?page_id=14',0,'page','',0),(15,1,'2014-09-04 19:35:38','2014-09-04 19:35:38','','Support Us','','inherit','open','open','','14-revision-v1','','','2014-09-04 19:35:38','2014-09-04 19:35:38','',14,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=15',0,'revision','',0),(16,1,'2014-09-04 19:35:53','2014-09-04 19:35:53','','Resources','','publish','open','open','','resources','','','2014-09-04 19:35:53','2014-09-04 19:35:53','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?page_id=16',0,'page','',0),(17,1,'2014-09-04 19:35:53','2014-09-04 19:35:53','','Resources','','inherit','open','open','','16-revision-v1','','','2014-09-04 19:35:53','2014-09-04 19:35:53','',16,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=17',0,'revision','',0),(18,1,'2014-09-04 19:36:23','2014-09-04 19:36:23','','Petoskey Robotics','','publish','open','open','','petoskey-robotics-2','','','2014-09-05 11:47:48','2014-09-05 15:47:48','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?page_id=18',0,'page','',0),(19,1,'2014-09-04 19:36:23','2014-09-04 19:36:23','','Petoskey Robotics','','inherit','open','open','','18-revision-v1','','','2014-09-04 19:36:23','2014-09-04 19:36:23','',18,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=19',0,'revision','',0),(20,1,'2014-09-04 19:41:42','0000-00-00 00:00:00','','Auto Draft','','auto-draft','open','open','','','','','2014-09-04 19:41:42','0000-00-00 00:00:00','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?page_id=20',0,'page','',0),(25,1,'2014-09-04 19:51:24','2014-09-04 19:51:24','Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!','Hello world!','','inherit','open','open','','1-revision-v1','','','2014-09-04 19:51:24','2014-09-04 19:51:24','',1,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=25',0,'revision','',0),(26,1,'2014-09-04 19:59:54','2014-09-04 19:59:54','jj;asdfkld;aeshn;asf','Petoskey Robotics','','inherit','open','open','','18-revision-v1','','','2014-09-04 19:59:54','2014-09-04 19:59:54','',18,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=26',0,'revision','',0),(28,1,'2014-09-05 12:05:45','2014-09-05 12:05:45','','Blog','','publish','open','open','','blog','','','2014-09-05 12:05:45','2014-09-05 12:05:45','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?page_id=28',0,'page','',0),(29,1,'2014-09-05 12:05:45','2014-09-05 12:05:45','','Blog','','inherit','open','open','','28-revision-v1','','','2014-09-05 12:05:45','2014-09-05 12:05:45','',28,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=29',0,'revision','',0),(35,1,'2014-09-05 13:09:10','2014-09-05 13:09:10','','lake','','inherit','open','open','','lake','','','2014-09-05 13:09:10','2014-09-05 13:09:10','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/wp-content/uploads/2014/09/lake.jpg',0,'attachment','image/jpeg',0),(36,1,'2014-09-05 13:09:10','2014-09-05 13:09:10','','paladin','','inherit','open','open','','paladin','','','2014-09-05 13:09:10','2014-09-05 13:09:10','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/wp-content/uploads/2014/09/paladin.jpg',0,'attachment','image/jpeg',0),(37,1,'2014-09-05 13:09:10','2014-09-05 13:09:10','','g3','','inherit','open','open','','g3','','','2014-09-05 13:09:10','2014-09-05 13:09:10','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/wp-content/uploads/2014/09/g3.jpg',0,'attachment','image/jpeg',0),(38,1,'2014-09-05 13:43:01','2014-09-05 13:43:01','','Paladins','','publish','open','open','','paladins','','','2014-09-05 13:43:01','2014-09-05 13:43:01','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?page_id=38',0,'page','',0),(39,1,'2014-09-05 13:43:01','2014-09-05 13:43:01','','Paladins','','inherit','open','open','','38-revision-v1','','','2014-09-05 13:43:01','2014-09-05 13:43:01','',38,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=39',0,'revision','',0),(40,1,'2014-09-05 13:43:17','2014-09-05 13:43:17','','G3','','publish','open','open','','g3','','','2014-09-05 13:43:17','2014-09-05 13:43:17','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?page_id=40',0,'page','',0),(41,1,'2014-09-05 13:43:17','2014-09-05 13:43:17','','G3','','inherit','open','open','','40-revision-v1','','','2014-09-05 13:43:17','2014-09-05 13:43:17','',40,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=41',0,'revision','',0),(42,1,'2014-09-05 13:44:30','2014-09-05 13:44:30','','Main Sponsors','','publish','open','open','','main-sponsors','','','2014-09-05 13:44:30','2014-09-05 13:44:30','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?page_id=42',0,'page','',0),(43,1,'2014-09-05 13:44:30','2014-09-05 13:44:30','','Main Sponsors','','inherit','open','open','','42-revision-v1','','','2014-09-05 13:44:30','2014-09-05 13:44:30','',42,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=43',0,'revision','',0),(44,1,'2014-09-05 13:44:47','2014-09-05 13:44:47','','Geek Squad','','publish','open','open','','geek-squad','','','2014-09-05 13:44:47','2014-09-05 13:44:47','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?page_id=44',0,'page','',0),(45,1,'2014-09-05 13:44:47','2014-09-05 13:44:47','','Geek Squad','','inherit','open','open','','44-revision-v1','','','2014-09-05 13:44:47','2014-09-05 13:44:47','',44,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=45',0,'revision','',0),(46,1,'2014-09-05 13:45:09','2014-09-05 13:45:09','',' Become a Sponsor','','publish','open','open','','become-a-sponsor','','','2014-09-05 13:45:09','2014-09-05 13:45:09','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?page_id=46',0,'page','',0),(47,1,'2014-09-05 13:45:09','2014-09-05 13:45:09','',' Become a Sponsor','','inherit','open','open','','46-revision-v1','','','2014-09-05 13:45:09','2014-09-05 13:45:09','',46,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=47',0,'revision','',0),(48,1,'2014-09-05 13:45:29','2014-09-05 13:45:29','','Make a Donation','','publish','open','open','','make-a-donation','','','2014-09-05 13:45:29','2014-09-05 13:45:29','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?page_id=48',0,'page','',0),(49,1,'2014-09-05 13:45:29','2014-09-05 13:45:29','','Make a Donation','','inherit','open','open','','48-revision-v1','','','2014-09-05 13:45:29','2014-09-05 13:45:29','',48,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=49',0,'revision','',0),(50,1,'2014-09-05 13:45:47','2014-09-05 13:45:47','',' Logos','','publish','open','open','','logos','','','2014-09-05 13:45:47','2014-09-05 13:45:47','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?page_id=50',0,'page','',0),(51,1,'2014-09-05 13:45:47','2014-09-05 13:45:47','',' Logos','','inherit','open','open','','50-revision-v1','','','2014-09-05 13:45:47','2014-09-05 13:45:47','',50,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=51',0,'revision','',0),(52,1,'2014-09-05 13:46:04','2014-09-05 13:46:04','','Meeting Notes','','publish','open','open','','meeting-notes','','','2014-09-05 13:46:04','2014-09-05 13:46:04','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?page_id=52',0,'page','',0),(53,1,'2014-09-05 13:46:04','2014-09-05 13:46:04','','Meeting Notes','','inherit','open','open','','52-revision-v1','','','2014-09-05 13:46:04','2014-09-05 13:46:04','',52,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=53',0,'revision','',0),(54,1,'2014-09-05 13:46:18','2014-09-05 13:46:18','','Committee Members','','publish','open','open','','committee-members','','','2014-09-05 13:46:18','2014-09-05 13:46:18','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?page_id=54',0,'page','',0),(55,1,'2014-09-05 13:46:18','2014-09-05 13:46:18','','Committee Members','','inherit','open','open','','54-revision-v1','','','2014-09-05 13:46:18','2014-09-05 13:46:18','',54,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=55',0,'revision','',0),(56,1,'2014-09-05 13:49:12','2014-09-05 13:49:12',' ','','','publish','open','open','','56','','','2014-09-05 12:40:17','2014-09-05 16:40:17','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=56',10,'nav_menu_item','',0),(57,1,'2014-09-05 13:49:12','2014-09-05 13:49:12',' ','','','publish','open','open','','57','','','2014-09-05 12:40:17','2014-09-05 16:40:17','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=57',7,'nav_menu_item','',0),(58,1,'2014-09-05 13:49:11','2014-09-05 13:49:11',' ','','','publish','open','open','','58','','','2014-09-05 12:40:17','2014-09-05 16:40:17','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=58',4,'nav_menu_item','',0),(59,1,'2014-09-05 13:49:11','2014-09-05 13:49:11',' ','','','publish','open','open','','59','','','2014-09-05 12:40:16','2014-09-05 16:40:16','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=59',1,'nav_menu_item','',0),(60,1,'2014-09-05 13:49:11','2014-09-05 13:49:11',' ','','','publish','open','open','','60','','','2014-09-05 12:40:17','2014-09-05 16:40:17','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=60',2,'nav_menu_item','',0),(61,1,'2014-09-05 13:49:11','2014-09-05 13:49:11',' ','','','publish','open','open','','61','','','2014-09-05 12:40:17','2014-09-05 16:40:17','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=61',3,'nav_menu_item','',0),(62,1,'2014-09-05 13:49:12','2014-09-05 13:49:12',' ','','','publish','open','open','','62','','','2014-09-05 12:40:17','2014-09-05 16:40:17','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=62',6,'nav_menu_item','',0),(63,1,'2014-09-05 13:49:12','2014-09-05 13:49:12',' ','','','publish','open','open','','63','','','2014-09-05 12:40:17','2014-09-05 16:40:17','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=63',5,'nav_menu_item','',0),(64,1,'2014-09-05 13:49:12','2014-09-05 13:49:12',' ','','','publish','open','open','','64','','','2014-09-05 12:40:17','2014-09-05 16:40:17','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=64',9,'nav_menu_item','',0),(65,1,'2014-09-05 13:49:12','2014-09-05 13:49:12',' ','','','publish','open','open','','65','','','2014-09-05 12:40:17','2014-09-05 16:40:17','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=65',8,'nav_menu_item','',0),(66,1,'2014-09-05 13:49:13','2014-09-05 13:49:13',' ','','','publish','open','open','','66','','','2014-09-05 12:40:17','2014-09-05 16:40:17','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=66',13,'nav_menu_item','',0),(67,1,'2014-09-05 13:49:13','2014-09-05 13:49:13',' ','','','publish','open','open','','67','','','2014-09-05 12:40:17','2014-09-05 16:40:17','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=67',12,'nav_menu_item','',0),(68,1,'2014-09-05 13:49:13','2014-09-05 13:49:13',' ','','','publish','open','open','','68','','','2014-09-05 12:40:17','2014-09-05 16:40:17','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=68',11,'nav_menu_item','',0),(69,1,'2014-09-05 15:06:02','2014-09-05 15:06:02','','header','','inherit','open','open','','header','','','2014-09-05 15:06:02','2014-09-05 15:06:02','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/wp-content/uploads/2014/09/header.jpg',0,'attachment','image/jpeg',0),(71,1,'2014-09-05 11:44:32','2014-09-05 15:44:32','','Petoskey Robotics','','inherit','open','open','','18-autosave-v1','','','2014-09-05 11:44:32','2014-09-05 15:44:32','',18,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=71',0,'revision','',0),(72,1,'2014-09-05 11:47:12','2014-09-05 15:47:12','','Petoskey Robotics','','inherit','open','open','','18-revision-v1','','','2014-09-05 11:47:12','2014-09-05 15:47:12','',18,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=72',0,'revision','',0),(73,1,'2014-09-05 12:13:37','2014-09-05 16:13:37','http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/wp-content/uploads/2014/09/headway-379.zip','headway-379.zip','','private','open','open','','headway-379-zip','','','2014-09-05 12:13:37','2014-09-05 16:13:37','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/wp-content/uploads/2014/09/headway-379.zip',0,'attachment','',0),(74,1,'2014-09-05 13:33:09','2014-09-05 17:33:09','test','test','','publish','open','open','','test','','','2014-09-05 13:33:09','2014-09-05 17:33:09','',0,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=74',0,'post','',0),(75,1,'2014-09-05 13:33:09','2014-09-05 17:33:09','test','test','','inherit','open','open','','74-revision-v1','','','2014-09-05 13:33:09','2014-09-05 17:33:09','',74,'http://cd0.gaslightmedia.com/www.petoskeyrobotics.org/index.php/?p=75',0,'revision','',0); +/*!40000 ALTER TABLE `wp_posts` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `wp_term_relationships` +-- + +DROP TABLE IF EXISTS `wp_term_relationships`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wp_term_relationships` ( + `object_id` bigint(20) unsigned NOT NULL DEFAULT '0', + `term_taxonomy_id` bigint(20) unsigned NOT NULL DEFAULT '0', + `term_order` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`object_id`,`term_taxonomy_id`), + KEY `term_taxonomy_id` (`term_taxonomy_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wp_term_relationships` +-- + +LOCK TABLES `wp_term_relationships` WRITE; +/*!40000 ALTER TABLE `wp_term_relationships` DISABLE KEYS */; +INSERT INTO `wp_term_relationships` VALUES (1,1,0),(56,3,0),(57,3,0),(58,3,0),(59,3,0),(60,3,0),(61,3,0),(62,3,0),(63,3,0),(64,3,0),(65,3,0),(66,3,0),(67,3,0),(68,3,0),(74,1,0); +/*!40000 ALTER TABLE `wp_term_relationships` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `wp_term_taxonomy` +-- + +DROP TABLE IF EXISTS `wp_term_taxonomy`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wp_term_taxonomy` ( + `term_taxonomy_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `term_id` bigint(20) unsigned NOT NULL DEFAULT '0', + `taxonomy` varchar(32) NOT NULL DEFAULT '', + `description` longtext NOT NULL, + `parent` bigint(20) unsigned NOT NULL DEFAULT '0', + `count` bigint(20) NOT NULL DEFAULT '0', + PRIMARY KEY (`term_taxonomy_id`), + UNIQUE KEY `term_id_taxonomy` (`term_id`,`taxonomy`), + KEY `taxonomy` (`taxonomy`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wp_term_taxonomy` +-- + +LOCK TABLES `wp_term_taxonomy` WRITE; +/*!40000 ALTER TABLE `wp_term_taxonomy` DISABLE KEYS */; +INSERT INTO `wp_term_taxonomy` VALUES (1,1,'category','',0,1),(3,3,'nav_menu','',0,13); +/*!40000 ALTER TABLE `wp_term_taxonomy` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `wp_terms` +-- + +DROP TABLE IF EXISTS `wp_terms`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wp_terms` ( + `term_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(200) NOT NULL DEFAULT '', + `slug` varchar(200) NOT NULL DEFAULT '', + `term_group` bigint(10) NOT NULL DEFAULT '0', + PRIMARY KEY (`term_id`), + UNIQUE KEY `slug` (`slug`), + KEY `name` (`name`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wp_terms` +-- + +LOCK TABLES `wp_terms` WRITE; +/*!40000 ALTER TABLE `wp_terms` DISABLE KEYS */; +INSERT INTO `wp_terms` VALUES (1,'Uncategorized','uncategorized',0),(3,'Menu','menu',0); +/*!40000 ALTER TABLE `wp_terms` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `wp_usermeta` +-- + +DROP TABLE IF EXISTS `wp_usermeta`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wp_usermeta` ( + `umeta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `user_id` bigint(20) unsigned NOT NULL DEFAULT '0', + `meta_key` varchar(255) DEFAULT NULL, + `meta_value` longtext, + PRIMARY KEY (`umeta_id`), + KEY `user_id` (`user_id`), + KEY `meta_key` (`meta_key`) +) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wp_usermeta` +-- + +LOCK TABLES `wp_usermeta` WRITE; +/*!40000 ALTER TABLE `wp_usermeta` DISABLE KEYS */; +INSERT INTO `wp_usermeta` VALUES (1,1,'nickname','petoskeyrobotics'),(2,1,'first_name',''),(3,1,'last_name',''),(4,1,'description',''),(5,1,'rich_editing','true'),(6,1,'comment_shortcuts','false'),(7,1,'admin_color','fresh'),(8,1,'use_ssl','0'),(9,1,'show_admin_bar_front','false'),(10,1,'wp_capabilities','a:1:{s:13:\"administrator\";b:1;}'),(11,1,'wp_user_level','10'),(12,1,'dismissed_wp_pointers','wp350_media,wp360_revisions,wp360_locks,wp390_widgets'),(13,1,'show_welcome_panel','1'),(15,1,'wp_dashboard_quick_press_last_post_id','3'),(16,1,'twitter',''),(17,1,'facebook',''),(18,1,'google_profile',''),(19,1,'about_page_URL',''),(20,1,'session_tokens','a:13:{s:64:\"60b7329a8576b326670a41d9a122d7af3a2e7f6c7add19092f59405fb54babc9\";i:1410031532;s:64:\"47881cc3f9003ee7419d1318f9f6842c4e7aca89c2c4dd042823c0938d72b430\";i:1411068592;s:64:\"512c53e4773fe775bb8ea6b288d064b636dbf5c445947d824f261ed787bbd438\";i:1411138134;s:64:\"591806b4868df1828f8d3b1cac54c5c2055eab47a0eb1726216ee3f0915be6cb\";i:1410101412;s:64:\"8d47d290d2640a5cdcd64800084acee76b18244df44374475c5ce44c2a2cc791\";i:1411138478;s:64:\"fbb002826ed75f49278b4f9cf553ed4758289b58c5811dd2ad57612e14ce7616\";i:1410101695;s:64:\"a5302f73920e2de37d67f84fc1dcf08140594fa7058a265eaed37e2ec410b456\";i:1411138501;s:64:\"a0ff9a3ec7ff7a15c058418e60070a736c2a1689ef139763973d7478a1646aeb\";i:1411138555;s:64:\"37dedc50a3b0f6f3b76e732a4bbbd75271afe2a642d9ba54d324404071ac23be\";i:1411138705;s:64:\"bb062035722c192df89012b0eaf75671abeeadbf2c24d13f8aa765ebca772ab5\";i:1411139008;s:64:\"8df770160503ef7ea62c1785ff05f40a8f935275c6f573d78b698b3b5cef3dab\";i:1410104290;s:64:\"96e61a81d9dea684d6de410c66c202ad18104065ed87c25fce784a64a7ae34b0\";i:1410109492;s:64:\"1472cec4f7340014db50df7283ff08961eb4e496378cb1b7a2cdbc3ee9512ccf\";i:1410110731;}'),(21,1,'managenav-menuscolumnshidden','a:4:{i:0;s:11:\"link-target\";i:1;s:11:\"css-classes\";i:2;s:3:\"xfn\";i:3;s:11:\"description\";}'),(22,1,'metaboxhidden_nav-menus','a:2:{i:0;s:8:\"add-post\";i:1;s:12:\"add-post_tag\";}'),(23,1,'nav_menu_recently_edited','3'),(24,1,'wp_media_library_mode','grid'),(25,1,'wp_user-settings','libraryContent=browse'),(26,1,'wp_user-settings-time','1409922461'); +/*!40000 ALTER TABLE `wp_usermeta` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `wp_users` +-- + +DROP TABLE IF EXISTS `wp_users`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wp_users` ( + `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `user_login` varchar(60) NOT NULL DEFAULT '', + `user_pass` varchar(64) NOT NULL DEFAULT '', + `user_nicename` varchar(50) NOT NULL DEFAULT '', + `user_email` varchar(100) NOT NULL DEFAULT '', + `user_url` varchar(100) NOT NULL DEFAULT '', + `user_registered` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `user_activation_key` varchar(60) NOT NULL DEFAULT '', + `user_status` int(11) NOT NULL DEFAULT '0', + `display_name` varchar(250) NOT NULL DEFAULT '', + PRIMARY KEY (`ID`), + KEY `user_login_key` (`user_login`), + KEY `user_nicename` (`user_nicename`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wp_users` +-- + +LOCK TABLES `wp_users` WRITE; +/*!40000 ALTER TABLE `wp_users` DISABLE KEYS */; +INSERT INTO `wp_users` VALUES (1,'petoskeyrobotics','$P$BiSPBX7yBuTixA8u/9Wx2ZR9A6N0ZY0','petoskeyrobotics','dev@gaslightmedia.com','','2014-09-04 19:02:06','',0,'petoskeyrobotics'); +/*!40000 ALTER TABLE `wp_users` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2014-09-05 13:45:59 diff --git a/test.php b/test.php new file mode 100644 index 0000000..8c7d4de --- /dev/null +++ b/test.php @@ -0,0 +1,7 @@ + diff --git a/wp-content/ngg_styles/nggallery.css b/wp-content/ngg_styles/nggallery.css new file mode 100644 index 0000000..4ec8118 --- /dev/null +++ b/wp-content/ngg_styles/nggallery.css @@ -0,0 +1,8 @@ +/* +CSS Name: Default Styles +Description: NextGEN Default Gallery Stylesheet +Author: Photocrati Media +Version: 2.12 + +This stylesheet is provided to allow users the ability of overriding the default styles for all display types +*/ \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/css/admin.css b/wp-content/plugins/admin-menu-editor/css/admin.css new file mode 100644 index 0000000..9cacfa2 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/css/admin.css @@ -0,0 +1,103 @@ +/** + * Miscellaneous menu styles that can be used on all admin pages. + */ + +/* + * Submenu separators. + */ +hr.ws-submenu-separator { + display: block; + margin: 2px 0; + padding: 0; + height: 0; + + border-width: 1px 0 0 0; + border-style: solid; + border-color: #ccc; +} + +/* Custom separator style suggested by a customer (Slavo) */ +/* +#adminmenu .ws-submenu-separator { + border-bottom: none; + border-top: 1px dotted rgba(0,0,0,.3); + width: 90%; +} +*/ + +/* S2Member separator style */ +/* +#adminmenu .ws-submenu-separator { + display: block; + border: 0; + margin: 1px 0 1px -5px; + padding: 0; + height: 1px; + line-height: 1px; + background: #CCCCCC; +} +*/ + +/* Override .wp-menu-separator styles as they don't work too well in submenus. */ +#adminmenu .wp-submenu li.ws-submenu-separator-wrap { + margin: 0 0 0 0; + padding: 0; + height: inherit; +} + +/* No pointer/hand on separators. */ +#adminmenu li.ws-submenu-separator-wrap a { + cursor: default; +} + +/* No extra margin in submenus with icons. The selector uses the URL prefix because we can't control the link class. + * li.ws-submenu-separator-wrap would also work, but it's added via JS so there's an undesirable delay (FOUC). + */ +#adminmenu .ame-has-submenu-icons ul.wp-submenu li a[href^="#submenu-separator-"] { + margin-left: 0; +} + + +/* + * Submenu icons. + */ +.ame-submenu-icon { + display: inline-block; + padding-right: 8px; + min-width: 20px; + + /* + Dashicons are 20x20 by default and some of them look pretty bad at smaller sizes. Submenu item titles are 16px high + by default. So lets hack some negative margins to make a 20px icon fit in 16px. With the current admin UI styles + it looks okay - submenu items are ~28px high when including padding/margins, so there's no visual overlap. + */ + height: 20px; + margin-top: -2px; + margin-bottom: -2px; + + vertical-align: top; + + margin-left: -28px; + float: left; + + /* Center image-based icons. Doesn't matter for dashicons. */ + text-align: center; +} + +#adminmenu .ame-has-submenu-icons ul.wp-submenu li a { + /* Push all submenus to the right to ensure that items with and without icons line up nicely. */ + margin-left: 24px; +} + +#adminmenu .ame-submenu-icon img { + padding-top: 2px; + + opacity: 0.6; + filter: alpha(opacity=60); +} + +#adminmenu .wp-submenu li:hover .ame-submenu-icon img, +#adminmenu .wp-submenu li.current .ame-submenu-icon img { + opacity: 1; + filter: alpha(opacity=100); +} \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/css/jquery.qtip.css b/wp-content/plugins/admin-menu-editor/css/jquery.qtip.css new file mode 100644 index 0000000..fb7fe24 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/css/jquery.qtip.css @@ -0,0 +1,573 @@ +/*! qTip2 - Pretty powerful tooltips - v2.0.0 - 2012-09-10 +* http://craigsworks.com/projects/qtip2/ +* Copyright (c) 2012 Craig Michael Thompson; Licensed MIT, GPL */ + +/* Fluid class for determining actual width in IE */ +#qtip-rcontainer{ + position: absolute; + left: -28000px; + top: -28000px; + display: block; + visibility: hidden; +} + + /* Fluid class for determining actual width in IE */ + #qtip-rcontainer .ui-tooltip{ + display: block !important; + visibility: hidden !important; + position: static !important; + float: left !important; + } + +/* Core qTip styles */ +.ui-tooltip, .qtip{ + position: absolute; + left: -28000px; + top: -28000px; + display: none; + + max-width: 280px; + min-width: 50px; + + font-size: 10.5px; + line-height: 12px; +} + + .ui-tooltip-content{ + position: relative; + padding: 5px 9px; + overflow: hidden; + + text-align: left; + word-wrap: break-word; + } + + .ui-tooltip-titlebar{ + position: relative; + min-height: 14px; + padding: 5px 35px 5px 10px; + overflow: hidden; + + border-width: 0 0 1px; + font-weight: bold; + } + + .ui-tooltip-titlebar + .ui-tooltip-content{ border-top-width: 0 !important; } + + /* Default close button class */ + .ui-tooltip-titlebar .ui-state-default{ + position: absolute; + right: 4px; + top: 50%; + margin-top: -9px; + + cursor: pointer; + outline: medium none; + + border-width: 1px; + border-style: solid; + } + + * html .ui-tooltip-titlebar .ui-state-default{ top: 16px; } /* IE fix */ + + .ui-tooltip-titlebar .ui-icon, + .ui-tooltip-icon .ui-icon{ + display: block; + text-indent: -1000em; + direction: ltr; + } + + .ui-tooltip-icon, .ui-tooltip-icon .ui-icon{ + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + text-decoration: none; + } + + .ui-tooltip-icon .ui-icon{ + width: 18px; + height: 14px; + + text-align: center; + text-indent: 0; + font: normal bold 10px/13px Tahoma,sans-serif; + + color: inherit; + background: transparent none no-repeat -100em -100em; + } + + +/* Applied to 'focused' tooltips e.g. most recently displayed/interacted with */ +.ui-tooltip-focus{} + +/* Applied on hover of tooltips i.e. added/removed on mouseenter/mouseleave respectively */ +.ui-tooltip-hover{} + +/* Default tooltip style */ +.ui-tooltip-default{ + border-width: 1px; + border-style: solid; + border-color: #F1D031; + + background-color: #FFFFA3; + color: #555; +} + + .ui-tooltip-default .ui-tooltip-titlebar{ + background-color: #FFEF93; + } + + .ui-tooltip-default .ui-tooltip-icon{ + border-color: #CCC; + background: #F1F1F1; + color: #777; + } + + .ui-tooltip-default .ui-tooltip-titlebar .ui-state-hover{ + border-color: #AAA; + color: #111; + } + + +/*! Light tooltip style */ +.ui-tooltip-light{ + background-color: white; + border-color: #E2E2E2; + color: #454545; +} + + .ui-tooltip-light .ui-tooltip-titlebar{ + background-color: #f1f1f1; + } + + +/*! Dark tooltip style */ +.ui-tooltip-dark{ + background-color: #505050; + border-color: #303030; + color: #f3f3f3; +} + + .ui-tooltip-dark .ui-tooltip-titlebar{ + background-color: #404040; + } + + .ui-tooltip-dark .ui-tooltip-icon{ + border-color: #444; + } + + .ui-tooltip-dark .ui-tooltip-titlebar .ui-state-hover{ + border-color: #303030; + } + + +/*! Cream tooltip style */ +.ui-tooltip-cream{ + background-color: #FBF7AA; + border-color: #F9E98E; + color: #A27D35; +} + + .ui-tooltip-cream .ui-tooltip-titlebar{ + background-color: #F0DE7D; + } + + .ui-tooltip-cream .ui-state-default .ui-tooltip-icon{ + background-position: -82px 0; + } + + +/*! Red tooltip style */ +.ui-tooltip-red{ + background-color: #F78B83; + border-color: #D95252; + color: #912323; +} + + .ui-tooltip-red .ui-tooltip-titlebar{ + background-color: #F06D65; + } + + .ui-tooltip-red .ui-state-default .ui-tooltip-icon{ + background-position: -102px 0; + } + + .ui-tooltip-red .ui-tooltip-icon{ + border-color: #D95252; + } + + .ui-tooltip-red .ui-tooltip-titlebar .ui-state-hover{ + border-color: #D95252; + } + + +/*! Green tooltip style */ +.ui-tooltip-green{ + background-color: #CAED9E; + border-color: #90D93F; + color: #3F6219; +} + + .ui-tooltip-green .ui-tooltip-titlebar{ + background-color: #B0DE78; + } + + .ui-tooltip-green .ui-state-default .ui-tooltip-icon{ + background-position: -42px 0; + } + + +/*! Blue tooltip style */ +.ui-tooltip-blue{ + background-color: #E5F6FE; + border-color: #ADD9ED; + color: #5E99BD; +} + + .ui-tooltip-blue .ui-tooltip-titlebar{ + background-color: #D0E9F5; + } + + .ui-tooltip-blue .ui-state-default .ui-tooltip-icon{ + background-position: -2px 0; + } + + +/* Add shadows to your tooltips in: FF3+, Chrome 2+, Opera 10.6+, IE9+, Safari 2+ */ +.ui-tooltip-shadow{ + -webkit-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15); + -moz-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15); + box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15); +} + +/* Add rounded corners to your tooltips in: FF3+, Chrome 2+, Opera 10.6+, IE9+, Safari 2+ */ +.ui-tooltip-rounded, +.ui-tooltip-tipsy, +.ui-tooltip-bootstrap{ + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius: 5px; +} + +/* Youtube tooltip style */ +.ui-tooltip-youtube{ + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + + -webkit-box-shadow: 0 0 3px #333; + -moz-box-shadow: 0 0 3px #333; + box-shadow: 0 0 3px #333; + + color: white; + border-width: 0; + + background: #4A4A4A; + background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0,#4A4A4A),color-stop(100%,black)); + background-image: -webkit-linear-gradient(top,#4A4A4A 0,black 100%); + background-image: -moz-linear-gradient(top,#4A4A4A 0,black 100%); + background-image: -ms-linear-gradient(top,#4A4A4A 0,black 100%); + background-image: -o-linear-gradient(top,#4A4A4A 0,black 100%); +} + + .ui-tooltip-youtube .ui-tooltip-titlebar{ + background-color: #4A4A4A; + background-color: rgba(0,0,0,0); + } + + .ui-tooltip-youtube .ui-tooltip-content{ + padding: .75em; + font: 12px arial,sans-serif; + + filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000); + -ms-filter: "progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);"; + } + + .ui-tooltip-youtube .ui-tooltip-icon{ + border-color: #222; + } + + .ui-tooltip-youtube .ui-tooltip-titlebar .ui-state-hover{ + border-color: #303030; + } + + +/* jQuery TOOLS Tooltip style */ +.ui-tooltip-jtools{ + background: #232323; + background: rgba(0, 0, 0, 0.7); + background-image: -webkit-gradient(linear, left top, left bottom, from(#717171), to(#232323)); + background-image: -moz-linear-gradient(top, #717171, #232323); + background-image: -webkit-linear-gradient(top, #717171, #232323); + background-image: -ms-linear-gradient(top, #717171, #232323); + background-image: -o-linear-gradient(top, #717171, #232323); + + border: 2px solid #ddd; + border: 2px solid rgba(241,241,241,1); + + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + + -webkit-box-shadow: 0 0 12px #333; + -moz-box-shadow: 0 0 12px #333; + box-shadow: 0 0 12px #333; +} + + /* IE Specific */ + .ui-tooltip-jtools .ui-tooltip-titlebar{ + background-color: transparent; + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)"; + } + .ui-tooltip-jtools .ui-tooltip-content{ + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)"; + } + + .ui-tooltip-jtools .ui-tooltip-titlebar, + .ui-tooltip-jtools .ui-tooltip-content{ + background: transparent; + color: white; + border: 0 dashed transparent; + } + + .ui-tooltip-jtools .ui-tooltip-icon{ + border-color: #555; + } + + .ui-tooltip-jtools .ui-tooltip-titlebar .ui-state-hover{ + border-color: #333; + } + + +/* Cluetip style */ +.ui-tooltip-cluetip{ + -webkit-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4); + -moz-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4); + box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4); + + background-color: #D9D9C2; + color: #111; + border: 0 dashed transparent; +} + + .ui-tooltip-cluetip .ui-tooltip-titlebar{ + background-color: #87876A; + color: white; + border: 0 dashed transparent; + } + + .ui-tooltip-cluetip .ui-tooltip-icon{ + border-color: #808064; + } + + .ui-tooltip-cluetip .ui-tooltip-titlebar .ui-state-hover{ + border-color: #696952; + color: #696952; + } + + +/* Tipsy style */ +.ui-tooltip-tipsy{ + background: black; + background: rgba(0, 0, 0, .87); + + color: white; + border: 0 solid transparent; + + font-size: 11px; + font-family: 'Lucida Grande', sans-serif; + font-weight: bold; + line-height: 16px; + text-shadow: 0 1px black; +} + + .ui-tooltip-tipsy .ui-tooltip-titlebar{ + padding: 6px 35px 0 10; + background-color: transparent; + } + + .ui-tooltip-tipsy .ui-tooltip-content{ + padding: 6px 10; + } + + .ui-tooltip-tipsy .ui-tooltip-icon{ + border-color: #222; + text-shadow: none; + } + + .ui-tooltip-tipsy .ui-tooltip-titlebar .ui-state-hover{ + border-color: #303030; + } + + +/* Tipped style */ +.ui-tooltip-tipped{ + border: 3px solid #959FA9; + + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + + background-color: #F9F9F9; + color: #454545; + + font-weight: normal; + font-family: serif; +} + + .ui-tooltip-tipped .ui-tooltip-titlebar{ + border-bottom-width: 0; + + color: white; + background: #3A79B8; + background-image: -webkit-gradient(linear, left top, left bottom, from(#3A79B8), to(#2E629D)); + background-image: -webkit-linear-gradient(top, #3A79B8, #2E629D); + background-image: -moz-linear-gradient(top, #3A79B8, #2E629D); + background-image: -ms-linear-gradient(top, #3A79B8, #2E629D); + background-image: -o-linear-gradient(top, #3A79B8, #2E629D); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)"; + } + + .ui-tooltip-tipped .ui-tooltip-icon{ + border: 2px solid #285589; + background: #285589; + } + + .ui-tooltip-tipped .ui-tooltip-icon .ui-icon{ + background-color: #FBFBFB; + color: #555; + } + + +/** + * Twitter Bootstrap style. + * + * Tested with IE 8, IE 9, Chrome 18, Firefox 9, Opera 11. + * Does not work with IE 7. + */ +.ui-tooltip-bootstrap{ + font-size: 13px; + line-height: 18px; + + color: #333333; + background-color: #ffffff; + + + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + + *border-right-width: 2px; + *border-bottom-width: 2px; + + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; +} + + .ui-tooltip-bootstrap .ui-tooltip-titlebar{ + font-size: 18px; + line-height: 22px; + + border-bottom: 1px solid #ccc; + background-color: transparent; + } + + .ui-tooltip-bootstrap .ui-tooltip-titlebar .ui-state-default{ + right: 9px; top: 49%; + border-style: none; + } + + .ui-tooltip-bootstrap .ui-tooltip-icon{ + background: white; + } + + .ui-tooltip-bootstrap .ui-tooltip-icon .ui-icon{ + width: auto; + height: auto; + float: right; + font-size: 20px; + font-weight: bold; + line-height: 18px; + color: #000000; + text-shadow: 0 1px 0 #ffffff; + opacity: 0.2; + filter: alpha(opacity=20); + } + + .ui-tooltip-bootstrap .ui-tooltip-icon .ui-icon:hover{ + color: #000000; + text-decoration: none; + cursor: pointer; + opacity: 0.4; + filter: alpha(opacity=40); + } + + +/* IE9 fix - removes all filters */ +.ui-tooltip:not(.ie9haxors) div.ui-tooltip-content, +.ui-tooltip:not(.ie9haxors) div.ui-tooltip-titlebar{ + filter: none; + -ms-filter: none; +} + + +/* Tips plugin */ +.ui-tooltip .ui-tooltip-tip{ + margin: 0 auto; + overflow: hidden; + z-index: 10; +} + + .ui-tooltip .ui-tooltip-tip, + .ui-tooltip .ui-tooltip-tip .qtip-vml{ + position: absolute; + + line-height: 0.1px !important; + font-size: 0.1px !important; + color: #123456; + + background: transparent; + border: 0 dashed transparent; + } + + .ui-tooltip .ui-tooltip-tip canvas{ top: 0; left: 0; } + + .ui-tooltip .ui-tooltip-tip .qtip-vml{ + behavior: url(#default#VML); + display: inline-block; + visibility: visible; + } +/* Modal plugin */ +#qtip-overlay{ + position: fixed; + left: -10000em; + top: -10000em; +} + + /* Applied to modals with show.modal.blur set to true */ + #qtip-overlay.blurs{ cursor: pointer; } + + /* Change opacity of overlay here */ + #qtip-overlay div{ + position: absolute; + left: 0; top: 0; + width: 100%; height: 100%; + + background-color: black; + + opacity: 0.7; + filter:alpha(opacity=70); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; + } + diff --git a/wp-content/plugins/admin-menu-editor/css/jquery.qtip.min.css b/wp-content/plugins/admin-menu-editor/css/jquery.qtip.min.css new file mode 100644 index 0000000..d7a8f2e --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/css/jquery.qtip.min.css @@ -0,0 +1 @@ +/*! qTip2 v2.0.0 | http://craigsworks.com/projects/qtip2/ | Licensed MIT, GPL */#qtip-rcontainer{position:absolute;left:-28000px;top:-28000px;display:block;visibility:hidden}#qtip-rcontainer .ui-tooltip{display:block!important;visibility:hidden!important;position:static!important;float:left!important}.ui-tooltip,.qtip{position:absolute;left:-28000px;top:-28000px;display:none;max-width:280px;min-width:50px;font-size:10.5px;line-height:12px}.ui-tooltip-content{position:relative;padding:5px 9px;overflow:hidden;text-align:left;word-wrap:break-word}.ui-tooltip-titlebar{position:relative;min-height:14px;padding:5px 35px 5px 10px;overflow:hidden;border-width:0 0 1px;font-weight:700}.ui-tooltip-titlebar+.ui-tooltip-content{border-top-width:0!important}.ui-tooltip-titlebar .ui-state-default{position:absolute;right:4px;top:50%;margin-top:-9px;cursor:pointer;outline:medium none;border-width:1px;border-style:solid}* html .ui-tooltip-titlebar .ui-state-default{top:16px}.ui-tooltip-titlebar .ui-icon,.ui-tooltip-icon .ui-icon{display:block;text-indent:-1000em;direction:ltr}.ui-tooltip-icon,.ui-tooltip-icon .ui-icon{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;text-decoration:none}.ui-tooltip-icon .ui-icon{width:18px;height:14px;text-align:center;text-indent:0;font:normal bold 10px/13px Tahoma,sans-serif;color:inherit;background:transparent none no-repeat -100em -100em}.ui-tooltip-focus{}.ui-tooltip-hover{}.ui-tooltip-default{border-width:1px;border-style:solid;border-color:#F1D031;background-color:#FFFFA3;color:#555}.ui-tooltip-default .ui-tooltip-titlebar{background-color:#FFEF93}.ui-tooltip-default .ui-tooltip-icon{border-color:#CCC;background:#F1F1F1;color:#777}.ui-tooltip-default .ui-tooltip-titlebar .ui-state-hover{border-color:#AAA;color:#111}/*! Light tooltip style */.ui-tooltip-light{background-color:#fff;border-color:#E2E2E2;color:#454545}.ui-tooltip-light .ui-tooltip-titlebar{background-color:#f1f1f1}/*! Dark tooltip style */.ui-tooltip-dark{background-color:#505050;border-color:#303030;color:#f3f3f3}.ui-tooltip-dark .ui-tooltip-titlebar{background-color:#404040}.ui-tooltip-dark .ui-tooltip-icon{border-color:#444}.ui-tooltip-dark .ui-tooltip-titlebar .ui-state-hover{border-color:#303030}/*! Cream tooltip style */.ui-tooltip-cream{background-color:#FBF7AA;border-color:#F9E98E;color:#A27D35}.ui-tooltip-cream .ui-tooltip-titlebar{background-color:#F0DE7D}.ui-tooltip-cream .ui-state-default .ui-tooltip-icon{background-position:-82px 0}/*! Red tooltip style */.ui-tooltip-red{background-color:#F78B83;border-color:#D95252;color:#912323}.ui-tooltip-red .ui-tooltip-titlebar{background-color:#F06D65}.ui-tooltip-red .ui-state-default .ui-tooltip-icon{background-position:-102px 0}.ui-tooltip-red .ui-tooltip-icon{border-color:#D95252}.ui-tooltip-red .ui-tooltip-titlebar .ui-state-hover{border-color:#D95252}/*! Green tooltip style */.ui-tooltip-green{background-color:#CAED9E;border-color:#90D93F;color:#3F6219}.ui-tooltip-green .ui-tooltip-titlebar{background-color:#B0DE78}.ui-tooltip-green .ui-state-default .ui-tooltip-icon{background-position:-42px 0}/*! Blue tooltip style */.ui-tooltip-blue{background-color:#E5F6FE;border-color:#ADD9ED;color:#5E99BD}.ui-tooltip-blue .ui-tooltip-titlebar{background-color:#D0E9F5}.ui-tooltip-blue .ui-state-default .ui-tooltip-icon{background-position:-2px 0}.ui-tooltip-shadow{-webkit-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);-moz-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);box-shadow:1px 1px 3px 1px rgba(0,0,0,.15)}.ui-tooltip-rounded,.ui-tooltip-tipsy,.ui-tooltip-bootstrap{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.ui-tooltip-youtube{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 3px #333;-moz-box-shadow:0 0 3px #333;box-shadow:0 0 3px #333;color:#fff;border-width:0;background:#4A4A4A;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0, #4A4A4A),color-stop(100%,black));background-image:-webkit-linear-gradient(top, #4A4A4A 0,black 100%);background-image:-moz-linear-gradient(top, #4A4A4A 0,black 100%);background-image:-ms-linear-gradient(top, #4A4A4A 0,black 100%);background-image:-o-linear-gradient(top, #4A4A4A 0,black 100%)}.ui-tooltip-youtube .ui-tooltip-titlebar{background-color:#4A4A4A;background-color:rgba(0,0,0,0)}.ui-tooltip-youtube .ui-tooltip-content{padding:.75em;font:12px arial,sans-serif;filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#4a4a4a, EndColorStr=#000000);-ms-filter:"progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#4a4a4a, EndColorStr=#000000);"}.ui-tooltip-youtube .ui-tooltip-icon{border-color:#222}.ui-tooltip-youtube .ui-tooltip-titlebar .ui-state-hover{border-color:#303030}.ui-tooltip-jtools{background:#232323;background:rgba(0,0,0,.7);background-image:-webkit-gradient(linear,left top,left bottom,from( #717171),to( #232323));background-image:-moz-linear-gradient(top, #717171, #232323);background-image:-webkit-linear-gradient(top, #717171, #232323);background-image:-ms-linear-gradient(top, #717171, #232323);background-image:-o-linear-gradient(top, #717171, #232323);border:2px solid #ddd;border:2px solid rgba(241,241,241,1);-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 12px #333;-moz-box-shadow:0 0 12px #333;box-shadow:0 0 12px #333}.ui-tooltip-jtools .ui-tooltip-titlebar{background-color:transparent;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171, endColorstr=#4A4A4A);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171, endColorstr=#4A4A4A)"}.ui-tooltip-jtools .ui-tooltip-content{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A, endColorstr=#232323);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A, endColorstr=#232323)"}.ui-tooltip-jtools .ui-tooltip-titlebar,.ui-tooltip-jtools .ui-tooltip-content{background:transparent;color:#fff;border:0 dashed transparent}.ui-tooltip-jtools .ui-tooltip-icon{border-color:#555}.ui-tooltip-jtools .ui-tooltip-titlebar .ui-state-hover{border-color:#333}.ui-tooltip-cluetip{-webkit-box-shadow:4px 4px 5px rgba(0,0,0,.4);-moz-box-shadow:4px 4px 5px rgba(0,0,0,.4);box-shadow:4px 4px 5px rgba(0,0,0,.4);background-color:#D9D9C2;color:#111;border:0 dashed transparent}.ui-tooltip-cluetip .ui-tooltip-titlebar{background-color:#87876A;color:#fff;border:0 dashed transparent}.ui-tooltip-cluetip .ui-tooltip-icon{border-color:#808064}.ui-tooltip-cluetip .ui-tooltip-titlebar .ui-state-hover{border-color:#696952;color:#696952}.ui-tooltip-tipsy{background:#000;background:rgba(0,0,0,.87);color:#fff;border:0 solid transparent;font-size:11px;font-family:'Lucida Grande',sans-serif;font-weight:700;line-height:16px;text-shadow:0 1px black}.ui-tooltip-tipsy .ui-tooltip-titlebar{padding:6px 35px 0 10;background-color:transparent}.ui-tooltip-tipsy .ui-tooltip-content{padding:6px 10}.ui-tooltip-tipsy .ui-tooltip-icon{border-color:#222;text-shadow:none}.ui-tooltip-tipsy .ui-tooltip-titlebar .ui-state-hover{border-color:#303030}.ui-tooltip-tipped{border:3px solid #959FA9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#F9F9F9;color:#454545;font-weight:400;font-family:serif}.ui-tooltip-tipped .ui-tooltip-titlebar{border-bottom-width:0;color:#fff;background:#3A79B8;background-image:-webkit-gradient(linear,left top,left bottom,from( #3A79B8),to( #2E629D));background-image:-webkit-linear-gradient(top, #3A79B8, #2E629D);background-image:-moz-linear-gradient(top, #3A79B8, #2E629D);background-image:-ms-linear-gradient(top, #3A79B8, #2E629D);background-image:-o-linear-gradient(top, #3A79B8, #2E629D);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8, endColorstr=#2E629D);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8, endColorstr=#2E629D)"}.ui-tooltip-tipped .ui-tooltip-icon{border:2px solid #285589;background:#285589}.ui-tooltip-tipped .ui-tooltip-icon .ui-icon{background-color:#FBFBFB;color:#555}.ui-tooltip-bootstrap{font-size:13px;line-height:18px;color:#333;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.ui-tooltip-bootstrap .ui-tooltip-titlebar{font-size:18px;line-height:22px;border-bottom:1px solid #ccc;background-color:transparent}.ui-tooltip-bootstrap .ui-tooltip-titlebar .ui-state-default{right:9px;top:49%;border-style:none}.ui-tooltip-bootstrap .ui-tooltip-icon{background:#fff}.ui-tooltip-bootstrap .ui-tooltip-icon .ui-icon{width:auto;height:auto;float:right;font-size:20px;font-weight:700;line-height:18px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.ui-tooltip-bootstrap .ui-tooltip-icon .ui-icon:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}.ui-tooltip:not(.ie9haxors) div.ui-tooltip-content,.ui-tooltip:not(.ie9haxors) div.ui-tooltip-titlebar{filter:none;-ms-filter:none}.ui-tooltip .ui-tooltip-tip{margin:0 auto;overflow:hidden;z-index:10}.ui-tooltip .ui-tooltip-tip,.ui-tooltip .ui-tooltip-tip .qtip-vml{position:absolute;line-height:.1px!important;font-size:.1px!important;color:#123456;background:transparent;border:0 dashed transparent}.ui-tooltip .ui-tooltip-tip canvas{top:0;left:0}.ui-tooltip .ui-tooltip-tip .qtip-vml{behavior:url(#default#VML);display:inline-block;visibility:visible}#qtip-overlay{position:fixed;left:-10000em;top:-10000em}#qtip-overlay.blurs{cursor:pointer}#qtip-overlay div{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#000;opacity:.7;filter:alpha(opacity=70);-ms-filter:"alpha(Opacity=70)"} \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/css/menu-editor.css b/wp-content/plugins/admin-menu-editor/css/menu-editor.css new file mode 100644 index 0000000..ddd3632 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/css/menu-editor.css @@ -0,0 +1,1096 @@ +/* Admin Menu Editor CSS file */ + +#ws_menu_editor { + min-width: 780px; +} + +.ws_main_container { + margin: 2px; + width: 310px; + float: left; + display:block; + + border: 1px solid #cdd5d5; + background-color: #FFFFFF; + + border-radius: 3px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} + +.ws_box { + min-height: 30px; + width: 100%; + margin: 0; + padding-top: 2px; + padding-bottom: 2px; +} + +.ws_basic_container { + float: left; + display:block; +} + +#ws_menu_box { +} + +#ws_submenu_box { +} + +.ws_dropzone { + margin: 0 5px 2px 5px; + border: none; + height: 25px; +} + +.ws_dropzone_hover { + border: 1px dashed silver; + background: yellow; + height: 30px; +} + +/************************************************* + Actor UI + *************************************************/ +#ws_actor_selector li:after { + content: ' | '; +} + +#ws_actor_selector li:last-child:after { + content: ''; +} + +/** + * The checkbox that lets the user show/hide a menu for the currently selected actor. + */ +#ws_menu_editor .ws_actor_access_checkbox, +#ws_menu_editor input[type="checkbox"].ws_actor_access_checkbox /* Ensure we override WP defaults. */ +{ + margin-right: 2px; + margin-left: 2px; + margin-top: 1px; + vertical-align: text-top; +} + +/* The checkbox is only visible when viewing the menu configuration for a specific actor. */ +#ws_menu_editor .ws_actor_access_checkbox { + display: none; +} + +#ws_menu_editor.ws_is_actor_view .ws_actor_access_checkbox { + display: inline-block; +} + +/* Gray-out items inaccessible to the currently selected actor */ + +.ws_is_actor_view .ws_container.ws_is_hidden_for_actor { + background-color: #F9F9F9; +} + +.ws_is_actor_view .ws_is_hidden_for_actor .ws_item_title { + color: #777; +} + +/* + * The sidebar + */ + +#ws_editor_sidebar { + width: auto; + padding: 2px; +} + +#ws_menu_editor .ws_main_button { + clear: both; + display: block; + margin: 4px; + width: 130px; +} + +#ws_menu_editor #ws_save_menu { + margin-bottom: 20px; +} + +#ws_menu_editor #ws_export_menu { + margin-top: 12px; +} + +/* + * Menu components and widgets + */ + +.ws_container { + display: block; + width: 290px; + + padding : 3px; + margin: 2px auto; +} + +.ws_active { } + +.ws_menu { } +.ws_item { } + +.ws_menu_separator { } + +.ws_submenu { + min-height: 2em; +} + + +.ws_item_head { + padding: 0; +} + +.ws_item_title { + display: inline-block; + padding: 2px; + cursor: default; +} + +.ws_edit_link { + float: right; + margin-right: 0; + cursor: pointer; + display:block; + width: 40px; + height: 22px; + + border-radius: 3px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} + +.ws_edit_link_expanded { } + + +.ws_menu_drop_hover { + background-color: #43b529 !important; +} + +.ws_container.ui-sortable-helper * { + cursor: move !important; +} + +/* + If you ever want to apply a right-arrow style to the currently selected menu item, + you can do it like this. Commented out for now since it doesn't look all that great, + but might be useful in the future. +*/ +/* +.ws_container { + position: relative; +} + +.ws_menu.ws_active::after { + content: ""; + display: block; + z-index: 1002; + + border-left: 14px solid #8EB0F1; + border-top: 14px solid transparent; + border-bottom: 14px solid transparent; + background: #8EB0F1; + + position: absolute; + right: -14px; + top: -1px; + + width: 0; + height: 0; +} +*/ + +/**************************************** + Per-menu settings fields & panels +*****************************************/ + +.ws_editbox { + display: block; + padding: 4px; + + border-radius: 2px; + border-top-right-radius: 0; + + -moz-border-radius: 2px; + -moz-border-radius-topright: 0; + + -webkit-border-radius: 2px; + -webkit-border-top-right-radius: 0; +} + +.ws_edit_panel { + margin: 0; + padding: 0; + border: none; +} + +.ws_edit_field { + margin-bottom: 6px; + height: 45px; +} + +.ws_edit_field-custom { + margin-top: 10px; +} + +/* The reset-to-default button */ +.ws_reset_button { + display: block; + float: right; + + margin-left: 4px; + margin-top: 2px; + margin-right: 6px; + cursor: pointer; + + width: 16px; + height: 16px; + vertical-align: top; + + background: url("../images/pencil_delete_gray.png") no-repeat center; +} + +.ws_reset_button:hover { + background-image: url("../images/pencil_delete.png"); +} + +.ws_input_default input, +.ws_input_default select, +.ws_input_default .ws_color_scheme_display { + color: gray; +} + +/* No reset button for fields set to the default value and fields without a default value */ +.ws_input_default .ws_reset_button, +.ws_has_no_default .ws_reset_button { + visibility: hidden; +} + +/* The input box in each field editor */ +#ws_menu_editor .ws_editbox input[type="text"], +#ws_menu_editor .ws_editbox select { + display: block; + float: left; + width: 254px; + + font-size: 12px; + padding: 3px; +} + +#ws_menu_editor .ws_edit_field label { + display: block; + float: left; +} + +#ws_menu_editor .ws_edit_field-custom input[type="checkbox"] { + margin-top: 0; +} + +#ws_menu_editor input[type="text"].ws_field_value { + min-height: 25px; +} + +/* Dropdown button for combo-box fields */ +#ws_menu_editor .ws_dropdown_button, +#ws_menu_access_editor .ws_dropdown_button +{ + box-sizing: border-box; + width: 20px; + height: 25px; + + margin: 1px 1px 1px 0; + padding: 0; + + text-align: center; + font-size: 9px !important; + + border-color: #dfdfdf; + + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + + -moz-border-radius-topright: 3px; + -moz-border-radius-bottomright: 3px; + -moz-border-radius-topleft: 0; + -moz-border-radius-bottomleft: 0; + + -webkit-border-top-right-radius: 3px; + -webkit-border-bottom-right-radius: 3px; + -webkit-border-top-left-radius: 0; + -webkit-border-bottom-left-radius: 0; +} + +#ws_menu_access_editor .ws_dropdown_button { + display: inline-block; + height: 27px; +} + +#ws_menu_editor .ws_dropdown_button { + display: block; + float: left; +} + +/* +The appearance and size of combo-box fields need to be changed +to accommodate the drop-down button. +*/ +#ws_menu_editor .ws_has_dropdown input.ws_field_value, +#ws_menu_access_editor input.ws_has_dropdown +{ + margin-right: 0; + border-right: 0; + + border-top-right-radius: 0; + border-bottom-right-radius: 0; + + -moz-border-radius-topright: 0; + -moz-border-radius-bottomright: 0; + + -webkit-border-top-right-radius: 0; + -webkit-border-bottom-right-radius: 0; +} + +#ws_menu_access_editor input.ws_has_dropdown { + width: 90%; + box-sizing: border-box; + height: 27px; +} + +#ws_menu_editor .ws_has_dropdown input.ws_field_value { + width: 230px; +} + +/* Unlike others, this field is just a single checkbox, so it has a smaller height */ +#ws_menu_editor .ws_edit_field-custom { + height: 16px; +} + +/* + * "Show/hide advanced fields" + */ +.ws_toggle_container { + text-align: right; + margin-right: 27px; +} + +.ws_toggle_advanced_fields { + color: #6087CB; + text-decoration: none; + font-size: 0.85em; +} + +.ws_toggle_advanced_fields:visited, .ws_toggle_advanced_fields:active { + color: #6087CB; +} + +.ws_toggle_advanced_fields:hover { + color: #d54e21; + text-decoration: underline; +} + +/************************************ + Menu flags +*************************************/ + +.ws_flag_container { + float: right; + margin-right: 4px; + padding-top: 2px; +} + +.ws_flag { + display: block; + float: right; + width: 16px; + height: 16px; + margin-left: 4px; + background-repeat: no-repeat; +} + +/* user-created items */ +.ws_custom_flag { + background-image: url('../images/page-add.png'); +} + +/* unused items - those that are in the default menu but not in the custom one */ +.ws_unused_flag { + background-image: url('../images/plugin_add.png'); +} + +/* hidden items */ +.ws_hidden_flag { + background-image: url('../images/icon-extension-grey.png'); +} + +/* items with custom permissions for the selected actor */ +.ws_custom_actor_permissions_flag { + font: 16px/1 'dashicons'; +} +.ws_custom_actor_permissions_flag::before { + /*content: "\f160";*/ /* padlock */ + content: "\f110"; /* human silhouette */ + color: black; + + filter: alpha(opacity=25); /*IE 5-7*/ + opacity: 0.25; +} + +/* These classes could be used to apply different styles to items depending on their flags */ +.ws_custom { } +.ws_hidden { } +.ws_unused { } + + +/************************************ + Toolbars +*************************************/ + +.ws_toolbar { + display: block; + width: 100%; + height: 34px; +} + +.ws_button_container { + padding-left: 6px; + padding-top: 6px; +} + +.ws_button { + display: block; + margin-right: 3px; + padding: 4px; + float: left; + + width: 16px; + height: 16px; + + border-radius: 3px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} + +a.ws_button:hover { + background-color: #d0e0ff; + border-color: #9090c0; +} + +.ws_separator { + float: left; + width: 5px; +} + +/************************************ + Capability selector +*************************************/ + +select.ws_dropdown { + width: 252px; + height: 20em; + + z-index: 1002; + position: absolute; + display: none; + + font-family : "Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif; + font-size: 12px; +} + +select.ws_dropdown option { + font-family : "Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif; + font-size: 12px; + padding: 3px; +} + +select.ws_dropdown optgroup option { + padding-left: 10px; +} + +/************************************ + Icon selector +*************************************/ + +#ws_icon_selector { + border: 1px solid silver; + border-radius: 3px; + background-color: white; + width: 216px; + padding: 2px; + position: absolute; +} + +#ws_icon_selector.ws_with_more_icons { + width: 504px; +} + +#ws_icon_selector .ws_icon_extra { + display: none; +} + +#ws_icon_selector.ws_with_more_icons .ws_icon_extra { + display: inline-block; +} + + +#ws_icon_selector .ws_icon_option { + float: left; + height: 30px; + + margin: 2px; + cursor: pointer; + border: 1px solid #bbb; + border-radius: 3px; + + /* Gradients and colours cribbed from WP 3.5.1 button styles */ + background: #f3f3f3; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fefefe), to(#f4f4f4)); + background-image: -webkit-linear-gradient(top, #fefefe, #f4f4f4); + background-image: -moz-linear-gradient(top, #fefefe, #f4f4f4); + background-image: -o-linear-gradient(top, #fefefe, #f4f4f4); + background-image: linear-gradient(to bottom, #fefefe, #f4f4f4); +} + +#ws_icon_selector .ws_icon_option:hover { + /* Gradients and colours cribbed from WP 3.5.1 button styles */ + border-color: #999; + background: #f3f3f3; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f3f3f3)); + background-image: -webkit-linear-gradient(top, #fff, #f3f3f3); + background-image: -moz-linear-gradient(top, #fff, #f3f3f3); + background-image: -ms-linear-gradient(top, #fff, #f3f3f3); + background-image: -o-linear-gradient(top, #fff, #f3f3f3); + background-image: linear-gradient(to bottom, #fff, #f3f3f3); +} + +#ws_icon_selector .ws_icon_option.ws_selected_icon { + border-color: green; + background-color: #deffca; + background-image: none; +} + +#ws_icon_selector .icon16 { + float: none; + margin: 0; +} + +#ws_icon_selector .ws_icon_option .ws_icon_image.dashicons { + width: 20px; + height: 20px; + padding: 5px; +} + +#ws_icon_selector .ws_icon_option img { + display: inline-block; + margin: 0; + padding: 7px; + + width: 16px; + height: 16px; +} + +#ws_menu_editor .ws_edit_field-icon_url input.ws_field_value { + width: 220px; + margin-right: 5px; +} + +/* The icon button that displays the pop-up icon selector. */ +#ws_menu_editor .ws_select_icon { + margin: 0; + padding: 0; + position: relative; + + box-sizing: border-box; + height: 25px; +} + +/* Current icon node (CSS class version, for the built-in WP icon sprites) */ +.ws_select_icon .icon16 { + margin: 0; + float: none; + padding: 3px; + + /* + The default .icon16 style has a 6px padding which would normally make it too large + to fit in the button. We can't change the padding without making the background-position + look wrong, so lets offset the icon so that it fits. + */ + position: relative; + top: -3px; + left: -3px; +} + +/* Current icon node (image version) */ +.ws_select_icon img { + margin: 0; + padding: 4px; + width: 16px; + height: 16px; +} + +/* MP6 admin style compatibility */ +#ws_icon_selector .ws_icon_option .icon16::before { + margin: 0; + padding: 0; +} +.ws_select_icon .icon16::before { + padding: 0; + margin: 1px 0 0 2px; +} + +#ws_choose_icon_from_media { + margin: 2px; +} + +#ws_show_more_icons { + margin: 2px; + height: 30px; + width: 68px; +} + + +/************************************ + Menu color picker +*************************************/ + +#ws-ame-menu-color-settings { + background: white; + display: none; +} + +#ame-menu-color-list { + height: 500px; + overflow-y: auto; +} + +.ame-menu-color-column { + min-width: 460px; +} + +.ame-menu-color-name { + display: inline-block; + vertical-align: top; + padding-top: 2px; + + line-height: 1.3; + font-size: 14px; + font-weight: 600; + + min-width: 180px; +} + +.ame-color-option { + padding: 10px 0; +} + +.ame-advanced-menu-color { + display: none; +} + +/* Color scheme display in the editor widget. */ + +.ws_color_scheme_display { + display: inline-block; + height: 20px; + width: 190px; + + margin-right: 5px; + padding: 2px 2px 2px 3px; + + border: 1px solid #ddd; + background: white; + cursor: pointer; +} + +.ws_color_display_item { + display: inline-block; + width: 18px; + height: 18px; + + margin-right: 4px; + border: 1px solid #ccc; + border-radius: 3px; +} + +.ws_color_display_item:last-child { + margin-right: 0; +} + +/************************************ + Export and import +*************************************/ + +#export_dialog, #import_dialog { + display: none; +} + +.ui-widget-overlay { + background-color: black; + position: fixed; + left: 0; + top: 0; + opacity: 0.70; + -moz-opacity: 0.70; + filter: alpha(opacity=70); + + width: 100%; + height: 100%; +} + +.ui-front { + z-index: 10000; +} + +.ui-dialog { + background: white; + border: 1px solid #c0c0c0; + + padding: 0; + + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius: 5px; +} + +.ui-dialog-titlebar { + display: block; + height: 22px; + margin: 0; + padding: 4px 4px 4px 8px; + + background-color: #86A7E3; + font-size: 1.0em; + line-height: 22px; + + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + + border-top-left-radius: 4px; + border-top-right-radius: 4px; + + border-bottom: 1px solid #809fd9; +} + +.ui-dialog-title { + color: white; + font-weight: bold; +} + +.ui-dialog-titlebar-close { + background: #86A7E3 url(../images/x.png) no-repeat center; + width: 22px; + height: 22px; + display: block; + float: right; + color: white; + + border-radius: 3px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} + +.ui-dialog-titlebar-close:hover { + /*background-image: url(../images/x-light.png);*/ + background-color: #a6c2f5; +} + +.ui-icon-closethick { + +} + +.ui-dialog-content { + padding: 8px 8px 8px 8px; + font-size: 1.1em; +} + +#export_dialog .ws_dialog_panel { + height: 50px; +} + +#import_dialog .ws_dialog_panel { + height: 64px; +} + +.ws_dialog_buttons { + /*height: 30px;*/ + text-align: right; + margin-top: 20px; + margin-bottom: 1px; + clear: both; +} + +.ws_dialog_buttons .button-primary { + display: block; + float: left; + margin-top: 0; +} + +.ws_dialog_buttons .button { + margin-top: 0; +} + +.ws_dialog_buttons.ame-vertical-button-list { + text-align: left; +} + +.ws_dialog_buttons.ame-vertical-button-list .button-primary { + float: none; +} + +.ws_dialog_buttons.ame-vertical-button-list .button { + width: 100%; + text-align: left; + margin-bottom: 10px; +} + +.ws_dialog_buttons.ame-vertical-button-list .button:last-child { + margin-bottom: 0; +} + +#import_file_selector { + display: block; + width: 286px; + + margin: 6px auto 12px; +} + +#ws_start_import { + min-width: 100px; +} + +#import_complete_notice { + text-align: center; + font-size: large; + padding-top: 25px; +} + +.ws_dont_show_again { + display: inline-block; + margin-top: 1em; +} + +/************************************ + Menu access editor +*************************************/ + +/* The launch button */ +#ws_menu_editor .ws_edit_field-access_level input.ws_field_value +{ + width: 190px; + margin-right: 5px; +} + +.ws_launch_access_editor { + min-width: 40px; +} + +#ws_menu_access_editor { + width: 400px; + display: none; +} + +.ws_dialog_subpanel { + margin-bottom: 1em; +} + +#ws_menu_access_editor .ws_column_access { + text-align: center; + width: 5em; +} + +#ws_role_table_body_container { + max-height: 400px; + overflow: auto; +} + +.ws_role_table_body { + margin-top: 2px; +} + +.ws_has_separate_header .ws_role_table_header { + border-bottom: none; + + -moz-border-radius-bottomleft: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-left-radius: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +.ws_has_separate_header .ws_role_table_body { + border-top: none; + margin-top: 0; + + -moz-border-radius-topleft: 0; + -moz-border-radius-topright: 0; + -webkit-border-top-left-radius: 0; + -webkit-border-top-right-radius: 0; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.ws_role_id { + display: none; +} + +#ws_extra_capability { + width: 100%; +} + +#ws_role_access_container { + position: relative; +} + +#ws_role_access_overlay { + width: 100%; + height: 100%; + position: absolute; + + line-height: 100%; + + background: white; + filter: alpha(opacity=60); + opacity: 0.6; + -moz-opacity:0.6; + -khtml-opacity: 0.6; +} + +#ws_role_access_overlay_content { + position: absolute; + width: 50%; + left: 22%; + top: 30%; + + background: white; + padding: 8px; + + border: 2px solid silver; + border-radius: 5px; + color: #555; +} + +#ws_menu_access_editor div.error { + margin-left: 0; + margin-right: 0; + margin-bottom: 5px; +} + +#ws_hardcoded_role_error { + display: none; +} + + +/************************************ + Menu deletion error +*************************************/ + +#ws-ame-menu-deletion-error { + max-width: 400px; +} + + + + +/************************************ + Tooltips and hints +*************************************/ + +.ws_tooltip_trigger { + cursor: pointer; +} + +.ws_tooltip_content_list { + list-style: disc; + margin-left: 1em; +} + +.ws_hint { + background: #FFFFE0; + border: 1px solid #E6DB55; + + margin-bottom: 0.5em; + border-radius: 3px; + position: relative; + padding-right: 20px; +} + +.ws_hint_close { + border: 1px solid #E6DB55; + border-right: none; + border-top: none; + color: #dcc500; + font-weight: bold; + cursor: pointer; + + width: 18px; + text-align: center; + border-radius: 3px; + + position: absolute; + right: 0; + top: 0; +} + +.ws_hint_close:hover { + background-color: #ffef4c; + border-color: #e0b900; + color: black; +} + +.ws_hint_content { + padding: 0.4em 0 0.4em 0.4em; +} + +.ws_hint_content ul { + list-style: disc; + list-style-position: inside; + margin-left: 0.5em; +} + +#ws_sidebar_pro_ad { + min-width: 225px; + + margin-top: 5px; + margin-left: 3px; + + position: fixed; + right: 20px; + bottom: 40px; + z-index: 100; +} + + +.test-wrap { + background-color: #444444; + padding: 30px; +} + +.test-container { + width: 400px; + height: 200px; + background-color: white; + + border: 1px solid black; + border-radius: 10px; + + overflow: hidden; +} + +.test-header { + background-color: #67d6ff; + padding: 6px; + + border-top-left-radius: 8px; + border-top-right-radius: 8px; +} + +.test-content { + padding: 8px; +} \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/css/screen-meta-old-wp.css b/wp-content/plugins/admin-menu-editor/css/screen-meta-old-wp.css new file mode 100644 index 0000000..7f96c14 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/css/screen-meta-old-wp.css @@ -0,0 +1,57 @@ +/************************************ + Screen meta buttons + for WP 3.7 and below +*************************************/ + +/* All buttons */ +.custom-screen-meta-link-wrap { + float: right; + height: 22px; + padding: 0; + margin: 0 0 0 6px; + font-family: sans-serif; + -moz-border-radius-bottomleft: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-left-radius: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + + background: #e3e3e3; + + border-right: 1px solid transparent; + border-left: 1px solid transparent; + border-bottom: 1px solid transparent; + background-image: -ms-linear-gradient(bottom, #dfdfdf, #f1f1f1); /* IE10 */ + background-image: -moz-linear-gradient(bottom, #dfdfdf, #f1f1f1); /* Firefox */ + background-image: -o-linear-gradient(bottom, #dfdfdf, #f1f1f1); /* Opera */ + background-image: -webkit-gradient(linear, left bottom, left top, from(#dfdfdf), to(#f1f1f1)); /* old Webkit */ + background-image: -webkit-linear-gradient(bottom, #dfdfdf, #f1f1f1); /* new Webkit */ + background-image: linear-gradient(bottom, #dfdfdf, #f1f1f1); /* proposed W3C Markup */ +} + +#screen-meta .custom-screen-meta-link-wrap a.custom-screen-meta-link, +#screen-meta-links .custom-screen-meta-link-wrap a.custom-screen-meta-link +{ + background-image: none; + padding: 0 6px 0 6px; +} + +#screen-meta-links a.custom-screen-meta-link::after { + display: none; +} + +/* "Upgrade to Pro" */ +#ws-pro-version-notice { + background: #00C31F none; +} + +#ws-pro-version-notice a.show-settings { + font-weight: bold; + color: #DEFFD8; + text-shadow: none; +} + +#ws-pro-version-notice a.show-settings:hover { + color: white; +} \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/css/screen-meta.css b/wp-content/plugins/admin-menu-editor/css/screen-meta.css new file mode 100644 index 0000000..c449d90 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/css/screen-meta.css @@ -0,0 +1,43 @@ +/************************************ + Screen meta buttons + for WP 3.8+ +*************************************/ + +/* All buttons */ +.custom-screen-meta-link-wrap { + float: right; + height: 28px; + margin: 0 0 0 6px; + + border: 1px solid #ddd; + border-top: none; + background: #fff; + -webkit-box-shadow: 0px 1px 1px -1px rgba(0,0,0,0.1); + box-shadow: 0px 1px 1px -1px rgba(0,0,0,0.1); +} + +#screen-meta .custom-screen-meta-link-wrap a.custom-screen-meta-link, +#screen-meta-links .custom-screen-meta-link-wrap a.custom-screen-meta-link +{ + padding: 3px 16px 3px 16px; +} + +#screen-meta-links a.custom-screen-meta-link::after { + display: none; +} + +/* "Upgrade to Pro" */ +#ws-pro-version-notice { + background-color: #00C31F; + border-color: #0a0; +} + +#ws-pro-version-notice a.show-settings { + font-weight: bold; + color: #DEFFD8; + text-shadow: none; +} + +#ws-pro-version-notice a.show-settings:hover { + color: white; +} \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/css/style-classic.css b/wp-content/plugins/admin-menu-editor/css/style-classic.css new file mode 100644 index 0000000..6005c90 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/css/style-classic.css @@ -0,0 +1,117 @@ +.ws_container { + border: 1px solid #a9badb; + background-color: #bdd3ff; +} + +#ws_menu_editor .ws_active { + background-color : #8eb0f1; /* make sure this overrides ws_menu_separator */ +} + +#ws_menu_editor.ws_is_actor_view .ws_is_hidden_for_actor.ws_active { + background-color : #dadee6; +} + +.ws_menu_separator { + background: #F9F9F9 url("../images/menu-arrows.png") no-repeat 4px 8px; + border-color: #d9d9d9; +} + +.ws_edit_link { + background-image: url('../images/bullet_arrow_down2.png'); + background-repeat: no-repeat; + background-position: center; +} + +a.ws_edit_link:hover { + background-color: #ffffd0; + background-image: url('../images/bullet_arrow_down2.png'); +} + +.ws_edit_link:active { + background-repeat: no-repeat; + background-position: center; +} + +.ws_edit_link_expanded { + background: #ffffd0 url('../images/bullet_arrow_down2.png') center 3px no-repeat; + border-bottom: none; + border-color: #ffffd0; + + padding-bottom: 1px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + + -moz-border-radius-bottomright: 0; + -moz-border-radius-bottomleft: 0; + + -webkit-border-bottom-right-radius: 0; + -webkit-border-bottom-left-radius: 0; +} + + +.ws_editbox { + background-color: #ffffd0; +} + +.ws_input_default input, .ws_input_default select { + color: gray; +} + +/* + * Show/Hide advanced fields + */ + +.ws_toggle_advanced_fields { + color: #6087CB; + font-size: 0.85em; +} + +.ws_toggle_advanced_fields:visited, .ws_toggle_advanced_fields:active { + color: #6087CB; +} + +.ws_toggle_advanced_fields:hover { + color: #d54e21; + text-decoration: underline; +} + + +/* + * Toolbars + */ + +.ws_button { + border: 1px solid #c0c0e0; +} + +a.ws_button:hover { + background-color: #d0e0ff; + border-color: #9090c0; +} + +/************************************ + Export and import +*************************************/ + +.ui-dialog { + background: white; + border: 1px solid #c0c0c0; +} + +.ui-dialog-titlebar { + background-color: #86A7E3; +} + +.ui-dialog-title { + color: white; +} + +.ui-dialog-titlebar-close { + background: #86A7E3 url(../images/x.png) no-repeat center; + color: white; +} + +.ui-dialog-titlebar-close:hover { + /*background-image: url(../images/x-light.png);*/ + background-color: #a6c2f5; +} \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/css/style-wp-grey.css b/wp-content/plugins/admin-menu-editor/css/style-wp-grey.css new file mode 100644 index 0000000..92f5a88 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/css/style-wp-grey.css @@ -0,0 +1,245 @@ +.ws_container { + padding: 0; + width: 296px; + margin-bottom: 5px; + + background: white; + + border: 1px solid #aeaeae; + + -webkit-box-shadow: inset 0 1px 0 #fff; + box-shadow: inset 0 1px 0 #fff; + + /*-webkit-border-radius: 2px; + border-radius: 2px;*/ +} + +/** + * Item head elements + */ + +.ws_item_head { + padding: 3px; + + background-color: #d9d9d9; + background-image: -ms-linear-gradient(top, #e9e9e9, #d9d9d9); + background-image: -moz-linear-gradient(top, #e9e9e9, #d9d9d9); + background-image: -webkit-gradient(linear, left top, left bottom, from(#e9e9e9), to(#d9d9d9)); + background-image: -webkit-linear-gradient(top, #e9e9e9, #d9d9d9); + background-image: linear-gradient(to bottom, #e9e9e9, #d9d9d9); +} + +.ws_item_title { + color: #222; + text-shadow: #FFFFFF 0 1px 0; +} + +/** + * The down-arrow that expands menu settings + */ + +.ws_edit_link { + background: transparent url(../images/arrows.png) no-repeat center 3px; + overflow: hidden; + text-indent:-999em; +} + +a.ws_edit_link:hover { + background-image: url(../images/arrows-dark.png); +} + +.ws_edit_link:active { + background-image: url(../images/arrows-dark.png); +} + +.ws_edit_link_expanded { + border-bottom: none; + border-color: #ffffd0; + + padding-bottom: 1px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + + -moz-border-radius-bottomright: 0; + -moz-border-radius-bottomleft: 0; + + -webkit-border-bottom-right-radius: 0; + -webkit-border-bottom-left-radius: 0; +} + + +/** + * Separators + */ + +.ws_menu_separator { + border-color: #d9d9d9; +} + +.ws_menu_separator .ws_item_head { + min-height: 22px; + background: #F9F9F9 url("../images/menu-arrows.png") no-repeat 4px 8px; +} + +.ws_menu_separator.ws_active .ws_item_head { + background: #999 url("../images/menu-arrows.png") no-repeat 4px 8px; +} + +/* Offset the separator image in actor view to prevent it from overlapping the checkbox. */ +.ws_is_actor_view .ws_menu_separator .ws_item_head { + background-position: 25px 8px; +} + +/** + * Active item + */ + +.ws_active .ws_item_head { + background: #777; + background-image: -webkit-gradient(linear, left bottom, left top, from(#6d6d6d), to(#808080)); + background-image: -webkit-linear-gradient(bottom, #6d6d6d, #808080); + background-image: -moz-linear-gradient(bottom, #6d6d6d, #808080); + background-image: -o-linear-gradient(bottom, #6d6d6d, #808080); + background-image: linear-gradient(to top, #6d6d6d, #808080); +} + +.ws_active .ws_item_title { + text-shadow: 0 -1px 0 #333; + color: #fff; + border-top-color: #808080; + border-bottom-color: #6d6d6d; +} + +/** + * Hidden items. + */ +.ws_is_actor_view .ws_container.ws_is_hidden_for_actor .ws_item_head { + background: #F9F9F9 linear-gradient(to top, #F3F3F3, #FFFFFF); +} + +/* selected hidden items */ +.ws_is_actor_view .ws_is_hidden_for_actor.ws_active .ws_item_head { + background: #dedede linear-gradient(to top, #8f8f8f, #a2a2a2); +} +.ws_is_actor_view .ws_is_hidden_for_actor.ws_active .ws_item_title { + color: #fff; + text-shadow: none; +} + +/* hidden separators */ +.ws_is_actor_view .ws_menu_separator.ws_is_hidden_for_actor .ws_item_head { + /* Override gradient with the separator image. */ + background: url("../images/menu-arrows.png") no-repeat 25px 8px; +} +/* selected hidden separators */ +.ws_menu_separator.ws_is_hidden_for_actor.ws_active .ws_item_head { + background: #aaa url("../images/menu-arrows.png") no-repeat 25px 8px; +} + + +/** + * Dropping menus on other menus. + */ + +.ws_menu_drop_hover, .ws_menu_drop_hover .ws_item_head { + background: #43b529; +} + +.ws_menu_drop_hover .ws_item_title { + text-shadow: none; +} + +/** + * Misc + */ + +.ws_editbox { + /*background-color: #ffffd0;*/ + background-color: #FBFBFB; + padding: 4px 6px; +} + +.ws_input_default input, .ws_input_default select { + color: gray; +} + +/* + * Show/Hide advanced fields + */ + +.ws_toggle_advanced_fields { + color: #6087CB; + font-size: 0.85em; +} + +.ws_toggle_advanced_fields:visited, .ws_toggle_advanced_fields:active { + color: #6087CB; +} + +.ws_toggle_advanced_fields:hover { + color: #d54e21; + text-decoration: underline; +} + + +/* + * Toolbars + */ + +.ws_button { + border: 1px solid #c0c0e0; +} + +a.ws_button:hover { + background-color: #d0e0ff; + border-color: #9090c0; +} + +/************************************ + Export and import +*************************************/ + +.ui-dialog { + background: white; + border: 1px solid #c0c0c0; + + border-radius: 0; +} + +.ui-dialog-titlebar { + background-color: #fcfcfc;; + border-bottom-color: #dfdfdf; +} + +.ui-dialog-title { + color: #444444; +} + +.ui-dialog-titlebar-close { + background-color: transparent; + border-style: none; + + color: #666; + cursor: pointer; + padding: 0; + position: absolute; + top: 0; + right: 0; + width: 36px; + height: 30px; + text-align: center; +} + +.ui-dialog-titlebar-close::before { + font: normal 20px/30px 'dashicons'; + content: '\f158'; + + vertical-align: top; + width: 36px; + height: 30px; +} + +.ui-dialog-titlebar-close:hover { + background: transparent none; + color: #2ea2cc; +} \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/images/arrows-dark.png b/wp-content/plugins/admin-menu-editor/images/arrows-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..29f814d2982a8925ab0ec46d171a2f95239f99f1 GIT binary patch literal 495 zcmVdKT6w)|Qy|2w^fkMVpU2)< zny+zYtu+KSDf%*c9)u!m0R46eEgd?<58&@fg>w~eez&&K#7Ja6K=peLtKVw@IF|AvWSgYLyX@h;4$RtMW1OQ_LShr$Xgtgylgv&c7HJ%ZHC z^6lnXzNFBbjJjIgLeA?vW(qBo;jqds^)#aXZmg{tgylgEBwna>h!$t z_h798I7Rq?W+<_rLo;t^D>j2NBkLu?9y+BnxaunKq0A*g!&oNWHnJ`~Gb3ZcSYd?~RycNo)Md6m;(Zd&T9hpG$J8dvlqTlZu@>bAwq>~VoddX*&D^&nzu?xfY@_liQW>p@z2lo>rs+=p?9Cs~EQ-Gtx+ kQ~-MEyYheZB;NuI0Le(%7<(?}lK=n!07*qoM6N<$g7DGi(EtDd literal 0 HcmV?d00001 diff --git a/wp-content/plugins/admin-menu-editor/images/bullet_arrow_down2.png b/wp-content/plugins/admin-menu-editor/images/bullet_arrow_down2.png new file mode 100644 index 0000000000000000000000000000000000000000..c81d5a4bc759e1449bf7beb13dfbe07782e0dd4f GIT binary patch literal 367 zcmV-#0g(QQP)An3)OwsKVP|b@80`EhYpDXg}Q+FKS>D* z=;u^mykGeD@82CD_W)4|2@Rb8`}c1!)ZhP!G60sskih%FotXdv3;=ijdKu5Tb$b8+ N002ovPDHLkV1gwHr{Vwr literal 0 HcmV?d00001 diff --git a/wp-content/plugins/admin-menu-editor/images/bullet_error.png b/wp-content/plugins/admin-menu-editor/images/bullet_error.png new file mode 100644 index 0000000000000000000000000000000000000000..bca2b491fd4a72918c37eb218bf9655d7f514750 GIT binary patch literal 454 zcmV;%0XhDOP);<5v0zO%9O+HCOhCe@lCtqI|U`n(Bw>E`n0X60GiU=_L{j`ZeTrWl7@6TVgmzQ|3 z5;Op46VsoczbZwwqJ7S==^_3_&=Ox0MY;dOCY;|ap-3z08F!}8RFQf3;+NC07*qoM6N<$g0j}hYXATM literal 0 HcmV?d00001 diff --git a/wp-content/plugins/admin-menu-editor/images/check-all.png b/wp-content/plugins/admin-menu-editor/images/check-all.png new file mode 100644 index 0000000000000000000000000000000000000000..aba9d4d933f20b1a9bc7b049059b06897c6d3a7e GIT binary patch literal 1241 zcmbVMZ)h837{3r)>f9)$wNP<#TvaMGclX{kx7^ue&2o2bVChO4){K40CHJN|n)|c6 zwNr6VCsSi`2KQb5+i?tkUo=PeaMy>F9GbLCsH(Y;Na%I} zk||T0h8d{o^~()7Oc246kO2z=TL6Yi7mrq*{#H=aul-UuGzB z-vrIXsFqW?^aPo-T}Vb~K3rr0AO(R2LlHp$gCxfSj$!d5gu##$5hU(3dC(}V=ISLW zBdZ5mcow6|2sskNRI63G%G0(x%>YppeGZNbV~em?w~$r~TV8*gL55z@H5_Ev7U?r; z1$!37DC}t~1k*{U4~Z@BAW=AFOignbK(mZ#`f=@Bdng0{apOp9FI#sYlYyQ+>lX2O zl=|CXoV!O0`G(jV>AY*;L(wX-U7R(cg;H{i!aKBX=#mOft5JoE0u{}cg+iXzJa z5aoH5>F^azDS4afH6g z|5w~Ctp0y;#$aa{zc~I?EbS#+f&TEY^zr2I@<0pU7#Cj+xU#%N5P`>2aw1#%v7qPk zKZOd9k-hnah0c*bh)uP3G?brh;?}YKYjZS6g39&}-@P)>`%ZdiXD5Ge`s?=^MECFa zf9VVchznmXp5NHLyWY1HczvXD0)5-plTg*}TA1C4}Mrzlg<+1Y8PEBfUp0jJpx4B>@E+cy3`^(Gw`Mf+2&yxZm<$to~Vpgvg&QKNR z_f#1(r6svZt%iF?s+n<8X?B&!h3g9Dbb8_=MX}!;HiQSAh`bp^WMl~Z-44teO7W_Y zV4thSL{h;rJY7!l3%5J4H1!tIzB`Dv+YxO(haWeausGZYkI8^hWj6mzo=L0{%;yxzh{5!Htr?51 zvG|W62MzC8BZ76hRpCyO2zOn<%e)K>NHge!-~)Ap33OdWw6hsLYbCxGNt0%wk_2z7 zfyYvXheSG)5HRK1VB~%mq7Dmurw#bi@hEcOr3&G1ZiF*$M=&9nB#VNf&Q^r$4G5kp zTURh&s)E0%5&hyVD}sp<72~zmAY`Y(9aqO6CXF%=zFHGzO-A&I(pE}v70YQxCPJ{Y z4L+?5-crdLn3ZRPEs!A4ehEY3ZRpL~w9>@aMN+{F4dI@v&>(QDHQum!mG~E^$OS8l z!7?%Uwib*ROP67Hw`ika)gX-(8Ia`-u_IEhxG7U<13kSsMW+$lbb2dUMm5p6pa}cjgA+U$^mJ^AjD?&bdi)8~y+Q002ovPDHLkV1g8IMc@Dc literal 0 HcmV?d00001 diff --git a/wp-content/plugins/admin-menu-editor/images/external.png b/wp-content/plugins/admin-menu-editor/images/external.png new file mode 100644 index 0000000000000000000000000000000000000000..419c06fb960b0b665791c90044a78621616a4cb8 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2VGmzZ%#=aj&i3a$DxTeiKV?6WB%rpNP(#|lX z{f7XTR~%D;3fN16{DL7O3{u|AZa^UmPZ!4!iE!1^jzSC$EX7 z>#2$@InOtpuqyg8<+R}9g-+|v&13&5`dCp`{|95_8^+nQkC>(b&0z3!^>bP0l+XkK DO07OF literal 0 HcmV?d00001 diff --git a/wp-content/plugins/admin-menu-editor/images/gion/AUTHORS b/wp-content/plugins/admin-menu-editor/images/gion/AUTHORS new file mode 100644 index 0000000..787e4ec --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/images/gion/AUTHORS @@ -0,0 +1,11 @@ +Name: Silvestre Herrera + +Nickname: ertz + +Location: La Plata, Buenos Aires. ARGENTINA. + +E-mail: silvestre.herrera(at)gmail.com + +Website(s): http://www.silvestre.com.ar/ + +_______________________________________________ diff --git a/wp-content/plugins/admin-menu-editor/images/gion/COPYING b/wp-content/plugins/admin-menu-editor/images/gion/COPYING new file mode 100644 index 0000000..c48d90f --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/images/gion/COPYING @@ -0,0 +1,342 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. + + diff --git a/wp-content/plugins/admin-menu-editor/images/gion/edit-copy.png b/wp-content/plugins/admin-menu-editor/images/gion/edit-copy.png new file mode 100644 index 0000000000000000000000000000000000000000..900d953b59cbf8db0986b64cdeb98fc0a373e58d GIT binary patch literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt`aC7!;n z?AMt@gsgP(+Al~0g-(0AIEGmC&YkQl)MUWZ8gCUleIB>?s};{L{^n5DNqD{EqX}1d zLLjqh?$%_pzluNaWvg9SyE|@zE6Jrqo0Men@+8rW!g`_qJwry0Micq8^Q9I)8u=;Akj4u9XG4VM~)w40L3 z{cIdp)e9(`V%e~ZU#UqWEka1ZDk5gW_ccBZA<5!_4Tc{R6TcpHWl=aj<(bOOEgL3U reQQ3VrY9O-o#6A)e!<({Q=q(0MS3j3^P6 +Riccardo Buzzotta +Josef Vybíral +Hylke Bons +Ricardo González +Lapo Calamandrei +Rodney Dawes +Luca Ferretti +Tuomas Kuosmanen +Andreas Nilsson +Jakub Steiner + +Some external 3D Assets used: +Geraldo Cockerhan - http://www.blendswap.com/blends/view/40495 CCBYSA + diff --git a/wp-content/plugins/admin-menu-editor/images/gnome-icon-theme/COPYING_LGPL b/wp-content/plugins/admin-menu-editor/images/gnome-icon-theme/COPYING_LGPL new file mode 100644 index 0000000..65c5ca8 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/images/gnome-icon-theme/COPYING_LGPL @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/wp-content/plugins/admin-menu-editor/images/gnome-icon-theme/edit-cut-blue.png b/wp-content/plugins/admin-menu-editor/images/gnome-icon-theme/edit-cut-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..4e8412c72dc02cdbef9f0119fb2c6440dd48c378 GIT binary patch literal 1794 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+nA0*tB1$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`kBtHuNWFoz#!AFNG#Ad)HBe}%?0@jth%@)C>7xhtg4GcDhpEegHnt0 zON)|$@sXws(+mtd{1$-}0$pR}Uz7=ql*AmD{N&Qy)VvZ;7h5Huj9yA+ij|qGi>0HR zld-wEo0F@Np`oLJsiCElqqCEXqbo3YO<-nV(`#sIX6k5R=IZ8TZfR)fYUJc(Y2<8d z2{ggg(#hGt5vJEOuec;JFF6%vZzj-Qs9qPmdaay`QWHz^i$e1Ab6_bTAS1sdzc?em zK*2fKOhF?&GcP5-yjT+yJrLizq!wkCrKY$Q<>xAZ!`CVki~Z(Cg!~QBn?g>Q=>r|3 z4@w+Ji3KJEOo1RKJm~{D@XV8%2h1@=z^pNIYV<2$jx+LfaSW-r)e{u!6YMEsXZ(HI zG;Uojg-r{zJDNfirOUflODMN8btRcx6yLPFGxD*tezwNGHVF%R*Pb%`InDC;0cWqNT4B?zZi_6fvK(IMC^lQ7dDpGA*A|7YUbk)Q&pX8l`ybtY91~o% z>sV~^T#0@M3zH*qIk3jp(sJkjygM5V&!+h@9&d6jc=)K&_HLeg zFR%5{lP@Gz%wj8lU%GPQ#*6k*|Ex-$8aMF=@tfbeEc0C3^5o;?{u54bmD{!ZeWUJG zHrG~dkMjI}DSw~$xwbc|iupcEHcD>N5np!Wi1nU%+pDj?yIG#U{~BLYL-Q@`y|-R} z<*Tczn|9#w{*A23HM0zN)qIQRP%xS5p<#82{SJ4;4h{Kpyb7x(_Ag6T^wG4uaC6gN z`w->wH;>Bg!uM?QC`w6Tc*K71pM2uOMul6`EdSnVno&}F=wI?x{p?7l<;ubDLu~kJ z|NgyvdDS-mBTWSh&OMzX*XEW!Z*PUCq1&UX>8C$sB{*dFFS*LB>?05$&mO(=cT0fV zr}`61TUl8%{o}vAKi)IxRN!4E=fj6R%zMtZC3e{OzFf0;sp6HFxjeycys_8MNn)~#ZISTfDc5g5?>%(rYDCGLCr_Vci3Pqn zb@H6ivSrJB^yL!0PCUJEVZ*HLB{M?;0~J%!(wFb!YBlxh5iVxg^Z(?7godtX4DG^kecboFyt=akR{0FXb#Z2$lO literal 0 HcmV?d00001 diff --git a/wp-content/plugins/admin-menu-editor/images/gnome-icon-theme/edit-paste.png b/wp-content/plugins/admin-menu-editor/images/gnome-icon-theme/edit-paste.png new file mode 100644 index 0000000000000000000000000000000000000000..4458622082ad0f2190a4c4508a6af178de9f7065 GIT binary patch literal 722 zcmV;@0xkWCP)hks8v`023C0+MXci0q2<;G& z%3xw=ZKdMdXrf^u?l<$@Ycabku*8#0GMTw^?m1_!QB}61@^J2I@Yxkn$y;Mnmn74Z zlNax{6awbOT>nfKq^z1bRYg@3&eW?C4jwCy7qe7rGIMW z0|RHA%NGGy{l3Qf^EbSE{}z!9YZIz#8}tsIqi=Ty06txJFQ3eofobPM>Ri4^b#(<* zc(j-@F>!&e&d#RH6XPeDpTE!Lkpjj*d*5NauQ>qceTpK{kAbej2G?)iXz{wQw}3GP z02IM{AKyHl+N=G?r&#~+3V`3$8XrR+U$qwzXyl?I&Aq6C3Q3Z?<-AXkOc05`(NWCv z`DYKOPo3Q<^euQ$nJv5EJ*tttftn8heEIeXV@!Pkm}o(jp6)%Q-n*EAWKmWfp-$kO zV|i&gh7%b87&iVU#c9;$G#aCl%N1__1rL!^hV!%BX#fBK07*qoM6N<$ Ef~E;LMgRZ+ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/admin-menu-editor/images/icon-extension-grey.png b/wp-content/plugins/admin-menu-editor/images/icon-extension-grey.png new file mode 100644 index 0000000000000000000000000000000000000000..6151f432471c6fda4742d5ebfdd9b555a519da3b GIT binary patch literal 1330 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+nA0*tB1$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`kBtHuNWFoz#!AFNG#Ad)HBe}%?0@jth%@)C>7xhtg4GcDhpEegHnt0 zON)|$@sXws(+mtd{1$-}0$pR}Uz7=ql*AmD{N&Qy)VvZ;7h5Huj9yA+ij}dMsj;h( zg{!NJo3pEtp`nGDv6G{Pqmi?zrKPiri!00wYAT@4LgjhrkDot&IZ zEe#A@%?w@LoM3uA^NLFn^O93x_GSX@h3d7$tJli8C^fMpzbGU>KL?fq0y6ST@{2R_ z3lyA#%@j1kGxJjN%ZoKZ(F5_VOKMSOS!#+~QGTuhIDD-#vDk0yM#$d~y(#2`nLf}l z`k=&tlvrRwz!V5#!jnFb1J69EdB7Y~1k4(%o6kOEU|>x0ba4!+xV0qc?5d^!fqBYZ z-DYAOYfq(f-2SSu?NV&_2Tvx&sB}BOeNKP3C;D>mK88VTPz_sReuEGUKm*y)6_mpRN6H zqyO^Yj>i(yPOJXrxUj7A`Og|Zokbd15f3)y&fY5`_*$%O=KJr~J;#$PY~)I&FMIi0 zPp04f)8U5#r#3CA4HS728k)Q1#@jNP@2jtNmAV`$dwA-zOiEAj2U86|+b3h97G8cM655dNR2NzUcW^wmZ=C zQEWxh0g2|nb^cp>-IOinpZ~(R`LTf_^O+rS>u;uQUYN4(^`^d#%{O`cmJ7$|i5JK$ z*W}E06-ZRtVBFa;PvxXO@2ziHO4bZBWbKnyyOh-&Uid3(%KnY=jBE@G_TO8~a`k)| Ps1);b^>bP0l+XkK(Yn@c literal 0 HcmV?d00001 diff --git a/wp-content/plugins/admin-menu-editor/images/logo-medium.png b/wp-content/plugins/admin-menu-editor/images/logo-medium.png new file mode 100644 index 0000000000000000000000000000000000000000..73b4dd307da98fad30bcc5fee870ac0eff0f2323 GIT binary patch literal 8110 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/admin-menu-editor/images/page-delete.png b/wp-content/plugins/admin-menu-editor/images/page-delete.png new file mode 100644 index 0000000000000000000000000000000000000000..a2d1b14574dedb3d9af1a528ee30d57b1b8d6d4b GIT binary patch literal 1449 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+nA0*tB1$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`kBtHuNWFoz#!AFNG#Ad)HBe}%?0@jth%@)C>7xhtg4GcDhpEegHnt0 zON)|$@sXws(+mtd{1$-}0$pR}Uz7=ql*AmD{N&Qy)VvZ;7h5Huj9yA+ij|q8i>tAz znWdYPo3pEtp`nGDv6G{Pqmi?zrKPiri!00wY`gLD2*8txIZAW?5>ATTyhSGXn$TO-~ockcwMNf^5B$9Yt)7^W%iB`Ki7rYjogvC4ZwxRZ#kW!_lzJODEMf z*gJY=D@H_cglXoQJ^03%que3Tq{*|cqfy|~w6nLr-+Ob%``OGNTbsn+)yy}3UdOT4 z^j>mTTi9yR%|G_>pZ{E8E5TFo?)z`!1w}h`9`R~sn9csR_F9HX$xSPiq~In zUM;fZal<~2#T$wLnSOzyH5OB`}BBu z%KqA?yLZo({Sy__QeEZMB7enOH|weZXX_M`tZw@%|fX@}WrpZoh3@bec|m$m(zEX;N;b@PFH^PUM9%{aJUfxDNBtTRAiRVBdDb0dZd)pL$P{k)kNc7^C;B3}2}V7~LIt{1J-u zhHUbkuFT{RQI})I5UhL)qs;n91WqH1y}Go3nEOb^5S){rk&d_VLp;L=Zv%O94ll;UWY2R65rz&!x17@cl;CAj}Ns6%i zd5nRJ)r9X?F*V{u^c>>t)oOyZLgJ?ibJq@?o8Vd*UvF46f4UHmRbSVF|2SWIEDX1n z;BVSWf5%?^&f2l_?*pt}-!E-L^YwrR>t@D1jikkgEQo!)?mk$6_1@Tor0i`56;e7( zEUJ>)1XO=cFF0!1!ZB+Jo)hId80xNhvbwq9`W=^}E#<#bon_3QUr(ZC9Yc0=ZqO!N pF#MTD>UVajJI?%>LQ;b@|2K$J-BF0k8QA~;002ovPDHLkV1kb~77qXb literal 0 HcmV?d00001 diff --git a/wp-content/plugins/admin-menu-editor/images/pencil_delete_gray.png b/wp-content/plugins/admin-menu-editor/images/pencil_delete_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..2757e2e93ffe4cac6ba4ea4fff26cfe27feccb22 GIT binary patch literal 522 zcmV+l0`>igP)-ZC8DTK88D8x^R&+H4TdQThy3KXND>wr389l$VoEae`fwn zq$rBuKTC<5*zI;zMNzCE2(Iu}_`d%k%ko`p0fb!)C=?1HNfMZ*se7LHEX8R7Pml8X zJfu=7hG}6XVB2;m;=sjXk-^bu1iRgigBCvX{;c2#hhYed#ezj#*X2s+TB%ed5eJ^n z=Yah(m`Ef}Fy)Cj@ZoTPOeO>C^_t5+!oLc1I-S@s`*7|-yWNgTr4sKi;niwI0-xyq z4ZgN9UK)+Y6AQFjEgkzaHBE!rY{tD_!Z!&AehYS_xqfKLNcPwlLtZw7!HRlLXHmx1K4i2P^;Cb=Ub{u*LA2? zt3ZeC_j|&09%VYkaU95Ivs4WWP}J-7qhVh-2iKHCt&zbLxE%2_QD7Jb^m;w8EQ`kU z{S1a=GWj;0PJJ3*0_lne1Z1QX_jkrG^nlPkZZ)b1;}yTc!C{kgV#7nZ!}+IFwq-SXfjo|dBU;$2A*R+N`fo=|&GUYL?n@~UJ} zRwmI}jPAB8^01Y3C+^Ijd+pCXe>~g?4Jqg4)T#41=X}pOfxGiRR{6W&>CB0&nI=@t zRrSu<^!c5C0)&<(_cUQ7TI*VgHN*l@P5-TfC4f_@-VY11P%L?g;zAJ-8T%U`aCgp( zo^&%s)zGr{_QtkAOc?cV zQv@Ya7h%t}T`nSsD7Oy`1i{aDaBT3P$D8A1r!%M-=8CwXt~6AISyR6jGsiIoM;>tZ z&|vV(9f&CEifGyEVzQcIGxNN8`GVQmBE|UvZp9xX9KCnIMU)jaD^N2^UMg#1ikMNI zccRNH*tm5QYno!*e}0qU>_gJsE$2etD<@XAvnsrb$ z6AdYytGA&+iFC(ifFqRvB@qNA^X?fNqMb~-l0^}rXPZ}>v4 Z=Nr{rY9&UI$M^sM002ovPDHLkV1hoZLv;WE literal 0 HcmV?d00001 diff --git a/wp-content/plugins/admin-menu-editor/images/plugin_disabled.png b/wp-content/plugins/admin-menu-editor/images/plugin_disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..f4f6be59cb52191153bbd2fcd03ef12d330f056d GIT binary patch literal 347 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^zbpD<_bdI{u9mbgZg z1m~xflqVLYGB~E>C#5QQ<|d}62BjvZR2H60wE-%6>*?YcA|c6o(9vsZq6FK8&wp!F zF0$?pcZqJ6&S3OwF}q+R#qxHA?UfUOTRSwCUs|AaNS^nI!2RcM=UfD8Z{R$ze7&XT z^FMD`8FU!r%WF4nmagOjGMB$ToO@@rKEr{G`PNF8+Li0>g`{fgZ$F^2Ey{S2?Az@> z_!5Gmb{DGOS|qE%F!@LB`D1H4*e{yhE7i*+R*y?^}D#G^uK? zs!!WfH;*g^h|Dj(RDzL==f|my)dr%PT1vq@z?H_1k(}fvLJyh9O&}sYO929R=UVq= zH&av%{Tsc$cuOEAbbsynEuyNb5fS0`v3teyW}v3jt**t~Fn1ga)C_k>tW6ZEEAGat z{;q|GsH&(N=Em^&5TnzhhzsUUB#2UD!tNkSx9K7PQF=4I#FiIQwt53UCNrojYD(0z z>{MZM)o~6?bkcO^sEY_9%9G}2K?I;Zbu;MLdn-tfr%_Wv3kg*a6B;F?s`4CazKnWI2NNtV@9URch+SU-u9ZR}f7$*x!f z1;vwCb^zSa@z+%EzsM=%0Z41VipU4IWnn;Nmn9^9tb(GmaAILsoqE&uO$dUhJ@vF7&c(_oDumy%>&pzBN@Z72ZWN+&k`V!7j|d@vdN?Kq z{D6sc9{dVe5kwVb13@|H-D3$0oR(2!v?(qD(FkI#NhO$YJCM;3h_Sp4TND6~SsAL#-(bB;bI|peZiSOO})kTj909wQ`JO=!%Hk zZo^iM3VMC0QxE}a(i*D5I)Xq+QcD<3BuP}FdL5z1b?_yt2&2VBTJ+WE+JixDVkBzu z)9y80aA(8XWI18M@nkZoO&YX<7{dvQq7)9jz6wfINu9jRq^fwSJjXx-DJ-%HnH6|c zVPrx=hit>3rK>J*39omZn3vW91w)3Xm;_E}bvVZui&F%QEQkR?i03N6*Cxn<)FvcQXCsO3YG(O}kd!Kv^sIVI1Cf0SMBJjl zp)2vVup8)i8y$8Np)=7YH?8>Xa5>?CuIpV6Xqy>Z!$$s3%y4K7t`x_AiY0dhD^OXk zmpymRD5tvB=PmAJ)#i@bJBcnfszeB%U@3pPwi#jURe9^JJQMfBN*(Hzsdh zKJ(J%YJR?T^5l`bUo=c@pXk1I7OkwDNnDwy3e{?L{L<7z_n@=QqX&SmsVQofe=0sa zIJjl!STIz znW?;+MYf@Jnv%3pk|e{qxFO~nJPK}Jzkz2KCW=+v zxBi&D`pfL2{m*?+IuiW05zCA&Oq6!3uI)YU)-7KsJ9n)2n6=tT?AjAbXCLUjoH$wO z&i|As=ska_`fg!xQiBc%6J6iG9Q$j0Ur~e{*nQj9{q^~Szk3c}d>d~W j&Fril8J@det12i#TC77`$EJSkRDOLPR|9>@(R%0~ihJnt literal 0 HcmV?d00001 diff --git a/wp-content/plugins/admin-menu-editor/images/sort_ascending.png b/wp-content/plugins/admin-menu-editor/images/sort_ascending.png new file mode 100644 index 0000000000000000000000000000000000000000..c3746d8fc31a95ca592a575b6562b07a808b4580 GIT binary patch literal 506 zcmVar+caDT2yilUV;BI`?Ee1!dqJQ9Jzu_j zIRd23fWQ}<0pEW8Lk)wtxVQ$Ojjvc)S(gC~N&$vL!pDyv{{s!0ip_w(fB(bTEYZ=? zxj-{$~Js0gQL=-tB;Hz>nWZVSpq)Ve;h38$b*{KfeP& z%`!?#O2@IefRlw$5~uTkn%BF!y1p+iE^f!ACS%@1>|p@X47AxnPfu?~Z*OlUHqD+5 zH?DE9F)>6>dvF!S3&dy!fqU0K2mkxeu;|0vUvYSy4P*xx8X7LeW{7(DX-ycL5kvqr w9{^JNZ{EDw29tR3;DIzKMt~{QfdLNy033wT!KCPr-2eap07*qoM6N<$g60X>-~a#s literal 0 HcmV?d00001 diff --git a/wp-content/plugins/admin-menu-editor/images/sort_descending.png b/wp-content/plugins/admin-menu-editor/images/sort_descending.png new file mode 100644 index 0000000000000000000000000000000000000000..26cb4e8b2473cd30d41977e19e226a881cddc9bc GIT binary patch literal 509 zcmVlee%pFbHse*DPr{rh(?-o1Ob0|Oqwgv6dOdGch3S+iz2 zKsC!KDJeb1rYU5~16`aZ`uX{-cXf4rUtC<=j!R9~j#po>xd5ygXtRT!p5Bb!-rh=F z1_*F6b7L4ltY#4S_Uj*N7+}*3^g@84q2W?&2K@c|AI@e05kSp?AbQ`veR42O^XAQy z2E_Grm5+k!!Y1_lN;Kz=jGFd*Le^5x43xWWSfoa5blKLGJ300000NkvXXu0mjf2JPL? literal 0 HcmV?d00001 diff --git a/wp-content/plugins/admin-menu-editor/images/spinner.gif b/wp-content/plugins/admin-menu-editor/images/spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..e10b97ff9d84d7ff8d7efe5c4c09783dd390e338 GIT binary patch literal 2193 zcmai#eNYtl8ON7(yJ6M6J=n0lMb_k8_Sd=PxP4*6q$V@fTkd$f1L8|!_`^Xw3?Nkk zC~rnNUV;$tr4l4p@CCR74h~C3V$$*262*vAVuOO9F=^{`jLEdlbka`yN0YrH{R4+i zKYO$L&)&@Qd4Au0p44>vi$C3^hxE`L2>MRrpJD#C#9u-@(0)tI%{|brFf(B$XJ#ff z!neubWH8KlFgU(MU_3BB9$3Qb4TP?MS0jA$c6+;*=;+X%9bwwSG`6)hhN%rx9zrV( z`hOU|Ta#tmwpHDnW0Ni7stE0U8AyT5q5p<7A@qYyo)eU5%q72Sl1mQe^)ydB z`SS9{o7alJO>^Lgb;EdZWTwCI-|IkR2DcbLR~R4Xo1bpfM@9-Z_5djw3Bo8~hYg%S z9p#NqBNqW-7U?J<>6|(Vf?!D^_2uVOT@nGE5ey`m(4iVdp5iSW7^kII2u23Llu=I2 z(B=VwodQXuV*iw881{Dcn@X+_N8f*NTPnzsc=mIUkhH^TwOP`B>rgj`RDSf7%7tYr z`F-gdqQ3f_rqcRCk=ci;YFH(8H?AWcno4r@%NtC0r&Cz{TEX@TL5aqLMgc!ea{^70 zAr%0_nhJF?tkQ)@-4u29d>`x;)(x693l4%j9H8lJ<{*O+&r&I$o#^b`3DC}rZepD^l?;g@|32TV~aZNyQ4R*PCVW$pR6*xek#2p z*6)7>ix2yhh<$SUE+A zJl3Gd%yTT8f;Zg12&+D=Wo@O?_OKlFLm$VxKvIE2x{Qamm{6^{srfOJ~YD>iv@x*qQU^lWMR*DmuX zE&U%?6pY@QdN{${*!bnzL~uWOy=!rh%>N9u+wUo{!TT5O`MsmlPcRHuKvR|C)_Pr~ zDJbS9z8z((6%5H$au|ZPT15qcA$SNG&e%yngMQ4kPc&dd4VlZj`rkq-wXTA`cDZw= zH2t0SjXi5WtAA5U{q)h~miHX5s^84Uyb~}#Xelj_qfSfHf0jy;n*YA~W`EfiML1qz zQp`u{+zL-tRGKiX*n&Wjf`d3=l~!qn2XOR+Xk{bdp;ZWijyeE3G!np%oW@6#IInfZ zyp=8G?KNN48~w7**>_St^~V>TIYrIIW6zG|{K zZbu^wLFIOWIHF)s#J(n?zyQN`k;HM``?RN%jhu2b@%myx*{&)`BK5&5RgB z=vj^w(2o=#ioCu#YDnP#g3fDaevjZwm0S~kcL668Tv=jpfn-~qsy2Z3|Br-)4wl;b z2M37RdtIT|5;4*A?oI@%vlYj-zkKD#5qtA$e#X#=tp53(j)lQlDS46e-5Q^&D@5Ei zD&3@@?(H=)^)_DLpgAzsY+a3HASqzQvK5m`dSe_Y=Ere@@Fvs{!vTV7uo}scOO6#o zwqL8|A2;Hm_VZi1dNC*`v%IKmHC)$x~ecdHdeT3e3rlgwcr^{9j zSJe;040k{8u4am``YjNoxURu&F$eBo@9H~6eKfbYciUHOjw{C|Zi)UJ(D_6<;`xsi zt3Ol^7sNilPG+n>l94Kf+|CaF+O#SYFRF?pxPGi!S4i=)hq2#6@klklFH%S%)2*P)EP^gW#~vR42A literal 0 HcmV?d00001 diff --git a/wp-content/plugins/admin-menu-editor/images/transparent16.png b/wp-content/plugins/admin-menu-editor/images/transparent16.png new file mode 100644 index 0000000000000000000000000000000000000000..86e8064b4b49be0dd58c8889f12c5991c84271d0 GIT binary patch literal 2808 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 KMNUMnLSTZ0JTa{R literal 0 HcmV?d00001 diff --git a/wp-content/plugins/admin-menu-editor/images/x-light.png b/wp-content/plugins/admin-menu-editor/images/x-light.png new file mode 100644 index 0000000000000000000000000000000000000000..8b03bfed8f8ae04dd701c4033b1259cc7176fd53 GIT binary patch literal 1066 zcmaJ=J#W)M7@ANStNR`b!?%DokeqShLFmP_XK z;=frY;{)bSn@k(n?&3B&z+*3klo6mF1dYh+Ll=6%(bKPRo1)6Yu+zm|XJ7MC#CipW z&7*{{DQbH+PdtAJG3dd580+-e$4@i}1D$?cad;;&;UL^QPGS4F+3}Buz8cWGJ77E4 zh(H9f2lD7J&a_;or@9(h7uy^SrVu>T>5HJcP79bQg`mRnjL%njP!(7~k`+aH2t;1s zIbP%hkr5P45;dL&vyUd;(%?XIt@_Ltv2=QXaiVeDcsypu5{uG4C#b4gXow<15KMLy zV=rgoY;&$)!OTy?1cxXFg`(F(BdpUT(u)+L#0~ocoGrxTY*s8%HZJ!PPGEU1onngo z<}Am#nh`|{bcS7c8T>!>v(8ZhITvPVl=|cr4>p%vUG1m<&T`NkFC9X1i*@fXgVO`Y z(JbVTA{gU_rPBn;24SF?lEJG+#a2Yg5Cp4UlO($)OF~UlMcGuPIkypK*o%EQ=Z2SD z>q@R>rqIJE?I3hGZ-&+YVU!I}0?f7u9M2Eq!Y*!##8pHJ)9@J#>M4rAv}jtm{okSp|z7%U~dM6~MvC2}MTuIP}Zj+t+fHY}El z{wK!b1;LmUJSFer{r4(E-qx+we#f3nCT~BVlkxQza7s4I*lo5a6Y9seHG`N!!!kPg z&)$=sRoY*DH8|;(uH*aV@|%;}FG?Rak{z~$neM9XpZ>=9tbFY*m9JC3s^@=h5Hi)U Lo7TJ9ljnZ{wkM;tv{BM^O?)28LejYhoq#x%P#)6$4^J zVyFZ^Aisc>fuUk#;17V<0Er1C#9Yp4l4gLOWZ%7a&-1(=_uh+I_5RAz`Vzx1E0sN~ zPUqYCcVmJ6Hw(8KbXp^Ji!|^d8NviHB_FpDsD!YC>InMBM<37*!z}cIW{b4keci($ z2XhRUg)wC_%+78WL$8MjXroRL8SKw@XDkSOgMFmBf*YHt8|t_a(BKn#{fdXYjH*Mm-%q%-j-ofM0fjn81ri=4nG zV@#gkl;yftGs19&PDveI2LDg}w0RsOzK&8nNIZIrhZ}RQu6C3ICpqXYOnQjkq67OW z8Xvf>Zeec_qKH&1gQZZ;4}9Ix#G>P9iYCb=QM8<*X3N%=s+y{5mu*Fvaw}0vVC11G zH@M`=S8{bTL6G32iE)4047DyMIPKyXm<8_O?_~RCYr2=aQZyTF!roJPm`-J7lh7rdzZP z^X07nsWE#&D53>V===Eo^7J)*Ti0v*P5XR29zOlkr#sh3z1lcuzP%M5Q0q>`DmAlD z?E`CJ`RkG}lGj#8i;q{APd`5UeROlwd*9w%e^owX7FU_UFXqeW$7hAIn2KGs-jolX F{{``yOV0oR literal 0 HcmV?d00001 diff --git a/wp-content/plugins/admin-menu-editor/includes/.htaccess b/wp-content/plugins/admin-menu-editor/includes/.htaccess new file mode 100644 index 0000000..e42f31a --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/.htaccess @@ -0,0 +1,2 @@ +Order deny,allow +Deny from all \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/CHANGELOG.md b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/CHANGELOG.md new file mode 100644 index 0000000..32c7773 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/CHANGELOG.md @@ -0,0 +1,121 @@ +# Revision History + +## 5.0 + +### 5.0.0 (2013-03-20) + +* Correctly parse all known CSS 3 units (including Hz and kHz). +* Output RGB colors in short (#aaa or #ababab) notation +* Be case-insensitive when parsing identifiers. +* *No deprecations* + +#### Backwards-incompatible changes + +* `Sabberworm\CSS\Value\Color`’s `__toString` method overrides `CSSList`’s to maybe return something other than `type(value, …)` (see above). + +### 5.0.1 (2013-03-20) + +* Internal cleanup +* *No backwards-incompatible changes* +* *No deprecations* + +### 5.0.2 (2013-03-21) + +* CHANGELOG.md file added to distribution +* *No backwards-incompatible changes* +* *No deprecations* + +### 5.0.3 (2013-03-21) + +* More size units recognized +* *No backwards-incompatible changes* +* *No deprecations* + +### 5.0.4 (2013-03-21) + +* Don’t output floats with locale-aware separator chars +* *No backwards-incompatible changes* +* *No deprecations* + +### 5.0.5 (2013-04-17) + +* Initial support for lenient parsing (setting this parser option will catch some exceptions internally and recover the parser’s state as neatly as possible). +* *No backwards-incompatible changes* +* *No deprecations* + +### 5.0.6 (2013-05-31) + +* Fix broken unit test +* *No backwards-incompatible changes* +* *No deprecations* + +### 5.0.7 (2013-08-04) + +* Fix broken decimal point output optimization +* *No backwards-incompatible changes* +* *No deprecations* + +### 5.0.8 (2013-08-15) + +* Make default settings’ multibyte parsing option dependent on whether or not the mbstring extension is actually installed. +* *No backwards-incompatible changes* +* *No deprecations* + +### 5.1.0 (2013-10-24) + +* Performance enhancements by Michael M Slusarz +* More rescue entry points for lenient parsing (unexpected tokens between declaration blocks and unclosed comments) +* *No backwards-incompatible changes* +* *No deprecations* + +### 5.1.1 (2013-10-28) + +* Updated CHANGELOG.md to reflect changes since 5.0.4 +* *No backwards-incompatible changes* +* *No deprecations* + +## 4.0 + +### 4.0.0 (2013-03-19) + +* Support for more @-rules +* Generic interface `Sabberworm\CSS\Property\AtRule`, implemented by all @-rule classes +* *No deprecations* + +#### Backwards-incompatible changes + +* `Sabberworm\CSS\RuleSet\AtRule` renamed to `Sabberworm\CSS\RuleSet\AtRuleSet` +* `Sabberworm\CSS\CSSList\MediaQuery` renamed to `Sabberworm\CSS\RuleSet\CSSList\AtRuleBlockList` with differing semantics and API (which also works for other block-list-based @-rules like `@supports`). + +## 3.0 + +### 3.0.0 (2013-03-06) + +* Support for lenient parsing (on by default) +* *No deprecations* + +#### Backwards-incompatible changes + +* All properties (like whether or not to use `mb_`-functions, which default charset to use and – new – whether or not to be forgiving when parsing) are now encapsulated in an instance of `Sabberworm\CSS\Settings` which can be passed as the second argument to `Sabberworm\CSS\Parser->__construct()`. +* Specifying a charset as the second argument to `Sabberworm\CSS\Parser->__construct()` is no longer supported. Use `Sabberworm\CSS\Settings::create()->withDefaultCharset('some-charset')` instead. +* Setting `Sabberworm\CSS\Parser->bUseMbFunctions` has no effect. Use `Sabberworm\CSS\Settings::create()->withMultibyteSupport(true/false)` instead. +* `Sabberworm\CSS\Parser->parse()` may throw a `Sabberworm\CSS\Parsing\UnexpectedTokenException` when in strict parsing mode. + +## 2.0 + +### 2.0.0 (2013-01-29) + +* Allow multiple rules of the same type per rule set + +#### Backwards-incompatible changes + +* `Sabberworm\CSS\RuleSet->getRules()` returns an index-based array instead of an associative array. Use `Sabberworm\CSS\RuleSet->getRulesAssoc()` (which eliminates duplicate rules and lets the later rule of the same name win). +* `Sabberworm\CSS\RuleSet->removeRule()` works as it did before except when passed an instance of `Sabberworm\CSS\Rule\Rule`, in which case it would only remove the exact rule given instead of all the rules of the same type. To get the old behaviour, use `Sabberworm\CSS\RuleSet->removeRule($oRule->getRule()`; + +## 1.0 + +Initial release of a stable public API. + +## 0.9 + +Last version not to use PSR-0 project organization semantics. \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/README.md b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/README.md new file mode 100644 index 0000000..46490df --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/README.md @@ -0,0 +1,519 @@ +PHP CSS Parser +-------------- + +A Parser for CSS Files written in PHP. Allows extraction of CSS files into a data structure, manipulation of said structure and output as (optimized) CSS. + +## Usage + +### Installation using composer + +Add php-css-parser to your composer.json + + { + "require": { + "sabberworm/php-css-parser": "*" + } + } + +### Extraction + +To use the CSS Parser, create a new instance. The constructor takes the following form: + + new Sabberworm\CSS\Parser($sText); + +To read a file, for example, you’d do the following: + + $oCssParser = new Sabberworm\CSS\Parser(file_get_contents('somefile.css')); + $oCssDocument = $oCssParser->parse(); + +The resulting CSS document structure can be manipulated prior to being output. + +### Options + +#### Charset + +The charset option is used only if no @charset declaration is found in the CSS file. UTF-8 is the default, so you won’t have to create a settings object at all if you don’t intend to change that. + + $oSettings = Sabberworm\CSS\Settings::create()->withDefaultCharset('windows-1252'); + new Sabberworm\CSS\Parser($sText, $oSettings); + +#### Strict parsing + +To have the parser choke on invalid rules, supply a thusly configured Sabberworm\CSS\Settings object: + + $oCssParser = new Sabberworm\CSS\Parser(file_get_contents('somefile.css'), Sabberworm\CSS\Settings::create()->beStrict()); + +#### Disable multibyte functions + +To achieve faster parsing, you can choose to have PHP-CSS-Parser use regular string functions instead of `mb_*` functions. This should work fine in most cases, even for UTF-8 files, as all the multibyte characters are in string literals. Still it’s not recommended to use this with input you have no control over as it’s not thoroughly covered by test cases. + + $oSettings = Sabberworm\CSS\Settings::create()->withMultibyteSupport(false); + new Sabberworm\CSS\Parser($sText, $oSettings); + +### Manipulation + +The resulting data structure consists mainly of five basic types: `CSSList`, `RuleSet`, `Rule`, `Selector` and `Value`. There are two additional types used: `Import` and `Charset` which you won’t use often. + +#### CSSList + +`CSSList` represents a generic CSS container, most likely containing declaration blocks (rule sets with a selector) but it may also contain at-rules, charset declarations, etc. `CSSList` has the following concrete subtypes: + +* `Document` – representing the root of a CSS file. +* `MediaQuery` – represents a subsection of a CSSList that only applies to a output device matching the contained media query. + +#### RuleSet + +`RuleSet` is a container for individual rules. The most common form of a rule set is one constrained by a selector. The following concrete subtypes exist: + +* `AtRuleSet` – for generic at-rules which do not match the ones specifically mentioned like @import, @charset or @media. A common example for this is @font-face. +* `DeclarationBlock` – a RuleSet constrained by a `Selector`; contains an array of selector objects (comma-separated in the CSS) as well as the rules to be applied to the matching elements. + +Note: A `CSSList` can contain other `CSSList`s (and `Import`s as well as a `Charset`) while a `RuleSet` can only contain `Rule`s. + +#### Rule + +`Rule`s just have a key (the rule) and a value. These values are all instances of a `Value`. + +#### Value + +`Value` is an abstract class that only defines the `__toString` method. The concrete subclasses for atomic value types are: + +* `Size` – consists of a numeric `size` value and a unit. +* `Color` – colors can be input in the form #rrggbb, #rgb or schema(val1, val2, …) but are always stored as an array of ('s' => val1, 'c' => val2, 'h' => val3, …) and output in the second form. +* `String` – this is just a wrapper for quoted strings to distinguish them from keywords; always output with double quotes. +* `URL` – URLs in CSS; always output in URL("") notation. + +There is another abstract subclass of `Value`, `ValueList`. A `ValueList` represents a lists of `Value`s, separated by some separation character (mostly `,`, whitespace, or `/`). There are two types of `ValueList`s: + +* `RuleValueList` – The default type, used to represent all multi-valued rules like `font: bold 12px/3 Helvetica, Verdana, sans-serif;` (where the value would be a whitespace-separated list of the primitive value `bold`, a slash-separated list and a comma-separated list). +* `CSSFunction` – A special kind of value that also contains a function name and where the values are the function’s arguments. Also handles equals-sign-separated argument lists like `filter: alpha(opacity=90);`. + +To access the items stored in a `CSSList` – like the document you got back when calling `$oCssParser->parse()` –, use `getContents()`, then iterate over that collection and use instanceof to check whether you’re dealing with another `CSSList`, a `RuleSet`, a `Import` or a `Charset`. + +To append a new item (selector, media query, etc.) to an existing `CSSList`, construct it using the constructor for this class and use the `append($oItem)` method. + +If you want to manipulate a `RuleSet`, use the methods `addRule(Rule $oRule)`, `getRules()` and `removeRule($mRule)` (which accepts either a Rule instance or a rule name; optionally suffixed by a dash to remove all related rules). + +#### Convenience methods + +There are a few convenience methods on Document to ease finding, manipulating and deleting rules: + +* `getAllDeclarationBlocks()` – does what it says; no matter how deeply nested your selectors are. Aliased as `getAllSelectors()`. +* `getAllRuleSets()` – does what it says; no matter how deeply nested your rule sets are. +* `getAllValues()` – finds all `Value` objects inside `Rule`s. + +## To-Do + +* More convenience methods [like `selectorsWithElement($sId/Class/TagName)`, `removeSelector($oSelector)`, `attributesOfType($sType)`, `removeAttributesOfType($sType)`] +* Options for output (compact, verbose, etc.) +* Real multibyte support. Currently only multibyte charsets whose first 255 code points take up only one byte and are identical with ASCII are supported (yes, UTF-8 fits this description). +* Named color support (using `Color` instead of an anonymous string literal) + +## Use cases + +### Use `Parser` to prepend an id to all selectors + + $sMyId = "#my_id"; + $oParser = new Sabberworm\CSS\Parser($sText); + $oCss = $oParser->parse(); + foreach($oCss->getAllDeclarationBlocks() as $oBlock) { + foreach($oBlock->getSelectors() as $oSelector) { + //Loop over all selector parts (the comma-separated strings in a selector) and prepend the id + $oSelector->setSelector($sMyId.' '.$oSelector->getSelector()); + } + } + +### Shrink all absolute sizes to half + + $oParser = new Sabberworm\CSS\Parser($sText); + $oCss = $oParser->parse(); + foreach($oCss->getAllValues() as $mValue) { + if($mValue instanceof CSSSize && !$mValue->isRelative()) { + $mValue->setSize($mValue->getSize()/2); + } + } + +### Remove unwanted rules + + $oParser = new Sabberworm\CSS\Parser($sText); + $oCss = $oParser->parse(); + foreach($oCss->getAllRuleSets() as $oRuleSet) { + $oRuleSet->removeRule('font-'); //Note that the added dash will make this remove all rules starting with font- (like font-size, font-weight, etc.) as well as a potential font-rule + $oRuleSet->removeRule('cursor'); + } + +### Output + +To output the entire CSS document into a variable, just use `->__toString()`: + + $oCssParser = new Sabberworm\CSS\Parser(file_get_contents('somefile.css')); + $oCssDocument = $oCssParser->parse(); + print $oCssDocument->__toString(); + +## Examples + +### Example 1 (At-Rules) + +#### Input + + @charset "utf-8"; + + @font-face { + font-family: "CrassRoots"; + src: url("../media/cr.ttf") + } + + html, body { + font-size: 1.6em + } + + @keyframes mymove { + from { top: 0px; } + to { top: 200px; } + } + +#### Structure (`var_dump()`) + + object(Sabberworm\CSS\CSSList\Document)#4 (1) { + ["aContents":protected]=> + array(4) { + [0]=> + object(Sabberworm\CSS\Property\Charset)#6 (1) { + ["sCharset":"Sabberworm\CSS\Property\Charset":private]=> + object(Sabberworm\CSS\Value\String)#5 (1) { + ["sString":"Sabberworm\CSS\Value\String":private]=> + string(5) "utf-8" + } + } + [1]=> + object(Sabberworm\CSS\RuleSet\AtRuleSet)#7 (2) { + ["sType":"Sabberworm\CSS\RuleSet\AtRuleSet":private]=> + string(9) "font-face" + ["aRules":"Sabberworm\CSS\RuleSet\RuleSet":private]=> + array(2) { + ["font-family"]=> + array(1) { + [0]=> + object(Sabberworm\CSS\Rule\Rule)#8 (3) { + ["sRule":"Sabberworm\CSS\Rule\Rule":private]=> + string(11) "font-family" + ["mValue":"Sabberworm\CSS\Rule\Rule":private]=> + object(Sabberworm\CSS\Value\String)#9 (1) { + ["sString":"Sabberworm\CSS\Value\String":private]=> + string(10) "CrassRoots" + } + ["bIsImportant":"Sabberworm\CSS\Rule\Rule":private]=> + bool(false) + } + } + ["src"]=> + array(1) { + [0]=> + object(Sabberworm\CSS\Rule\Rule)#10 (3) { + ["sRule":"Sabberworm\CSS\Rule\Rule":private]=> + string(3) "src" + ["mValue":"Sabberworm\CSS\Rule\Rule":private]=> + object(Sabberworm\CSS\Value\URL)#11 (1) { + ["oURL":"Sabberworm\CSS\Value\URL":private]=> + object(Sabberworm\CSS\Value\String)#12 (1) { + ["sString":"Sabberworm\CSS\Value\String":private]=> + string(15) "../media/cr.ttf" + } + } + ["bIsImportant":"Sabberworm\CSS\Rule\Rule":private]=> + bool(false) + } + } + } + } + [2]=> + object(Sabberworm\CSS\RuleSet\DeclarationBlock)#13 (2) { + ["aSelectors":"Sabberworm\CSS\RuleSet\DeclarationBlock":private]=> + array(2) { + [0]=> + object(Sabberworm\CSS\Property\Selector)#14 (2) { + ["sSelector":"Sabberworm\CSS\Property\Selector":private]=> + string(4) "html" + ["iSpecificity":"Sabberworm\CSS\Property\Selector":private]=> + NULL + } + [1]=> + object(Sabberworm\CSS\Property\Selector)#15 (2) { + ["sSelector":"Sabberworm\CSS\Property\Selector":private]=> + string(4) "body" + ["iSpecificity":"Sabberworm\CSS\Property\Selector":private]=> + NULL + } + } + ["aRules":"Sabberworm\CSS\RuleSet\RuleSet":private]=> + array(1) { + ["font-size"]=> + array(1) { + [0]=> + object(Sabberworm\CSS\Rule\Rule)#16 (3) { + ["sRule":"Sabberworm\CSS\Rule\Rule":private]=> + string(9) "font-size" + ["mValue":"Sabberworm\CSS\Rule\Rule":private]=> + object(Sabberworm\CSS\Value\Size)#17 (3) { + ["fSize":"Sabberworm\CSS\Value\Size":private]=> + float(1.6) + ["sUnit":"Sabberworm\CSS\Value\Size":private]=> + string(2) "em" + ["bIsColorComponent":"Sabberworm\CSS\Value\Size":private]=> + bool(false) + } + ["bIsImportant":"Sabberworm\CSS\Rule\Rule":private]=> + bool(false) + } + } + } + } + [3]=> + object(Sabberworm\CSS\CSSList\KeyFrame)#18 (3) { + ["vendorKeyFrame":"Sabberworm\CSS\CSSList\KeyFrame":private]=> + string(9) "keyframes" + ["animationName":"Sabberworm\CSS\CSSList\KeyFrame":private]=> + string(6) "mymove" + ["aContents":protected]=> + array(2) { + [0]=> + object(Sabberworm\CSS\RuleSet\DeclarationBlock)#19 (2) { + ["aSelectors":"Sabberworm\CSS\RuleSet\DeclarationBlock":private]=> + array(1) { + [0]=> + object(Sabberworm\CSS\Property\Selector)#20 (2) { + ["sSelector":"Sabberworm\CSS\Property\Selector":private]=> + string(4) "from" + ["iSpecificity":"Sabberworm\CSS\Property\Selector":private]=> + NULL + } + } + ["aRules":"Sabberworm\CSS\RuleSet\RuleSet":private]=> + array(1) { + ["top"]=> + array(1) { + [0]=> + object(Sabberworm\CSS\Rule\Rule)#21 (3) { + ["sRule":"Sabberworm\CSS\Rule\Rule":private]=> + string(3) "top" + ["mValue":"Sabberworm\CSS\Rule\Rule":private]=> + object(Sabberworm\CSS\Value\Size)#22 (3) { + ["fSize":"Sabberworm\CSS\Value\Size":private]=> + float(0) + ["sUnit":"Sabberworm\CSS\Value\Size":private]=> + string(2) "px" + ["bIsColorComponent":"Sabberworm\CSS\Value\Size":private]=> + bool(false) + } + ["bIsImportant":"Sabberworm\CSS\Rule\Rule":private]=> + bool(false) + } + } + } + } + [1]=> + object(Sabberworm\CSS\RuleSet\DeclarationBlock)#23 (2) { + ["aSelectors":"Sabberworm\CSS\RuleSet\DeclarationBlock":private]=> + array(1) { + [0]=> + object(Sabberworm\CSS\Property\Selector)#24 (2) { + ["sSelector":"Sabberworm\CSS\Property\Selector":private]=> + string(2) "to" + ["iSpecificity":"Sabberworm\CSS\Property\Selector":private]=> + NULL + } + } + ["aRules":"Sabberworm\CSS\RuleSet\RuleSet":private]=> + array(1) { + ["top"]=> + array(1) { + [0]=> + object(Sabberworm\CSS\Rule\Rule)#25 (3) { + ["sRule":"Sabberworm\CSS\Rule\Rule":private]=> + string(3) "top" + ["mValue":"Sabberworm\CSS\Rule\Rule":private]=> + object(Sabberworm\CSS\Value\Size)#26 (3) { + ["fSize":"Sabberworm\CSS\Value\Size":private]=> + float(200) + ["sUnit":"Sabberworm\CSS\Value\Size":private]=> + string(2) "px" + ["bIsColorComponent":"Sabberworm\CSS\Value\Size":private]=> + bool(false) + } + ["bIsImportant":"Sabberworm\CSS\Rule\Rule":private]=> + bool(false) + } + } + } + } + } + } + } + } + +#### Output (`__toString()`) + + @charset "utf-8";@font-face {font-family: "CrassRoots";src: url("../media/cr.ttf");}html, body {font-size: 1.6em;} + @keyframes mymove {from {top: 0px;} + to {top: 200px;} + } + +### Example 2 (Values) + +#### Input + + #header { + margin: 10px 2em 1cm 2%; + font-family: Verdana, Helvetica, "Gill Sans", sans-serif; + color: red !important; + } + +#### Structure (`var_dump()`) + + object(Sabberworm\CSS\CSSList\Document)#4 (1) { + ["aContents":protected]=> + array(1) { + [0]=> + object(Sabberworm\CSS\RuleSet\DeclarationBlock)#5 (2) { + ["aSelectors":"Sabberworm\CSS\RuleSet\DeclarationBlock":private]=> + array(1) { + [0]=> + object(Sabberworm\CSS\Property\Selector)#6 (2) { + ["sSelector":"Sabberworm\CSS\Property\Selector":private]=> + string(7) "#header" + ["iSpecificity":"Sabberworm\CSS\Property\Selector":private]=> + NULL + } + } + ["aRules":"Sabberworm\CSS\RuleSet\RuleSet":private]=> + array(3) { + ["margin"]=> + array(1) { + [0]=> + object(Sabberworm\CSS\Rule\Rule)#7 (3) { + ["sRule":"Sabberworm\CSS\Rule\Rule":private]=> + string(6) "margin" + ["mValue":"Sabberworm\CSS\Rule\Rule":private]=> + object(Sabberworm\CSS\Value\RuleValueList)#12 (2) { + ["aComponents":protected]=> + array(4) { + [0]=> + object(Sabberworm\CSS\Value\Size)#8 (3) { + ["fSize":"Sabberworm\CSS\Value\Size":private]=> + float(10) + ["sUnit":"Sabberworm\CSS\Value\Size":private]=> + string(2) "px" + ["bIsColorComponent":"Sabberworm\CSS\Value\Size":private]=> + bool(false) + } + [1]=> + object(Sabberworm\CSS\Value\Size)#9 (3) { + ["fSize":"Sabberworm\CSS\Value\Size":private]=> + float(2) + ["sUnit":"Sabberworm\CSS\Value\Size":private]=> + string(2) "em" + ["bIsColorComponent":"Sabberworm\CSS\Value\Size":private]=> + bool(false) + } + [2]=> + object(Sabberworm\CSS\Value\Size)#10 (3) { + ["fSize":"Sabberworm\CSS\Value\Size":private]=> + float(1) + ["sUnit":"Sabberworm\CSS\Value\Size":private]=> + string(2) "cm" + ["bIsColorComponent":"Sabberworm\CSS\Value\Size":private]=> + bool(false) + } + [3]=> + object(Sabberworm\CSS\Value\Size)#11 (3) { + ["fSize":"Sabberworm\CSS\Value\Size":private]=> + float(2) + ["sUnit":"Sabberworm\CSS\Value\Size":private]=> + string(1) "%" + ["bIsColorComponent":"Sabberworm\CSS\Value\Size":private]=> + bool(false) + } + } + ["sSeparator":protected]=> + string(1) " " + } + ["bIsImportant":"Sabberworm\CSS\Rule\Rule":private]=> + bool(false) + } + } + ["font-family"]=> + array(1) { + [0]=> + object(Sabberworm\CSS\Rule\Rule)#13 (3) { + ["sRule":"Sabberworm\CSS\Rule\Rule":private]=> + string(11) "font-family" + ["mValue":"Sabberworm\CSS\Rule\Rule":private]=> + object(Sabberworm\CSS\Value\RuleValueList)#15 (2) { + ["aComponents":protected]=> + array(4) { + [0]=> + string(7) "Verdana" + [1]=> + string(9) "Helvetica" + [2]=> + object(Sabberworm\CSS\Value\String)#14 (1) { + ["sString":"Sabberworm\CSS\Value\String":private]=> + string(9) "Gill Sans" + } + [3]=> + string(10) "sans-serif" + } + ["sSeparator":protected]=> + string(1) "," + } + ["bIsImportant":"Sabberworm\CSS\Rule\Rule":private]=> + bool(false) + } + } + ["color"]=> + array(1) { + [0]=> + object(Sabberworm\CSS\Rule\Rule)#16 (3) { + ["sRule":"Sabberworm\CSS\Rule\Rule":private]=> + string(5) "color" + ["mValue":"Sabberworm\CSS\Rule\Rule":private]=> + string(3) "red" + ["bIsImportant":"Sabberworm\CSS\Rule\Rule":private]=> + bool(true) + } + } + } + } + } + } + +#### Output (`__toString()`) + + #header {margin: 10px 2em 1cm 2%;font-family: Verdana,Helvetica,"Gill Sans",sans-serif;color: red !important;} + +## Contributors/Thanks to + +* [ju1ius](https://github.com/ju1ius) for the specificity parsing code and the ability to expand/compact shorthand properties. +* [GaryJones](https://github.com/GaryJones) for lots of input and [http://css-specificity.info/](http://css-specificity.info/). +* [docteurklein](https://github.com/docteurklein) for output formatting and `CSSList->remove()` inspiration. +* [nicolopignatelli](https://github.com/nicolopignatelli) for PSR-0 compatibility. +* [diegoembarcadero](https://github.com/diegoembarcadero) for keyframe at-rule parsing. +* [goetas](https://github.com/goetas) for @namespace at-rule support. +* [View full list](https://github.com/sabberworm/PHP-CSS-Parser/contributors) + +## Misc + +* Legacy Support: The latest pre-PSR-0 version of this project can be checked with the `0.9.0` tag. +* Running Tests: To run all unit tests for this project, have `phpunit` installed, `cd` to the `tests` dir and run `phpunit .`. + +## License + +PHP-CSS-Parser is freely distributable under the terms of an MIT-style license. + +Copyright (c) 2011 Raphael Schweikert, http://sabberworm.com/ + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/autoloader.php b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/autoloader.php new file mode 100644 index 0000000..3d9d7de --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/autoloader.php @@ -0,0 +1,10 @@ +=5.3.2" + }, + "autoload": { + "psr-0": { "Sabberworm\\CSS": "lib/" } + } +} diff --git a/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/CSSList/AtRuleBlockList.php b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/CSSList/AtRuleBlockList.php new file mode 100644 index 0000000..adcd7a5 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/CSSList/AtRuleBlockList.php @@ -0,0 +1,36 @@ +sType = $sType; + $this->sArgs = $sArgs; + } + + public function atRuleName() { + return $this->sType; + } + + public function atRuleArgs() { + return $this->sArgs; + } + + public function __toString() { + $sResult = "@{$this->sType} {$this->sArgs}{"; + $sResult .= parent::__toString(); + $sResult .= '}'; + return $sResult; + } + +} \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/CSSList/CSSBlockList.php b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/CSSList/CSSBlockList.php new file mode 100644 index 0000000..55a594f --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/CSSList/CSSBlockList.php @@ -0,0 +1,78 @@ +aContents as $mContent) { + if ($mContent instanceof DeclarationBlock) { + $aResult[] = $mContent; + } else if ($mContent instanceof CSSBlockList) { + $mContent->allDeclarationBlocks($aResult); + } + } + } + + protected function allRuleSets(&$aResult) { + foreach ($this->aContents as $mContent) { + if ($mContent instanceof RuleSet) { + $aResult[] = $mContent; + } else if ($mContent instanceof CSSBlockList) { + $mContent->allRuleSets($aResult); + } + } + } + + protected function allValues($oElement, &$aResult, $sSearchString = null, $bSearchInFunctionArguments = false) { + if ($oElement instanceof CSSBlockList) { + foreach ($oElement->getContents() as $oContent) { + $this->allValues($oContent, $aResult, $sSearchString, $bSearchInFunctionArguments); + } + } else if ($oElement instanceof RuleSet) { + foreach ($oElement->getRules($sSearchString) as $oRule) { + $this->allValues($oRule, $aResult, $sSearchString, $bSearchInFunctionArguments); + } + } else if ($oElement instanceof Rule) { + $this->allValues($oElement->getValue(), $aResult, $sSearchString, $bSearchInFunctionArguments); + } else if ($oElement instanceof ValueList) { + if ($bSearchInFunctionArguments || !($oElement instanceof CSSFunction)) { + foreach ($oElement->getListComponents() as $mComponent) { + $this->allValues($mComponent, $aResult, $sSearchString, $bSearchInFunctionArguments); + } + } + } else { + //Non-List Value or String (CSS identifier) + $aResult[] = $oElement; + } + } + + protected function allSelectors(&$aResult, $sSpecificitySearch = null) { + $aDeclarationBlocks = array(); + $this->allDeclarationBlocks($aDeclarationBlocks); + foreach ($aDeclarationBlocks as $oBlock) { + foreach ($oBlock->getSelectors() as $oSelector) { + if ($sSpecificitySearch === null) { + $aResult[] = $oSelector; + } else { + $sComparison = "\$bRes = {$oSelector->getSpecificity()} $sSpecificitySearch;"; + eval($sComparison); + if ($bRes) { + $aResult[] = $oSelector; + } + } + } + } + } + +} diff --git a/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/CSSList/CSSList.php b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/CSSList/CSSList.php new file mode 100644 index 0000000..c090d32 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/CSSList/CSSList.php @@ -0,0 +1,75 @@ +aContents = array(); + } + + public function append($oItem) { + $this->aContents[] = $oItem; + } + + /** + * Removes an item from the CSS list. + * @param RuleSet|Import|Charset|CSSList $oItemToRemove May be a RuleSet (most likely a DeclarationBlock), a Import, a Charset or another CSSList (most likely a MediaQuery) + */ + public function remove($oItemToRemove) { + $iKey = array_search($oItemToRemove, $this->aContents, true); + if ($iKey !== false) { + unset($this->aContents[$iKey]); + } + } + + public function removeDeclarationBlockBySelector($mSelector, $bRemoveAll = false) { + if ($mSelector instanceof DeclarationBlock) { + $mSelector = $mSelector->getSelectors(); + } + if (!is_array($mSelector)) { + $mSelector = explode(',', $mSelector); + } + foreach ($mSelector as $iKey => &$mSel) { + if (!($mSel instanceof Selector)) { + $mSel = new Selector($mSel); + } + } + foreach ($this->aContents as $iKey => $mItem) { + if (!($mItem instanceof DeclarationBlock)) { + continue; + } + if ($mItem->getSelectors() == $mSelector) { + unset($this->aContents[$iKey]); + if (!$bRemoveAll) { + return; + } + } + } + } + + public function __toString() { + $sResult = ''; + foreach ($this->aContents as $oContent) { + $sResult .= $oContent->__toString(); + } + return $sResult; + } + + public function getContents() { + return $this->aContents; + } +} diff --git a/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/CSSList/Document.php b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/CSSList/Document.php new file mode 100644 index 0000000..265c9ce --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/CSSList/Document.php @@ -0,0 +1,87 @@ +allDeclarationBlocks($aResult); + return $aResult; + } + + /** + * @deprecated use getAllDeclarationBlocks() + */ + public function getAllSelectors() { + return $this->getAllDeclarationBlocks(); + } + + /** + * Returns all RuleSet objects found recursively in the tree. + */ + public function getAllRuleSets() { + $aResult = array(); + $this->allRuleSets($aResult); + return $aResult; + } + + /** + * Returns all Value objects found recursively in the tree. + * @param (object|string) $mElement the CSSList or RuleSet to start the search from (defaults to the whole document). If a string is given, it is used as rule name filter (@see{RuleSet->getRules()}). + * @param (bool) $bSearchInFunctionArguments whether to also return Value objects used as Function arguments. + */ + public function getAllValues($mElement = null, $bSearchInFunctionArguments = false) { + $sSearchString = null; + if ($mElement === null) { + $mElement = $this; + } else if (is_string($mElement)) { + $sSearchString = $mElement; + $mElement = $this; + } + $aResult = array(); + $this->allValues($mElement, $aResult, $sSearchString, $bSearchInFunctionArguments); + return $aResult; + } + + /** + * Returns all Selector objects found recursively in the tree. + * Note that this does not yield the full DeclarationBlock that the selector belongs to (and, currently, there is no way to get to that). + * @param $sSpecificitySearch An optional filter by specificity. May contain a comparison operator and a number or just a number (defaults to "=="). + * @example getSelectorsBySpecificity('>= 100') + */ + public function getSelectorsBySpecificity($sSpecificitySearch = null) { + if (is_numeric($sSpecificitySearch) || is_numeric($sSpecificitySearch[0])) { + $sSpecificitySearch = "== $sSpecificitySearch"; + } + $aResult = array(); + $this->allSelectors($aResult, $sSpecificitySearch); + return $aResult; + } + + /** + * Expands all shorthand properties to their long value + */ + public function expandShorthands() { + foreach ($this->getAllDeclarationBlocks() as $oDeclaration) { + $oDeclaration->expandShorthands(); + } + } + + /* + * Create shorthands properties whenever possible + */ + + public function createShorthands() { + foreach ($this->getAllDeclarationBlocks() as $oDeclaration) { + $oDeclaration->createShorthands(); + } + } + +} \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/CSSList/KeyFrame.php b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/CSSList/KeyFrame.php new file mode 100644 index 0000000..d5bb1a5 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/CSSList/KeyFrame.php @@ -0,0 +1,48 @@ +vendorKeyFrame = null; + $this->animationName = null; + } + + public function setVendorKeyFrame($vendorKeyFrame) { + $this->vendorKeyFrame = $vendorKeyFrame; + } + + public function getVendorKeyFrame() { + return $this->vendorKeyFrame; + } + + public function setAnimationName($animationName) { + $this->animationName = $animationName; + } + + public function getAnimationName() { + return $this->animationName; + } + + public function __toString() { + $sResult = "@{$this->vendorKeyFrame} {$this->animationName} {"; + $sResult .= parent::__toString(); + $sResult .= '}'; + return $sResult; + } + + public function atRuleName() { + return $this->vendorKeyFrame; + } + + public function atRuleArgs() { + return $this->animationName; + } +} diff --git a/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Parser.php b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Parser.php new file mode 100644 index 0000000..7a64074 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Parser.php @@ -0,0 +1,629 @@ +sText = $sText; + $this->iCurrentPosition = 0; + if ($oParserSettings === null) { + $oParserSettings = Settings::create(); + } + $this->oParserSettings = $oParserSettings; + $this->blockRules = explode('/', AtRule::BLOCK_RULES); + + foreach (explode('/', Size::ABSOLUTE_SIZE_UNITS.'/'.Size::RELATIVE_SIZE_UNITS.'/'.Size::NON_SIZE_UNITS) as $val) { + $iSize = strlen($val); + if(!isset($this->aSizeUnits[$iSize])) { + $this->aSizeUnits[$iSize] = array(); + } + $this->aSizeUnits[$iSize][strtolower($val)] = $val; + } + ksort($this->aSizeUnits, SORT_NUMERIC); + } + + public function setCharset($sCharset) { + $this->sCharset = $sCharset; + $this->iLength = $this->strlen($this->sText); + } + + public function getCharset() { + return $this->sCharset; + } + + public function parse() { + $this->setCharset($this->oParserSettings->sDefaultCharset); + $oResult = new Document(); + $this->parseDocument($oResult); + return $oResult; + } + + private function parseDocument(Document $oDocument) { + $this->consumeWhiteSpace(); + $this->parseList($oDocument, true); + } + + private function parseList(CSSList $oList, $bIsRoot = false) { + while (!$this->isEnd()) { + if ($this->comes('@')) { + $oList->append($this->parseAtRule()); + } else if ($this->comes('}')) { + $this->consume('}'); + if ($bIsRoot) { + throw new \Exception("Unopened {"); + } else { + return; + } + } else { + if($this->oParserSettings->bLenientParsing) { + try { + $oList->append($this->parseSelector()); + } catch (UnexpectedTokenException $e) {} + } else { + $oList->append($this->parseSelector()); + } + } + $this->consumeWhiteSpace(); + } + if (!$bIsRoot) { + throw new \Exception("Unexpected end of document"); + } + } + + private function parseAtRule() { + $this->consume('@'); + $sIdentifier = $this->parseIdentifier(); + $this->consumeWhiteSpace(); + if ($sIdentifier === 'import') { + $oLocation = $this->parseURLValue(); + $this->consumeWhiteSpace(); + $sMediaQuery = null; + if (!$this->comes(';')) { + $sMediaQuery = $this->consumeUntil(';'); + } + $this->consume(';'); + return new Import($oLocation, $sMediaQuery); + } else if ($sIdentifier === 'charset') { + $sCharset = $this->parseStringValue(); + $this->consumeWhiteSpace(); + $this->consume(';'); + $this->setCharset($sCharset->getString()); + return new Charset($sCharset); + } else if ($this->identifierIs($sIdentifier, 'keyframes')) { + $oResult = new KeyFrame(); + $oResult->setVendorKeyFrame($sIdentifier); + $oResult->setAnimationName(trim($this->consumeUntil('{', false, true))); + $this->consumeWhiteSpace(); + $this->parseList($oResult); + return $oResult; + } else if ($sIdentifier === 'namespace') { + $sPrefix = null; + $mUrl = $this->parsePrimitiveValue(); + if (!$this->comes(';')) { + $sPrefix = $mUrl; + $mUrl = $this->parsePrimitiveValue(); + } + $this->consume(';'); + if ($sPrefix !== null && !is_string($sPrefix)) { + throw new \Exception('Wrong namespace prefix '.$sPrefix); + } + if (!($mUrl instanceof String || $mUrl instanceof URL)) { + throw new \Exception('Wrong namespace url of invalid type '.$mUrl); + } + return new CSSNamespace($mUrl, $sPrefix); + } else { + //Unknown other at rule (font-face or such) + $sArgs = $this->consumeUntil('{', false, true); + $this->consumeWhiteSpace(); + $bUseRuleSet = true; + foreach($this->blockRules as $sBlockRuleName) { + if($this->identifierIs($sIdentifier, $sBlockRuleName)) { + $bUseRuleSet = false; + break; + } + } + if($bUseRuleSet) { + $oAtRule = new AtRuleSet($sIdentifier, $sArgs); + $this->parseRuleSet($oAtRule); + } else { + $oAtRule = new AtRuleBlockList($sIdentifier, $sArgs); + $this->parseList($oAtRule); + } + return $oAtRule; + } + } + + private function parseIdentifier($bAllowFunctions = true, $bIgnoreCase = true) { + $sResult = $this->parseCharacter(true); + if ($sResult === null) { + throw new UnexpectedTokenException($sResult, $this->peek(5), 'identifier'); + } + $sCharacter = null; + while (($sCharacter = $this->parseCharacter(true)) !== null) { + $sResult .= $sCharacter; + } + if ($bIgnoreCase) { + $sResult = $this->strtolower($sResult); + } + if ($bAllowFunctions && $this->comes('(')) { + $this->consume('('); + $aArguments = $this->parseValue(array('=', ' ', ',')); + $sResult = new CSSFunction($sResult, $aArguments); + $this->consume(')'); + } + return $sResult; + } + + private function parseStringValue() { + $sBegin = $this->peek(); + $sQuote = null; + if ($sBegin === "'") { + $sQuote = "'"; + } else if ($sBegin === '"') { + $sQuote = '"'; + } + if ($sQuote !== null) { + $this->consume($sQuote); + } + $sResult = ""; + $sContent = null; + if ($sQuote === null) { + //Unquoted strings end in whitespace or with braces, brackets, parentheses + while (!preg_match('/[\\s{}()<>\\[\\]]/isu', $this->peek())) { + $sResult .= $this->parseCharacter(false); + } + } else { + while (!$this->comes($sQuote)) { + $sContent = $this->parseCharacter(false); + if ($sContent === null) { + throw new \Exception("Non-well-formed quoted string {$this->peek(3)}"); + } + $sResult .= $sContent; + } + $this->consume($sQuote); + } + return new String($sResult); + } + + private function parseCharacter($bIsForIdentifier) { + if ($this->peek() === '\\') { + $this->consume('\\'); + if ($this->comes('\n') || $this->comes('\r')) { + return ''; + } + if (preg_match('/[0-9a-fA-F]/Su', $this->peek()) === 0) { + return $this->consume(1); + } + $sUnicode = $this->consumeExpression('/^[0-9a-fA-F]{1,6}/u'); + if ($this->strlen($sUnicode) < 6) { + //Consume whitespace after incomplete unicode escape + if (preg_match('/\\s/isSu', $this->peek())) { + if ($this->comes('\r\n')) { + $this->consume(2); + } else { + $this->consume(1); + } + } + } + $iUnicode = intval($sUnicode, 16); + $sUtf32 = ""; + for ($i = 0; $i < 4; ++$i) { + $sUtf32 .= chr($iUnicode & 0xff); + $iUnicode = $iUnicode >> 8; + } + return iconv('utf-32le', $this->sCharset, $sUtf32); + } + if ($bIsForIdentifier) { + $peek = ord($this->peek()); + // Ranges: a-z A-Z 0-9 - _ + if (($peek >= 97 && $peek <= 122) || + ($peek >= 65 && $peek <= 90) || + ($peek >= 48 && $peek <= 57) || + ($peek === 45) || + ($peek === 95) || + ($peek > 0xa1)) { + return $this->consume(1); + } + } else { + return $this->consume(1); + } + return null; + } + + private function parseSelector() { + $oResult = new DeclarationBlock(); + $oResult->setSelector($this->consumeUntil('{', false, true)); + $this->consumeWhiteSpace(); + $this->parseRuleSet($oResult); + return $oResult; + } + + private function parseRuleSet($oRuleSet) { + while ($this->comes(';')) { + $this->consume(';'); + $this->consumeWhiteSpace(); + } + while (!$this->comes('}')) { + $oRule = null; + if($this->oParserSettings->bLenientParsing) { + try { + $oRule = $this->parseRule(); + } catch (UnexpectedTokenException $e) { + try { + $sConsume = $this->consumeUntil(array("\n", ";", '}'), true); + // We need to “unfind” the matches to the end of the ruleSet as this will be matched later + if($this->streql($this->substr($sConsume, $this->strlen($sConsume)-1, 1), '}')) { + --$this->iCurrentPosition; + $this->peekCache = null; + } else { + $this->consumeWhiteSpace(); + while ($this->comes(';')) { + $this->consume(';'); + } + } + } catch (UnexpectedTokenException $e) { + // We’ve reached the end of the document. Just close the RuleSet. + return; + } + } + } else { + $oRule = $this->parseRule(); + } + if($oRule) { + $oRuleSet->addRule($oRule); + } + $this->consumeWhiteSpace(); + } + $this->consume('}'); + } + + private function parseRule() { + $oRule = new Rule($this->parseIdentifier()); + $this->consumeWhiteSpace(); + $this->consume(':'); + $oValue = $this->parseValue(self::listDelimiterForRule($oRule->getRule())); + $oRule->setValue($oValue); + if ($this->comes('!')) { + $this->consume('!'); + $this->consumeWhiteSpace(); + $this->consume('important'); + $oRule->setIsImportant(true); + } + while ($this->comes(';')) { + $this->consume(';'); + $this->consumeWhiteSpace(); + } + return $oRule; + } + + private function parseValue($aListDelimiters) { + $aStack = array(); + $this->consumeWhiteSpace(); + //Build a list of delimiters and parsed values + while (!($this->comes('}') || $this->comes(';') || $this->comes('!') || $this->comes(')'))) { + if (count($aStack) > 0) { + $bFoundDelimiter = false; + foreach ($aListDelimiters as $sDelimiter) { + if ($this->comes($sDelimiter)) { + array_push($aStack, $this->consume($sDelimiter)); + $this->consumeWhiteSpace(); + $bFoundDelimiter = true; + break; + } + } + if (!$bFoundDelimiter) { + //Whitespace was the list delimiter + array_push($aStack, ' '); + } + } + array_push($aStack, $this->parsePrimitiveValue()); + $this->consumeWhiteSpace(); + } + //Convert the list to list objects + foreach ($aListDelimiters as $sDelimiter) { + if (count($aStack) === 1) { + return $aStack[0]; + } + $iStartPosition = null; + while (($iStartPosition = array_search($sDelimiter, $aStack, true)) !== false) { + $iLength = 2; //Number of elements to be joined + for ($i = $iStartPosition + 2; $i < count($aStack); $i+=2, ++$iLength) { + if ($sDelimiter !== $aStack[$i]) { + break; + } + } + $oList = new RuleValueList($sDelimiter); + for ($i = $iStartPosition - 1; $i - $iStartPosition + 1 < $iLength * 2; $i+=2) { + $oList->addListComponent($aStack[$i]); + } + array_splice($aStack, $iStartPosition - 1, $iLength * 2 - 1, array($oList)); + } + } + return $aStack[0]; + } + + private static function listDelimiterForRule($sRule) { + if (preg_match('/^font($|-)/', $sRule)) { + return array(',', '/', ' '); + } + return array(',', ' ', '/'); + } + + private function parsePrimitiveValue() { + $oValue = null; + $this->consumeWhiteSpace(); + if (is_numeric($this->peek()) || ($this->comes('-.') && is_numeric($this->peek(1, 2))) || (($this->comes('-') || $this->comes('.')) && is_numeric($this->peek(1, 1)))) { + $oValue = $this->parseNumericValue(); + } else if ($this->comes('#') || $this->comes('rgb', true) || $this->comes('hsl', true)) { + $oValue = $this->parseColorValue(); + } else if ($this->comes('url', true)) { + $oValue = $this->parseURLValue(); + } else if ($this->comes("'") || $this->comes('"')) { + $oValue = $this->parseStringValue(); + } else { + $oValue = $this->parseIdentifier(true, false); + } + $this->consumeWhiteSpace(); + return $oValue; + } + + private function parseNumericValue($bForColor = false) { + $sSize = ''; + if ($this->comes('-')) { + $sSize .= $this->consume('-'); + } + while (is_numeric($this->peek()) || $this->comes('.')) { + if ($this->comes('.')) { + $sSize .= $this->consume('.'); + } else { + $sSize .= $this->consume(1); + } + } + + $sUnit = null; + foreach ($this->aSizeUnits as $iLength => &$aValues) { + if(($sUnit = @$aValues[strtolower($this->peek($iLength))]) !== null) { + $this->consume($iLength); + break; + } + } + return new Size(floatval($sSize), $sUnit, $bForColor); + } + + private function parseColorValue() { + $aColor = array(); + if ($this->comes('#')) { + $this->consume('#'); + $sValue = $this->parseIdentifier(false); + if ($this->strlen($sValue) === 3) { + $sValue = $sValue[0] . $sValue[0] . $sValue[1] . $sValue[1] . $sValue[2] . $sValue[2]; + } + $aColor = array('r' => new Size(intval($sValue[0] . $sValue[1], 16), null, true), 'g' => new Size(intval($sValue[2] . $sValue[3], 16), null, true), 'b' => new Size(intval($sValue[4] . $sValue[5], 16), null, true)); + } else { + $sColorMode = $this->parseIdentifier(false); + $this->consumeWhiteSpace(); + $this->consume('('); + $iLength = $this->strlen($sColorMode); + for ($i = 0; $i < $iLength; ++$i) { + $this->consumeWhiteSpace(); + $aColor[$sColorMode[$i]] = $this->parseNumericValue(true); + $this->consumeWhiteSpace(); + if ($i < ($iLength - 1)) { + $this->consume(','); + } + } + $this->consume(')'); + } + return new Color($aColor); + } + + private function parseURLValue() { + $bUseUrl = $this->comes('url', true); + if ($bUseUrl) { + $this->consume('url'); + $this->consumeWhiteSpace(); + $this->consume('('); + } + $this->consumeWhiteSpace(); + $oResult = new URL($this->parseStringValue()); + if ($bUseUrl) { + $this->consumeWhiteSpace(); + $this->consume(')'); + } + return $oResult; + } + + /** + * Tests an identifier for a given value. Since identifiers are all keywords, they can be vendor-prefixed. We need to check for these versions too. + */ + private function identifierIs($sIdentifier, $sMatch) { + return (strcasecmp($sIdentifier, $sMatch) === 0) + ?: preg_match("/^(-\\w+-)?$sMatch$/i", $sIdentifier) === 1; + } + + private function comes($sString, $bCaseInsensitive = false) { + $sPeek = $this->peek(strlen($sString)); + return ($sPeek == '') + ? false + : $this->streql($sPeek, $sString, $bCaseInsensitive); + } + + private function peek($iLength = 1, $iOffset = 0) { + if (($peek = (!$iOffset && ($iLength === 1))) && + !is_null($this->peekCache)) { + return $this->peekCache; + } + $iOffset += $this->iCurrentPosition; + if ($iOffset >= $this->iLength) { + return ''; + } + $iLength = min($iLength, $this->iLength-$iOffset); + $out = $this->substr($this->sText, $iOffset, $iLength); + if ($peek) { + $this->peekCache = $out; + } + return $out; + } + + private function consume($mValue = 1) { + if (is_string($mValue)) { + $iLength = $this->strlen($mValue); + if (!$this->streql($this->substr($this->sText, $this->iCurrentPosition, $iLength), $mValue)) { + throw new UnexpectedTokenException($mValue, $this->peek(max($iLength, 5))); + } + $this->iCurrentPosition += $this->strlen($mValue); + $this->peekCache = null; + return $mValue; + } else { + if ($this->iCurrentPosition + $mValue > $this->iLength) { + throw new UnexpectedTokenException($mValue, $this->peek(5), 'count'); + } + $sResult = $this->substr($this->sText, $this->iCurrentPosition, $mValue); + $this->iCurrentPosition += $mValue; + $this->peekCache = null; + return $sResult; + } + } + + private function consumeExpression($mExpression) { + $aMatches; + if (preg_match($mExpression, $this->inputLeft(), $aMatches, PREG_OFFSET_CAPTURE) === 1) { + return $this->consume($aMatches[0][0]); + } + throw new UnexpectedTokenException($mExpression, $this->peek(5), 'expression'); + } + + private function consumeWhiteSpace() { + do { + while (preg_match('/\\s/isSu', $this->peek()) === 1) { + $this->consume(1); + } + if($this->oParserSettings->bLenientParsing) { + try { + $bHasComment = $this->consumeComment(); + } catch(UnexpectedTokenException $e) { + // When we can’t find the end of a comment, we assume the document is finished. + $this->iCurrentPosition = $this->iLength; + return; + } + } else { + $bHasComment = $this->consumeComment(); + } + } while($bHasComment); + } + + private function consumeComment() { + if ($this->comes('/*')) { + $this->consume(2); + while ($this->consumeUntil('*', false, true)) { + if ($this->comes('/')) { + $this->consume(1); + return true; + } + } + } + return false; + } + + private function isEnd() { + return $this->iCurrentPosition >= $this->iLength; + } + + private function consumeUntil($aEnd, $bIncludeEnd = false, $consumeEnd = false) { + $aEnd = is_array($aEnd) ? $aEnd : array($aEnd); + $out = ''; + $start = $this->iCurrentPosition; + + while (($char = $this->consume(1)) !== '') { + if (in_array($char, $aEnd)) { + if ($bIncludeEnd) { + $out .= $char; + } elseif (!$consumeEnd) { + $this->iCurrentPosition -= $this->strlen($char); + } + return $out; + } + $out .= $char; + } + + $this->iCurrentPosition = $start; + throw new UnexpectedTokenException('One of ("'.implode('","', $aEnd).'")', $this->peek(5), 'search'); + } + + private function inputLeft() { + return $this->substr($this->sText, $this->iCurrentPosition, -1); + } + + private function substr($sString, $iStart, $iLength) { + if ($this->oParserSettings->bMultibyteSupport) { + return mb_substr($sString, $iStart, $iLength, $this->sCharset); + } else { + return substr($sString, $iStart, $iLength); + } + } + + private function strlen($sString) { + if ($this->oParserSettings->bMultibyteSupport) { + return mb_strlen($sString, $this->sCharset); + } else { + return strlen($sString); + } + } + + private function streql($sString1, $sString2, $bCaseInsensitive = true) { + if($bCaseInsensitive) { + return $this->strtolower($sString1) === $this->strtolower($sString2); + } else { + return $sString1 === $sString2; + } + } + + private function strtolower($sString) { + if ($this->oParserSettings->bMultibyteSupport) { + return mb_strtolower($sString, $this->sCharset); + } else { + return strtolower($sString); + } + } + + private function strpos($sString, $sNeedle, $iOffset) { + if ($this->oParserSettings->bMultibyteSupport) { + return mb_strpos($sString, $sNeedle, $iOffset, $this->sCharset); + } else { + return strpos($sString, $sNeedle, $iOffset); + } + } + +} diff --git a/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Parsing/UnexpectedTokenException.php b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Parsing/UnexpectedTokenException.php new file mode 100644 index 0000000..410f5de --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Parsing/UnexpectedTokenException.php @@ -0,0 +1,28 @@ +sExpected = $sExpected; + $this->sFound = $sFound; + $this->sMatchType = $sMatchType; + $sMessage = "Token “{$sExpected}” ({$sMatchType}) not found. Got “{$sFound}”."; + if($this->sMatchType === 'search') { + $sMessage = "Search for “{$sExpected}” returned no results. Context: “{$sFound}”."; + } else if($this->sMatchType === 'count') { + $sMessage = "Next token was expected to have {$sExpected} chars. Context: “{$sFound}”."; + } else if($this->sMatchType === 'identifier') { + $sMessage = "Identifier expected. Got “{$sFound}”"; + } + parent::__construct($sMessage); + } +} \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Property/AtRule.php b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Property/AtRule.php new file mode 100644 index 0000000..895fd3d --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Property/AtRule.php @@ -0,0 +1,13 @@ +mUrl = $mUrl; + $this->sPrefix = $sPrefix; + } + + public function __toString() { + return '@namespace '.($this->sPrefix === null ? '' : $this->sPrefix.' ').$this->mUrl->__toString().';'; + } + + public function getUrl() { + return $this->mUrl; + } + + public function getPrefix() { + return $this->sPrefix; + } + + public function setUrl($mUrl) { + $this->mUrl = $mUrl; + } + + public function setPrefix($sPrefix) { + $this->sPrefix = $sPrefix; + } + + public function atRuleName() { + return 'namespace'; + } + + public function atRuleArgs() { + $aResult = array($this->mUrl); + if($this->sPrefix) { + array_unshift($aResult, $this->sPrefix); + } + return $aResult; + } +} \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Property/Charset.php b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Property/Charset.php new file mode 100644 index 0000000..723ac63 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Property/Charset.php @@ -0,0 +1,39 @@ +sCharset = $sCharset; + } + + public function setCharset($sCharset) { + $this->sCharset = $sCharset; + } + + public function getCharset() { + return $this->sCharset; + } + + public function __toString() { + return "@charset {$this->sCharset->__toString()};"; + } + + public function atRuleName() { + return 'charset'; + } + + public function atRuleArgs() { + return $this->sCharset; + } +} \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Property/Import.php b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Property/Import.php new file mode 100644 index 0000000..e2d9d2c --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Property/Import.php @@ -0,0 +1,42 @@ +oLocation = $oLocation; + $this->sMediaQuery = $sMediaQuery; + } + + public function setLocation($oLocation) { + $this->oLocation = $oLocation; + } + + public function getLocation() { + return $this->oLocation; + } + + public function __toString() { + return "@import ".$this->oLocation->__toString().($this->sMediaQuery === null ? '' : ' '.$this->sMediaQuery).';'; + } + + public function atRuleName() { + return 'import'; + } + + public function atRuleArgs() { + $aResult = array($this->oLocation); + if($this->sMediaQuery) { + array_push($aResult, $this->sMediaQuery); + } + return $aResult; + } +} \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Property/Selector.php b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Property/Selector.php new file mode 100644 index 0000000..1e4351a --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Property/Selector.php @@ -0,0 +1,75 @@ +\~]+)[\w]+ # elements + | + \:{1,2}( # pseudo-elements + after|before + |first-letter|first-line + |selection + ) + )/ix'; + + private $sSelector; + private $iSpecificity; + + public function __construct($sSelector, $bCalculateSpecificity = false) { + $this->setSelector($sSelector); + if ($bCalculateSpecificity) { + $this->getSpecificity(); + } + } + + public function getSelector() { + return $this->sSelector; + } + + public function setSelector($sSelector) { + $this->sSelector = trim($sSelector); + $this->iSpecificity = null; + } + + public function __toString() { + return $this->getSelector(); + } + + public function getSpecificity() { + if ($this->iSpecificity === null) { + $a = 0; + /// @todo should exclude \# as well as "#" + $aMatches; + $b = substr_count($this->sSelector, '#'); + $c = preg_match_all(self::NON_ID_ATTRIBUTES_AND_PSEUDO_CLASSES_RX, $this->sSelector, $aMatches); + $d = preg_match_all(self::ELEMENTS_AND_PSEUDO_ELEMENTS_RX, $this->sSelector, $aMatches); + $this->iSpecificity = ($a * 1000) + ($b * 100) + ($c * 10) + $d; + } + return $this->iSpecificity; + } + +} \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Rule/Rule.php b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Rule/Rule.php new file mode 100644 index 0000000..dacc22a --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Rule/Rule.php @@ -0,0 +1,142 @@ +sRule = $sRule; + $this->mValue = null; + $this->bIsImportant = false; + } + + public function setRule($sRule) { + $this->sRule = $sRule; + } + + public function getRule() { + return $this->sRule; + } + + public function getValue() { + return $this->mValue; + } + + public function setValue($mValue) { + $this->mValue = $mValue; + } + + /** + * @deprecated Old-Style 2-dimensional array given. Retained for (some) backwards-compatibility. Use setValue() instead and wrapp the value inside a RuleValueList if necessary. + */ + public function setValues($aSpaceSeparatedValues) { + $oSpaceSeparatedList = null; + if (count($aSpaceSeparatedValues) > 1) { + $oSpaceSeparatedList = new RuleValueList(' '); + } + foreach ($aSpaceSeparatedValues as $aCommaSeparatedValues) { + $oCommaSeparatedList = null; + if (count($aCommaSeparatedValues) > 1) { + $oCommaSeparatedList = new RuleValueList(','); + } + foreach ($aCommaSeparatedValues as $mValue) { + if (!$oSpaceSeparatedList && !$oCommaSeparatedList) { + $this->mValue = $mValue; + return $mValue; + } + if ($oCommaSeparatedList) { + $oCommaSeparatedList->addListComponent($mValue); + } else { + $oSpaceSeparatedList->addListComponent($mValue); + } + } + if (!$oSpaceSeparatedList) { + $this->mValue = $oCommaSeparatedList; + return $oCommaSeparatedList; + } else { + $oSpaceSeparatedList->addListComponent($oCommaSeparatedList); + } + } + $this->mValue = $oSpaceSeparatedList; + return $oSpaceSeparatedList; + } + + /** + * @deprecated Old-Style 2-dimensional array returned. Retained for (some) backwards-compatibility. Use getValue() instead and check for the existance of a (nested set of) ValueList object(s). + */ + public function getValues() { + if (!$this->mValue instanceof RuleValueList) { + return array(array($this->mValue)); + } + if ($this->mValue->getListSeparator() === ',') { + return array($this->mValue->getListComponents()); + } + $aResult = array(); + foreach ($this->mValue->getListComponents() as $mValue) { + if (!$mValue instanceof RuleValueList || $mValue->getListSeparator() !== ',') { + $aResult[] = array($mValue); + continue; + } + if ($this->mValue->getListSeparator() === ' ' || count($aResult) === 0) { + $aResult[] = array(); + } + foreach ($mValue->getListComponents() as $mValue) { + $aResult[count($aResult) - 1][] = $mValue; + } + } + return $aResult; + } + + /** + * Adds a value to the existing value. Value will be appended if a RuleValueList exists of the given type. Otherwise, the existing value will be wrapped by one. + */ + public function addValue($mValue, $sType = ' ') { + if (!is_array($mValue)) { + $mValue = array($mValue); + } + if (!$this->mValue instanceof RuleValueList || $this->mValue->getListSeparator() !== $sType) { + $mCurrentValue = $this->mValue; + $this->mValue = new RuleValueList($sType); + if ($mCurrentValue) { + $this->mValue->addListComponent($mCurrentValue); + } + } + foreach ($mValue as $mValueItem) { + $this->mValue->addListComponent($mValueItem); + } + } + + public function setIsImportant($bIsImportant) { + $this->bIsImportant = $bIsImportant; + } + + public function getIsImportant() { + return $this->bIsImportant; + } + + public function __toString() { + $sResult = "{$this->sRule}: "; + if ($this->mValue instanceof Value) { //Can also be a ValueList + $sResult .= $this->mValue->__toString(); + } else { + $sResult .= $this->mValue; + } + if ($this->bIsImportant) { + $sResult .= ' !important'; + } + $sResult .= ';'; + return $sResult; + } + +} diff --git a/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/RuleSet/AtRuleSet.php b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/RuleSet/AtRuleSet.php new file mode 100644 index 0000000..5242356 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/RuleSet/AtRuleSet.php @@ -0,0 +1,36 @@ +sType = $sType; + $this->sArgs = $sArgs; + } + + public function atRuleName() { + return $this->sType; + } + + public function atRuleArgs() { + return $this->sArgs; + } + + public function __toString() { + $sResult = "@{$this->sType} {$this->sArgs}{"; + $sResult .= parent::__toString(); + $sResult .= '}'; + return $sResult; + } + +} \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/RuleSet/DeclarationBlock.php b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/RuleSet/DeclarationBlock.php new file mode 100644 index 0000000..c3097d9 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/RuleSet/DeclarationBlock.php @@ -0,0 +1,585 @@ +aSelectors = array(); + } + + public function setSelectors($mSelector) { + if (is_array($mSelector)) { + $this->aSelectors = $mSelector; + } else { + $this->aSelectors = explode(',', $mSelector); + } + foreach ($this->aSelectors as $iKey => $mSelector) { + if (!($mSelector instanceof Selector)) { + $this->aSelectors[$iKey] = new Selector($mSelector); + } + } + } + + /** + * @deprecated use getSelectors() + */ + public function getSelector() { + return $this->getSelectors(); + } + + /** + * @deprecated use setSelectors() + */ + public function setSelector($mSelector) { + $this->setSelectors($mSelector); + } + + public function getSelectors() { + return $this->aSelectors; + } + + /** + * Split shorthand declarations (e.g. +margin+ or +font+) into their constituent parts. + * */ + public function expandShorthands() { + // border must be expanded before dimensions + $this->expandBorderShorthand(); + $this->expandDimensionsShorthand(); + $this->expandFontShorthand(); + $this->expandBackgroundShorthand(); + $this->expandListStyleShorthand(); + } + + /** + * Create shorthand declarations (e.g. +margin+ or +font+) whenever possible. + * */ + public function createShorthands() { + $this->createBackgroundShorthand(); + $this->createDimensionsShorthand(); + // border must be shortened after dimensions + $this->createBorderShorthand(); + $this->createFontShorthand(); + $this->createListStyleShorthand(); + } + + /** + * Split shorthand border declarations (e.g. border: 1px red;) + * Additional splitting happens in expandDimensionsShorthand + * Multiple borders are not yet supported as of 3 + * */ + public function expandBorderShorthand() { + $aBorderRules = array( + 'border', 'border-left', 'border-right', 'border-top', 'border-bottom' + ); + $aBorderSizes = array( + 'thin', 'medium', 'thick' + ); + $aRules = $this->getRulesAssoc(); + foreach ($aBorderRules as $sBorderRule) { + if (!isset($aRules[$sBorderRule])) + continue; + $oRule = $aRules[$sBorderRule]; + $mRuleValue = $oRule->getValue(); + $aValues = array(); + if (!$mRuleValue instanceof RuleValueList) { + $aValues[] = $mRuleValue; + } else { + $aValues = $mRuleValue->getListComponents(); + } + foreach ($aValues as $mValue) { + if ($mValue instanceof Value) { + $mNewValue = clone $mValue; + } else { + $mNewValue = $mValue; + } + if ($mValue instanceof Size) { + $sNewRuleName = $sBorderRule . "-width"; + } else if ($mValue instanceof Color) { + $sNewRuleName = $sBorderRule . "-color"; + } else { + if (in_array($mValue, $aBorderSizes)) { + $sNewRuleName = $sBorderRule . "-width"; + } else/* if(in_array($mValue, $aBorderStyles)) */ { + $sNewRuleName = $sBorderRule . "-style"; + } + } + $oNewRule = new Rule($sNewRuleName); + $oNewRule->setIsImportant($oRule->getIsImportant()); + $oNewRule->addValue(array($mNewValue)); + $this->addRule($oNewRule); + } + $this->removeRule($sBorderRule); + } + } + + /** + * Split shorthand dimensional declarations (e.g. margin: 0px auto;) + * into their constituent parts. + * Handles margin, padding, border-color, border-style and border-width. + * */ + public function expandDimensionsShorthand() { + $aExpansions = array( + 'margin' => 'margin-%s', + 'padding' => 'padding-%s', + 'border-color' => 'border-%s-color', + 'border-style' => 'border-%s-style', + 'border-width' => 'border-%s-width' + ); + $aRules = $this->getRulesAssoc(); + foreach ($aExpansions as $sProperty => $sExpanded) { + if (!isset($aRules[$sProperty])) + continue; + $oRule = $aRules[$sProperty]; + $mRuleValue = $oRule->getValue(); + $aValues = array(); + if (!$mRuleValue instanceof RuleValueList) { + $aValues[] = $mRuleValue; + } else { + $aValues = $mRuleValue->getListComponents(); + } + $top = $right = $bottom = $left = null; + switch (count($aValues)) { + case 1: + $top = $right = $bottom = $left = $aValues[0]; + break; + case 2: + $top = $bottom = $aValues[0]; + $left = $right = $aValues[1]; + break; + case 3: + $top = $aValues[0]; + $left = $right = $aValues[1]; + $bottom = $aValues[2]; + break; + case 4: + $top = $aValues[0]; + $right = $aValues[1]; + $bottom = $aValues[2]; + $left = $aValues[3]; + break; + } + foreach (array('top', 'right', 'bottom', 'left') as $sPosition) { + $oNewRule = new Rule(sprintf($sExpanded, $sPosition)); + $oNewRule->setIsImportant($oRule->getIsImportant()); + $oNewRule->addValue(${$sPosition}); + $this->addRule($oNewRule); + } + $this->removeRule($sProperty); + } + } + + /** + * Convert shorthand font declarations + * (e.g. font: 300 italic 11px/14px verdana, helvetica, sans-serif;) + * into their constituent parts. + * */ + public function expandFontShorthand() { + $aRules = $this->getRulesAssoc(); + if (!isset($aRules['font'])) + return; + $oRule = $aRules['font']; + // reset properties to 'normal' per http://www.w3.org/TR/21/fonts.html#font-shorthand + $aFontProperties = array( + 'font-style' => 'normal', + 'font-variant' => 'normal', + 'font-weight' => 'normal', + 'font-size' => 'normal', + 'line-height' => 'normal' + ); + $mRuleValue = $oRule->getValue(); + $aValues = array(); + if (!$mRuleValue instanceof RuleValueList) { + $aValues[] = $mRuleValue; + } else { + $aValues = $mRuleValue->getListComponents(); + } + foreach ($aValues as $mValue) { + if (!$mValue instanceof Value) { + $mValue = mb_strtolower($mValue); + } + if (in_array($mValue, array('normal', 'inherit'))) { + foreach (array('font-style', 'font-weight', 'font-variant') as $sProperty) { + if (!isset($aFontProperties[$sProperty])) { + $aFontProperties[$sProperty] = $mValue; + } + } + } else if (in_array($mValue, array('italic', 'oblique'))) { + $aFontProperties['font-style'] = $mValue; + } else if ($mValue == 'small-caps') { + $aFontProperties['font-variant'] = $mValue; + } else if ( + in_array($mValue, array('bold', 'bolder', 'lighter')) + || ($mValue instanceof Size + && in_array($mValue->getSize(), range(100, 900, 100))) + ) { + $aFontProperties['font-weight'] = $mValue; + } else if ($mValue instanceof RuleValueList && $mValue->getListSeparator() == '/') { + list($oSize, $oHeight) = $mValue->getListComponents(); + $aFontProperties['font-size'] = $oSize; + $aFontProperties['line-height'] = $oHeight; + } else if ($mValue instanceof Size && $mValue->getUnit() !== null) { + $aFontProperties['font-size'] = $mValue; + } else { + $aFontProperties['font-family'] = $mValue; + } + } + foreach ($aFontProperties as $sProperty => $mValue) { + $oNewRule = new Rule($sProperty); + $oNewRule->addValue($mValue); + $oNewRule->setIsImportant($oRule->getIsImportant()); + $this->addRule($oNewRule); + } + $this->removeRule('font'); + } + + /* + * Convert shorthand background declarations + * (e.g. background: url("chess.png") gray 50% repeat fixed;) + * into their constituent parts. + * @see http://www.w3.org/TR/21/colors.html#propdef-background + * */ + + public function expandBackgroundShorthand() { + $aRules = $this->getRulesAssoc(); + if (!isset($aRules['background'])) + return; + $oRule = $aRules['background']; + $aBgProperties = array( + 'background-color' => array('transparent'), 'background-image' => array('none'), + 'background-repeat' => array('repeat'), 'background-attachment' => array('scroll'), + 'background-position' => array(new Size(0, '%'), new Size(0, '%')) + ); + $mRuleValue = $oRule->getValue(); + $aValues = array(); + if (!$mRuleValue instanceof RuleValueList) { + $aValues[] = $mRuleValue; + } else { + $aValues = $mRuleValue->getListComponents(); + } + if (count($aValues) == 1 && $aValues[0] == 'inherit') { + foreach ($aBgProperties as $sProperty => $mValue) { + $oNewRule = new Rule($sProperty); + $oNewRule->addValue('inherit'); + $oNewRule->setIsImportant($oRule->getIsImportant()); + $this->addRule($oNewRule); + } + $this->removeRule('background'); + return; + } + $iNumBgPos = 0; + foreach ($aValues as $mValue) { + if (!$mValue instanceof Value) { + $mValue = mb_strtolower($mValue); + } + if ($mValue instanceof URL) { + $aBgProperties['background-image'] = $mValue; + } else if ($mValue instanceof Color) { + $aBgProperties['background-color'] = $mValue; + } else if (in_array($mValue, array('scroll', 'fixed'))) { + $aBgProperties['background-attachment'] = $mValue; + } else if (in_array($mValue, array('repeat', 'no-repeat', 'repeat-x', 'repeat-y'))) { + $aBgProperties['background-repeat'] = $mValue; + } else if (in_array($mValue, array('left', 'center', 'right', 'top', 'bottom')) + || $mValue instanceof Size + ) { + if ($iNumBgPos == 0) { + $aBgProperties['background-position'][0] = $mValue; + $aBgProperties['background-position'][1] = 'center'; + } else { + $aBgProperties['background-position'][$iNumBgPos] = $mValue; + } + $iNumBgPos++; + } + } + foreach ($aBgProperties as $sProperty => $mValue) { + $oNewRule = new Rule($sProperty); + $oNewRule->setIsImportant($oRule->getIsImportant()); + $oNewRule->addValue($mValue); + $this->addRule($oNewRule); + } + $this->removeRule('background'); + } + + public function expandListStyleShorthand() { + $aListProperties = array( + 'list-style-type' => 'disc', + 'list-style-position' => 'outside', + 'list-style-image' => 'none' + ); + $aListStyleTypes = array( + 'none', 'disc', 'circle', 'square', 'decimal-leading-zero', 'decimal', + 'lower-roman', 'upper-roman', 'lower-greek', 'lower-alpha', 'lower-latin', + 'upper-alpha', 'upper-latin', 'hebrew', 'armenian', 'georgian', 'cjk-ideographic', + 'hiragana', 'hira-gana-iroha', 'katakana-iroha', 'katakana' + ); + $aListStylePositions = array( + 'inside', 'outside' + ); + $aRules = $this->getRulesAssoc(); + if (!isset($aRules['list-style'])) + return; + $oRule = $aRules['list-style']; + $mRuleValue = $oRule->getValue(); + $aValues = array(); + if (!$mRuleValue instanceof RuleValueList) { + $aValues[] = $mRuleValue; + } else { + $aValues = $mRuleValue->getListComponents(); + } + if (count($aValues) == 1 && $aValues[0] == 'inherit') { + foreach ($aListProperties as $sProperty => $mValue) { + $oNewRule = new Rule($sProperty); + $oNewRule->addValue('inherit'); + $oNewRule->setIsImportant($oRule->getIsImportant()); + $this->addRule($oNewRule); + } + $this->removeRule('list-style'); + return; + } + foreach ($aValues as $mValue) { + if (!$mValue instanceof Value) { + $mValue = mb_strtolower($mValue); + } + if ($mValue instanceof Url) { + $aListProperties['list-style-image'] = $mValue; + } else if (in_array($mValue, $aListStyleTypes)) { + $aListProperties['list-style-types'] = $mValue; + } else if (in_array($mValue, $aListStylePositions)) { + $aListProperties['list-style-position'] = $mValue; + } + } + foreach ($aListProperties as $sProperty => $mValue) { + $oNewRule = new Rule($sProperty); + $oNewRule->setIsImportant($oRule->getIsImportant()); + $oNewRule->addValue($mValue); + $this->addRule($oNewRule); + } + $this->removeRule('list-style'); + } + + public function createShorthandProperties(array $aProperties, $sShorthand) { + $aRules = $this->getRulesAssoc(); + $aNewValues = array(); + foreach ($aProperties as $sProperty) { + if (!isset($aRules[$sProperty])) + continue; + $oRule = $aRules[$sProperty]; + if (!$oRule->getIsImportant()) { + $mRuleValue = $oRule->getValue(); + $aValues = array(); + if (!$mRuleValue instanceof RuleValueList) { + $aValues[] = $mRuleValue; + } else { + $aValues = $mRuleValue->getListComponents(); + } + foreach ($aValues as $mValue) { + $aNewValues[] = $mValue; + } + $this->removeRule($sProperty); + } + } + if (count($aNewValues)) { + $oNewRule = new Rule($sShorthand); + foreach ($aNewValues as $mValue) { + $oNewRule->addValue($mValue); + } + $this->addRule($oNewRule); + } + } + + public function createBackgroundShorthand() { + $aProperties = array( + 'background-color', 'background-image', 'background-repeat', + 'background-position', 'background-attachment' + ); + $this->createShorthandProperties($aProperties, 'background'); + } + + public function createListStyleShorthand() { + $aProperties = array( + 'list-style-type', 'list-style-position', 'list-style-image' + ); + $this->createShorthandProperties($aProperties, 'list-style'); + } + + /** + * Combine border-color, border-style and border-width into border + * Should be run after create_dimensions_shorthand! + * */ + public function createBorderShorthand() { + $aProperties = array( + 'border-width', 'border-style', 'border-color' + ); + $this->createShorthandProperties($aProperties, 'border'); + } + + /* + * Looks for long format CSS dimensional properties + * (margin, padding, border-color, border-style and border-width) + * and converts them into shorthand CSS properties. + * */ + + public function createDimensionsShorthand() { + $aPositions = array('top', 'right', 'bottom', 'left'); + $aExpansions = array( + 'margin' => 'margin-%s', + 'padding' => 'padding-%s', + 'border-color' => 'border-%s-color', + 'border-style' => 'border-%s-style', + 'border-width' => 'border-%s-width' + ); + $aRules = $this->getRulesAssoc(); + foreach ($aExpansions as $sProperty => $sExpanded) { + $aFoldable = array(); + foreach ($aRules as $sRuleName => $oRule) { + foreach ($aPositions as $sPosition) { + if ($sRuleName == sprintf($sExpanded, $sPosition)) { + $aFoldable[$sRuleName] = $oRule; + } + } + } + // All four dimensions must be present + if (count($aFoldable) == 4) { + $aValues = array(); + foreach ($aPositions as $sPosition) { + $oRule = $aRules[sprintf($sExpanded, $sPosition)]; + $mRuleValue = $oRule->getValue(); + $aRuleValues = array(); + if (!$mRuleValue instanceof RuleValueList) { + $aRuleValues[] = $mRuleValue; + } else { + $aRuleValues = $mRuleValue->getListComponents(); + } + $aValues[$sPosition] = $aRuleValues; + } + $oNewRule = new Rule($sProperty); + if ((string) $aValues['left'][0] == (string) $aValues['right'][0]) { + if ((string) $aValues['top'][0] == (string) $aValues['bottom'][0]) { + if ((string) $aValues['top'][0] == (string) $aValues['left'][0]) { + // All 4 sides are equal + $oNewRule->addValue($aValues['top']); + } else { + // Top and bottom are equal, left and right are equal + $oNewRule->addValue($aValues['top']); + $oNewRule->addValue($aValues['left']); + } + } else { + // Only left and right are equal + $oNewRule->addValue($aValues['top']); + $oNewRule->addValue($aValues['left']); + $oNewRule->addValue($aValues['bottom']); + } + } else { + // No sides are equal + $oNewRule->addValue($aValues['top']); + $oNewRule->addValue($aValues['left']); + $oNewRule->addValue($aValues['bottom']); + $oNewRule->addValue($aValues['right']); + } + $this->addRule($oNewRule); + foreach ($aPositions as $sPosition) { + $this->removeRule(sprintf($sExpanded, $sPosition)); + } + } + } + } + + /** + * Looks for long format CSS font properties (e.g. font-weight) and + * tries to convert them into a shorthand CSS font property. + * At least font-size AND font-family must be present in order to create a shorthand declaration. + * */ + public function createFontShorthand() { + $aFontProperties = array( + 'font-style', 'font-variant', 'font-weight', 'font-size', 'line-height', 'font-family' + ); + $aRules = $this->getRulesAssoc(); + if (!isset($aRules['font-size']) || !isset($aRules['font-family'])) { + return; + } + $oNewRule = new Rule('font'); + foreach (array('font-style', 'font-variant', 'font-weight') as $sProperty) { + if (isset($aRules[$sProperty])) { + $oRule = $aRules[$sProperty]; + $mRuleValue = $oRule->getValue(); + $aValues = array(); + if (!$mRuleValue instanceof RuleValueList) { + $aValues[] = $mRuleValue; + } else { + $aValues = $mRuleValue->getListComponents(); + } + if ($aValues[0] !== 'normal') { + $oNewRule->addValue($aValues[0]); + } + } + } + // Get the font-size value + $oRule = $aRules['font-size']; + $mRuleValue = $oRule->getValue(); + $aFSValues = array(); + if (!$mRuleValue instanceof RuleValueList) { + $aFSValues[] = $mRuleValue; + } else { + $aFSValues = $mRuleValue->getListComponents(); + } + // But wait to know if we have line-height to add it + if (isset($aRules['line-height'])) { + $oRule = $aRules['line-height']; + $mRuleValue = $oRule->getValue(); + $aLHValues = array(); + if (!$mRuleValue instanceof RuleValueList) { + $aLHValues[] = $mRuleValue; + } else { + $aLHValues = $mRuleValue->getListComponents(); + } + if ($aLHValues[0] !== 'normal') { + $val = new RuleValueList('/'); + $val->addListComponent($aFSValues[0]); + $val->addListComponent($aLHValues[0]); + $oNewRule->addValue($val); + } + } else { + $oNewRule->addValue($aFSValues[0]); + } + $oRule = $aRules['font-family']; + $mRuleValue = $oRule->getValue(); + $aFFValues = array(); + if (!$mRuleValue instanceof RuleValueList) { + $aFFValues[] = $mRuleValue; + } else { + $aFFValues = $mRuleValue->getListComponents(); + } + $oFFValue = new RuleValueList(','); + $oFFValue->setListComponents($aFFValues); + $oNewRule->addValue($oFFValue); + + $this->addRule($oNewRule); + foreach ($aFontProperties as $sProperty) { + $this->removeRule($sProperty); + } + } + + public function __toString() { + $sResult = implode(', ', $this->aSelectors) . ' {'; + $sResult .= parent::__toString(); + $sResult .= '}' . "\n"; + return $sResult; + } + +} diff --git a/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/RuleSet/RuleSet.php b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/RuleSet/RuleSet.php new file mode 100644 index 0000000..10caece --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/RuleSet/RuleSet.php @@ -0,0 +1,95 @@ +aRules = array(); + } + + public function addRule(Rule $oRule) { + $sRule = $oRule->getRule(); + if(!isset($this->aRules[$sRule])) { + $this->aRules[$sRule] = array(); + } + $this->aRules[$sRule][] = $oRule; + } + + /** + * Returns all rules matching the given rule name + * @param (null|string|Rule) $mRule pattern to search for. If null, returns all rules. if the pattern ends with a dash, all rules starting with the pattern are returned as well as one matching the pattern with the dash excluded. passing a Rule behaves like calling getRules($mRule->getRule()). + * @example $oRuleSet->getRules('font-') //returns an array of all rules either beginning with font- or matching font. + * @example $oRuleSet->getRules('font') //returns array(0 => $oRule, …) or array(). + */ + public function getRules($mRule = null) { + if ($mRule instanceof Rule) { + $mRule = $mRule->getRule(); + } + $aResult = array(); + foreach($this->aRules as $sName => $aRules) { + // Either no search rule is given or the search rule matches the found rule exactly or the search rule ends in “-” and the found rule starts with the search rule. + if(!$mRule || $sName === $mRule || (strrpos($mRule, '-') === strlen($mRule) - strlen('-') && (strpos($sName, $mRule) === 0 || $sName === substr($mRule, 0, -1)))) { + $aResult = array_merge($aResult, $aRules); + } + } + return $aResult; + } + + /** + * Returns all rules matching the given pattern and returns them in an associative array with the rule’s name as keys. This method exists mainly for backwards-compatibility and is really only partially useful. + * @param (string) $mRule pattern to search for. If null, returns all rules. if the pattern ends with a dash, all rules starting with the pattern are returned as well as one matching the pattern with the dash excluded. passing a Rule behaves like calling getRules($mRule->getRule()). + * Note: This method loses some information: Calling this (with an argument of 'background-') on a declaration block like { background-color: green; background-color; rgba(0, 127, 0, 0.7); } will only yield an associative array containing the rgba-valued rule while @link{getRules()} would yield an indexed array containing both. + */ + public function getRulesAssoc($mRule = null) { + $aResult = array(); + foreach($this->getRules($mRule) as $oRule) { + $aResult[$oRule->getRule()] = $oRule; + } + return $aResult; + } + + /** + * Remove a rule from this RuleSet. This accepts all the possible values that @link{getRules()} accepts. If given a Rule, it will only remove this particular rule (by identity). If given a name, it will remove all rules by that name. Note: this is different from pre-v.2.0 behaviour of PHP-CSS-Parser, where passing a Rule instance would remove all rules with the same name. To get the old behvaiour, use removeRule($oRule->getRule()). + * @param (null|string|Rule) $mRule pattern to remove. If $mRule is null, all rules are removed. If the pattern ends in a dash, all rules starting with the pattern are removed as well as one matching the pattern with the dash excluded. Passing a Rule behaves matches by identity. + */ + public function removeRule($mRule) { + if($mRule instanceof Rule) { + $sRule = $mRule->getRule(); + if(!isset($this->aRules[$sRule])) { + return; + } + foreach($this->aRules[$sRule] as $iKey => $oRule) { + if($oRule === $mRule) { + unset($this->aRules[$sRule][$iKey]); + } + } + } else { + foreach($this->aRules as $sName => $aRules) { + // Either no search rule is given or the search rule matches the found rule exactly or the search rule ends in “-” and the found rule starts with the search rule or equals it (without the trailing dash). + if(!$mRule || $sName === $mRule || (strrpos($mRule, '-') === strlen($mRule) - strlen('-') && (strpos($sName, $mRule) === 0 || $sName === substr($mRule, 0, -1)))) { + unset($this->aRules[$sName]); + } + } + } + } + + public function __toString() { + $sResult = ''; + foreach ($this->aRules as $aRules) { + foreach($aRules as $oRule) { + $sResult .= $oRule->__toString(); + } + } + return $sResult; + } + +} diff --git a/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Settings.php b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Settings.php new file mode 100644 index 0000000..cb89a86 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Settings.php @@ -0,0 +1,54 @@ +bMultibyteSupport = extension_loaded('mbstring'); + } + + public static function create() { + return new Settings(); + } + + public function withMultibyteSupport($bMultibyteSupport = true) { + $this->bMultibyteSupport = $bMultibyteSupport; + return $this; + } + + public function withDefaultCharset($sDefaultCharset) { + $this->sDefaultCharset = $sDefaultCharset; + return $this; + } + + public function withLenientParsing($bLenientParsing = true) { + $this->bLenientParsing = $bLenientParsing; + return $this; + } + + public function beStrict() { + return $this->withLenientParsing(false); + } +} \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Value/CSSFunction.php b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Value/CSSFunction.php new file mode 100644 index 0000000..8715e16 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Value/CSSFunction.php @@ -0,0 +1,35 @@ +getListSeparator(); + $aArguments = $aArguments->getListComponents(); + } + $this->sName = $sName; + parent::__construct($aArguments, $sSeparator); + } + + public function getName() { + return $this->sName; + } + + public function setName($sName) { + $this->sName = $sName; + } + + public function getArguments() { + return $this->aComponents; + } + + public function __toString() { + $aArguments = parent::__toString(); + return "{$this->sName}({$aArguments})"; + } + +} \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Value/Color.php b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Value/Color.php new file mode 100644 index 0000000..0431221 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Value/Color.php @@ -0,0 +1,38 @@ +aComponents; + } + + public function setColor($aColor) { + $this->setName(implode('', array_keys($aColor))); + $this->aComponents = $aColor; + } + + public function getColorDescription() { + return $this->getName(); + } + + public function __toString() { + // Shorthand RGB color values + // TODO: Include in output settings (once they’re done) + if(implode('', array_keys($this->aComponents)) === 'rgb') { + $sResult = sprintf( + '%02x%02x%02x', + $this->aComponents['r']->__toString(), + $this->aComponents['g']->__toString(), + $this->aComponents['b']->__toString() + ); + return '#'.(($sResult[0] == $sResult[1]) && ($sResult[2] == $sResult[3]) && ($sResult[4] == $sResult[5]) ? "$sResult[0]$sResult[2]$sResult[4]" : $sResult); + } + return parent::__toString(); + } +} diff --git a/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Value/PrimitiveValue.php b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Value/PrimitiveValue.php new file mode 100644 index 0000000..2e6e2ab --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Value/PrimitiveValue.php @@ -0,0 +1,7 @@ +fSize = floatval($fSize); + $this->sUnit = $sUnit; + $this->bIsColorComponent = $bIsColorComponent; + } + + public function setUnit($sUnit) { + $this->sUnit = $sUnit; + } + + public function getUnit() { + return $this->sUnit; + } + + public function setSize($fSize) { + $this->fSize = floatval($fSize); + } + + public function getSize() { + return $this->fSize; + } + + public function isColorComponent() { + return $this->bIsColorComponent; + } + + /** + * Returns whether the number stored in this Size really represents a size (as in a length of something on screen). + * @return false if the unit an angle, a duration, a frequency or the number is a component in a Color object. + */ + public function isSize() { + if (in_array($this->sUnit, explode('/', self::NON_SIZE_UNITS))) { + return false; + } + return !$this->isColorComponent(); + } + + public function isRelative() { + if (in_array($this->sUnit, explode('/', self::RELATIVE_SIZE_UNITS))) { + return true; + } + if ($this->sUnit === null && $this->fSize != 0) { + return true; + } + return false; + } + + public function __toString() { + $l = localeconv(); + $sPoint = preg_quote($l['decimal_point'], '/'); + return preg_replace(array("/$sPoint/", "/^(-?)0\./"), array('.', '$1.'), $this->fSize) . ($this->sUnit === null ? '' : $this->sUnit); + } + +} diff --git a/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Value/String.php b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Value/String.php new file mode 100644 index 0000000..34e60c9 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Value/String.php @@ -0,0 +1,27 @@ +sString = $sString; + } + + public function setString($sString) { + $this->sString = $sString; + } + + public function getString() { + return $this->sString; + } + + public function __toString() { + $sString = addslashes($this->sString); + $sString = str_replace("\n", '\A', $sString); + return '"' . $sString . '"'; + } + +} \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Value/URL.php b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Value/URL.php new file mode 100644 index 0000000..167ded9 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Value/URL.php @@ -0,0 +1,26 @@ +oURL = $oURL; + } + + public function setURL(String $oURL) { + $this->oURL = $oURL; + } + + public function getURL() { + return $this->oURL; + } + + public function __toString() { + return "url({$this->oURL->__toString()})"; + } + +} \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Value/Value.php b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Value/Value.php new file mode 100644 index 0000000..f6f95e3 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/PHP-CSS-Parser/lib/Sabberworm/CSS/Value/Value.php @@ -0,0 +1,8 @@ +aComponents = $aComponents; + $this->sSeparator = $sSeparator; + } + + public function addListComponent($mComponent) { + $this->aComponents[] = $mComponent; + } + + public function getListComponents() { + return $this->aComponents; + } + + public function setListComponents($aComponents) { + $this->aComponents = $aComponents; + } + + public function getListSeparator() { + return $this->sSeparator; + } + + public function setListSeparator($sSeparator) { + $this->sSeparator = $sSeparator; + } + + function __toString() { + return implode($this->sSeparator, $this->aComponents); + } + +} diff --git a/wp-content/plugins/admin-menu-editor/includes/access-editor-dialog.php b/wp-content/plugins/admin-menu-editor/includes/access-editor-dialog.php new file mode 100644 index 0000000..447ad92 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/access-editor-dialog.php @@ -0,0 +1,85 @@ +
+ +
+
+
x
+
+ Hint: Individual submenus can override these settings. + As a result, this menu will stay visible as long as at least one of its + submenus is accessible. +
+
+ +
+

+ Note: + Only users with the "[role]" role + can access this menu. This restriction is hard­coded in the plugin that + created the menu. +

+
+ +
+ Grant access + [?] +
+ +
+
+
+ Pro only feature. + Use capabilities (below) instead. +
+ + + + + +
+
+
+ + +
+ Required capability + [?] +
+ capability_here +
+ +
+ + [?] +
+ +
+
+ +
+ + +
+ +
\ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/includes/admin-menu-editor-mu.php b/wp-content/plugins/admin-menu-editor/includes/admin-menu-editor-mu.php new file mode 100644 index 0000000..931459e --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/admin-menu-editor-mu.php @@ -0,0 +1,61 @@ + +

+ Admin Menu Editor is installed incorrectly! +

+

+ Please copy the entire admin-menu-directory directory to your mu-plugins + directory, then move only the admin-menu-editor-mu.php file from + admin-menu-editor/includes to mu-plugins. +

+
+addLicenseActionLink($actions); + } + return $actions; +} +add_filter('network_admin_plugin_action_links_' . basename(__FILE__), 'ws_ame_add_mu_license_link'); diff --git a/wp-content/plugins/admin-menu-editor/includes/auto-versioning.php b/wp-content/plugins/admin-menu-editor/includes/auto-versioning.php new file mode 100644 index 0000000..ab81180 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/auto-versioning.php @@ -0,0 +1,136 @@ + WP_PLUGIN_DIR, + plugins_url('', WPMU_PLUGIN_DIR . '/dummy') => WPMU_PLUGIN_DIR, + get_stylesheet_directory_uri() => get_stylesheet_directory(), + get_template_directory_uri() => get_template_directory(), + content_url() => WP_CONTENT_DIR, + site_url('/' . WPINC) => ABSPATH . WPINC, + ); + + $filename = null; + foreach($url_mappings as $root_url => $directory) { + if ( strpos($url, $root_url) === 0 ) { + $filename = $directory . '/' . substr($url, strlen($root_url)); + //Get rid of the query string, if any. + list($filename, ) = explode('?', $filename, 2); + break; + } + } + + return $filename; + } + + /** + * Apply automatic versioning to all scripts and style sheets added using WP dependency APIs. + * + * If you set $add_ver_to_filename to TRUE, make sure to also add the following code to your + * .htaccess file or your site may break: + * + * + * RewriteEngine On + * RewriteRule ^(.*)\.[\d]{10}\.(css|js)$ $1.$2 [L] + * + * + * @static + * @param bool $add_ver_to_filename + */ + public static function apply_to_all_dependencies($add_ver_to_filename = false) { + self::$version_in_filename = $add_ver_to_filename; + foreach(array('script_loader_src', 'style_loader_src') as $hook) { + add_filter($hook, __CLASS__ . '::_filter_dependency_src', 10, 1); + } + } + + public static function _filter_dependency_src($src) { + //Only add version info to CSS/JS files that don't already have it in the file name. + if ( preg_match('@(?'; +$divider = str_repeat('-', 50); +echo "File consistency checks:\n", $divider, "\n"; +foreach($log as $message) { + echo $message, "\n"; +} + +//Test for buggy plugins_url filters. +echo $divider, "\nTesting for problems with the 'plugins_url' hook...\n"; +add_filter('plugins_url', 'ame_plugins_url_test_first', -9999, 3); +add_filter('plugins_url', 'ame_plugins_url_test_last', 9999, 3); + +$url = plugins_url('css/menu-editor.css', $pluginFile); + +remove_filter('plugins_url', 'ame_plugins_url_test_first', -9999, 3); +remove_filter('plugins_url', 'ame_plugins_url_test_last', 9999, 3); + +function ame_plugins_url_test_first($url, $path = '', $plugin = '') { + printf( + '[Info] plugins_url() output before plugin hooks: %s' . "\n", + esc_html($url) + ); + echo ame_test_url_access($url, 'css/menu-editor.css'), "\n"; + return $url; +} + +function ame_plugins_url_test_last($url, $path = '', $plugin = '') { + printf( + '[Info] plugins_url() output after plugin hooks: %s' . "\n", + esc_html($url) + ); + echo ame_test_url_access($url, 'css/menu-editor.css'), "\n"; + return $url; +} + +function ame_test_url_access($url, $filename) { + $result = wp_remote_get($url); + + if ( is_wp_error($result) ) { + return sprintf( + '[Error] Can not load URL: %s (%s)', + esc_html($url), + $result->get_error_message() + ); + } else if ( $result['response']['code'] == 200 ) { + return sprintf( + '[OK] URL is accessible: %s', + esc_html($url) + ); + } else { + return sprintf( + '[Error] Can no load "%s", URL : %s (%d %s)', + esc_html($filename), + esc_html($url), + $result['response']['code'], + $result['response']['message'] + ); + } +} + +echo $divider; +echo ''; \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/includes/editor-page.php b/wp-content/plugins/admin-menu-editor/includes/editor-page.php new file mode 100644 index 0000000..ac02444 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/editor-page.php @@ -0,0 +1,480 @@ + '/gnome-icon-theme/edit-cut-blue.png', + 'copy' => '/gion/edit-copy.png', + 'paste' => '/gnome-icon-theme/edit-paste.png', + 'hide' => '/icon-extension-grey.png', + 'new' => '/page-add.png', + 'delete' => '/page-delete.png', + 'new-separator' => '/separator-add.png', + 'toggle-all' => '/check-all.png', +); +foreach($icons as $name => $url) { + $icons[$name] = $images_url . $url; +} + +//Output the "Upgrade to Pro" message +if ( !apply_filters('admin_menu_editor_is_pro', false) ){ + ?> + + +
+

+ + Settings +

+ +

Settings saved.

'; + } elseif ( intval($_GET['message']) == 2 ) { + echo '

Failed to decode input! The menu wasn\'t modified.

'; + } + } +?> + + +
+
x
+
+ What's New In 1.20 and 1.30 +
    +
  • New menu permissions interface. + Learn more.
  • + +
  • You can now use "not:user:username", "capability1,capability2", "capability1+capability2" and other + advanced syntax in the capability field. See the link above for details.
  • + +
  • You can drag sub-menu items to the top level and the other way around. To do it, + drag the item to the very end of the (sub-)menu and drop it on the yellow rectangle that will appear.
  • + +
  • Added a "Target page" drop-down to simplify setting menu URLs. You can still enter an arbitrary URL + by selecting "Custom".
  • + +
  • Miscellaneous bug fixes.
  • + +
+
+
+ + + + +
+
+ +
+
+ +
+ + + + + +
+ +
+
+ + + + + + +
+ + + + + +
+ + +
+ +
+
x
+
+ Upgrade to Pro: +
    +
  • +
  • Drag items between menu levels.
  • +
  • Menu export & import.
  • +
+ Learn more + | + Try online demo +
+
+ + +
+ +
+ +
+ +
+ + + + + +'); + + $capSelector[] = ''; + foreach($editor_data['all_roles'] as $role_id => $role_name){ + $capSelector[] = sprintf( + '', + esc_attr($role_id), + $role_name + ); + } + $capSelector[] = ''; + + $capSelector[] = ''; + foreach($editor_data['all_capabilities'] as $cap){ + $capSelector[] = sprintf( + '', + esc_attr($cap), + $cap + ); + } + $capSelector[] = ''; + $capSelector[] = ''; + + echo implode("\n", $capSelector); +?> + + + +', + esc_attr(ucwords($icon)), + $icon + ); + } + } + + //These dashicons are used in the default admin menu. + $defaultDashicons = array( + 'admin-generic', 'dashboard', 'admin-post', 'admin-media', 'admin-links', 'admin-page', 'admin-comments', + 'admin-appearance', 'admin-plugins', 'admin-users', 'admin-tools', 'admin-settings', 'admin-network', + ); + + //The rest of Dashicons. Some icons were manually removed as they wouldn't look good as menu icons. + $dashicons = array( + 'admin-site', 'admin-home', + 'align-center', 'align-left', 'align-none', 'align-right', 'analytics', 'art', 'awards', 'backup', + 'book', 'book-alt', 'businessman', 'calendar', 'camera', 'cart', 'category', 'chart-area', 'chart-bar', + 'chart-line', 'chart-pie', 'clock', 'cloud', 'desktop', 'dismiss', 'download', 'edit', 'editor-customchar', + 'editor-distractionfree', 'editor-help', 'editor-insertmore', + 'editor-justify', 'editor-kitchensink', 'editor-ol', 'editor-paste-text', + 'editor-paste-word', 'editor-quote', 'editor-removeformatting', 'editor-rtl', 'editor-spellcheck', + 'editor-ul', 'editor-unlink', 'editor-video', + 'email', 'email-alt', 'exerpt-view', 'facebook', 'facebook-alt', 'feedback', 'flag', 'format-aside', + 'format-audio', 'format-chat', 'format-gallery', 'format-image', 'format-quote', 'format-status', + 'format-video', 'forms', 'googleplus', 'groups', 'hammer', 'id', 'id-alt', 'image-crop', + 'image-flip-horizontal', 'image-flip-vertical', 'image-rotate-left', 'image-rotate-right', 'images-alt', + 'images-alt2', 'info', 'leftright', 'lightbulb', 'list-view', 'location', 'location-alt', 'lock', 'marker', + 'menu', 'migrate', 'minus', 'networking', 'no', 'no-alt', 'performance', 'plus', 'portfolio', 'post-status', + 'pressthis', 'products', 'redo', 'rss', 'screenoptions', 'search', 'share', 'share-alt', + 'share-alt2', 'share1', 'shield', 'shield-alt', 'slides', 'smartphone', 'smiley', 'sort', 'sos', 'star-empty', + 'star-filled', 'star-half', 'tablet', 'tag', 'testimonial', 'translation', 'twitter', 'undo', + 'update', 'upload', 'vault', 'video-alt', 'video-alt2', 'video-alt3', 'visibility', 'welcome-add-page', + 'welcome-comments', 'welcome-learn-more', 'welcome-view-site', 'welcome-widgets-menus', 'welcome-write-blog', + 'wordpress', 'wordpress-alt', 'yes' + ); + + if ($editor_data['dashicons_available']) { + function ws_ame_print_dashicon_option($icon, $isExtraIcon = false) { + printf( + '
+
+
', + esc_attr(ucwords(str_replace('-', ' ', $icon))), + $icon, + $isExtraIcon ? ' ws_icon_extra' : '' + ); + } + + if ( !$oldMenuIconsAvailable ) { + foreach($defaultDashicons as $icon) { + ws_ame_print_dashicon_option($icon); + } + } + foreach($dashicons as $icon) { + ws_ame_print_dashicon_option($icon, true); + } + } + + $defaultIconImages = array( + 'images/generic.png', + ); + foreach($defaultIconImages as $icon) { + printf( + '
+ +
', + esc_attr($icon) + ); + } + + ?> + + + + + + + + +
+ + + + + + + + + + + + + + +parse(); + +$blocks = $cssDocument->getAllDeclarationBlocks(); +foreach($blocks as $block) { + /** @var Sabberworm\CSS\RuleSet\DeclarationBlock $block */ + + //We want the ".dashicons-*:before" selectors. + $selectors = $block->getSelectors(); + foreach($selectors as $selector) { + /** @var Sabberworm\CSS\Property\Selector $selector */ + + if ( preg_match('/\.dashicons-(?P[\w\-]+):before/', $selector->getSelector(), $matches) ) { + $name = $matches['name']; + + //We already have styles for icons that start with "admin-", and the arrow icons + //aren't really suitable as menu icons. + if ( preg_match('/^(admin|arrow)-/', $name) ) { + break; + } + + //Some icons are duplicates of the "admin-" icons or just wouldn't look very good in a menu. + if ( array_key_exists($name, $ignoreIcons) ) { + break; + } + + $rules = $block->getRules('content'); //Expect something like "content: '\f123'". + foreach($rules as $rule) { + /** @var Sabberworm\CSS\Rule\Rule $rule */ + $value = $rule->getValue(); + if ($value instanceof Sabberworm\CSS\Value\String) { + //The parser defaults to UTF-8. Convert the char to a hexadecimal escape code + //so we don't have to worry about our CSS charset. + $char = ltrim(bin2hex(iconv('UTF-8', 'UCS-4', $value->getString())), '0'); + $icons[$name] = '\\' . $char; + } + } + + + break; + } + } +} + +?> +
+

Dashicons to Menu Icons

+ + $character) { + //Output each icon for visual verification. + printf( + '
%1$s
', + $name + ); + + //Wrap the array definition at about 80 characters for legibility. + $item = "'" . $name . "', "; + if ( strlen($currentLine . $item) > 80 ) { + $arrayDefinition .= $currentLine . "\n"; + $currentLine = "\t"; + } + + $currentLine .= $item; +} + +if (strlen($currentLine) > 1) { + $arrayDefinition .= $currentLine . "\n"; +} +$arrayDefinition .= ')'; + +echo '

'; +echo ''; + +echo '
'; \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/includes/menu-editor-core.php b/wp-content/plugins/admin-menu-editor/includes/menu-editor-core.php new file mode 100644 index 0000000..04abbfa --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/menu-editor-core.php @@ -0,0 +1,2389 @@ +sitewide_options = true; + + //Set some plugin-specific options + if ( empty($this->option_name) ){ + $this->option_name = 'ws_menu_editor'; + } + $this->defaults = array( + 'hide_advanced_settings' => true, + 'show_extra_icons' => false, + 'custom_menu' => null, + 'first_install_time' => null, + 'display_survey_notice' => true, + 'plugin_db_version' => 0, + 'security_logging_enabled' => false, + + 'menu_config_scope' => ($this->is_super_plugin() || !is_multisite()) ? 'global' : 'site', + + //super_admin, specific_user, or a capability. + 'plugin_access' => $this->is_super_plugin() ? 'super_admin' : 'manage_options', + //The ID of the user who is allowed to use this plugin. Only used when plugin_access == specific_user. + 'allowed_user_id' => null, + //The user who can see this plugin on the "Plugins" page. By default all admins can see it. + 'plugins_page_allowed_user_id' => null, + + 'show_deprecated_hide_button' => null, + 'dashboard_hiding_confirmation_enabled' => true, + + //When to show submenu icons. + 'submenu_icons_enabled' => 'if_custom', //"never", "if_custom" or "always". + + //Menu editor UI colour scheme. "Classic" is the old blue/yellow scheme, and "wp-grey" is more WP-like. + 'ui_colour_scheme' => 'classic', + + //Enable/disable the admin notice that tells the user where the plugin settings menu is. + 'show_plugin_menu_notice' => true, + ); + $this->serialize_with_json = false; //(Don't) store the options in JSON format + + $this->settings_link = 'options-general.php?page=menu_editor'; + + $this->magic_hooks = true; + $this->magic_hook_priority = 99999; + + //AJAXify screen options + add_action('wp_ajax_ws_ame_save_screen_options', array($this,'ajax_save_screen_options')); + + //AJAXify hints and warnings + add_action('wp_ajax_ws_ame_hide_hint', array($this, 'ajax_hide_hint')); + add_action( + 'wp_ajax_ws_ame_disable_dashboard_hiding_confirmation', + array($this, 'ajax_disable_dashboard_hiding_confirmation') + ); + + //Make sure we have access to the original, un-mangled request data. + //This is necessary because WordPress will stupidly apply "magic quotes" + //to the request vars even if this PHP misfeature is disabled. + $this->capture_request_vars(); + + add_action('admin_enqueue_scripts', array($this, 'enqueue_menu_fix_script')); + + //Enqueue miscellaneous helper scripts and styles. + add_action('admin_enqueue_scripts', array($this, 'enqueue_helper_scripts')); + add_action('admin_print_styles', array($this, 'enqueue_helper_styles')); + + //User survey + add_action('admin_notices', array($this, 'display_survey_notice')); + + //Tell first-time users where they can find the plugin settings page. + add_action('all_admin_notices', array($this, 'display_plugin_menu_notice')); + } + + function init_finish() { + parent::init_finish(); + $should_save_options = false; + + //If we have no stored settings for this version of the plugin, try importing them + //from other versions (i.e. the free or the Pro version). + if ( !$this->load_options() ){ + $this->import_settings(); + $should_save_options = true; + } + + //Track first install time. + if ( !isset($this->options['first_install_time']) ) { + $this->options['first_install_time'] = time(); + $should_save_options = true; + } + + if ( $this->options['plugin_db_version'] < $this->plugin_db_version ) { + /* Put any activation code here. */ + + $this->options['plugin_db_version'] = $this->plugin_db_version; + $should_save_options = true; + } + + if ( $should_save_options ) { + //Skip saving options if the plugin hasn't been fully activated yet. + if ( $this->is_plugin_active($this->plugin_basename) ) { + $this->save_options(); + } else { + //Yes, this method can actually run before WP updates the list of active plugins. That means functions + //like is_plugin_active_for_network() will return false. As as result, we can't determine whether + //the plugin has been network-activated yet, so lets skip setting up the default config until + //the next page load. + } + } + + //This is here and not in init() because it relies on $options being initialized. + if ( $this->options['security_logging_enabled'] ) { + add_action('admin_notices', array($this, 'display_security_log')); + } + } + + /** + * Import settings from a different version of the plugin. + * + * @return bool True if settings were imported successfully, False otherwise + */ + function import_settings(){ + $possible_names = array('ws_menu_editor', 'ws_menu_editor_pro'); + foreach($possible_names as $option_name){ + if ( $this->load_options($option_name) ){ + return true; + } + } + return false; + } + + /** + * Create a configuration page and load the custom menu + * + * @return void + */ + function hook_admin_menu(){ + global $menu, $submenu; + + //Compatibility fix for Shopp 1.2.9. This plugin has an "admin_menu" hook (Flow::menu) that adds another + //"admin_menu" hook (AdminFlow::taxonomies) when it runs. Basically, it indirectly modifies the global + //$wp_filters['admin_menu'] array while WordPress is iterating it (nasty!). Due to how PHP arrays are + //implemented and how do_action() works, this second hook is the very last one to run, even after hooks + //with a lower priority. + //The only way we can see the changes made by the second hook is to do the same thing. + static $firstRunSkipped = false; + if ( !$firstRunSkipped && class_exists('Flow') ) { + add_action('admin_menu', array($this, 'hook_admin_menu'), $this->magic_hook_priority + 1); + $firstRunSkipped = true; + return; + } + + //Menu reset (for emergencies). Executed by accessing http://example.com/wp-admin/?reset_admin_menu=1 + $reset_requested = isset($this->get['reset_admin_menu']) && $this->get['reset_admin_menu']; + if ( $reset_requested && $this->current_user_can_edit_menu() ){ + $this->set_custom_menu(null); + } + + //The menu editor is only visible to users with the manage_options privilege. + //Or, if the plugin is installed in mu-plugins, only to the site administrator(s). + if ( $this->current_user_can_edit_menu() ){ + $this->log_security_note('Current user can edit the admin menu.'); + + $page = add_options_page( + apply_filters('admin_menu_editor-self_page_title', 'Menu Editor'), + apply_filters('admin_menu_editor-self_menu_title', 'Menu Editor'), + apply_filters('admin_menu_editor-capability', 'manage_options'), + 'menu_editor', + array(&$this, 'page_menu_editor') + ); + //Output our JS & CSS on that page only + add_action("admin_print_scripts-$page", array($this, 'enqueue_scripts')); + add_action("admin_print_styles-$page", array($this, 'enqueue_styles')); + + //Compatibility fix for All In One Event Calendar; see the callback for details. + add_action("admin_print_scripts-$page", array($this, 'dequeue_ai1ec_scripts')); + + //Compatibility fix for Participants Database. + add_action("admin_print_scripts-$page", array($this, 'dequeue_pd_scripts')); + + //Experimental compatibility fix for Ultimate TinyMCE + add_action("admin_print_scripts-$page", array($this, 'remove_ultimate_tinymce_qtags')); + + //Make a placeholder for our screen options (hacky) + add_meta_box("ws-ame-screen-options", "[AME placeholder]", '__return_false', $page); + } + + //Store the "original" menus for later use in the editor + $this->default_wp_menu = $menu; + $this->default_wp_submenu = $submenu; + + //Compatibility fix for bbPress. + $this->apply_bbpress_compat_fix(); + //Compatibility fix for WordPress Mu Domain Mapping. + $this->apply_wpmu_domain_mapping_fix(); + + //Generate item templates from the default menu. + $this->item_templates = $this->build_templates($this->default_wp_menu, $this->default_wp_submenu); + + //Add extra templates that are not part of the normal menu. + $this->item_templates = $this->add_special_templates($this->item_templates); + + //Is there a custom menu to use? + $custom_menu = $this->load_custom_menu(); + if ( $custom_menu !== null ){ + //Merge in data from the default menu + $custom_menu['tree'] = $this->menu_merge($custom_menu['tree']); + + //Save the merged menu for later - the editor page will need it + $this->merged_custom_menu = $custom_menu; + + //Convert our custom menu to the $menu + $submenu structure used by WP. + //Note: This method sets up multiple internal fields and may cause side-effects. + $this->user_cap_cache_enabled = true; + $this->build_custom_wp_menu($this->merged_custom_menu['tree']); + $this->user_cap_cache_enabled = false; + + if ( !$this->user_can_access_current_page() ) { + $this->log_security_note('DENY access.'); + $message = 'You do not have sufficient permissions to access this admin page.'; + if ( $this->options['security_logging_enabled'] ) { + $message .= '

Admin Menu Editor security log

'; + $message .= $this->get_formatted_security_log(); + } + wp_die($message); + } else { + $this->log_security_note('ALLOW access.'); + } + + //Replace the admin menu just before it is displayed and restore it afterwards. + //The fact that replace_wp_menu() is attached to the 'parent_file' hook is incidental; + //there just wasn't any other, more suitable hook available. + add_filter('parent_file', array($this, 'replace_wp_menu')); + add_action('adminmenu', array($this, 'restore_wp_menu')); + + //A compatibility hack for Ozh's Admin Drop Down Menu. Make sure it also sees the modified menu. + $ozh_adminmenu_priority = has_action('in_admin_header', 'wp_ozh_adminmenu'); + if ( $ozh_adminmenu_priority !== false ) { + add_action('in_admin_header', array($this, 'replace_wp_menu'), $ozh_adminmenu_priority - 1); + add_action('in_admin_header', array($this, 'restore_wp_menu'), $ozh_adminmenu_priority + 1); + } + } + } + + /** + * Replace the current WP menu with our custom one. + * + * @param string $parent_file Ignored. Required because this method is a hook for the 'parent_file' filter. + * @return string Returns the $parent_file argument. + */ + public function replace_wp_menu($parent_file = '') { + global $menu, $submenu; + + $this->old_wp_menu = $menu; + $this->old_wp_submenu = $submenu; + + $menu = $this->custom_wp_menu; + $submenu = $this->custom_wp_submenu; + + $this->user_cap_cache_enabled = true; + list($menu, $submenu) = $this->filter_menu($menu, $submenu); + $this->user_cap_cache_enabled = false; + + return $parent_file; + } + + /** + * Restore the default WordPress menu that was replaced using replace_wp_menu(). + * + * @return void + */ + public function restore_wp_menu() { + global $menu, $submenu; + $menu = $this->old_wp_menu; + $submenu = $this->old_wp_submenu; + } + + /** + * Filter a menu so that it can be handed to _wp_menu_output(). This method basically + * emulates the filtering that WordPress does in /wp-admin/includes/menu.php, with a few + * additions of our own. + * + * - Removes inaccessible items and superfluous separators. + * + * - Sets accessible items to a capability that the user is guaranteed to have to prevent + * _wp_menu_output() from choking on plugin-specific capabilities like "cap1,cap2+not:cap3". + * + * - Adds position-dependent CSS classes. + * + * @param array $menu + * @param array $submenu + * @return array An array with two items - the filtered menu and submenu. + */ + private function filter_menu($menu, $submenu) { + global $_wp_menu_nopriv; //Caution: Modifying this array could lead to unexpected consequences. + + //Remove sub-menus which the user shouldn't be able to access, + //and ensure the rest are visible. + foreach ($submenu as $parent => $items) { + foreach ($items as $index => $data) { + if ( ! $this->current_user_can($data[1]) ) { + unset($submenu[$parent][$index]); + $_wp_submenu_nopriv[$parent][$data[2]] = true; + } else { + //The menu might be set to some kind of special capability that is only valid + //within this plugin and not WP in general. Ensure WP doesn't choke on it. + //(This is safe - we'll double-check the caps when the user tries to access a page.) + $submenu[$parent][$index][1] = 'exist'; //All users have the 'exist' cap. + } + } + + if ( empty($submenu[$parent]) ) { + unset($submenu[$parent]); + } + } + + //Remove menus that have no accessible sub-menus and require privileges that the user does not have. + //Ensure the rest are visible. Run re-parent loop again. + foreach ( $menu as $id => $data ) { + if ( ! $this->current_user_can($data[1]) ) { + $_wp_menu_nopriv[$data[2]] = true; + } else { + $menu[$id][1] = 'exist'; + } + + //If there is only one submenu and it is has same destination as the parent, + //remove the submenu. + if ( ! empty( $submenu[$data[2]] ) && 1 == count ( $submenu[$data[2]] ) ) { + $subs = $submenu[$data[2]]; + $first_sub = array_shift($subs); + if ( $data[2] == $first_sub[2] ) { + unset( $submenu[$data[2]] ); + } + } + + //If submenu is empty... + if ( empty($submenu[$data[2]]) ) { + // And user doesn't have privs, remove menu. + if ( isset( $_wp_menu_nopriv[$data[2]] ) ) { + unset($menu[$id]); + } + } + } + unset($id, $data, $subs, $first_sub); + + //Remove any duplicated separators + $separator_found = false; + foreach ( $menu as $id => $data ) { + if ( 0 == strcmp('wp-menu-separator', $data[4] ) ) { + if ($separator_found) { + unset($menu[$id]); + } + $separator_found = true; + } else { + $separator_found = false; + } + } + unset($id, $data); + + //Remove the last menu item if it is a separator. + $last_menu_key = array_keys( $menu ); + $last_menu_key = array_pop( $last_menu_key ); + if (!empty($menu) && 'wp-menu-separator' == $menu[$last_menu_key][4]) { + unset($menu[$last_menu_key]); + } + unset( $last_menu_key ); + + //Add display-specific classes like "menu-top-first" and others. + $menu = add_menu_classes($menu); + + return array($menu, $submenu); + } + + + /** + * Add the JS required by the editor to the page header + * + * @return void + */ + function enqueue_scripts(){ + //jQuery JSON plugin + wp_register_auto_versioned_script('jquery-json', plugins_url('js/jquery.json.js', $this->plugin_file), array('jquery')); + //jQuery sort plugin + wp_register_auto_versioned_script('jquery-sort', plugins_url('js/jquery.sort.js', $this->plugin_file), array('jquery')); + //qTip2 - jQuery tooltip plugin + wp_register_auto_versioned_script('jquery-qtip', plugins_url('js/jquery.qtip.min.js', $this->plugin_file), array('jquery')); + //jQuery Form plugin. This is a more recent version than the one included with WP. + wp_register_auto_versioned_script('ame-jquery-form', plugins_url('js/jquery.form.js', $this->plugin_file), array('jquery')); + //jQuery cookie plugin + wp_register_auto_versioned_script('jquery-cookie', plugins_url('js/jquery.cookie.js', $this->plugin_file), array('jquery')); + + //Editor's scripts + wp_register_auto_versioned_script( + 'menu-editor', + plugins_url('js/menu-editor.js', $this->plugin_file), + array( + 'jquery', 'jquery-ui-sortable', 'jquery-ui-dialog', + 'ame-jquery-form', 'jquery-ui-droppable', 'jquery-qtip', + 'jquery-sort', 'jquery-json', 'jquery-cookie', + 'wp-color-picker' + ) + ); + + //Add scripts to our editor page, but not the settings sub-section + //that shares the same page slug. Some of the scripts would crash otherwise. + if ( !$this->is_editor_page() ) { + return; + } + + wp_enqueue_script('menu-editor'); + + //We use WordPress media uploader to let the user upload custom menu icons (WP 3.5+). + if ( function_exists('wp_enqueue_media') ) { + wp_enqueue_media(); + } + + //Remove the default jQuery Form plugin to prevent conflicts with our custom version. + wp_dequeue_script('jquery-form'); + + //Actors (roles and users) are used in the permissions UI, so we need to pass them along. + $actors = array(); + $roles = array(); + + $wp_roles = ameRoleUtils::get_roles(); + foreach($wp_roles->roles as $role_id => $role) { + $actors['role:' . $role_id] = $role['name']; + $role['capabilities'] = $this->castValuesToBool($role['capabilities']); + $roles[$role_id] = $role; + } + + if ( is_multisite() && is_super_admin() ) { + $actors['special:super_admin'] = 'Super Admin'; + } + + //Known users. Right now, this is limited to the current user only. + $users = array(); + + $current_user = wp_get_current_user(); + $users[$current_user->get('user_login')] = array( + 'user_login' => $current_user->get('user_login'), + 'id' => $current_user->ID, + 'roles' => array_values($current_user->roles), + 'capabilities' => $this->castValuesToBool($current_user->caps), + 'is_super_admin' => is_multisite() && is_super_admin(), + ); + + $actors['user:' . $current_user->get('user_login')] = sprintf( + 'Current user (%s)', + $current_user->get('user_login') + ); + //Note: Users do NOT get added to the actor list because that feature + //is not fully implemented. + + $showExtraIcons = (boolean)$this->options['show_extra_icons']; + if ( isset($_COOKIE['ame-show-extra-icons']) && is_numeric($_COOKIE['ame-show-extra-icons']) ) { + $showExtraIcons = intval($_COOKIE['ame-show-extra-icons']) > 0; + } + + //The editor will need access to some of the plugin data and WP data. + wp_localize_script( + 'menu-editor', + 'wsEditorData', + array( + 'imagesUrl' => plugins_url('images', $this->plugin_file), + 'adminAjaxUrl' => admin_url('admin-ajax.php'), + 'hideAdvancedSettings' => (boolean)$this->options['hide_advanced_settings'], + 'showExtraIcons' => $showExtraIcons, + 'submenuIconsEnabled' => $this->options['submenu_icons_enabled'], + + 'hideAdvancedSettingsNonce' => wp_create_nonce('ws_ame_save_screen_options'), + 'dashiconsAvailable' => wp_style_is('dashicons', 'registered'), + 'captionShowAdvanced' => 'Show advanced options', + 'captionHideAdvanced' => 'Hide advanced options', + 'wsMenuEditorPro' => false, //Will be overwritten if extras are loaded + 'menuFormatName' => ameMenu::format_name, + 'menuFormatVersion' => ameMenu::format_version, + + 'blankMenuItem' => ameMenuItem::blank_menu(), + 'itemTemplates' => $this->item_templates, + 'customItemTemplate' => array( + 'name' => '< Custom >', + 'defaults' => ameMenuItem::custom_item_defaults(), + ), + + 'unclickableTemplateId' => ameMenuItem::unclickableTemplateId, + 'unclickableTemplateClass' => ameMenuItem::unclickableTemplateClass, + + 'actors' => $actors, + 'roles' => $roles, + 'users' => $users, + 'currentUserLogin' => $current_user->get('user_login'), + 'selectedActor' => isset($this->get['selected_actor']) ? strval($this->get['selected_actor']) : null, + + 'showHints' => $this->get_hint_visibility(), + 'dashboardHidingConfirmationEnabled' => $this->options['dashboard_hiding_confirmation_enabled'], + 'disableDashboardConfirmationNonce' => wp_create_nonce('ws_ame_disable_dashboard_hiding_confirmation'), + + 'isDemoMode' => defined('IS_DEMO_MODE'), + 'isMasterMode' => defined('IS_MASTER_MODE'), + ) + ); + } + + /** + * Compatibility workaround for All In One Event Calendar 1.8.3-premium. + * + * The event calendar plugin is known to crash Admin Menu Editor Pro 1.40. The exact cause + * of the crash is unknown, but we can prevent it by removing AIOEC scripts from the menu + * editor page. + * + * This should not affect the functionality of the event calendar plugin. The scripts + * in question don't seem to do anything on pages not related to the event calendar. AIOEC + * just loads them indiscriminately on all pages. + */ + public function dequeue_ai1ec_scripts() { + wp_dequeue_script('ai1ec_requirejs'); + wp_dequeue_script('ai1ec_common_backend'); + wp_dequeue_script('ai1ec_add_new_event_require'); + } + + /** + * Compatibility workaround for Participants Database 1.4.5.2. + * + * Participants Database loads its settings JavaScript on every page in the "Settings" menu, + * not just its own. It doesn't bother to also load the script's dependencies, though, so + * the script crashes *and* it breaks the menu editor by way of collateral damage. + * + * Fix by forcibly removing the offending script from the queue. + */ + public function dequeue_pd_scripts() { + if ( is_plugin_active('participants-database/participants-database.php') ) { + wp_dequeue_script('settings_script'); + } + } + + public function remove_ultimate_tinymce_qtags() { + remove_action('admin_print_footer_scripts', 'jwl_ult_quicktags'); + } + + /** + * Add the editor's CSS file to the page header + * + * @return void + */ + function enqueue_styles(){ + wp_enqueue_auto_versioned_style('jquery-qtip-syle', plugins_url('css/jquery.qtip.min.css', $this->plugin_file), array()); + + wp_register_auto_versioned_style('menu-editor-base-style', plugins_url('css/menu-editor.css', $this->plugin_file)); + wp_register_auto_versioned_style( + 'menu-editor-colours-classic', + plugins_url('css/style-classic.css', $this->plugin_file), + array('menu-editor-base-style') + ); + wp_register_auto_versioned_style( + 'menu-editor-colours-wp-grey', + plugins_url('css/style-wp-grey.css', $this->plugin_file), + array('menu-editor-base-style') + ); + + //WordPress introduced a new screen meta button style in WP 3.8. + //We have two different stylesheets - one for 3.8+ and one for backwards compatibility. + wp_register_auto_versioned_style('menu-editor-screen-meta', plugins_url('css/screen-meta.css', $this->plugin_file)); + wp_register_auto_versioned_style('menu-editor-screen-meta-old', plugins_url('css/screen-meta-old-wp.css', $this->plugin_file)); + + if ( isset($GLOBALS['wp_version']) && version_compare($GLOBALS['wp_version'], '3.8-RC1', '<') ) { + wp_enqueue_style('menu-editor-screen-meta-old'); + } else { + wp_enqueue_style('menu-editor-screen-meta'); + } + + $scheme = $this->options['ui_colour_scheme']; + wp_enqueue_style('menu-editor-colours-' . $scheme); + wp_enqueue_style('wp-color-picker'); + } + + /** + * Set and save a new custom menu for the current site. + * + * @param array|null $custom_menu + */ + function set_custom_menu($custom_menu) { + $custom_menu = apply_filters('ame_pre_set_custom_menu', $custom_menu); + + $previous_custom_menu = $this->load_custom_menu(); + $this->update_wpml_strings($previous_custom_menu, $custom_menu); + + if ( $this->should_use_site_specific_menu() ) { + $site_specific_options = get_option($this->option_name); + if ( !is_array($site_specific_options) ) { + $site_specific_options = array(); + } + $site_specific_options['custom_menu'] = $custom_menu; + update_option($this->option_name, $site_specific_options); + } else { + $this->options['custom_menu'] = $custom_menu; + $this->save_options(); + } + + $this->cached_custom_menu = null; + $this->cached_virtual_caps = null; + $this->cached_user_caps = array(); + } + + /** + * Load the current custom menu for this site, if any. + * + * @return array|null Either a menu in the internal format, or NULL if there is no custom menu available. + */ + function load_custom_menu() { + if ( $this->cached_custom_menu !== null ) { + return $this->cached_custom_menu; + } + + if ( $this->should_use_site_specific_menu() ) { + $site_specific_options = get_option($this->option_name, null); + if ( is_array($site_specific_options) && isset($site_specific_options['custom_menu']) ) { + $this->cached_custom_menu = ameMenu::load_array($site_specific_options['custom_menu']); + } + } else { + if ( empty($this->options['custom_menu']) ) { + return null; + } + $this->cached_custom_menu = ameMenu::load_array($this->options['custom_menu']); + } + + return $this->cached_custom_menu; + } + + /** + * Determine if we should use a site-specific admin menu configuration + * for the current site, or fall back to the global config. + * + * @return bool True = use the site-specific config (if any), false = use the global config. + */ + protected function should_use_site_specific_menu() { + if ( !is_multisite() ) { + //If this is a single-site WP installation then there's really + //no difference between "site-specific" and "global". + return false; + } + return ($this->options['menu_config_scope'] === 'site'); + } + + /** + * Determine if the current user may use the menu editor. + * + * @return bool + */ + public function current_user_can_edit_menu(){ + $access = $this->options['plugin_access']; + + if ( $access === 'super_admin' ) { + return is_super_admin(); + } else if ( $access === 'specific_user' ) { + return get_current_user_id() == $this->options['allowed_user_id']; + } else { + $capability = apply_filters('admin_menu_editor-capability', $access); + return current_user_can($capability); + } + } + + /** + * Apply the custom page title, if any. + * + * This is a callback for the "admin_title" filter. It will change the browser window/tab + * title (i.e. ), but not the title displayed on the admin page itself. + * + * @param string $admin_title The current admin title (full). + * @param string $title The current page title. + * @return string New admin title. + */ + function hook_admin_title($admin_title, $title){ + $item = $this->get_current_menu_item(); + if ( $item === null ) { + return $admin_title; + } + + //Check if the we have a custom title for this page. + $default_title = isset($item['defaults']['page_title']) ? $item['defaults']['page_title'] : ''; + if ( !empty($item['page_title']) && $item['page_title'] != $default_title ) { + if ( empty($title) ) { + $admin_title = $item['page_title'] . $admin_title; + } else { + //Replace the first occurrence of the default title with the custom one. + $title_pos = strpos($admin_title, $title); + $admin_title = substr_replace($admin_title, $item['page_title'], $title_pos, strlen($title)); + } + } + + return $admin_title; + } + + /** + * Populate a lookup array with default values (templates) from $menu and $submenu. + * Used later to merge a custom menu with the native WordPress menu structure. + * + * @param array $menu + * @param array $submenu + * @return array An array of menu templates and their default values. + */ + function build_templates($menu, $submenu){ + $templates = array(); + + $name_lookup = array(); + foreach($menu as $pos => $item){ + $item = ameMenuItem::fromWpItem($item, $pos); + if ($item['separator']) { + continue; + } + + $name = $this->sanitize_menu_title($item['menu_title']); + $name_lookup[$item['file']] = $name; + + $templates[ameMenuItem::template_id($item)] = array( + 'name' => $name, + 'used' => false, + 'defaults' => $item + ); + } + + foreach($submenu as $parent => $items){ + //Skip sub-menus attached to non-existent parents. This should theoretically never happen, + //but a buggy plugin can cause such a situation. + if ( !isset($name_lookup[$parent]) ) { + continue; + } + + foreach($items as $pos => $item){ + $item = ameMenuItem::fromWpItem($item, $pos, $parent); + $templates[ameMenuItem::template_id($item)] = array( + 'name' => $name_lookup[$parent] . ' -> ' . $this->sanitize_menu_title($item['menu_title']), + 'used' => false, + 'defaults' => $item + ); + } + } + + return $templates; + } + + /** + * Sanitize a menu title for display. + * Removes HTML tags and update notification bubbles. + * + * @param string $title + * @return string + */ + private function sanitize_menu_title($title) { + return strip_tags( preg_replace('@<span[^>]*>.*</span>@i', '', $title) ); + } + + /** + * Generate special menu templates and add them to the input template list. + * + * @param array $templates Template list. + * @return array Modified template list. + */ + private function add_special_templates($templates) { + //Add a special template for unclickable menu items. These can be used as headers and such. + $itemDefaults = ameMenuItem::custom_item_defaults(); + $unclickableDefaults = array_merge( + $itemDefaults, + array( + 'file' => '#' . ameMenuItem::unclickableTemplateClass, + 'url' => '#' . ameMenuItem::unclickableTemplateClass, + 'css_class' => $itemDefaults['css_class'] . ' ' . ameMenuItem::unclickableTemplateClass, + 'menu_title' => 'Unclickable Menu', + ) + ); + $templates[ameMenuItem::unclickableTemplateId] = array( + 'name' => '< None >', + 'used' => true, + 'defaults' => $unclickableDefaults, + ); + + if ( $this->is_pro_version() ) { + //The Pro version has a [wp-logout-url] shortcode. Lets make it easier o use + //by adding it to the "Target page" dropdown. + $logoutDefaults = array_merge( + ameMenuItem::basic_defaults(), + array( + 'menu_title' => 'Logout', + 'file' => '[wp-logout-url]', + 'url' => '[wp-logout-url]', + 'icon_url' => 'dashicons-migrate', + ) + ); + $templates['>logout'] = array( + 'name' => 'Logout', + 'used' => true, + 'defaults' => $logoutDefaults, + ); + } + + return $templates; + } + + /** + * Merge a custom menu with the current default WordPress menu. Adds/replaces defaults, + * inserts new items and removes missing items. + * + * @uses self::$item_templates + * + * @param array $tree A menu in plugin's internal form + * @return array Updated menu tree + */ + function menu_merge($tree){ + //Iterate over all menus and submenus and look up default values + //Also flag used and missing items. + $orphans = array(); + foreach ($tree as &$topmenu){ + + if ( !ameMenuItem::get($topmenu, 'custom') ) { + $template_id = ameMenuItem::template_id($topmenu); + //Is this menu present in the default WP menu? + if (isset($this->item_templates[$template_id])){ + //Yes, load defaults from that item + $topmenu['defaults'] = $this->item_templates[$template_id]['defaults']; + //Note that the original item was used + $this->item_templates[$template_id]['used'] = true; + } else { + //Record the menu as missing, unless it's a menu separator + if ( empty($topmenu['separator']) ){ + $topmenu['missing'] = true; + + $temp = ameMenuItem::apply_defaults($topmenu); + $temp = $this->set_final_menu_capability($temp); + $this->add_access_lookup($temp, 'menu', true); + } + } + } + + if (is_array($topmenu['items'])) { + //Iterate over submenu items + foreach ($topmenu['items'] as &$item){ + if ( !ameMenuItem::get($item, 'custom') ) { + $template_id = ameMenuItem::template_id($item); + + //Is this item present in the default WP menu? + if (isset($this->item_templates[$template_id])){ + //Yes, load defaults from that item + $item['defaults'] = $this->item_templates[$template_id]['defaults']; + $this->item_templates[$template_id]['used'] = true; + //We must move orphaned items elsewhere. Use the default location if possible. + if ( isset($topmenu['missing']) && $topmenu['missing'] ) { + $orphans[] = $item; + } + } else if ( empty($item['separator']) ) { + //Record as missing, unless it's a menu separator + $item['missing'] = true; + + $temp = ameMenuItem::apply_defaults($item); + $temp = $this->set_final_menu_capability($temp); + $this->add_access_lookup($temp, 'submenu', true); + } + } else { + //What if the parent of this custom item is missing? + //Right now the custom item will just disappear. + } + } + } + } + + //If we don't unset these they will fuck up the next two loops where the same names are used. + unset($topmenu); + unset($item); + + //Now we have some items marked as missing, and some items in lookup arrays + //that are not marked as used. Lets remove the missing items from the tree. + $tree = ameMenu::remove_missing_items($tree); + + //Lets merge in the unused items. + foreach ($this->item_templates as $template_id => $template){ + //Skip used menus and separators + if ( !empty($template['used']) || !empty($template['defaults']['separator'])) { + continue; + } + + //Found an unused item. Build the tree entry. + $entry = ameMenuItem::blank_menu(); + $entry['template_id'] = $template_id; + $entry['defaults'] = $template['defaults']; + $entry['unused'] = true; //Note that this item is unused + + //Add the new entry to the menu tree + if ( !empty($template['defaults']['parent']) ) { + if (isset($tree[$template['defaults']['parent']])) { + //Okay, insert the item. + $tree[$template['defaults']['parent']]['items'][] = $entry; + } else { + //This can happen if the original parent menu has been moved to a submenu. + $tree[$template['defaults']['file']] = $entry; + } + } else { + $tree[$template['defaults']['file']] = $entry; + } + } + + //Move orphaned items back to their original parents. + foreach($orphans as $item) { + $defaultParent = !empty($item['defaults']['parent']) ? $item['defaults']['parent'] : null; + if ( isset($defaultParent) && isset($tree[$defaultParent]) ) { + $tree[$defaultParent]['items'][] = $item; + } else { + //This can happen if the parent has been moved to a submenu. + //Just put the orphan at the bottom of the menu. + $tree[$item['defaults']['file']] = $item; + } + } + + //Resort the tree to ensure the found items are in the right spots + $tree = ameMenu::sort_menu_tree($tree); + + return $tree; + } + + /** + * Add a page and its required capability to the page access lookup. + * + * The lookup array is indexed by priority. Priorities (highest to lowest): + * - Has custom permissions and a known template. + * - Has custom permissions, template missing or can't be determined correctly. + * - Default permissions. + * - Everything else. + * Additionally, submenu items have slightly higher priority that top level menus. + * The desired end result is for menu items with custom permissions to override + * default menus. + * + * Note to self: If we were to keep items with an unknown template instead of throwing + * them away during the merge phase, we could simplify this considerably. + * + * @param array $item Menu item (with defaults already applied). + * @param string $item_type 'menu' or 'submenu'. + * @param bool $missing Whether the item template is missing or unknown. + */ + private function add_access_lookup($item, $item_type = 'menu', $missing = false) { + if ( empty($item['url']) ) { + return; + } + + $has_custom_settings = !empty($item['grant_access']) || !empty($item['extra_capability']); + $priority = 6; + if ( $missing ) { + if ( $has_custom_settings ) { + $priority = 4; + } else { + return; //Don't even consider missing menus without custom access settings. + } + } else if ( $has_custom_settings ) { + $priority = 2; + } + + if ( $item_type == 'submenu' ) { + $priority--; + } + + $this->page_access_lookup[$item['url']][$priority] = $item['access_level']; + } + + /** + * Generate WP-compatible $menu and $submenu arrays from a custom menu tree. + * + * Side-effects: This function executes several filters that may modify global state. + * Specifically, IFrame-handling callbacks in 'extras.php' will add add new hooks + * and other menu-related structures. + * + * @uses WPMenuEditor::$custom_wp_menu Stores the generated top-level menu here. + * @uses WPMenuEditor::$custom_wp_submenu Stores the generated sub-menu here. + * + * @uses WPMenuEditor::$title_lookups Generates a lookup list of page titles. + * @uses WPMenuEditor::$reverse_item_lookup Generates a lookup list of url => menu item relationships. + * + * @param array $tree The new menu, in the internal tree format. + * @return void + */ + function build_custom_wp_menu($tree){ + $new_tree = array(); + $new_menu = array(); + $new_submenu = array(); + $this->title_lookups = array(); + + //Sort the menu by position + uasort($tree, 'ameMenuItem::compare_position'); + + //Prepare the top menu + $first_nonseparator_found = false; + foreach ($tree as $topmenu){ + + //Skip missing and hidden menus. + if ( !empty($topmenu['missing']) || !empty($topmenu['hidden']) ) { + continue; + } + + //Skip leading menu separators. Fixes a superfluous separator showing up + //in WP 3.0 (multisite mode) when there's a custom menu and the current user + //can't access its first item ("Super Admin"). + if ( !empty($topmenu['separator']) && !$first_nonseparator_found ) { + continue; + } + $first_nonseparator_found = true; + + $topmenu = $this->prepare_for_output($topmenu, 'menu'); + + if ( empty($topmenu['separator']) ) { + $this->title_lookups[$topmenu['file']] = !empty($topmenu['page_title']) ? $topmenu['page_title'] : $topmenu['menu_title']; + } + + //Prepare the submenu of this menu + $new_items = array(); + $has_submenu_icons = false; + if( !empty($topmenu['items']) ){ + $items = $topmenu['items']; + //Sort by position + uasort($items, 'ameMenuItem::compare_position'); + + foreach ($items as $item) { + //Skip missing and hidden items + if ( !empty($item['missing']) || !empty($item['hidden']) ) { + continue; + } + + $item = $this->prepare_for_output($item, 'submenu', $topmenu['file']); + $new_items[] = $item; + + //Make a note of the page's correct title so we can fix it later if necessary. + $this->title_lookups[$item['file']] = !empty($item['page_title']) ? $item['page_title'] : $item['menu_title']; + + //Keep track of which menus have items with icons. + $has_submenu_icons = $has_submenu_icons || !empty($item['has_submenu_icon']); + } + } + + //The ame-has-submenu-icons class lets us change the appearance of all submenu items at once, + //without having to add classes/styles to each item individually. + if ( $has_submenu_icons && (strpos($topmenu['css_class'], 'ame-has-submenu-icons') === false) ) { + $topmenu['css_class'] .= ' ame-has-submenu-icons'; + } + + $topmenu['items'] = $new_items; + $new_tree[] = $topmenu; + } + + //Use only the highest-priority capability for each URL. + foreach($this->page_access_lookup as $url => $capabilities) { + ksort($capabilities); + $this->page_access_lookup[$url] = reset($capabilities); + } + + //Convert the prepared tree to the internal WordPress format. + foreach($new_tree as $topmenu) { + $trueAccess = isset($this->page_access_lookup[$topmenu['url']]) ? $this->page_access_lookup[$topmenu['url']] : null; + if ( ($trueAccess === 'do_not_allow') && ($topmenu['access_level'] !== $trueAccess) ) { + $topmenu['access_level'] = $trueAccess; + if ( isset($topmenu['access_check_log']) ) { + $topmenu['access_check_log'][] = sprintf( + '+ Override: There is a hidden menu item with the same URL (%1$s) but a higher priority.' . + ' Setting the capability to "%2$s".', + $topmenu['url'], + $trueAccess + ); + $topmenu['access_check_log'][] = str_repeat('=', 79); + } + } + + if ( !isset($this->reverse_item_lookup[$topmenu['url']]) ) { //Prefer sub-menus. + $this->reverse_item_lookup[$topmenu['url']] = $topmenu; + } + + foreach($topmenu['items'] as $item) { + $trueAccess = isset($this->page_access_lookup[$item['url']]) ? $this->page_access_lookup[$item['url']] : null; + if ( ($trueAccess === 'do_not_allow') && ($item['access_level'] !== $trueAccess) ) { + $item['access_level'] = $trueAccess; + if ( isset($item['access_check_log']) ) { + $item['access_check_log'][] = sprintf( + '+ Override: There is a hidden menu item with the same URL (%1$s) but a higher priority.' . + ' Setting the capability to "%2$s".', + $item['url'], + $trueAccess + ); + $item['access_check_log'][] = str_repeat('=', 79); + } + } + + $this->reverse_item_lookup[$item['url']] = $item; + $new_submenu[$topmenu['file']][] = $this->convert_to_wp_format($item); + } + + $new_menu[] = $this->convert_to_wp_format($topmenu); + } + + $this->custom_wp_menu = $new_menu; + $this->custom_wp_submenu = $new_submenu; + } + + /** + * Convert a menu item from the internal format used by this plugin to the format + * used by WP. The menu should be prepared using the prepare... function beforehand. + * + * @see self::prepare_for_output() + * + * @param array $item + * @return array + */ + private function convert_to_wp_format($item) { + //Build the menu structure that WP expects + $wp_item = array( + $item['menu_title'], + $item['access_level'], + $item['file'], + $item['page_title'], + $item['css_class'], + $item['hookname'], //ID + $item['icon_url'] + ); + + return $wp_item; + } + + /** + * Prepare a menu item to be converted to the WordPress format and added to the current + * WordPress admin menu. This function applies menu defaults and templates, calls filters + * that allow other components to tweak the menu, decides on what capability/-ies to use, + * and so on. + * + * Caution: The filters called by this function may cause side-effects. Specifically, the Pro-only feature + * for displaying menu pages in a frame does this. See wsMenuEditorExtras::create_framed_menu(). + * Therefore, it is not safe to call this function more than once for the same item. + * + * @param array $item Menu item in the internal format. + * @param string $item_type Either 'menu' or 'submenu'. + * @param string $parent Optional. The parent of this sub-menu item. An empty string for top-level menus. + * @return array Menu item in the internal format. + */ + private function prepare_for_output($item, $item_type = 'menu', $parent = '') { + // Special case : plugin pages that have been moved from a sub-menu to a different + // menu or the top level. We'll need to adjust the file field to point to the correct URL. + // This is required because WP identifies plugin pages using *both* the plugin file + // and the parent file. + if ( $item['template_id'] !== '' && !$item['separator'] ) { + $template = $this->item_templates[$item['template_id']]; + if ( $template['defaults']['is_plugin_page'] ) { + $default_parent = $template['defaults']['parent']; + if ( $parent != $default_parent ){ + $item['file'] = $template['defaults']['url']; + } + } + } + + //Give each unclickable item a unique URL. + if ( $item['template_id'] === ameMenuItem::unclickableTemplateId ) { + static $unclickableCounter = 0; + $unclickableCounter++; + $unclickableUrl = '#' . ameMenuItem::unclickableTemplateClass . '-' . $unclickableCounter; + $item['file'] = $item['url'] = $unclickableUrl; + + //The item must have the special "unclickable" class even if the user overrides the class. + $cssClass = ameMenuItem::get($item, 'css_class', ''); + if ( strpos($cssClass, ameMenuItem::unclickableTemplateClass) === false ) { + $item['css_class'] = ameMenuItem::unclickableTemplateClass . ' ' . $cssClass; + } + } + + //Menus that have both a custom icon URL and a "menu-icon-*" class will get two overlapping icons. + //Fix this by automatically removing the class. The user can set a custom class attr. to override. + $hasCustomIconUrl = !ameMenuItem::is_default($item, 'icon_url'); + $hasIcon = !in_array(ameMenuItem::get($item, 'icon_url'), array('', 'none', 'div')); + if ( + ameMenuItem::is_default($item, 'css_class') + && $hasCustomIconUrl + && $hasIcon //Skip "no icon" settings. + ) { + $new_classes = preg_replace('@\bmenu-icon-[^\s]+\b@', '', $item['defaults']['css_class']); + if ( $new_classes !== $item['defaults']['css_class'] ) { + $item['css_class'] = $new_classes; + } + } + + //Apply defaults & filters + $item = ameMenuItem::apply_defaults($item); + $item = ameMenuItem::apply_filters($item, $item_type, $parent); //may cause side-effects + + $item = $this->set_final_menu_capability($item); + if ( !$this->options['security_logging_enabled'] ) { + unset($item['access_check_log']); //Throw away the log to conserve memory. + } + $this->add_access_lookup($item, $item_type); + + //Menus without a custom icon image should have it set to "none" (or "div" in older WP versions). + //See /wp-admin/menu-header.php for details on how this works. + if ( $item['icon_url'] === '' ) { + $item['icon_url'] = 'none'; + } + + //Submenus must not have the "menu-top" class(-es). In WP versions that support submenu CSS classes, + //it can break menu display. + if ( !empty($item['css_class']) && ($item_type === 'submenu') ) { + $item['css_class'] = preg_replace('@\bmenu-top(?:-[\w\-]+)?\b@', '', $item['css_class']); + } elseif ( ($item_type === 'menu') && (!$item['separator']) && (!preg_match('@\bmenu-top\b@', $item['css_class'])) ) { + //Top-level menus should always have the "menu-top" class. + $item['css_class'] = 'menu-top ' . $item['css_class']; + } + + //Add submenu icons if necessary. + if ( ($item_type === 'submenu') && $hasIcon ) { + $item = apply_filters('admin_menu_editor-submenu_with_icon', $item, $hasCustomIconUrl); + } + + //Used later to determine the current page based on URL. + if ( empty($item['url']) ) { + $original_parent = !empty($item['defaults']['parent']) ? $item['defaults']['parent'] : $parent; + $item['url'] = ameMenuItem::generate_url($item['file'], $original_parent); + } + + //Convert relative URls to fully qualified ones. This prevents problems with WordPress + //incorrectly converting "index.php?page=xyz" to, say, "tools.php?page=index.php?page=xyz" + //if the menu item was moved from "Dashboard" to "Tools". + $itemFile = ameMenuItem::remove_query_from($item['file']); + $shouldMakeAbsolute = + (strpos($item['file'], '://') === false) + && (substr($item['file'], 0, 1) != '/') + && ($itemFile == 'index.php') + && (strpos($item['file'], '?') !== false); + + if ( $shouldMakeAbsolute ) { + $item['file'] = admin_url($item['url']); + } + + //WPML support: Use translated menu titles where available. + if ( !$item['separator'] && function_exists('icl_t') ) { + $item['menu_title'] = icl_t( + self::WPML_CONTEXT, + $this->get_wpml_name_for($item, 'menu_title'), + $item['menu_title'] + ); + } + + return $item; + } + + /** + * Figure out if the current user can access a menu item and what capability they would need. + * + * This method takes into account the default capability set by WordPress as well as any + * custom role and capability settings specified by the user. It will set "access_level" + * to the required capability, or set it to 'do_not_allow' if the current user can't access + * this menu. + * + * @param array $item Menu item (with defaults applied). + * @return array + */ + private function set_final_menu_capability($item) { + $item['access_check_log'] = array( + str_repeat('=', 79), + 'Figuring out what capability the user will need to access this item...' + ); + + $item = apply_filters('custom_admin_menu_capability', $item); + + $item['access_check_log'][] = '-----'; + + //Check if the current user can access this menu. + $user_has_access = true; + $cap_to_use = ''; + if ( !empty($item['access_level']) ) { + $cap_to_use = $item['access_level']; + + if ( isset($item['user_has_access_level']) ) { + //The "custom_admin_menu_capability" filter has already determined whether this user should + //have the required capability, so checking it again would be redundant. This usually only + //applies to the Pro version which uses that filter in extras.php. + $user_has_cap = $item['user_has_access_level']; + + $item['access_check_log'][] = sprintf( + 'Skipping a "%1$s" capability check because we\'ve already determined that the current user %2$s access.', + htmlentities($cap_to_use), + $user_has_cap ? 'should have' : 'should not have' + ); + } else { + $user_has_cap = $this->current_user_can($cap_to_use); + $item['access_check_log'][] = sprintf( + 'Required capability: %1$s. User %2$s this capability.', + htmlentities($cap_to_use), + $user_has_cap ? 'HAS' : 'DOES NOT have' + ); + } + + $user_has_access = $user_has_access && $user_has_cap; + + } else { + $item['access_check_log'][] = '- No required capability set.'; + } + + if ( !empty($item['extra_capability']) ) { + $user_has_cap = $this->current_user_can($item['extra_capability']); + $user_has_access = $user_has_access && $user_has_cap; + $cap_to_use = $item['extra_capability']; + + $item['access_check_log'][] = sprintf( + 'Extra capability: %1$s. User %2$s this capability.', + htmlentities($cap_to_use), + $user_has_cap ? 'HAS' : 'DOES NOT have' + ); + } else { + $item['access_check_log'][] = 'No "extra capability" set.'; + } + + $capability = $user_has_access ? $cap_to_use : 'do_not_allow'; + $item['access_check_log'][] = 'Final capability setting: ' . $capability; + $item['access_check_log'][] = str_repeat('=', 79); + + $item['access_level'] = $capability; + return $item; + } + + /** + * Output the menu editor page + * + * @return void + */ + function page_menu_editor(){ + if ( !$this->current_user_can_edit_menu() ){ + wp_die(sprintf( + 'You do not have sufficient permissions to use Admin Menu Editor. Required: <code>%s</code>.', + htmlentities($this->options['plugin_access']) + )); + } + + $action = isset($this->post['action']) ? $this->post['action'] : (isset($this->get['action']) ? $this->get['action'] : ''); + do_action('admin_menu_editor-header', $action); + + if ( !empty($action) ) { + $this->handle_form_submission($this->post, $action); + } + + //By default, show the "Hide" button only if the user has already hidden something with it, + //or if they're using the free version. Pro users should use role permissions instead, but can + //explicitly enable the button if they want. + if ( !isset($this->options['show_deprecated_hide_button']) ) { + if ( $this->is_pro_version() ) { + $this->options['show_deprecated_hide_button'] = ameMenu::has_hidden_items($this->merged_custom_menu); + $this->save_options(); + } else { + $this->options['show_deprecated_hide_button'] = true; + } + } + + $sub_section = isset($this->get['sub_section']) ? $this->get['sub_section'] : null; + if ( $sub_section === 'settings' ) { + $this->display_plugin_settings_ui(); + } else if ($sub_section == 'generate-menu-dashicons') { + require dirname(__FILE__) . '/generate-menu-dashicons.php'; + } else { + $this->display_editor_ui(); + } + } + + private function handle_form_submission($post, $action = '') { + if ( $action == 'save_menu' ) { + //Save the admin menu configuration. + if ( isset($post['data']) ){ + check_admin_referer('menu-editor-form'); + + //Try to decode a menu tree encoded as JSON + $url = remove_query_arg(array('noheader')); + try { + $menu = ameMenu::load_json($post['data'], true); + } catch (InvalidMenuException $ex) { + //Or redirect & display the error message + wp_redirect( add_query_arg('message', 2, $url) ); + die(); + } + + //Save the custom menu + $this->set_custom_menu($menu); + + //Redirect back to the editor and display the success message. + //Also, automatically select the last selected actor (convenience feature). + $query = array('message' => 1); + if ( isset($post['selected_actor']) && !empty($post['selected_actor']) ) { + $query['selected_actor'] = rawurlencode(strval($post['selected_actor'])); + } + wp_redirect( add_query_arg($query, $url) ); + die(); + } else { + $message = "Failed to save the menu. "; + if ( isset($this->post['data_length']) && is_numeric($this->post['data_length']) ) { + $message .= sprintf( + 'Expected to receive %d bytes of menu data in $_POST[\'data\'], but got nothing.', + intval($this->post['data_length']) + ); + } + wp_die($message); + } + + } else if ( $action == 'save_settings' ) { + + //Save overall plugin configuration (permissions, etc). + check_admin_referer('save_settings'); + + //Plugin access setting. + $valid_access_settings = array('super_admin', 'manage_options'); + //On Multisite only Super Admins can choose the "Only the current user" option. + if ( !is_multisite() || is_super_admin() ) { + $valid_access_settings[] = 'specific_user'; + } + if ( isset($this->post['plugin_access']) && in_array($this->post['plugin_access'], $valid_access_settings) ) { + $this->options['plugin_access'] = $this->post['plugin_access']; + + if ( $this->options['plugin_access'] === 'specific_user' ) { + $this->options['allowed_user_id'] = get_current_user_id(); + } else { + $this->options['allowed_user_id'] = null; + } + } + + //Whether to hide the plugin on the "Plugins" admin page. + if ( !is_multisite() || is_super_admin() ) { + if ( !empty($this->post['hide_plugin_from_others']) ) { + $this->options['plugins_page_allowed_user_id'] = get_current_user_id(); + } else { + $this->options['plugins_page_allowed_user_id'] = null; + } + } + + //Configuration scope. The Super Admin is the only one who can change it since it affects all sites. + if ( is_multisite() && is_super_admin() ) { + $valid_scopes = array('global', 'site'); + if ( isset($this->post['menu_config_scope']) && in_array($this->post['menu_config_scope'], $valid_scopes) ) { + $this->options['menu_config_scope'] = $this->post['menu_config_scope']; + } + } + + //Security logging. + $this->options['security_logging_enabled'] = !empty($this->post['security_logging_enabled']); + + //Hide some menu options by default. + $this->options['hide_advanced_settings'] = !empty($this->post['hide_advanced_settings']); + + //Enable the now-obsolete "Hide" button. + if ( $this->is_pro_version() ) { + $this->options['show_deprecated_hide_button'] = !empty($this->post['show_deprecated_hide_button']); + } + + //Menu editor colour scheme. + if ( !empty($this->post['ui_colour_scheme']) ) { + $valid_colour_schemes = array('classic', 'wp-grey'); + $scheme = strval($this->post['ui_colour_scheme']); + if ( in_array($scheme, $valid_colour_schemes) ) { + $this->options['ui_colour_scheme'] = $scheme; + } + } + + //Enable submenu icons. + if ( !empty($this->post['submenu_icons_enabled']) ) { + $submenu_icons_enabled = strval($this->post['submenu_icons_enabled']); + $valid_icon_settings = array('never', 'if_custom', 'always'); + if ( in_array($submenu_icons_enabled, $valid_icon_settings, true) ) { + $this->options['submenu_icons_enabled'] = $submenu_icons_enabled; + } + } + + $this->save_options(); + wp_redirect(add_query_arg('updated', 1, $this->get_settings_page_url())); + } + } + + private function display_editor_ui() { + //Prepare a bunch of parameters for the editor. + $editor_data = array( + 'message' => isset($this->get['message']) ? intval($this->get['message']) : null, + 'images_url' => plugins_url('images', $this->plugin_file), + 'hide_advanced_settings' => $this->options['hide_advanced_settings'], + 'show_extra_icons' => $this->options['show_extra_icons'], + 'settings_page_url' => $this->get_settings_page_url(), + 'show_deprecated_hide_button' => $this->options['show_deprecated_hide_button'], + 'dashicons_available' => wp_style_is('dashicons', 'done'), + ); + + //Build a tree struct. for the default menu + $default_tree = ameMenu::wp2tree($this->default_wp_menu, $this->default_wp_submenu); + $default_menu = ameMenu::load_array($default_tree); + + //Is there a custom menu? + if (!empty($this->merged_custom_menu)){ + $custom_menu = $this->merged_custom_menu; + } else { + //Start out with the default menu if there is no user-created one + $custom_menu = $default_menu; + } + + //The editor doesn't use the color CSS. Including it would just make the page bigger and waste bandwidth. + unset($custom_menu['color_css']); + unset($custom_menu['color_css_modified']); + + //Encode both menus as JSON + $editor_data['default_menu_js'] = ameMenu::to_json($default_menu); + $editor_data['custom_menu_js'] = ameMenu::to_json($custom_menu); + + //Create a list of all known capabilities and roles. Used for the drop-down list on the access field. + $all_capabilities = ameRoleUtils::get_all_capabilities(); + //"level_X" capabilities are deprecated so we don't want people using them. + //This would look better with array_filter() and an anonymous function as a callback. + for($level = 0; $level <= 10; $level++){ + $cap = 'level_' . $level; + if ( isset($all_capabilities[$cap]) ){ + unset($all_capabilities[$cap]); + } + } + $all_capabilities = array_keys($all_capabilities); + natcasesort($all_capabilities); + + //Multi-site installs also get the virtual "Super Admin" cap, but only the Super Admin sees it. + if ( is_multisite() && !isset($all_capabilities['super_admin']) && is_super_admin() ){ + array_unshift($all_capabilities, 'super_admin'); + } + $editor_data['all_capabilities'] = $all_capabilities; + + //Create a list of all roles, too. + $all_roles = ameRoleUtils::get_role_names(); + asort($all_roles); + $editor_data['all_roles'] = $all_roles; + + //Include hint visibility settings + $editor_data['show_hints'] = $this->get_hint_visibility(); + + require dirname(__FILE__) . '/editor-page.php'; + } + + /** + * Display the plugin settings page. + */ + private function display_plugin_settings_ui() { + //These variables are used by settings-page.php. + /** @noinspection PhpUnusedLocalVariableInspection */ + $settings = $this->options; + /** @noinspection PhpUnusedLocalVariableInspection */ + $settings_page_url = $this->get_settings_page_url(); + /** @noinspection PhpUnusedLocalVariableInspection */ + $editor_page_url = admin_url($this->settings_link); + + require dirname(__FILE__) . '/settings-page.php'; + } + + /** + * Get the fully qualified URL of the "Settings" sub-section of our plugin page. + * + * @return string + */ + private function get_settings_page_url() { + return add_query_arg('sub_section', 'settings', admin_url($this->settings_link)); + } + + /** + * Check if the current page is the "Menu Editor" admin page. + * + * @return bool + */ + protected function is_editor_page() { + return is_admin() + && isset($this->get['page']) && ($this->get['page'] == 'menu_editor') + && ( !isset($this->get['sub_section']) || empty($this->get['sub_section']) ); + } + + /** + * Check if the current page is the "Settings" sub-section of our admin page. + * + * @return bool + */ + protected function is_settings_page() { + return is_admin() + && isset($this->get['sub_section']) && ($this->get['sub_section'] == 'settings') + && isset($this->get['page']) && ($this->get['page'] == 'menu_editor'); + } + + /** + * Generate a list of "virtual" capabilities that should be granted to certain roles. + * + * This is based on grant_access settings for the current custom menu and enables + * selected roles and users to access menu items that they ordinarily would not + * be able to. + * + * @uses self::get_virtual_caps_for() to actually generate the caps. + * @uses self::$cached_virtual_caps to cache the generated list of caps. + * + * @return array A list of capability => [role1 => true, ... roleN => true] assignments. + */ + function get_virtual_caps() { + if ( $this->cached_virtual_caps !== null ) { + return $this->cached_virtual_caps; + } + + $caps = array(); + $custom_menu = $this->load_custom_menu(); + if ( $custom_menu === null ){ + return $caps; + } + + foreach($custom_menu['tree'] as $item) { + $caps = self::array_replace_recursive($caps, $this->get_virtual_caps_for($item)); + } + + $this->cached_virtual_caps = $caps; + return $caps; + } + + private function get_virtual_caps_for($item) { + $caps = array(); + + if ( $item['template_id'] !== '' ) { + $required_cap = ameMenuItem::get($item, 'access_level'); + foreach ($item['grant_access'] as $grant => $has_access) { + if ( $has_access ) { + if ( !isset($caps[$grant]) ) { + $caps[$grant] = array(); + } + $caps[$grant][$required_cap] = true; + } + } + } + + foreach($item['items'] as $sub_item) { + $caps = self::array_replace_recursive($caps, $this->get_virtual_caps_for($sub_item)); + } + + return $caps; + } + + private static function array_replace_recursive($array1, $array2) { + if ( function_exists('array_replace_recursive') ) { + return array_replace_recursive($array1, $array2); + } + foreach($array2 as $key => $value) { + if ( is_array($value) && isset($array1[$key]) && is_array($array1[$key]) ) { + $value = self::array_replace_recursive($array1[$key], $value); + } + $array1[$key] = $value; + } + return $array1; + } + + /** + * Create a virtual 'super_admin' capability that only super admins have. + * This function accomplishes that by by filtering 'user_has_cap' calls. + * + * @param array $allcaps All capabilities belonging to the current user, cap => true/false. + * @param array $required_caps The required capabilities. + * @param array $args The capability passed to current_user_can, the current user's ID, and other args. + * @return array Filtered version of $allcaps + */ + function hook_user_has_cap($allcaps, /** @noinspection PhpUnusedParameterInspection */ $required_caps, $args){ + //Be careful not to overwrite a super_admin cap added by other plugins + //For example, Advanced Access Manager also adds this capability. + if ( is_array($allcaps) && !isset($allcaps['super_admin']) ){ + $user_id = intval($args[1]); + if ( $user_id != 0 ) { + $allcaps['super_admin'] = is_multisite() && is_super_admin($user_id); + } + } + return $allcaps; + } + + /** + * AJAX callback for saving screen options (whether to show or to hide advanced menu options). + * + * Handles the 'ws_ame_save_screen_options' action. The new option value + * is read from $_POST['hide_advanced_settings']. + * + * @return void + */ + function ajax_save_screen_options(){ + if (!$this->current_user_can_edit_menu() || !check_ajax_referer('ws_ame_save_screen_options', false, false)){ + die( $this->json_encode( array( + 'error' => "You're not allowed to do that!" + ))); + } + + $this->options['hide_advanced_settings'] = !empty($this->post['hide_advanced_settings']); + $this->options['show_extra_icons'] = !empty($this->post['show_extra_icons']); + $this->save_options(); + die('1'); + } + + public function ajax_hide_hint() { + if ( !isset($this->post['hint']) || !$this->current_user_can_edit_menu() ){ + die("You're not allowed to do that!"); + } + + $show_hints = $this->get_hint_visibility(); + $show_hints[strval($this->post['hint'])] = false; + $this->set_hint_visibility($show_hints); + + die("OK"); + } + + private function get_hint_visibility() { + $user = wp_get_current_user(); + $show_hints = get_user_meta($user->ID, 'ame_show_hints', true); + if ( !is_array($show_hints) ) { + $show_hints = array(); + } + + $defaults = array( + 'ws_sidebar_pro_ad' => true, + 'ws_whats_new_120' => false, + 'ws_hint_menu_permissions' => true, + ); + + return array_merge($defaults, $show_hints); + } + + private function set_hint_visibility($show_hints) { + $user = wp_get_current_user(); + update_user_meta($user->ID, 'ame_show_hints', $show_hints); + } + + /** + * AJAX callback for permanently hiding the "are you sure you want to hide the Dashboard?" warning. + */ + public function ajax_disable_dashboard_hiding_confirmation() { + if (!check_ajax_referer('ws_ame_disable_dashboard_hiding_confirmation', false, false) || !$this->current_user_can_edit_menu()){ + die("You don't have sufficient permissions to do that."); + } + $this->options['dashboard_hiding_confirmation_enabled'] = false; + $this->save_options(); + } + + /** + * Enqueue a script that fixes a bug where pages moved to a different menu + * would not be highlighted properly when the user visits them. + */ + public function enqueue_menu_fix_script() { + wp_enqueue_auto_versioned_script( + 'ame-menu-fix', + plugins_url('js/menu-highlight-fix.js', $this->plugin_file), + array('jquery'), + true + ); + } + + /** + * Check if the current user can access the current admin menu page. + * + * @return bool + */ + private function user_can_access_current_page() { + $current_item = $this->get_current_menu_item(); + if ( $current_item === null ) { + $this->log_security_note('Could not determine the current menu item. We won\'t do any custom permission checks.'); + return true; //Let WordPress handle it. + } + + $this->log_security_note(sprintf( + 'The current menu item is "%s", menu template ID: "%s"', + htmlentities($current_item['menu_title']), + htmlentities(ameMenuItem::get($current_item, 'template_id', 'N/A')) + )); + if ( isset($current_item['access_check_log']) ) { + $this->log_security_note($current_item['access_check_log']); + } + + //Note: Per-role and per-user virtual caps will be applied by has_cap filters. + $allow = $this->current_user_can($current_item['access_level']); + $this->log_security_note(sprintf( + 'The current user %1$s the "%2$s" capability.', + $allow ? 'has' : 'does not have', + htmlentities($current_item['access_level']) + )); + + return $allow; + } + + /** + * Check if the current user has the specified capability. + * If the Pro version installed, you can use special syntax to perform complex capability checks. + * + * @param string $capability + * @return bool + */ + private function current_user_can($capability) { + //WP core uses a special "do_not_allow" capability in a dozen or so places to explicitly deny access. + //Even multisite super admins do not have this cap. We can return early here. + if ( $capability === 'do_not_allow' ) { + return false; + } + + if ( $this->user_cap_cache_enabled && isset($this->cached_user_caps[$capability]) ) { + return $this->cached_user_caps[$capability]; + } + + $user_can = apply_filters('admin_menu_editor-current_user_can', current_user_can($capability), $capability); + $this->cached_user_caps[$capability] = $user_can; + return $user_can; + } + + /** + * Determine which menu item matches the currently open admin page. + * + * @uses self::$reverse_item_lookup + * @return array|null Menu item in the internal format, or NULL if no matching item can be found. + */ + private function get_current_menu_item() { + if ( !is_admin() || empty($this->reverse_item_lookup)) { + if ( !is_admin() ) { + $this->log_security_note('This is not an admin page. is_admin() returns false.'); + } else if ( empty($this->reverse_item_lookup) ) { + $this->log_security_note('Warning: reverse_item_lookup is empty!'); + } + return null; + } + + //The current menu item doesn't change during a request, so we can cache it + //and avoid searching the entire menu every time. + static $cached_item = null; + if ( $cached_item !== null ) { + return $cached_item; + } + + //Find an item where *all* query params match the current ones, with as few extraneous params as possible, + //preferring sub-menu items. This is intentionally more strict than what we do in menu-highlight-fix.js, + //since this function is used to check menu access. + //TODO: Use get_current_screen() to determine the current post type and taxonomy. + + $best_item = null; + $best_extra_params = PHP_INT_MAX; + + $base_site_url = get_site_url(); + if ( preg_match('@(^\w+://[^/]+)@', $base_site_url, $matches) ) { //Extract scheme + hostname. + $base_site_url = $matches[1]; + } + + //Calling admin_url() once and then manually appending each page's path is measurably faster than calling it + //for each menu, but it means the "admin_url" filter is only called once. If there is a plugin that changes + //the admin_url for some pages but not others, this could lead to bugs (no such plugins are known at this time). + $base_admin_url = admin_url(); + $admin_url_is_filtered = has_filter('admin_url'); + + $current_url = $base_site_url . remove_query_arg('___ame_dummy_param___'); + $this->log_security_note(sprintf('Current URL: "%s"', htmlentities($current_url))); + + $current_url = $this->parse_url($current_url); + + //Hook-based submenu pages can be accessed via both "parent-page.php?page=foo" and "admin.php?page=foo". + //WP has a private API function for determining the canonical parent page for the current request. + if ( $this->endsWith($current_url['path'], '/admin.php') && is_callable('get_admin_page_parent') ) { + $real_parent = get_admin_page_parent('admin.php'); + if ( !empty($real_parent) && ($real_parent !== 'admin.php') ) { + $current_url['alt_path'] = str_replace('/admin.php', '/' . $real_parent, $current_url['path']); + } + } + + foreach($this->reverse_item_lookup as $url => $item) { + $item_url = $url; + //Convert to absolute URL. Caution: directory traversal (../, etc) is not handled. + if (strpos($item_url, '://') === false) { + if ( substr($item_url, 0, 1) == '/' ) { + $item_url = $base_site_url . $item_url; + } else { + if ( $admin_url_is_filtered ) { + $item_url = admin_url($item_url); + } else { + $item_url = $base_admin_url . ltrim( $item_url, '/' ); + } + } + } + $item_url = $this->parse_url($item_url); + + //Must match scheme, host, port, user, pass and path or alt_path. + $components = array('scheme', 'host', 'port', 'user', 'pass'); + $is_close_match = $this->urlPathsMatch($current_url['path'], $item_url['path']); + if ( !$is_close_match && isset($current_url['alt_path']) ) { + $is_close_match = $this->urlPathsMatch($current_url['alt_path'], $item_url['path']); + //Technically, we should also compare current[path] vs item[alt_path], + //but generating the alt_path for each menu item would be complicated. + } + foreach($components as $component) { + $is_close_match = $is_close_match && ($current_url[$component] == $item_url[$component]); + if ( !$is_close_match ) { + break; + } + } + + //The current URL must match all query parameters of the item URL. + $different_params = array_diff_assoc($item_url['params'], $current_url['params']); + + //The current URL must have as few extra parameters as possible. + $extra_params = array_diff_assoc($current_url['params'], $item_url['params']); + + if ( $is_close_match && (count($different_params) == 0) && (count($extra_params) < $best_extra_params) ) { + $best_item = $item; + $best_extra_params = count($extra_params); + } + } + + $cached_item = $best_item; + return $best_item; + } + + /** + * Parse a URL and return its components. + * + * Returns an array that contains all of these components: 'scheme', 'host', 'port', 'user', 'pass', + * 'path', 'query', 'fragment' and 'params'. All entries are strings, except 'params' which is + * an associative array of query parameters and their values. + * + * @param string $url + * @return array + */ + private function parse_url($url) { + $url_defaults = array_fill_keys(array('scheme', 'host', 'port', 'user', 'pass', 'path', 'query', 'fragment'), ''); + $url_defaults['port'] = '80'; + + $parsed = @parse_url($url); + if ( !is_array($parsed) ) { + $parsed = array(); + } + $parsed = array_merge($url_defaults, $parsed); + + $params = array(); + if (!empty($parsed['query'])) { + wp_parse_str($parsed['query'], $params); + }; + $parsed['params'] = $params; + + return $parsed; + } + + /** + * Check if two paths match. Intended for comparing WP admin URLs. + * + * @param string $path1 + * @param string $path2 + * @return bool + */ + private function urlPathsMatch($path1, $path2) { + if ( $path1 == $path2 ) { + return true; + } + + // "/wp-admin/index.php" should match "/wp-admin/". + if ( + ($this->endsWith($path1, '/wp-admin/index.php') && $this->endsWith($path2, '/wp-admin/')) + || ($this->endsWith($path2, '/wp-admin/index.php') && $this->endsWith($path1, '/wp-admin/')) + ) { + return true; + } + + return false; + } + + /** + * Determine if the input $string ends with the specified $suffix. + * + * @param string $string + * @param string $suffix + * @return bool + */ + private function endsWith($string, $suffix) { + $len = strlen($suffix); + if ( $len == 0 ) { + return true; + } + return substr($string, -$len) === $suffix; + } + + private function castValuesToBool($capabilities) { + if ( !is_array($capabilities) ) { + if ( empty($capabilities) ) { + $capabilities = array(); + } else { + trigger_error("Unexpected capability array: " . print_r($capabilities, true), E_USER_WARNING); + return array(); + } + } + foreach($capabilities as $capability => $value) { + $capabilities[$capability] = (bool)$value; + } + return $capabilities; + } + + public function display_survey_notice() { + //Handle the survey notice + $hide_param_name = 'ame_hide_survey_notice'; + if ( isset($this->get[$hide_param_name]) ) { + $this->options['display_survey_notice'] = empty($this->get[$hide_param_name]); + $this->save_options(); + } + + $display_notice = $this->options['display_survey_notice'] && $this->current_user_can_edit_menu(); + if ( isset($this->options['first_install_time']) ) { + $minimum_usage_period = 7*24*3600; + $display_notice = $display_notice && ((time() - $this->options['first_install_time']) > $minimum_usage_period); + } + + //Only display the notice on the Menu Editor (Pro) page. + $display_notice = $display_notice && isset($this->get['page']) && ($this->get['page'] == 'menu_editor'); + + //Let the user override this completely (useful for client sites). + if ( $display_notice && file_exists(dirname($this->plugin_file) . '/never-display-surveys.txt') ) { + $display_notice = false; + $this->options['display_survey_notice'] = false; + $this->save_options(); + } + + if ( $display_notice ) { + $free_survey_url = 'https://docs.google.com/spreadsheet/viewform?formkey=dERyeDk0OWhlbkxYcEY4QTNaMnlTQUE6MQ'; + $pro_survey_url = 'https://docs.google.com/spreadsheet/viewform?formkey=dHl4MnlHaVI3NE5JdVFDWG01SkRKTWc6MA'; + + if ( $this->is_pro_version() ) { + $survey_url = $pro_survey_url; + } else { + $survey_url = $free_survey_url; + } + + $hide_url = add_query_arg($hide_param_name, 1); + printf( + '<div class="updated"> + <p><strong>Help improve Admin Menu Editor - take the user survey!</strong></p> + <p><!--suppress HtmlUnknownTarget --><a href="%s" target="_blank" title="Opens in a new window">Take the survey</a></p> + <p><!--suppress HtmlUnknownTarget --><a href="%s">Hide this notice</a></p> + </div>', + esc_attr($survey_url), + esc_attr($hide_url) + ); + } + } + + /** + * Capture $_GET and $_POST in $this->get and $this->post. + * Slashes added by "magic quotes" will be stripped. + * + * @return void + */ + function capture_request_vars(){ + $this->post = $_POST; + $this->get = $_GET; + + if ( function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc() ) { + $this->post = stripslashes_deep($this->post); + $this->get = stripslashes_deep($this->get); + } + } + + public function enqueue_helper_scripts() { + wp_enqueue_script( + 'ame-helper-script', + plugins_url('js/admin-helpers.js', $this->plugin_file), + array('jquery'), + '20140312' + ); + + //The helper script needs to know the custom page heading (if any) to apply it. + $currentItem = $this->get_current_menu_item(); + if ( $currentItem && !empty($currentItem['page_heading']) ) { + wp_localize_script( + 'ame-helper-script', + 'wsAmeCurrentMenuItem', + array( + 'customPageHeading' => $currentItem['page_heading'] + ) + ); + } + } + + public function enqueue_helper_styles() { + wp_enqueue_style( + 'ame-helper-style', + plugins_url('css/admin.css', $this->plugin_file), + array(), + '20140630-3' + ); + } + + /** + * Get one of the plugin configuration values. + * + * @param string $name Option name. + * @return mixed + */ + public function get_plugin_option($name) { + if ( array_key_exists($name, $this->options) ) { + return $this->options[$name]; + } + return null; + } + + + /** + * Log a security-related message. + * + * @param string|array $message The message to add tot he log, or an array of messages. + */ + private function log_security_note($message) { + if ( !$this->options['security_logging_enabled'] ) { + return; + } + if ( is_array($message) ) { + $this->security_log = array_merge($this->security_log, $message); + } else { + $this->security_log[] = $message; + } + } + + /** + * Callback for "admin_notices". + */ + public function display_security_log() { + ?> + <div class="updated"> + <h3>Admin Menu Editor security log</h3> + <?php echo $this->get_formatted_security_log(); ?> + </div> + <?php + } + + /** + * Get the security log in HTML format. + * + * @return string + */ + private function get_formatted_security_log() { + $log = '<div style="font: 12px/17px Consolas, monospace; margin-bottom: 1em;">'; + $log .= implode("<br>\n", $this->security_log); + $log .= '</div>'; + return $log; + } + + /** + * WPML support: Update strings that need translation. + * + * @param array $old_menu The old custom menu, if any. + * @param array $custom_menu The new custom menu. + */ + private function update_wpml_strings($old_menu, $custom_menu) { + if ( !function_exists('icl_register_string') ) { + return; + } + + $previous_strings = $this->get_wpml_strings($old_menu); + $new_strings = $this->get_wpml_strings($custom_menu); + + //Delete strings that are no longer valid. + if ( function_exists('icl_unregister_string') ) { + $removed_strings = array_diff_key($previous_strings, $new_strings); + foreach($removed_strings as $name => $value) { + icl_unregister_string(self::WPML_CONTEXT, $name); + } + } + + //Register/update the new menu strings. + foreach($new_strings as $name => $value) { + icl_register_string(self::WPML_CONTEXT, $name, $value); + } + } + + /** + * Prepare WPML translation strings for all menu and page titles + * in the specified menu. + * + * @param array $custom_menu + * @return array Associative array of strings that can be translated, indexed by unique name. + */ + private function get_wpml_strings($custom_menu) { + if ( empty($custom_menu) ) { + return array(); + } + + $strings = array(); + $translatable_fields = array('menu_title', 'page_title'); + foreach($custom_menu['tree'] as $top_menu) { + if ( $top_menu['separator'] ) { + continue; + } + + foreach($translatable_fields as $field) { + if ( isset($top_menu[$field]) ) { + $name = $this->get_wpml_name_for($top_menu, $field); + $strings[$name] = ameMenuItem::get($top_menu, $field); + } + } + + if ( isset($top_menu['items']) && !empty($top_menu['items']) ) { + foreach($top_menu['items'] as $item) { + if ( $item['separator'] ) { + continue; + } + + foreach($translatable_fields as $field) { + if ( isset($item[$field]) ) { + $name = $this->get_wpml_name_for($item, $field); + $strings[$name] = ameMenuItem::get($item, $field); + } + } + } + } + } + + return $strings; + } + + /** + * Create a unique name for a specific field of a specific menu item. + * Intended for use with the icl_register_string() function. + * + * @param array $item Admin menu item in the internal format. + * @param string $field Field name. + * @return string + */ + private function get_wpml_name_for($item, $field = '') { + $name = ameMenuItem::get($item, 'template_id'); + if ( empty($name) ) { + $name = 'custom: ' . ameMenuItem::get($item, 'file'); + } + if ( !empty($field) ) { + $name = $name . '[' . $field. ']'; + } + return $name; + } + + /** + * Compatibility fix for bbPress 2.5.3. + * + * bbPress creates a bunch of "hidden" menu items in the admin_menu action only to remove them + * later in an admin_head hook. This results in apparently duplicated menus showing up when AME is + * active because AME processes the items before they get removed. + * + * This method works around the issue by explicitly removing those bbPress menus. + * + * @uses $this->default_wp_submenu + */ + private function apply_bbpress_compat_fix() { + if ( !isset($this->default_wp_submenu, $this->default_wp_submenu['index.php']) ) { + return; + } + + //Note to self: This would be easier if we could rely on anonymous function support being available. + //Then we could just array_filter() the submenu with a closure as the callback. + $items_to_remove = array('bbp-about' => null, 'bbp-credits' => null); + foreach($this->default_wp_submenu['index.php'] as $index => $menu) { + if ( array_key_exists($menu[2], $items_to_remove) ) { + $items_to_remove[$menu[2]] = $index; + } + } + + foreach($items_to_remove as $index) { + if ( isset($index, $this->default_wp_submenu['index.php'][$index]) ) { + unset($this->default_wp_submenu['index.php'][$index]); + } + } + } + + /** + * Compatibility fix for WordPress Mu Domain Mapping 0.5.4.3. + * + * The aforementioned domain mapping plugin has a bug that makes the plugins_url() function + * return incorrect URLs for plugins installed in /mu-plugins. Fixed by removing the offending + * filter callback. + * + * Note that this won't break domain mapping. Domain Mapping adds two 'plugins_url' filters. + * The buggy one is completely redundant and can be removed with no ill effects. + */ + private function apply_wpmu_domain_mapping_fix() { + $priority = has_filter('plugins_url', 'domain_mapping_plugins_uri'); + if ( ($priority !== false) && (has_filter('plugins_url', 'domain_mapping_post_content') !== false) ) { + remove_filter('plugins_url', 'domain_mapping_plugins_uri', $priority); + } + } + + /** + * Tell new users how to access the plugin settings page. + */ + public function display_plugin_menu_notice() { + //Display the notice only if it's enabled, the current user can access our settings page, + //and there is no custom menu (if a custom menu already exists, chances are the user knows + //where the settings page is). + $showNotice = $this->options['show_plugin_menu_notice'] && ($this->load_custom_menu() === null); + $showNotice = $showNotice && $this->current_user_can_edit_menu(); + if ( !$showNotice ) { + return; + } + + //Disable the notice when the user hides it or visits any of our admin pages. + $hideNoticeParameter = 'ame-plugin-menu-notice'; + if ( !empty($_GET[$hideNoticeParameter]) || $this->is_editor_page() || $this->is_settings_page() ) { + $this->options['show_plugin_menu_notice'] = false; + $this->save_options(); + return; + } + + $dismissUrl = add_query_arg($hideNoticeParameter, 'hide'); + $dismissUrl = remove_query_arg(array('message', 'activate'), $dismissUrl); + + if ( is_multisite() && is_network_admin() ) { + $message = 'Tip: Go to any subsite to access Admin Menu Editor. It will not show up in the network admin.'; + } else { + $message = 'Tip: Go to <a href="%1$s">Settings -> %2$s</a> to start customizing the admin menu.'; + } + printf( + '<div class="updated" id="ame-plugin-menu-notice"> + <p>' . $message . '</p> + <p><a href="%3$s" id="ame-hide-plugin-menu-notice">Hide this message</a></p> + </div>', + esc_attr(admin_url($this->settings_link)), + apply_filters('admin_menu_editor-self_menu_title', 'Menu Editor'), + esc_attr($dismissUrl) + ); + + } + + private function is_pro_version() { + return apply_filters('admin_menu_editor_is_pro', false); + } + +} //class \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/includes/menu-item.php b/wp-content/plugins/admin-menu-editor/includes/menu-item.php new file mode 100644 index 0000000..87f5eaf --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/menu-item.php @@ -0,0 +1,447 @@ +<?php + +/** + * This class contains a number of static methods for working with individual menu items. + * + * Note: This class is not fully self-contained. Some of the methods will query global state. + * This is necessary because the interpretation of certain menu fields depends on things like + * currently registered hooks and the presence of specific files in admin/plugin folders. + */ +abstract class ameMenuItem { + const unclickableTemplateId = '>special:none'; + const unclickableTemplateClass = 'ame-unclickable-menu-item'; + + /** + * @var array A partial list of files in /wp-admin/. Correct as of WP 3.8-RC1, 2013.12.04. + * When trying to determine if a menu links to one of the default WP admin pages, it's faster + * to check this list than to hit the disk. + */ + private static $known_wp_admin_files = array( + 'customize.php' => true, 'edit-comments.php' => true, 'edit-tags.php' => true, 'edit.php' => true, + 'export.php' => true, 'import.php' => true, 'index.php' => true, 'link-add.php' => true, + 'link-manager.php' => true, 'media-new.php' => true, 'nav-menus.php' => true, 'options-discussion.php' => true, + 'options-general.php' => true, 'options-media.php' => true, 'options-permalink.php' => true, + 'options-reading.php' => true, 'options-writing.php' => true, 'plugin-editor.php' => true, + 'plugin-install.php' => true, 'plugins.php' => true, 'post-new.php' => true, 'profile.php' => true, + 'theme-editor.php' => true, 'themes.php' => true, 'tools.php' => true, 'update-core.php' => true, + 'upload.php' => true, 'user-new.php' => true, 'users.php' => true, 'widgets.php' => true, + ); + + /** + * Convert a WP menu structure to an associative array. + * + * @param array $item An menu item. + * @param int $position The position (index) of the the menu item. + * @param string $parent The slug of the parent menu that owns this item. Blank for top level menus. + * @return array + */ + public static function fromWpItem($item, $position = 0, $parent = '') { + static $separator_count = 0; + $default_css_class = empty($parent) ? 'menu-top' : ''; + $item = array( + 'menu_title' => $item[0], + 'access_level' => $item[1], //= required capability + 'file' => $item[2], + 'page_title' => (isset($item[3]) ? $item[3] : ''), + 'css_class' => (isset($item[4]) ? $item[4] : $default_css_class), + 'hookname' => (isset($item[5]) ? $item[5] : ''), //Used as the ID attr. of the generated HTML tag. + 'icon_url' => (isset($item[6]) ? $item[6] : 'dashicons-admin-generic'), + 'position' => $position, + 'parent' => $parent, + ); + + if ( is_numeric($item['access_level']) ) { + $dummyUser = new WP_User; + $item['access_level'] = $dummyUser->translate_level_to_cap($item['access_level']); + } + + if ( empty($parent) ) { + $item['separator'] = empty($item['file']) || empty($item['menu_title']) || (strpos($item['css_class'], 'wp-menu-separator') !== false); + //WP 3.0 in multisite mode has two separators with the same filename. Fix by reindexing separators. + if ( $item['separator'] ) { + $item['file'] = 'separator_' . ($separator_count++); + } + } else { + //Submenus can't contain separators. + $item['separator'] = false; + } + + //Flag plugin pages + $item['is_plugin_page'] = (get_plugin_page_hook($item['file'], $parent) != null); + + if ( !$item['separator'] ) { + $item['url'] = self::generate_url($item['file'], $parent); + } + + $item['template_id'] = self::template_id($item, $parent); + + return array_merge(self::basic_defaults(), $item); + } + + public static function basic_defaults() { + static $basic_defaults = null; + if ( $basic_defaults !== null ) { + return $basic_defaults; + } + + $basic_defaults = array( + //Fields that apply to all menu items. + 'page_title' => '', + 'menu_title' => '', + 'access_level' => 'read', + 'extra_capability' => '', + 'file' => '', + 'page_heading' => '', + 'position' => 0, + 'parent' => '', + + //Fields that apply only to top level menus. + 'css_class' => 'menu-top', + 'hookname' => '', + 'icon_url' => 'dashicons-admin-generic', + 'separator' => false, + 'colors' => false, + + //Internal fields that may not map directly to WP menu structures. + 'open_in' => 'same_window', //'new_window', 'iframe' or 'same_window' (the default) + 'template_id' => '', //The default menu item that this item is based on. + 'is_plugin_page' => false, + 'custom' => false, + 'url' => '', + ); + + return $basic_defaults; + } + + public static function blank_menu() { + static $blank_menu = null; + if ( $blank_menu !== null ) { + return $blank_menu; + } + + //Template for a basic menu item. + $blank_menu = array_fill_keys(array_keys(self::basic_defaults()), null); + $blank_menu = array_merge($blank_menu, array( + 'items' => array(), //List of sub-menu items. + 'grant_access' => array(), //Per-role and per-user access. Supersedes role_access. + 'role_access' => array(), //Per-role access settings. + 'colors' => null, + + 'custom' => false, //True if item is made-from-scratch and has no template. + 'missing' => false, //True if our template is no longer present in the default admin menu. Note: Stored values will be ignored. Set upon merging. + 'unused' => false, //True if this item was generated from an unused default menu. Note: Stored values will be ignored. Set upon merging. + 'hidden' => false, //Hide/show the item. Hiding is purely cosmetic, the item remains accessible. + + 'defaults' => self::basic_defaults(), + )); + return $blank_menu; + } + + public static function custom_item_defaults() { + return array( + 'menu_title' => 'Custom Menu', + 'access_level' => 'read', + 'extra_capability' => '', + 'page_title' => '', + 'css_class' => 'menu-top', + 'hookname' => '', + 'icon_url' => 'dashicons-admin-generic', + 'open_in' => 'same_window', + 'is_plugin_page' => false, + 'page_heading' => '', + 'colors' => false, + ); + } + + /** + * Get the value of a menu/submenu field. + * Will return the corresponding value from the 'defaults' entry of $item if the + * specified field is not set in the item itself. + * + * @param array $item + * @param string $field_name + * @param mixed $default Returned if the requested field is not set and is not listed in $item['defaults']. Defaults to null. + * @return mixed Field value. + */ + public static function get($item, $field_name, $default = null){ + if ( isset($item[$field_name]) ){ + return $item[$field_name]; + } else { + if ( isset($item['defaults'], $item['defaults'][$field_name]) ){ + return $item['defaults'][$field_name]; + } else { + return $default; + } + } + } + + /** + * Generate or retrieve an ID that semi-uniquely identifies the template + * of the given menu item. + * + * Note that custom items (i.e. those that do not point to any of the default + * admin menu pages) have no template IDs. + * + * The ID is generated from the item's and its parent's file attributes. + * Since WordPress technically allows two copies of the same menu to exist + * in the same sub-menu, this combination is not necessarily unique. + * + * @param array|string $item The menu item in question. + * @param string $parent_file The parent menu. If omitted, $item['defaults']['parent'] will be used. + * @return string Template ID, or an empty string if this is a custom item. + */ + public static function template_id($item, $parent_file = ''){ + if (is_string($item)) { + return $parent_file . '>' . $item; + } + + if ( self::get($item, 'custom') ) { + return ''; + } + + //Maybe it already has an ID? + $template_id = self::get($item, 'template_id'); + if ( !empty($template_id) ) { + return $template_id; + } + + if ( isset($item['defaults']['file']) ) { + $item_file = $item['defaults']['file']; + } else { + $item_file = self::get($item, 'file'); + } + + if ( empty($parent_file) ) { + if ( isset($item['defaults']['parent']) ) { + $parent_file = $item['defaults']['parent']; + } else { + $parent_file = self::get($item, 'parent'); + } + } + + if ($parent_file === 'profile.php') { + $parent_file = 'users.php'; + } + + return $parent_file . '>' . $item_file; + } + + /** + * Set all undefined menu fields to the default value. + * + * @param array $item Menu item in the plugin's internal form + * @return array + */ + public static function apply_defaults($item){ + foreach($item as $key => $value){ + //Is the field set? + if ($value === null){ + //Use default, if available + if (isset($item['defaults'], $item['defaults'][$key])){ + $item[$key] = $item['defaults'][$key]; + } + } + } + return $item; + } + + /** + * Apply custom menu filters to an item of the custom menu. + * + * Calls a 'custom_admin_$item_type' filter with the entire $item passed as the argument. + * Used when converting the current custom menu to a WP-format menu. + * + * @param array $item Associative array representing one menu item (either top-level or submenu). + * @param string $item_type 'menu' or 'submenu' + * @param mixed $extra Optional extra data to pass to hooks. + * @return array Filtered menu item. + */ + public static function apply_filters($item, $item_type, $extra = null){ + return apply_filters("custom_admin_{$item_type}", $item, $extra); + } + + /** + * Recursively normalize a menu item and all of its sub-items. + * + * This will also ensure that the item has all the required fields. + * + * @static + * @param array $item + * @return array + */ + public static function normalize($item) { + if ( isset($item['defaults']) ) { + $item['defaults'] = array_merge(self::basic_defaults(), $item['defaults']); + } + $item = array_merge(self::blank_menu(), $item); + + $item['unused'] = false; + $item['missing'] = false; + $item['template_id'] = self::template_id($item); + + //Items pointing to a default page can't have a custom file/URL. + if ( ($item['template_id'] !== '') && ($item['file'] !== null) ) { + if ( $item['file'] == $item['defaults']['file'] ) { + //Identical to default, so just set it to use that. + $item['file'] = null; + } else { + //Different file = convert to a custom item. Need to call fix_defaults() + //to fix other fields that are currently set to defaults custom items don't have. + $item['template_id'] = ''; + } + } + + $item['custom'] = $item['custom'] || ($item['template_id'] == ''); + $item = self::fix_defaults($item); + + //Older versions would allow the user to set the required capability directly. + //This was incorrect since for default menu items the default cap was *always* + //applied anyway, and the new cap was applied on top of that. We make that explicit + //by storing the custom cap in a separate field - extra_capability - and keeping + //access_level (required cap) at the default value. + if ( isset($item['defaults']) && $item['access_level'] !== null ) { + if ( empty($item['extra_capability']) ) { + $item['extra_capability'] = $item['access_level']; + } + $item['access_level'] = null; + } + + //Convert per-role access settings to the more general grant_access format. + if ( isset($item['role_access']) ) { + foreach($item['role_access'] as $role_id => $has_access) { + $item['grant_access']['role:' . $role_id] = $has_access; + } + $item['role_access'] = array(); + } + + if ( isset($item['items']) ) { + foreach($item['items'] as $index => $sub_item) { + $item['items'][$index] = self::normalize($sub_item); + } + } + + return $item; + } + + /** + * Fix obsolete default values on custom items. + * + * In older versions of the plugin, each custom item had its own set of defaults. + * It was also possible to create a pseudo-custom item from a default item by + * freely overwriting its fields with custom values. + * + * The current version uses the same defaults for all custom items. To avoid data + * loss, we'll check for any mismatches and make such defaults explicit. + * + * @static + * @param array $item + * @return array + */ + private static function fix_defaults($item) { + if ( $item['custom'] && isset($item['defaults']) ) { + $new_defaults = self::custom_item_defaults(); + foreach($item as $field => $value) { + $is_mismatch = is_null($value) + && array_key_exists($field, $item['defaults']) + && ( + !array_key_exists($field, $new_defaults) //No default. + || ($item['defaults'][$field] != $new_defaults[$field]) //Different default. + ); + + if ( $is_mismatch ) { + $item[$field] = $item['defaults'][$field]; + } + } + $item['defaults'] = $new_defaults; + } + return $item; + } + + /** + * Custom comparison function that compares menu items based on their position in the menu. + * + * @param array $a + * @param array $b + * @return int + */ + public static function compare_position($a, $b){ + return self::get($a, 'position', 0) - self::get($b, 'position', 0); + } + + /** + * Generate a URL for a menu item. + * + * @param string $item_slug + * @param string $parent_slug + * @return string An URL relative to the /wp-admin/ directory. + */ + public static function generate_url($item_slug, $parent_slug = '') { + $menu_url = is_array($item_slug) ? self::get($item_slug, 'file') : $item_slug; + $parent_url = !empty($parent_slug) ? $parent_slug : 'admin.php'; + + if ( strpos($menu_url, '://') !== false ) { + return $menu_url; + } + + if ( self::is_hook_or_plugin_page($menu_url, $parent_url) ) { + $base_file = self::is_hook_or_plugin_page($parent_url) ? 'admin.php' : $parent_url; + $url = add_query_arg(array('page' => $menu_url), $base_file); + } else { + $url = $menu_url; + } + return $url; + } + + private static function is_hook_or_plugin_page($page_url, $parent_page_url = '') { + if ( empty($parent_page_url) ) { + $parent_page_url = 'admin.php'; + } + $pageFile = self::remove_query_from($page_url); + + //Check our hard-coded list of admin pages first. It's measurably faster than + //hitting the disk with is_file(). + if ( isset(self::$known_wp_admin_files[$pageFile]) ) { + return false; + } + //Now actually check the filesystem. + $adminFileExists = is_file(ABSPATH . '/wp-admin/' . $pageFile); + if ( $adminFileExists ) { + return false; + } + + $hasHook = (get_plugin_page_hook($page_url, $parent_page_url) !== null); + if ( $hasHook ) { + return true; + } + + $pluginFileExists = ($page_url != 'index.php') && is_file(WP_PLUGIN_DIR . '/' . $pageFile); + if ( $pluginFileExists ) { + return true; + } + + return false; + } + + /** + * Check if a field is currently set to its default value. + * + * @param array $item + * @param string $field_name + * @return bool + */ + public static function is_default($item, $field_name) { + if ( isset($item[$field_name]) ){ + return false; + } else { + return isset($item['defaults'], $item['defaults'][$field_name]); + } + } + + public static function remove_query_from($url) { + $pos = strpos($url, '?'); + if ( $pos !== false ) { + return substr($url, 0, $pos); + } + return $url; + } +} \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/includes/menu.php b/wp-content/plugins/admin-menu-editor/includes/menu.php new file mode 100644 index 0000000..68a0629 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/menu.php @@ -0,0 +1,226 @@ +<?php +abstract class ameMenu { + const format_name = 'Admin Menu Editor menu'; + const format_version = '5.41'; + + /** + * Load an admin menu from a JSON string. + * + * @static + * + * @param string $json A JSON-encoded menu structure. + * @param bool $assume_correct_format Skip the format header check and assume everything is fine. Defaults to false. + * @param bool $always_normalize Always normalize the menu structure, even if format[is_normalized] is true. + * @throws InvalidMenuException + * @return array + */ + public static function load_json($json, $assume_correct_format = false, $always_normalize = false) { + $arr = json_decode($json, true); + if ( !is_array($arr) ) { + throw new InvalidMenuException('The input is not a valid JSON-encoded admin menu.'); + } + return self::load_array($arr, $assume_correct_format, $always_normalize); + } + + /** + * Load an admin menu structure from an associative array. + * + * @static + * + * @param array $arr + * @param bool $assume_correct_format + * @param bool $always_normalize + * @throws InvalidMenuException + * @return array + */ + public static function load_array($arr, $assume_correct_format = false, $always_normalize = false){ + $is_normalized = false; + if ( !$assume_correct_format ) { + if ( isset($arr['format']) && ($arr['format']['name'] == self::format_name) ) { + $compared = version_compare($arr['format']['version'], self::format_version); + if ( $compared > 0 ) { + throw new InvalidMenuException(sprintf( + "Can't load a menu created by a newer version of the plugin. Menu format: '%s', newest supported format: '%s'.", + $arr['format']['version'], + self::format_version + )); + } + //We can skip normalization if the version number matches exactly and the menu is already normalized. + if ( ($compared === 0) && isset($arr['format']['is_normalized']) ) { + $is_normalized = $arr['format']['is_normalized']; + } + } else { + return self::load_menu_40($arr); + } + } + + if ( !(isset($arr['tree']) && is_array($arr['tree'])) ) { + throw new InvalidMenuException("Failed to load a menu - the menu tree is missing."); + } + + $menu = array('tree' => array()); + $menu = self::add_format_header($menu); + + if ( $is_normalized && !$always_normalize ) { + $menu['tree'] = $arr['tree']; + } else { + foreach($arr['tree'] as $file => $item) { + $menu['tree'][$file] = ameMenuItem::normalize($item); + } + $menu['format']['is_normalized'] = true; + } + + if ( isset($arr['color_css']) && is_string($arr['color_css']) ) { + $menu['color_css'] = $arr['color_css']; + $menu['color_css_modified'] = isset($arr['color_css_modified']) ? intval($arr['color_css_modified']) : 0; + } + + return $menu; + } + + /** + * "Pre-load" an old menu structure. + * + * In older versions of the plugin, the entire menu consisted of + * just the menu tree and nothing else. This was internally known as + * menu format "4". + * + * To improve portability and forward-compatibility, newer versions + * use a simple dictionary-based container instead, with the menu tree + * being one of the possible entries. + * + * @static + * @param array $arr + * @return array + */ + private static function load_menu_40($arr) { + //This is *very* basic and might need to be improved. + $menu = array('tree' => $arr); + return self::load_array($menu, true); + } + + private static function add_format_header($menu) { + $menu['format'] = array( + 'name' => self::format_name, + 'version' => self::format_version, + ); + return $menu; + } + + /** + * Serialize an admin menu as JSON. + * + * @static + * @param array $menu + * @return string + */ + public static function to_json($menu) { + $menu = self::add_format_header($menu); + return json_encode($menu); + } + + /** + * Sort the menus and menu items of a given menu according to their positions + * + * @param array $tree A menu structure in the internal format (just the tree). + * @return array Sorted menu in the internal format + */ + public static function sort_menu_tree($tree){ + //Resort the tree to ensure the found items are in the right spots + uasort($tree, 'ameMenuItem::compare_position'); + //Resort all submenus as well + foreach ($tree as &$topmenu){ + if (!empty($topmenu['items'])){ + uasort($topmenu['items'], 'ameMenuItem::compare_position'); + } + } + + return $tree; + } + + /** + * Convert the WP menu structure to the internal representation. All properties set as defaults. + * + * @param array $menu + * @param array $submenu + * @return array Menu in the internal tree format. + */ + public static function wp2tree($menu, $submenu){ + $tree = array(); + foreach ($menu as $pos => $item){ + + $tree_item = ameMenuItem::blank_menu(); + $tree_item['defaults'] = ameMenuItem::fromWpItem($item, $pos); + $tree_item['separator'] = $tree_item['defaults']['separator']; + + //Attach sub-menu items + $parent = $tree_item['defaults']['file']; + if ( isset($submenu[$parent]) ){ + foreach($submenu[$parent] as $position => $subitem){ + $tree_item['items'][] = array_merge( + ameMenuItem::blank_menu(), + array('defaults' => ameMenuItem::fromWpItem($subitem, $position, $parent)) + ); + } + } + + $tree[$parent] = $tree_item; + } + + $tree = self::sort_menu_tree($tree); + + return $tree; + } + + /** + * Check if a menu contains any items with the "hidden" flag set to true. + * + * @param array $menu + * @return bool + */ + public static function has_hidden_items($menu) { + if ( !is_array($menu) || empty($menu) || empty($menu['tree']) ) { + return false; + } + + foreach($menu['tree'] as $item) { + if ( ameMenuItem::get($item, 'hidden') ) { + return true; + } + if ( !empty($item['items']) ) { + foreach($item['items'] as $child) { + if ( ameMenuItem::get($child, 'hidden') ) { + return true; + } + } + } + } + + return false; + } + + /** + * Recursively filter a list of menu items and remove items flagged as missing. + * + * @param array $items An array of menu items to filter. + * @return array + */ + public static function remove_missing_items($items) { + $items = array_filter($items, array(__CLASS__, 'is_not_missing')); + + foreach($items as &$item) { + if ( !empty($item['items']) ) { + $item['items'] = self::remove_missing_items($item['items']); + } + } + + return $items; + } + + protected static function is_not_missing($item) { + return empty($item['missing']); + } +} + + +class InvalidMenuException extends Exception {} \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/includes/role-utils.php b/wp-content/plugins/admin-menu-editor/includes/role-utils.php new file mode 100644 index 0000000..6615232 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/role-utils.php @@ -0,0 +1,63 @@ +<?php +class ameRoleUtils { + /** + * Retrieve a list of all known capabilities of all roles + * + * @return array Associative array with capability names as keys + */ + public static function get_all_capabilities(){ + $wp_roles = self::get_roles(); + $capabilities = array(); + + //Iterate over all known roles and collect their capabilities + foreach($wp_roles->roles as $role){ + if ( !empty($role['capabilities']) && is_array($role['capabilities']) ){ //Being defensive here + $capabilities = array_merge($capabilities, $role['capabilities']); + } + } + + //Add multisite-specific capabilities (not listed in any roles in WP 3.0) + $multisite_caps = array( + 'manage_sites' => 1, + 'manage_network' => 1, + 'manage_network_users' => 1, + 'manage_network_themes' => 1, + 'manage_network_options' => 1, + 'manage_network_plugins' => 1, + ); + $capabilities = array_merge($capabilities, $multisite_caps); + + return $capabilities; + } + + /** + * Retrieve a list of all known roles and their names. + * + * @return array Associative array with role IDs as keys and role display names as values + */ + public static function get_role_names(){ + $wp_roles = self::get_roles(); + $roles = array(); + + foreach($wp_roles->roles as $role_id => $role){ + $roles[$role_id] = $role['name']; + } + + return $roles; + } + + /** + * Get all defined WordPress roles. + * + * @global WP_Roles $wp_roles + * @return WP_Roles + */ + public static function get_roles() { + global $wp_roles; + if ( !isset($wp_roles) ) { + $wp_roles = new WP_Roles(); + } + //TODO: Do something about Super Admin + return $wp_roles; + } +} \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/includes/settings-page.php b/wp-content/plugins/admin-menu-editor/includes/settings-page.php new file mode 100644 index 0000000..1c5f62a --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/settings-page.php @@ -0,0 +1,234 @@ +<?php +/** + * This is the HTML template for the plugin settings page. + * + * These variables are provided by the plugin: + * @var array $settings Plugin settings. + * @var string $editor_page_url A fully qualified URL of the admin menu editor page. + * @var string $settings_page_url + */ + +$currentUser = wp_get_current_user(); +$isMultisite = is_multisite(); +$isSuperAdmin = is_super_admin(); +$formActionUrl = add_query_arg('noheader', 1, $settings_page_url); +$isProVersion = apply_filters('admin_menu_editor_is_pro', false); +?> + +<div class="wrap"> + <?php screen_icon(); ?> + <h2> + <?php echo apply_filters('admin_menu_editor-self_page_title', 'Menu Editor'); ?> Settings + <a href="<?php echo esc_attr($editor_page_url); ?>" class="add-new-h2" + title="Back to Admin Menu Editor">Editor</a> + </h2> + + <form method="post" action="<?php echo esc_attr($formActionUrl); ?>" id="ws_plugin_settings_form"> + + <table class="form-table"> + <tbody> + <tr> + <th scope="row"> + Who can access this plugin + </th> + <td> + <fieldset> + <p> + <label> + <input type="radio" name="plugin_access" value="super_admin" + <?php checked('super_admin', $settings['plugin_access']); ?> + <?php disabled( !$isSuperAdmin ); ?>> + Super Admin + + <?php if ( !$isMultisite ) : ?> + <br><span class="description"> + On a single site installation this is usually + the same as the Administrator role. + </span> + <?php endif; ?> + </label> + </p> + + <p> + <label> + <input type="radio" name="plugin_access" value="manage_options" + <?php checked('manage_options', $settings['plugin_access']); ?> + <?php disabled( !current_user_can('manage_options') ); ?>> + Anyone with the "manage_options" capability + + <br><span class="description"> + By default only Administrators have this capability. + </span> + </label> + </p> + + <p> + <label> + <input type="radio" name="plugin_access" value="specific_user" + <?php checked('specific_user', $settings['plugin_access']); ?> + <?php disabled( $isMultisite && !$isSuperAdmin ); ?>> + Only the current user + + <br> + <span class="description"> + Login: <?php echo $currentUser->user_login; ?>, + user ID: <?php echo get_current_user_id(); ?> + </span> + </label> + </p> + </fieldset> + + <p> + <label> + <input type="checkbox" name="hide_plugin_from_others" value="1" + <?php checked( $settings['plugins_page_allowed_user_id'] !== null ); ?> + <?php disabled( !$isProVersion || ($isMultisite && !is_super_admin()) ); ?> + > + Hide the "Admin Menu Editor<?php if ( $isProVersion ) { echo ' Pro'; } ?>" entry on the "Plugins" page from other users + <?php if ( !$isProVersion ) { + echo '(Pro version only)'; + } ?> + </label> + </p> + </td> + </tr> + + <tr> + <th scope="row"> + Multisite settings + </th> + <td> + <fieldset id="ame-menu-scope-settings"> + <p> + <label> + <input type="radio" name="menu_config_scope" value="global" + id="ame-menu-config-scope-global" + <?php checked('global', $settings['menu_config_scope']); ?> + <?php disabled(!$isMultisite || !$isSuperAdmin); ?>> + Global — + Use the same admin menu settings for all network sites. + </label><br> + </p> + + + <label> + <input type="radio" name="menu_config_scope" value="site" + <?php checked('site', $settings['menu_config_scope']); ?> + <?php disabled(!$isMultisite || !$isSuperAdmin); ?>> + Per-site — + Use different admin menu settings for each site. + </label> + </fieldset> + </td> + </tr> + + <tr> + <th scope="row">Interface</th> + <td> + <p> + <label> + <input type="checkbox" name="hide_advanced_settings" + <?php checked($settings['hide_advanced_settings']); ?>> + Hide advanced menu options by default + </label> + </p> + + <?php if ($isProVersion): ?> + <p> + <label> + <input type="checkbox" name="show_deprecated_hide_button" + <?php checked($settings['show_deprecated_hide_button']); ?>> + Enable the "Show/Hide" toolbar button (not recommended) + </label> + <br><span class="description"> + This feature is deprecated and is only kept for backwards compatibility purposes. + </span> + </p> + <?php endif; ?> + </td> + </tr> + + <tr> + <th scope="row">Editor colour scheme</th> + <td> + <fieldset> + <p> + <label> + <input type="radio" name="ui_colour_scheme" value="classic" + <?php checked('classic', $settings['ui_colour_scheme']); ?>> + Blue and yellow + </label> + </p> + + <p> + <label> + <input type="radio" name="ui_colour_scheme" value="wp-grey" + <?php checked('wp-grey', $settings['ui_colour_scheme']); ?>> + Grey + </label> + </p> + </fieldset> + </td> + </tr> + + <?php if ($isProVersion): ?> + <tr> + <th scope="row">Show submenu icons</th> + <td> + <fieldset id="ame-submenu-icons-settings"> + <p> + <label> + <input type="radio" name="submenu_icons_enabled" value="always" + <?php checked('always', $settings['submenu_icons_enabled']); ?>> + Always + </label> + </p> + + <p> + <label> + <input type="radio" name="submenu_icons_enabled" value="if_custom" + <?php checked('if_custom', $settings['submenu_icons_enabled']); ?>> + Only when manually selected + </label> + </p> + + <p> + <label> + <input type="radio" name="submenu_icons_enabled" value="never" + <?php checked('never', $settings['submenu_icons_enabled']); ?>> + Never + </label> + </p> + </fieldset> + </td> + </tr> + <?php endif; ?> + + <tr> + <th scope="row">Debugging</th> + <td> + <label> + <input type="checkbox" name="security_logging_enabled" + <?php checked($settings['security_logging_enabled']); ?>> + Show menu access checks performed by the plugin on every admin page + </label> + <br><span class="description"> + This can help track down configuration problems and figure out why + your menu permissions don't work the way they should. + + Note: It's not recommended to use this option on a live site as + it can reveal information about your menu configuration. + </span> + </td> + </tr> + </tbody> + </table> + + <input type="hidden" name="action" value="save_settings"> + <?php + wp_nonce_field('save_settings'); + submit_button(); + ?> + </form> + +</div> \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/includes/shadow_plugin_framework.php b/wp-content/plugins/admin-menu-editor/includes/shadow_plugin_framework.php new file mode 100644 index 0000000..780bd61 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/shadow_plugin_framework.php @@ -0,0 +1,357 @@ +<?php + +/** + * @author W-Shadow + * @copyright 2008-2012 + */ + +//Load JSON functions for PHP < 5.2 +if ( !(function_exists('json_encode') && function_exists('json_decode')) && !(class_exists('Services_JSON') || class_exists('Moxiecode_JSON')) ){ + $class_json_path = ABSPATH.WPINC.'/class-json.php'; + $class_moxiecode_json_path = ABSPATH.WPINC.'/js/tinymce/plugins/spellchecker/classes/utils/JSON.php'; + if ( file_exists($class_json_path) ){ + require $class_json_path; + } elseif ( file_exists($class_moxiecode_json_path) ) { + require $class_moxiecode_json_path; + } +} + +class MenuEd_ShadowPluginFramework { + public static $framework_version = '0.4.1'; + + public $is_mu_plugin = null; //True if installed in the mu-plugins directory, false otherwise + + protected $options = array(); + public $option_name = ''; //should be set or overridden by the plugin + protected $defaults = array(); //should be set or overridden by the plugin + protected $sitewide_options = false; //WPMU only : save the setting in a site-wide option + protected $serialize_with_json = false; //Use the JSON format for option storage + + public $plugin_file = ''; //Filename of the plugin. + public $plugin_basename = ''; //Basename of the plugin, as returned by plugin_basename(). + public $plugin_dir_url = ''; //The URL of the plugin's folder + + protected $magic_hooks = false; //Automagically set up hooks for all methods named "hook_[hookname]" . + protected $magic_hook_priority = 10; //Priority for magically set hooks. + + protected $settings_link = ''; //If set, this will be automatically added after "Deactivate"/"Edit". + + /** + * Class constructor. Populates some internal fields, then calls the plugin's own + * initializer (if any). + * + * @param string $plugin_file Plugin's filename. Usually you can just use __FILE__. + * @param string $option_name + */ + function __construct( $plugin_file = '', $option_name = null ){ + if ($plugin_file == ''){ + //Try to guess the name of the file that included this file. + //Not implemented yet. + } + $this->option_name = $option_name; + + if ( is_null($this->is_mu_plugin) ) + $this->is_mu_plugin = $this->is_in_wpmu_plugin_dir($plugin_file); + + $this->plugin_file = $plugin_file; + $this->plugin_basename = plugin_basename($this->plugin_file); + + $this->plugin_dir_url = rtrim(plugin_dir_url($this->plugin_file), '/'); + + /************************************ + Add the default hooks + ************************************/ + add_action('activate_'.$this->plugin_basename, array(&$this,'activate')); + add_action('deactivate_'.$this->plugin_basename, array(&$this,'deactivate')); + + $this->init(); //Call the plugin's init() function + $this->init_finish(); //Complete initialization by loading settings, etc + } + + /** + * Init the plugin. Should be overridden in a sub-class. + * Called by the class constructor. + * + * @return void + */ + function init(){ + //Do nothing. + } + + /** + * Initialize settings and set up magic hooks. + * + * @return void + */ + function init_finish(){ + /************************************ + Load settings + ************************************/ + //The provided $option_name overrides the default only if it is set to something useful + if ( $this->option_name == '' ) { + //Generate a unique name + $this->option_name = 'plugin_'.md5($this->plugin_basename); + } + + //Do we need to load the plugin's settings? + if ($this->option_name != null){ + $this->load_options(); + } + + //Add a "Settings" action link + if ($this->settings_link) + add_filter('plugin_action_links', array(&$this, 'plugin_action_links'), 10, 2); + + if ($this->magic_hooks) + $this->set_magic_hooks(); + } + + /** + * Load the plugin's configuration. + * Loads the specified option into $this->options, substituting defaults where necessary. + * + * @param string $option_name Optional. The slug of the option to load. If not set, the value of $this->option_name will be used instead. + * @return boolean TRUE if options were loaded okay and FALSE otherwise. + */ + function load_options($option_name = null){ + if ( empty($option_name) ){ + $option_name = $this->option_name; + } + + if ( $this->sitewide_options ) { + $this->options = get_site_option($option_name); + } else { + $this->options = get_option($option_name); + } + + if ( $this->serialize_with_json || is_string($this->options) ){ + $this->options = $this->json_decode($this->options, true); + } + + if(!is_array($this->options)){ + $this->options = $this->defaults; + return false; + } else { + $this->options = array_merge($this->defaults, $this->options); + return true; + } + } + + /** + * ShadowPluginFramework::save_options() + * Saves the $options array to the database. + * + * @return bool + */ + function save_options(){ + if ($this->option_name) { + $stored_options = $this->options; + if ( $this->serialize_with_json ){ + $stored_options = $this->json_encode($stored_options); + } + + if ( $this->sitewide_options ) { + return update_site_option($this->option_name, $stored_options); + } else { + return update_option($this->option_name, $stored_options); + } + } + return false; + } + + + /** + * Backwards compatible json_decode. + * + * @param string $data + * @param bool $assoc Decode objects as associative arrays. + * @return mixed + */ + function json_decode($data, $assoc=false){ + if ( function_exists('json_decode') ){ + return json_decode($data, $assoc); + } + if ( class_exists('Services_JSON') ){ + $flag = $assoc?SERVICES_JSON_LOOSE_TYPE:0; + $json = new Services_JSON($flag); + return( $json->decode($data) ); + } elseif ( class_exists('Moxiecode_JSON') ){ + $json = new Moxiecode_JSON(); + return $json->decode($data); + } else { + trigger_error('No JSON parser available', E_USER_ERROR); + return null; + } + } + + /** + * Backwards compatible json_encode. + * + * @param mixed $data + * @return string + */ + function json_encode($data) { + if ( function_exists('json_encode') ){ + return json_encode($data); + } + if ( class_exists('Services_JSON') ){ + $json = new Services_JSON(); + return( $json->encodeUnsafe($data) ); + } elseif ( class_exists('Moxiecode_JSON') ){ + $json = new Moxiecode_JSON(); + return $json->encode($data); + } else { + trigger_error('No JSON parser available', E_USER_ERROR); + return ''; + } + } + + + /** + * ShadowPluginFramework::set_magic_hooks() + * Automagically sets up hooks for all methods named "hook_[tag]". Uses the Reflection API. + * + * @return void + */ + function set_magic_hooks(){ + $class = new ReflectionClass(get_class($this)); + $methods = $class->getMethods(); + + foreach ($methods as $method){ /** @var ReflectionMethod $method */ + //Check if the method name starts with "hook_" + if (strpos($method->name, 'hook_') === 0){ + //Get the hook's tag from the method name + $hook = substr($method->name, 5); + //Add the hook. Uses add_filter because add_action is simply a wrapper of the same. + add_filter($hook, array(&$this, $method->name), + $this->magic_hook_priority, $method->getNumberOfParameters()); + } + } + + unset($class); + } + + + /** + * ShadowPluginFramework::activate() + * Stub function for the activation hook. + * + * @return void + */ + function activate(){ + + } + + /** + * ShadowPluginFramework::deactivate() + * Stub function for the deactivation hook. Does nothing. + * + * @return void + */ + function deactivate(){ + + } + + /** + * ShadowPluginFramework::plugin_action_links() + * Adds a "Settings" link to the plugin's action links. Default handler for the 'plugin_action_links' hook. + * + * @param array $links + * @param string $file + * @return array + */ + function plugin_action_links($links, $file) { + if ($file == $this->plugin_basename) + $links[] = "<a href='" . $this->settings_link . "'>" . __('Settings') . "</a>"; + return $links; + } + + /** + * ShadowPluginFramework::uninstall() + * Default uninstaller. Removes the plugins configuration record (if available). + * + * @return void + */ + function uninstall(){ + if ($this->option_name) + delete_option($this->option_name); + } + + /** + * Checks if the specified file is inside the mu-plugins directory. + * + * @param string $filename The filename to check. Leave blank to use the current plugin's filename. + * @return bool + */ + function is_in_wpmu_plugin_dir( $filename = '' ){ + if ( !defined('WPMU_PLUGIN_DIR') ) return false; + + if ( empty($filename) ){ + $filename = $this->plugin_file; + } + + return (strpos( realpath($filename), realpath(WPMU_PLUGIN_DIR) ) !== false); + } + + /** + * Check if the plugin is active for the entire network. + * Will return true when the plugin is installed in /mu-plugins/ (WPMU, pre-3.0) + * or has been activated via "Network Activate" (WP 3.0+). + * + * Blame the ridiculous blog/site/network confusion perpetrated by + * the WP API for the silly name. + * + * @return bool + */ + function is_super_plugin(){ + if ( is_null($this->is_mu_plugin) ){ + $this->is_mu_plugin = $this->is_in_wpmu_plugin_dir($this->plugin_file); + } + + if ( $this->is_mu_plugin ){ + return true; + } else { + return $this->is_plugin_active_for_network($this->plugin_basename); + } + } + + /** + * Check whether the plugin is active for the entire network. + * + * Silly WP doesn't load the file that contains this native function until *after* + * all plugins are loaded, so until then we use a copy-pasted version of the same. + * + * @param string $plugin + * @return bool + */ + function is_plugin_active_for_network( $plugin ) { + if ( function_exists('is_plugin_active_for_network') ){ + return is_plugin_active_for_network($plugin); + } + + if ( !is_multisite() ) + return false; + + $plugins = get_site_option( 'active_sitewide_plugins'); + if ( isset($plugins[$plugin]) ) + return true; + + return false; + } + + /** + * Check whether the plugin is active. + * + * @see self::is_plugin_active_for_network + * + * @param string $plugin + * @return bool + */ + function is_plugin_active($plugin) { + if ( function_exists('is_plugin_active') ) { + return is_plugin_active($plugin); + } + return in_array( $plugin, (array) get_option('active_plugins', array()) ) || $this->is_plugin_active_for_network($plugin); + } + +} \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/includes/version-conflict-check.php b/wp-content/plugins/admin-menu-editor/includes/version-conflict-check.php new file mode 100644 index 0000000..632795d --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/includes/version-conflict-check.php @@ -0,0 +1,25 @@ +<?php +//It's not possible to have two versions of this plugin active at the same time. Abort plugin load +//and display an error if we detect that another version has already been loaded. +if ( class_exists('WPMenuEditor') ) { + + function ws_ame_activation_conflict() { + if ( !current_user_can('activate_plugins') ) { + return; //The current user can't do anything about the problem. + } + ?> + <div class="error fade"> + <p> + <strong>Error: Another version of Admin Menu Editor is already active.</strong><br> + Please deactivate the older version. It is not possible to run two different versions + of this plugin at the same time. + </p> + </div> + <?php + } + + add_action('admin_notices', 'ws_ame_activation_conflict'); + return true; //Conflict detected. +} + +return false; //No conflict. \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/js/admin-helpers.js b/wp-content/plugins/admin-menu-editor/js/admin-helpers.js new file mode 100644 index 0000000..0a7684e --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/js/admin-helpers.js @@ -0,0 +1,62 @@ +/*global wsAmeCurrentMenuItem*/ + +(function($) { + var currentItem = (typeof wsAmeCurrentMenuItem !== 'undefined') ? wsAmeCurrentMenuItem : {}; + + //The page heading is typically hardcoded and/or not configurable, so we need to use JS to change it. + var customPageHeading = currentItem.hasOwnProperty('customPageHeading') ? currentItem['customPageHeading'] : null; + var ameHideHeading = null; + if ( customPageHeading ) { + //Temporarily hide the heading to prevent the original text from showing up briefly + //before being replaced when the DOM is ready (see below). + ameHideHeading = $('<style type="text/css">.wrap > h2:first-child { visibility: hidden; }</style>') + .appendTo('head'); + } + + jQuery(function($) { + var adminMenu = $('#adminmenu'); + + //Menu separators shouldn't be clickable and should have a custom class. + adminMenu + .find('.ws-submenu-separator') + .closest('a').click(function() { + return false; + }) + .closest('li').addClass('ws-submenu-separator-wrap'); + + //Menus with the target "< None >" also shouldn't be clickable. + adminMenu + .find( + 'a.menu-top.ame-unclickable-menu-item, ul.wp-submenu > li > a[href^="#ame-unclickable-menu-item"]' + ) + .click(function() { + return false; + }); + + //Replace the original page heading with the custom heading. + if ( customPageHeading ) { + function replaceAdminPageHeading(newText) { + var headingText = $('.wrap > h2:first') + .contents() + .filter(function() { + //Find text nodes. + if ((this.nodeType != 3) || (!this.nodeValue)) { + return false; + } + //Skip whitespace. + return /\S/.test(this.nodeValue); + }).get(0); + + if (headingText && headingText.nodeValue) { + headingText.nodeValue = newText; + } + } + + //Normal headings have at least one tab's worth of trailing whitespace. We need to replicate that + //to keep the page layout roughly the same. + replaceAdminPageHeading(customPageHeading + '\t'); + ameHideHeading.remove(); //Make the heading visible. + } + }); + +})(jQuery); \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/js/jquery.cookie.js b/wp-content/plugins/admin-menu-editor/js/jquery.cookie.js new file mode 100644 index 0000000..9271900 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/js/jquery.cookie.js @@ -0,0 +1,117 @@ +/*! + * jQuery Cookie Plugin v1.4.0 + * https://github.com/carhartl/jquery-cookie + * + * Copyright 2013 Klaus Hartl + * Released under the MIT license + */ +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as anonymous module. + define(['jquery'], factory); + } else { + // Browser globals. + factory(jQuery); + } +}(function ($) { + + var pluses = /\+/g; + + function encode(s) { + return config.raw ? s : encodeURIComponent(s); + } + + function decode(s) { + return config.raw ? s : decodeURIComponent(s); + } + + function stringifyCookieValue(value) { + return encode(config.json ? JSON.stringify(value) : String(value)); + } + + function parseCookieValue(s) { + if (s.indexOf('"') === 0) { + // This is a quoted cookie as according to RFC2068, unescape... + s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\'); + } + + try { + // Replace server-side written pluses with spaces. + // If we can't decode the cookie, ignore it, it's unusable. + s = decodeURIComponent(s.replace(pluses, ' ')); + } catch(e) { + return; + } + + try { + // If we can't parse the cookie, ignore it, it's unusable. + return config.json ? JSON.parse(s) : s; + } catch(e) {} + } + + function read(s, converter) { + var value = config.raw ? s : parseCookieValue(s); + return $.isFunction(converter) ? converter(value) : value; + } + + var config = $.cookie = function (key, value, options) { + + // Write + if (value !== undefined && !$.isFunction(value)) { + options = $.extend({}, config.defaults, options); + + if (typeof options.expires === 'number') { + var days = options.expires, t = options.expires = new Date(); + t.setDate(t.getDate() + days); + } + + return (document.cookie = [ + encode(key), '=', stringifyCookieValue(value), + options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE + options.path ? '; path=' + options.path : '', + options.domain ? '; domain=' + options.domain : '', + options.secure ? '; secure' : '' + ].join('')); + } + + // Read + + var result = key ? undefined : {}; + + // To prevent the for loop in the first place assign an empty array + // in case there are no cookies at all. Also prevents odd result when + // calling $.cookie(). + var cookies = document.cookie ? document.cookie.split('; ') : []; + + for (var i = 0, l = cookies.length; i < l; i++) { + var parts = cookies[i].split('='); + var name = decode(parts.shift()); + var cookie = parts.join('='); + + if (key && key === name) { + // If second argument (value) is a function it's a converter... + result = read(cookie, value); + break; + } + + // Prevent storing a cookie that we couldn't decode. + if (!key && (cookie = read(cookie)) !== undefined) { + result[name] = cookie; + } + } + + return result; + }; + + config.defaults = {}; + + $.removeCookie = function (key, options) { + if ($.cookie(key) !== undefined) { + // Must not alter options, thus extending a fresh object... + $.cookie(key, '', $.extend({}, options, { expires: -1 })); + return true; + } + return false; + }; + +})); diff --git a/wp-content/plugins/admin-menu-editor/js/jquery.form.js b/wp-content/plugins/admin-menu-editor/js/jquery.form.js new file mode 100644 index 0000000..c6542ee --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/js/jquery.form.js @@ -0,0 +1,1132 @@ +/*! + * jQuery Form Plugin + * version: 3.24 (26-DEC-2012) + * @requires jQuery v1.5 or later + * + * Examples and documentation at: http://malsup.com/jquery/form/ + * Project repository: https://github.com/malsup/form + * Dual licensed under the MIT and GPL licenses: + * http://malsup.github.com/mit-license.txt + * http://malsup.github.com/gpl-license-v2.txt + */ +/*global ActiveXObject alert */ +;(function($) { +"use strict"; + +/* + Usage Note: + ----------- + Do not use both ajaxSubmit and ajaxForm on the same form. These + functions are mutually exclusive. Use ajaxSubmit if you want + to bind your own submit handler to the form. For example, + + $(document).ready(function() { + $('#myForm').on('submit', function(e) { + e.preventDefault(); // <-- important + $(this).ajaxSubmit({ + target: '#output' + }); + }); + }); + + Use ajaxForm when you want the plugin to manage all the event binding + for you. For example, + + $(document).ready(function() { + $('#myForm').ajaxForm({ + target: '#output' + }); + }); + + You can also use ajaxForm with delegation (requires jQuery v1.7+), so the + form does not have to exist when you invoke ajaxForm: + + $('#myForm').ajaxForm({ + delegation: true, + target: '#output' + }); + + When using ajaxForm, the ajaxSubmit function will be invoked for you + at the appropriate time. +*/ + +/** + * Feature detection + */ +var feature = {}; +feature.fileapi = $("<input type='file'/>").get(0).files !== undefined; +feature.formdata = window.FormData !== undefined; + +/** + * ajaxSubmit() provides a mechanism for immediately submitting + * an HTML form using AJAX. + */ +$.fn.ajaxSubmit = function(options) { + /*jshint scripturl:true */ + + // fast fail if nothing selected (http://dev.jquery.com/ticket/2752) + if (!this.length) { + log('ajaxSubmit: skipping submit process - no element selected'); + return this; + } + + var method, action, url, $form = this; + + if (typeof options == 'function') { + options = { success: options }; + } + + method = this.attr('method'); + action = this.attr('action'); + url = (typeof action === 'string') ? $.trim(action) : ''; + url = url || window.location.href || ''; + if (url) { + // clean url (don't include hash vaue) + url = (url.match(/^([^#]+)/)||[])[1]; + } + + options = $.extend(true, { + url: url, + success: $.ajaxSettings.success, + type: method || 'GET', + iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank' + }, options); + + // hook for manipulating the form data before it is extracted; + // convenient for use with rich editors like tinyMCE or FCKEditor + var veto = {}; + this.trigger('form-pre-serialize', [this, options, veto]); + if (veto.veto) { + log('ajaxSubmit: submit vetoed via form-pre-serialize trigger'); + return this; + } + + // provide opportunity to alter form data before it is serialized + if (options.beforeSerialize && options.beforeSerialize(this, options) === false) { + log('ajaxSubmit: submit aborted via beforeSerialize callback'); + return this; + } + + var traditional = options.traditional; + if ( traditional === undefined ) { + traditional = $.ajaxSettings.traditional; + } + + var elements = []; + var qx, a = this.formToArray(options.semantic, elements); + if (options.data) { + options.extraData = options.data; + qx = $.param(options.data, traditional); + } + + // give pre-submit callback an opportunity to abort the submit + if (options.beforeSubmit && options.beforeSubmit(a, this, options) === false) { + log('ajaxSubmit: submit aborted via beforeSubmit callback'); + return this; + } + + // fire vetoable 'validate' event + this.trigger('form-submit-validate', [a, this, options, veto]); + if (veto.veto) { + log('ajaxSubmit: submit vetoed via form-submit-validate trigger'); + return this; + } + + var q = $.param(a, traditional); + if (qx) { + q = ( q ? (q + '&' + qx) : qx ); + } + if (options.type.toUpperCase() == 'GET') { + options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q; + options.data = null; // data is null for 'get' + } + else { + options.data = q; // data is the query string for 'post' + } + + var callbacks = []; + if (options.resetForm) { + callbacks.push(function() { $form.resetForm(); }); + } + if (options.clearForm) { + callbacks.push(function() { $form.clearForm(options.includeHidden); }); + } + + // perform a load on the target only if dataType is not provided + if (!options.dataType && options.target) { + var oldSuccess = options.success || function(){}; + callbacks.push(function(data) { + var fn = options.replaceTarget ? 'replaceWith' : 'html'; + $(options.target)[fn](data).each(oldSuccess, arguments); + }); + } + else if (options.success) { + callbacks.push(options.success); + } + + options.success = function(data, status, xhr) { // jQuery 1.4+ passes xhr as 3rd arg + var context = options.context || this ; // jQuery 1.4+ supports scope context + for (var i=0, max=callbacks.length; i < max; i++) { + callbacks[i].apply(context, [data, status, xhr || $form, $form]); + } + }; + + // are there files to upload? + + // [value] (issue #113), also see comment: + // https://github.com/malsup/form/commit/588306aedba1de01388032d5f42a60159eea9228#commitcomment-2180219 + var fileInputs = $('input[type=file]:enabled[value!=""]', this); + + var hasFileInputs = fileInputs.length > 0; + var mp = 'multipart/form-data'; + var multipart = ($form.attr('enctype') == mp || $form.attr('encoding') == mp); + + var fileAPI = feature.fileapi && feature.formdata; + log("fileAPI :" + fileAPI); + var shouldUseFrame = (hasFileInputs || multipart) && !fileAPI; + + var jqxhr; + + // options.iframe allows user to force iframe mode + // 06-NOV-09: now defaulting to iframe mode if file input is detected + if (options.iframe !== false && (options.iframe || shouldUseFrame)) { + // hack to fix Safari hang (thanks to Tim Molendijk for this) + // see: http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab510dd5d + if (options.closeKeepAlive) { + $.get(options.closeKeepAlive, function() { + jqxhr = fileUploadIframe(a); + }); + } + else { + jqxhr = fileUploadIframe(a); + } + } + else if ((hasFileInputs || multipart) && fileAPI) { + jqxhr = fileUploadXhr(a); + } + else { + jqxhr = $.ajax(options); + } + + $form.removeData('jqxhr').data('jqxhr', jqxhr); + + // clear element array + for (var k=0; k < elements.length; k++) + elements[k] = null; + + // fire 'notify' event + this.trigger('form-submit-notify', [this, options]); + return this; + + // utility fn for deep serialization + function deepSerialize(extraData){ + var serialized = $.param(extraData).split('&'); + var len = serialized.length; + var result = {}; + var i, part; + for (i=0; i < len; i++) { + // #252; undo param space replacement + serialized[i] = serialized[i].replace(/\+/g,' '); + part = serialized[i].split('='); + result[decodeURIComponent(part[0])] = decodeURIComponent(part[1]); + } + return result; + } + + // XMLHttpRequest Level 2 file uploads (big hat tip to francois2metz) + function fileUploadXhr(a) { + var formdata = new FormData(); + + for (var i=0; i < a.length; i++) { + formdata.append(a[i].name, a[i].value); + } + + if (options.extraData) { + var serializedData = deepSerialize(options.extraData); + for (var p in serializedData) + if (serializedData.hasOwnProperty(p)) + formdata.append(p, serializedData[p]); + } + + options.data = null; + + var s = $.extend(true, {}, $.ajaxSettings, options, { + contentType: false, + processData: false, + cache: false, + type: method || 'POST' + }); + + if (options.uploadProgress) { + // workaround because jqXHR does not expose upload property + s.xhr = function() { + var xhr = jQuery.ajaxSettings.xhr(); + if (xhr.upload) { + xhr.upload.onprogress = function(event) { + var percent = 0; + var position = event.loaded || event.position; /*event.position is deprecated*/ + var total = event.total; + if (event.lengthComputable) { + percent = Math.ceil(position / total * 100); + } + options.uploadProgress(event, position, total, percent); + }; + } + return xhr; + }; + } + + s.data = null; + var beforeSend = s.beforeSend; + s.beforeSend = function(xhr, o) { + o.data = formdata; + if(beforeSend) + beforeSend.call(this, xhr, o); + }; + return $.ajax(s); + } + + // private function for handling file uploads (hat tip to YAHOO!) + function fileUploadIframe(a) { + var form = $form[0], el, i, s, g, id, $io, io, xhr, sub, n, timedOut, timeoutHandle; + var useProp = !!$.fn.prop; + var deferred = $.Deferred(); + + if ($('[name=submit],[id=submit]', form).length) { + // if there is an input with a name or id of 'submit' then we won't be + // able to invoke the submit fn on the form (at least not x-browser) + alert('Error: Form elements must not have name or id of "submit".'); + deferred.reject(); + return deferred; + } + + if (a) { + // ensure that every serialized input is still enabled + for (i=0; i < elements.length; i++) { + el = $(elements[i]); + if ( useProp ) + el.prop('disabled', false); + else + el.removeAttr('disabled'); + } + } + + s = $.extend(true, {}, $.ajaxSettings, options); + s.context = s.context || s; + id = 'jqFormIO' + (new Date().getTime()); + if (s.iframeTarget) { + $io = $(s.iframeTarget); + n = $io.attr('name'); + if (!n) + $io.attr('name', id); + else + id = n; + } + else { + $io = $('<iframe name="' + id + '" src="'+ s.iframeSrc +'" />'); + $io.css({ position: 'absolute', top: '-1000px', left: '-1000px' }); + } + io = $io[0]; + + + xhr = { // mock object + aborted: 0, + responseText: null, + responseXML: null, + status: 0, + statusText: 'n/a', + getAllResponseHeaders: function() {}, + getResponseHeader: function() {}, + setRequestHeader: function() {}, + abort: function(status) { + var e = (status === 'timeout' ? 'timeout' : 'aborted'); + log('aborting upload... ' + e); + this.aborted = 1; + + try { // #214, #257 + if (io.contentWindow.document.execCommand) { + io.contentWindow.document.execCommand('Stop'); + } + } + catch(ignore) {} + + $io.attr('src', s.iframeSrc); // abort op in progress + xhr.error = e; + if (s.error) + s.error.call(s.context, xhr, e, status); + if (g) + $.event.trigger("ajaxError", [xhr, s, e]); + if (s.complete) + s.complete.call(s.context, xhr, e); + } + }; + + g = s.global; + // trigger ajax global events so that activity/block indicators work like normal + if (g && 0 === $.active++) { + $.event.trigger("ajaxStart"); + } + if (g) { + $.event.trigger("ajaxSend", [xhr, s]); + } + + if (s.beforeSend && s.beforeSend.call(s.context, xhr, s) === false) { + if (s.global) { + $.active--; + } + deferred.reject(); + return deferred; + } + if (xhr.aborted) { + deferred.reject(); + return deferred; + } + + // add submitting element to data if we know it + sub = form.clk; + if (sub) { + n = sub.name; + if (n && !sub.disabled) { + s.extraData = s.extraData || {}; + s.extraData[n] = sub.value; + if (sub.type == "image") { + s.extraData[n+'.x'] = form.clk_x; + s.extraData[n+'.y'] = form.clk_y; + } + } + } + + var CLIENT_TIMEOUT_ABORT = 1; + var SERVER_ABORT = 2; + + function getDoc(frame) { + var doc = frame.contentWindow ? frame.contentWindow.document : frame.contentDocument ? frame.contentDocument : frame.document; + return doc; + } + + // Rails CSRF hack (thanks to Yvan Barthelemy) + var csrf_token = $('meta[name=csrf-token]').attr('content'); + var csrf_param = $('meta[name=csrf-param]').attr('content'); + if (csrf_param && csrf_token) { + s.extraData = s.extraData || {}; + s.extraData[csrf_param] = csrf_token; + } + + // take a breath so that pending repaints get some cpu time before the upload starts + function doSubmit() { + // make sure form attrs are set + var t = $form.attr('target'), a = $form.attr('action'); + + // update form attrs in IE friendly way + form.setAttribute('target',id); + if (!method) { + form.setAttribute('method', 'POST'); + } + if (a != s.url) { + form.setAttribute('action', s.url); + } + + // ie borks in some cases when setting encoding + if (! s.skipEncodingOverride && (!method || /post/i.test(method))) { + $form.attr({ + encoding: 'multipart/form-data', + enctype: 'multipart/form-data' + }); + } + + // support timout + if (s.timeout) { + timeoutHandle = setTimeout(function() { timedOut = true; cb(CLIENT_TIMEOUT_ABORT); }, s.timeout); + } + + // look for server aborts + function checkState() { + try { + var state = getDoc(io).readyState; + log('state = ' + state); + if (state && state.toLowerCase() == 'uninitialized') + setTimeout(checkState,50); + } + catch(e) { + log('Server abort: ' , e, ' (', e.name, ')'); + cb(SERVER_ABORT); + if (timeoutHandle) + clearTimeout(timeoutHandle); + timeoutHandle = undefined; + } + } + + // add "extra" data to form if provided in options + var extraInputs = []; + try { + if (s.extraData) { + for (var n in s.extraData) { + if (s.extraData.hasOwnProperty(n)) { + // if using the $.param format that allows for multiple values with the same name + if($.isPlainObject(s.extraData[n]) && s.extraData[n].hasOwnProperty('name') && s.extraData[n].hasOwnProperty('value')) { + extraInputs.push( + $('<input type="hidden" name="'+s.extraData[n].name+'">').val(s.extraData[n].value) + .appendTo(form)[0]); + } else { + extraInputs.push( + $('<input type="hidden" name="'+n+'">').val(s.extraData[n]) + .appendTo(form)[0]); + } + } + } + } + + if (!s.iframeTarget) { + // add iframe to doc and submit the form + $io.appendTo('body'); + if (io.attachEvent) + io.attachEvent('onload', cb); + else + io.addEventListener('load', cb, false); + } + setTimeout(checkState,15); + form.submit(); + } + finally { + // reset attrs and remove "extra" input elements + form.setAttribute('action',a); + if(t) { + form.setAttribute('target', t); + } else { + $form.removeAttr('target'); + } + $(extraInputs).remove(); + } + } + + if (s.forceSync) { + doSubmit(); + } + else { + setTimeout(doSubmit, 10); // this lets dom updates render + } + + var data, doc, domCheckCount = 50, callbackProcessed; + + function cb(e) { + if (xhr.aborted || callbackProcessed) { + return; + } + try { + doc = getDoc(io); + } + catch(ex) { + log('cannot access response document: ', ex); + e = SERVER_ABORT; + } + if (e === CLIENT_TIMEOUT_ABORT && xhr) { + xhr.abort('timeout'); + deferred.reject(xhr, 'timeout'); + return; + } + else if (e == SERVER_ABORT && xhr) { + xhr.abort('server abort'); + deferred.reject(xhr, 'error', 'server abort'); + return; + } + + if (!doc || doc.location.href == s.iframeSrc) { + // response not received yet + if (!timedOut) + return; + } + if (io.detachEvent) + io.detachEvent('onload', cb); + else + io.removeEventListener('load', cb, false); + + var status = 'success', errMsg; + try { + if (timedOut) { + throw 'timeout'; + } + + var isXml = s.dataType == 'xml' || doc.XMLDocument || $.isXMLDoc(doc); + log('isXml='+isXml); + if (!isXml && window.opera && (doc.body === null || !doc.body.innerHTML)) { + if (--domCheckCount) { + // in some browsers (Opera) the iframe DOM is not always traversable when + // the onload callback fires, so we loop a bit to accommodate + log('requeing onLoad callback, DOM not available'); + setTimeout(cb, 250); + return; + } + // let this fall through because server response could be an empty document + //log('Could not access iframe DOM after mutiple tries.'); + //throw 'DOMException: not available'; + } + + //log('response detected'); + var docRoot = doc.body ? doc.body : doc.documentElement; + xhr.responseText = docRoot ? docRoot.innerHTML : null; + xhr.responseXML = doc.XMLDocument ? doc.XMLDocument : doc; + if (isXml) + s.dataType = 'xml'; + xhr.getResponseHeader = function(header){ + var headers = {'content-type': s.dataType}; + return headers[header]; + }; + // support for XHR 'status' & 'statusText' emulation : + if (docRoot) { + xhr.status = Number( docRoot.getAttribute('status') ) || xhr.status; + xhr.statusText = docRoot.getAttribute('statusText') || xhr.statusText; + } + + var dt = (s.dataType || '').toLowerCase(); + var scr = /(json|script|text)/.test(dt); + if (scr || s.textarea) { + // see if user embedded response in textarea + var ta = doc.getElementsByTagName('textarea')[0]; + if (ta) { + xhr.responseText = ta.value; + // support for XHR 'status' & 'statusText' emulation : + xhr.status = Number( ta.getAttribute('status') ) || xhr.status; + xhr.statusText = ta.getAttribute('statusText') || xhr.statusText; + } + else if (scr) { + // account for browsers injecting pre around json response + var pre = doc.getElementsByTagName('pre')[0]; + var b = doc.getElementsByTagName('body')[0]; + if (pre) { + xhr.responseText = pre.textContent ? pre.textContent : pre.innerText; + } + else if (b) { + xhr.responseText = b.textContent ? b.textContent : b.innerText; + } + } + } + else if (dt == 'xml' && !xhr.responseXML && xhr.responseText) { + xhr.responseXML = toXml(xhr.responseText); + } + + try { + data = httpData(xhr, dt, s); + } + catch (e) { + status = 'parsererror'; + xhr.error = errMsg = (e || status); + } + } + catch (e) { + log('error caught: ',e); + status = 'error'; + xhr.error = errMsg = (e || status); + } + + if (xhr.aborted) { + log('upload aborted'); + status = null; + } + + if (xhr.status) { // we've set xhr.status + status = (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) ? 'success' : 'error'; + } + + // ordering of these callbacks/triggers is odd, but that's how $.ajax does it + if (status === 'success') { + if (s.success) + s.success.call(s.context, data, 'success', xhr); + deferred.resolve(xhr.responseText, 'success', xhr); + if (g) + $.event.trigger("ajaxSuccess", [xhr, s]); + } + else if (status) { + if (errMsg === undefined) + errMsg = xhr.statusText; + if (s.error) + s.error.call(s.context, xhr, status, errMsg); + deferred.reject(xhr, 'error', errMsg); + if (g) + $.event.trigger("ajaxError", [xhr, s, errMsg]); + } + + if (g) + $.event.trigger("ajaxComplete", [xhr, s]); + + if (g && ! --$.active) { + $.event.trigger("ajaxStop"); + } + + if (s.complete) + s.complete.call(s.context, xhr, status); + + callbackProcessed = true; + if (s.timeout) + clearTimeout(timeoutHandle); + + // clean up + setTimeout(function() { + if (!s.iframeTarget) + $io.remove(); + xhr.responseXML = null; + }, 100); + } + + var toXml = $.parseXML || function(s, doc) { // use parseXML if available (jQuery 1.5+) + if (window.ActiveXObject) { + doc = new ActiveXObject('Microsoft.XMLDOM'); + doc.async = 'false'; + doc.loadXML(s); + } + else { + doc = (new DOMParser()).parseFromString(s, 'text/xml'); + } + return (doc && doc.documentElement && doc.documentElement.nodeName != 'parsererror') ? doc : null; + }; + var parseJSON = $.parseJSON || function(s) { + /*jslint evil:true */ + return window['eval']('(' + s + ')'); + }; + + var httpData = function( xhr, type, s ) { // mostly lifted from jq1.4.4 + + var ct = xhr.getResponseHeader('content-type') || '', + xml = type === 'xml' || !type && ct.indexOf('xml') >= 0, + data = xml ? xhr.responseXML : xhr.responseText; + + if (xml && data.documentElement.nodeName === 'parsererror') { + if ($.error) + $.error('parsererror'); + } + if (s && s.dataFilter) { + data = s.dataFilter(data, type); + } + if (typeof data === 'string') { + if (type === 'json' || !type && ct.indexOf('json') >= 0) { + data = parseJSON(data); + } else if (type === "script" || !type && ct.indexOf("javascript") >= 0) { + $.globalEval(data); + } + } + return data; + }; + + return deferred; + } +}; + +/** + * ajaxForm() provides a mechanism for fully automating form submission. + * + * The advantages of using this method instead of ajaxSubmit() are: + * + * 1: This method will include coordinates for <input type="image" /> elements (if the element + * is used to submit the form). + * 2. This method will include the submit element's name/value data (for the element that was + * used to submit the form). + * 3. This method binds the submit() method to the form for you. + * + * The options argument for ajaxForm works exactly as it does for ajaxSubmit. ajaxForm merely + * passes the options argument along after properly binding events for submit elements and + * the form itself. + */ +$.fn.ajaxForm = function(options) { + options = options || {}; + options.delegation = options.delegation && $.isFunction($.fn.on); + + // in jQuery 1.3+ we can fix mistakes with the ready state + if (!options.delegation && this.length === 0) { + var o = { s: this.selector, c: this.context }; + if (!$.isReady && o.s) { + log('DOM not ready, queuing ajaxForm'); + $(function() { + $(o.s,o.c).ajaxForm(options); + }); + return this; + } + // is your DOM ready? http://docs.jquery.com/Tutorials:Introducing_$(document).ready() + log('terminating; zero elements found by selector' + ($.isReady ? '' : ' (DOM not ready)')); + return this; + } + + if ( options.delegation ) { + $(document) + .off('submit.form-plugin', this.selector, doAjaxSubmit) + .off('click.form-plugin', this.selector, captureSubmittingElement) + .on('submit.form-plugin', this.selector, options, doAjaxSubmit) + .on('click.form-plugin', this.selector, options, captureSubmittingElement); + return this; + } + + return this.ajaxFormUnbind() + .bind('submit.form-plugin', options, doAjaxSubmit) + .bind('click.form-plugin', options, captureSubmittingElement); +}; + +// private event handlers +function doAjaxSubmit(e) { + /*jshint validthis:true */ + var options = e.data; + if (!e.isDefaultPrevented()) { // if event has been canceled, don't proceed + e.preventDefault(); + $(this).ajaxSubmit(options); + } +} + +function captureSubmittingElement(e) { + /*jshint validthis:true */ + var target = e.target; + var $el = $(target); + if (!($el.is("[type=submit],[type=image]"))) { + // is this a child element of the submit el? (ex: a span within a button) + var t = $el.closest('[type=submit]'); + if (t.length === 0) { + return; + } + target = t[0]; + } + var form = this; + form.clk = target; + if (target.type == 'image') { + if (e.offsetX !== undefined) { + form.clk_x = e.offsetX; + form.clk_y = e.offsetY; + } else if (typeof $.fn.offset == 'function') { + var offset = $el.offset(); + form.clk_x = e.pageX - offset.left; + form.clk_y = e.pageY - offset.top; + } else { + form.clk_x = e.pageX - target.offsetLeft; + form.clk_y = e.pageY - target.offsetTop; + } + } + // clear form vars + setTimeout(function() { form.clk = form.clk_x = form.clk_y = null; }, 100); +} + + +// ajaxFormUnbind unbinds the event handlers that were bound by ajaxForm +$.fn.ajaxFormUnbind = function() { + return this.unbind('submit.form-plugin click.form-plugin'); +}; + +/** + * formToArray() gathers form element data into an array of objects that can + * be passed to any of the following ajax functions: $.get, $.post, or load. + * Each object in the array has both a 'name' and 'value' property. An example of + * an array for a simple login form might be: + * + * [ { name: 'username', value: 'jresig' }, { name: 'password', value: 'secret' } ] + * + * It is this array that is passed to pre-submit callback functions provided to the + * ajaxSubmit() and ajaxForm() methods. + */ +$.fn.formToArray = function(semantic, elements) { + var a = []; + if (this.length === 0) { + return a; + } + + var form = this[0]; + var els = semantic ? form.getElementsByTagName('*') : form.elements; + if (!els) { + return a; + } + + var i,j,n,v,el,max,jmax; + for(i=0, max=els.length; i < max; i++) { + el = els[i]; + n = el.name; + if (!n) { + continue; + } + + if (semantic && form.clk && el.type == "image") { + // handle image inputs on the fly when semantic == true + if(!el.disabled && form.clk == el) { + a.push({name: n, value: $(el).val(), type: el.type }); + a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y}); + } + continue; + } + + v = $.fieldValue(el, true); + if (v && v.constructor == Array) { + if (elements) + elements.push(el); + for(j=0, jmax=v.length; j < jmax; j++) { + a.push({name: n, value: v[j]}); + } + } + else if (feature.fileapi && el.type == 'file' && !el.disabled) { + if (elements) + elements.push(el); + var files = el.files; + if (files.length) { + for (j=0; j < files.length; j++) { + a.push({name: n, value: files[j], type: el.type}); + } + } + else { + // #180 + a.push({ name: n, value: '', type: el.type }); + } + } + else if (v !== null && typeof v != 'undefined') { + if (elements) + elements.push(el); + a.push({name: n, value: v, type: el.type, required: el.required}); + } + } + + if (!semantic && form.clk) { + // input type=='image' are not found in elements array! handle it here + var $input = $(form.clk), input = $input[0]; + n = input.name; + if (n && !input.disabled && input.type == 'image') { + a.push({name: n, value: $input.val()}); + a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y}); + } + } + return a; +}; + +/** + * Serializes form data into a 'submittable' string. This method will return a string + * in the format: name1=value1&name2=value2 + */ +$.fn.formSerialize = function(semantic) { + //hand off to jQuery.param for proper encoding + return $.param(this.formToArray(semantic)); +}; + +/** + * Serializes all field elements in the jQuery object into a query string. + * This method will return a string in the format: name1=value1&name2=value2 + */ +$.fn.fieldSerialize = function(successful) { + var a = []; + this.each(function() { + var n = this.name; + if (!n) { + return; + } + var v = $.fieldValue(this, successful); + if (v && v.constructor == Array) { + for (var i=0,max=v.length; i < max; i++) { + a.push({name: n, value: v[i]}); + } + } + else if (v !== null && typeof v != 'undefined') { + a.push({name: this.name, value: v}); + } + }); + //hand off to jQuery.param for proper encoding + return $.param(a); +}; + +/** + * Returns the value(s) of the element in the matched set. For example, consider the following form: + * + * <form><fieldset> + * <input name="A" type="text" /> + * <input name="A" type="text" /> + * <input name="B" type="checkbox" value="B1" /> + * <input name="B" type="checkbox" value="B2"/> + * <input name="C" type="radio" value="C1" /> + * <input name="C" type="radio" value="C2" /> + * </fieldset></form> + * + * var v = $('input[type=text]').fieldValue(); + * // if no values are entered into the text inputs + * v == ['',''] + * // if values entered into the text inputs are 'foo' and 'bar' + * v == ['foo','bar'] + * + * var v = $('input[type=checkbox]').fieldValue(); + * // if neither checkbox is checked + * v === undefined + * // if both checkboxes are checked + * v == ['B1', 'B2'] + * + * var v = $('input[type=radio]').fieldValue(); + * // if neither radio is checked + * v === undefined + * // if first radio is checked + * v == ['C1'] + * + * The successful argument controls whether or not the field element must be 'successful' + * (per http://www.w3.org/TR/html4/interact/forms.html#successful-controls). + * The default value of the successful argument is true. If this value is false the value(s) + * for each element is returned. + * + * Note: This method *always* returns an array. If no valid value can be determined the + * array will be empty, otherwise it will contain one or more values. + */ +$.fn.fieldValue = function(successful) { + for (var val=[], i=0, max=this.length; i < max; i++) { + var el = this[i]; + var v = $.fieldValue(el, successful); + if (v === null || typeof v == 'undefined' || (v.constructor == Array && !v.length)) { + continue; + } + if (v.constructor == Array) + $.merge(val, v); + else + val.push(v); + } + return val; +}; + +/** + * Returns the value of the field element. + */ +$.fieldValue = function(el, successful) { + var n = el.name, t = el.type, tag = el.tagName.toLowerCase(); + if (successful === undefined) { + successful = true; + } + + if (successful && (!n || el.disabled || t == 'reset' || t == 'button' || + (t == 'checkbox' || t == 'radio') && !el.checked || + (t == 'submit' || t == 'image') && el.form && el.form.clk != el || + tag == 'select' && el.selectedIndex == -1)) { + return null; + } + + if (tag == 'select') { + var index = el.selectedIndex; + if (index < 0) { + return null; + } + var a = [], ops = el.options; + var one = (t == 'select-one'); + var max = (one ? index+1 : ops.length); + for(var i=(one ? index : 0); i < max; i++) { + var op = ops[i]; + if (op.selected) { + var v = op.value; + if (!v) { // extra pain for IE... + v = (op.attributes && op.attributes['value'] && !(op.attributes['value'].specified)) ? op.text : op.value; + } + if (one) { + return v; + } + a.push(v); + } + } + return a; + } + return $(el).val(); +}; + +/** + * Clears the form data. Takes the following actions on the form's input fields: + * - input text fields will have their 'value' property set to the empty string + * - select elements will have their 'selectedIndex' property set to -1 + * - checkbox and radio inputs will have their 'checked' property set to false + * - inputs of type submit, button, reset, and hidden will *not* be effected + * - button elements will *not* be effected + */ +$.fn.clearForm = function(includeHidden) { + return this.each(function() { + $('input,select,textarea', this).clearFields(includeHidden); + }); +}; + +/** + * Clears the selected form elements. + */ +$.fn.clearFields = $.fn.clearInputs = function(includeHidden) { + var re = /^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i; // 'hidden' is not in this list + return this.each(function() { + var t = this.type, tag = this.tagName.toLowerCase(); + if (re.test(t) || tag == 'textarea') { + this.value = ''; + } + else if (t == 'checkbox' || t == 'radio') { + this.checked = false; + } + else if (tag == 'select') { + this.selectedIndex = -1; + } + else if (t == "file") { + if ($.browser.msie) { + $(this).replaceWith($(this).clone()); + } else { + $(this).val(''); + } + } + else if (includeHidden) { + // includeHidden can be the value true, or it can be a selector string + // indicating a special test; for example: + // $('#myForm').clearForm('.special:hidden') + // the above would clean hidden inputs that have the class of 'special' + if ( (includeHidden === true && /hidden/.test(t)) || + (typeof includeHidden == 'string' && $(this).is(includeHidden)) ) + this.value = ''; + } + }); +}; + +/** + * Resets the form data. Causes all form elements to be reset to their original value. + */ +$.fn.resetForm = function() { + return this.each(function() { + // guard against an input with the name of 'reset' + // note that IE reports the reset function as an 'object' + if (typeof this.reset == 'function' || (typeof this.reset == 'object' && !this.reset.nodeType)) { + this.reset(); + } + }); +}; + +/** + * Enables or disables any matching elements. + */ +$.fn.enable = function(b) { + if (b === undefined) { + b = true; + } + return this.each(function() { + this.disabled = !b; + }); +}; + +/** + * Checks/unchecks any matching checkboxes or radio buttons and + * selects/deselects and matching option elements. + */ +$.fn.selected = function(select) { + if (select === undefined) { + select = true; + } + return this.each(function() { + var t = this.type; + if (t == 'checkbox' || t == 'radio') { + this.checked = select; + } + else if (this.tagName.toLowerCase() == 'option') { + var $sel = $(this).parent('select'); + if (select && $sel[0] && $sel[0].type == 'select-one') { + // deselect all other options + $sel.find('option').selected(false); + } + this.selected = select; + } + }); +}; + +// expose debug var +$.fn.ajaxSubmit.debug = false; + +// helper fn for console logging +function log() { + if (!$.fn.ajaxSubmit.debug) + return; + var msg = '[jquery.form] ' + Array.prototype.join.call(arguments,''); + if (window.console && window.console.log) { + window.console.log(msg); + } + else if (window.opera && window.opera.postError) { + window.opera.postError(msg); + } +} + +})(jQuery); diff --git a/wp-content/plugins/admin-menu-editor/js/jquery.json.js b/wp-content/plugins/admin-menu-editor/js/jquery.json.js new file mode 100644 index 0000000..225ca82 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/js/jquery.json.js @@ -0,0 +1,156 @@ +/* + * jQuery JSON Plugin + * version: 1.0 (2008-04-17) + * + * This document is licensed as free software under the terms of the + * MIT License: http://www.opensource.org/licenses/mit-license.php + * + * Brantley Harris technically wrote this plugin, but it is based somewhat + * on the JSON.org website's http://www.json.org/json2.js, which proclaims: + * "NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.", a sentiment that + * I uphold. I really just cleaned it up. + * + * It is also based heavily on MochiKit's serializeJSON, which is + * copywrited 2005 by Bob Ippolito. + */ + +(function($) { + function toIntegersAtLease(n) + // Format integers to have at least two digits. + { + return n < 10 ? '0' + n : n; + } + + Date.prototype.toJSON = function(date) + // Yes, it polutes the Date namespace, but we'll allow it here, as + // it's damned usefull. + { + return this.getUTCFullYear() + '-' + + toIntegersAtLease(this.getUTCMonth()) + '-' + + toIntegersAtLease(this.getUTCDate()); + }; + + var escapeable = /["\\\x00-\x1f\x7f-\x9f]/g; + var meta = { // table of character substitutions + '\b': '\\b', + '\t': '\\t', + '\n': '\\n', + '\f': '\\f', + '\r': '\\r', + '"' : '\\"', + '\\': '\\\\' + }; + + $.quoteString = function(string) + // Places quotes around a string, inteligently. + // If the string contains no control characters, no quote characters, and no + // backslash characters, then we can safely slap some quotes around it. + // Otherwise we must also replace the offending characters with safe escape + // sequences. + { + if (escapeable.test(string)) + { + return '"' + string.replace(escapeable, function (a) + { + var c = meta[a]; + if (typeof c === 'string') { + return c; + } + c = a.charCodeAt(); + return '\\u00' + Math.floor(c / 16).toString(16) + (c % 16).toString(16); + }) + '"'; + } + return '"' + string + '"'; + }; + + $.toJSON = function(o, compact) + { + var type = typeof(o); + + if (type == "undefined") + return "undefined"; + else if (type == "number" || type == "boolean") + return o + ""; + else if (o === null) + return "null"; + + // Is it a string? + if (type == "string") + { + return $.quoteString(o); + } + + // Does it have a .toJSON function? + if (type == "object" && typeof o.toJSON == "function") + return o.toJSON(compact); + + // Is it an array? + if (type != "function" && typeof(o.length) == "number") + { + var ret = []; + for (var i = 0; i < o.length; i++) { + ret.push( $.toJSON(o[i], compact) ); + } + if (compact) + return "[" + ret.join(",") + "]"; + else + return "[" + ret.join(", ") + "]"; + } + + // If it's a function, we have to warn somebody! + if (type == "function") { + throw new TypeError("Unable to convert object of type 'function' to json."); + } + + // It's probably an object, then. + var ret = []; + for (var k in o) { + var name; + type = typeof(k); + + if (type == "number") + name = '"' + k + '"'; + else if (type == "string") + name = $.quoteString(k); + else + continue; //skip non-string or number keys + + var val = $.toJSON(o[k], compact); + if (typeof(val) != "string") { + // skip non-serializable values + continue; + } + + if (compact) + ret.push(name + ":" + val); + else + ret.push(name + ": " + val); + } + return "{" + ret.join(", ") + "}"; + }; + + $.compactJSON = function(o) + { + return $.toJSON(o, true); + }; + + $.evalJSON = function(src) + // Evals JSON that we know to be safe. + { + return eval("(" + src + ")"); + }; + + $.secureEvalJSON = function(src) + // Evals JSON in a way that is *more* secure. + { + var filtered = src; + filtered = filtered.replace(/\\["\\\/bfnrtu]/g, '@'); + filtered = filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']'); + filtered = filtered.replace(/(?:^|:|,)(?:\s*\[)+/g, ''); + + if (/^[\],:{}\s]*$/.test(filtered)) + return eval("(" + src + ")"); + else + throw new SyntaxError("Error parsing JSON, source is not valid."); + }; +})(jQuery); diff --git a/wp-content/plugins/admin-menu-editor/js/jquery.qtip.js b/wp-content/plugins/admin-menu-editor/js/jquery.qtip.js new file mode 100644 index 0000000..1c910a9 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/js/jquery.qtip.js @@ -0,0 +1,3365 @@ +/*! qTip2 - Pretty powerful tooltips - v2.0.0 - 2012-09-10 +* http://craigsworks.com/projects/qtip2/ +* Copyright (c) 2012 Craig Michael Thompson; Licensed MIT, GPL */ + +/*jslint browser: true, onevar: true, undef: true, nomen: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: true */ +/*global window: false, jQuery: false, console: false, define: false */ + +/* Cache window, document, undefined */ +(function( window, document, undefined ) { + +// Uses AMD or browser globals to create a jQuery plugin. +(function( factory ) { + "use strict"; + if(typeof define === 'function' && define.amd) { + define(['jquery'], factory); + } + else if(jQuery && !jQuery.fn.qtip) { + factory(jQuery); + } +} +(function($) { + /* This currently causes issues with Safari 6, so for it's disabled */ + //"use strict"; // (Dis)able ECMAScript "strict" operation for this function. See more: http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/ + + // Munge the primitives - Paul Irish tip + var TRUE = true, + FALSE = false, + NULL = null, + + // Side names and other stuff + X = 'x', Y = 'y', + WIDTH = 'width', + HEIGHT = 'height', + TOP = 'top', + LEFT = 'left', + BOTTOM = 'bottom', + RIGHT = 'right', + CENTER = 'center', + FLIP = 'flip', + FLIPINVERT = 'flipinvert', + SHIFT = 'shift', + + // Shortcut vars + QTIP, PLUGINS, MOUSE, + usedIDs = {}, + uitooltip = 'ui-tooltip', + widget = 'ui-widget', + disabled = 'ui-state-disabled', + selector = 'div.qtip.'+uitooltip, + defaultClass = uitooltip + '-default', + focusClass = uitooltip + '-focus', + hoverClass = uitooltip + '-hover', + replaceSuffix = '_replacedByqTip', + oldtitle = 'oldtitle', + trackingBound, + redrawContainer; + + /* + * redraw() container for width/height calculations + */ + redrawContainer = $('<div/>', { id: 'qtip-rcontainer' }); + $(function() { redrawContainer.appendTo(document.body); }); + + + +// Option object sanitizer +function sanitizeOptions(opts) +{ + var invalid = function(a) { return a === NULL || 'object' !== typeof a; }, + invalidContent = function(c) { return !$.isFunction(c) && ((!c && !c.attr) || c.length < 1 || ('object' === typeof c && !c.jquery)); }; + + if(!opts || 'object' !== typeof opts) { return FALSE; } + + if(invalid(opts.metadata)) { + opts.metadata = { type: opts.metadata }; + } + + if('content' in opts) { + if(invalid(opts.content) || opts.content.jquery) { + opts.content = { text: opts.content }; + } + + if(invalidContent(opts.content.text || FALSE)) { + opts.content.text = FALSE; + } + + if('title' in opts.content) { + if(invalid(opts.content.title)) { + opts.content.title = { text: opts.content.title }; + } + + if(invalidContent(opts.content.title.text || FALSE)) { + opts.content.title.text = FALSE; + } + } + } + + if('position' in opts && invalid(opts.position)) { + opts.position = { my: opts.position, at: opts.position }; + } + + if('show' in opts && invalid(opts.show)) { + opts.show = opts.show.jquery ? { target: opts.show } : { event: opts.show }; + } + + if('hide' in opts && invalid(opts.hide)) { + opts.hide = opts.hide.jquery ? { target: opts.hide } : { event: opts.hide }; + } + + if('style' in opts && invalid(opts.style)) { + opts.style = { classes: opts.style }; + } + + // Sanitize plugin options + $.each(PLUGINS, function() { + if(this.sanitize) { this.sanitize(opts); } + }); + + return opts; +} + +/* +* Core plugin implementation +*/ +function QTip(target, options, id, attr) +{ + // Declare this reference + var self = this, + docBody = document.body, + tooltipID = uitooltip + '-' + id, + isPositioning = 0, + isDrawing = 0, + tooltip = $(), + namespace = '.qtip-' + id, + elements, cache; + + // Setup class attributes + self.id = id; + self.rendered = FALSE; + self.destroyed = FALSE; + self.elements = elements = { target: target }; + self.timers = { img: {} }; + self.options = options; + self.checks = {}; + self.plugins = {}; + self.cache = cache = { + event: {}, + target: $(), + disabled: FALSE, + attr: attr, + onTarget: FALSE, + lastClass: '' + }; + + /* + * Private core functions + */ + function convertNotation(notation) + { + var i = 0, obj, option = options, + + // Split notation into array + levels = notation.split('.'); + + // Loop through + while( option = option[ levels[i++] ] ) { + if(i < levels.length) { obj = option; } + } + + return [obj || options, levels.pop()]; + } + + function triggerEvent(type, args, event) { + var callback = $.Event('tooltip'+type); + callback.originalEvent = (event ? $.extend({}, event) : NULL) || cache.event || NULL; + tooltip.trigger(callback, [self].concat(args || [])); + + return !callback.isDefaultPrevented(); + } + + function setWidget() + { + var on = options.style.widget; + + tooltip.toggleClass('ui-helper-reset '+widget, on).toggleClass(defaultClass, options.style.def && !on); + + if(elements.content) { + elements.content.toggleClass(widget+'-content', on); + } + + if(elements.titlebar) { + elements.titlebar.toggleClass(widget+'-header', on); + } + if(elements.button) { + elements.button.toggleClass(uitooltip+'-icon', !on); + } + } + + function removeTitle(reposition) + { + if(elements.title) { + elements.titlebar.remove(); + elements.titlebar = elements.title = elements.button = NULL; + + // Reposition if enabled + if(reposition !== FALSE) { self.reposition(); } + } + } + + function createButton() + { + var button = options.content.title.button, + isString = typeof button === 'string', + close = isString ? button : 'Close tooltip'; + + if(elements.button) { elements.button.remove(); } + + // Use custom button if one was supplied by user, else use default + if(button.jquery) { + elements.button = button; + } + else { + elements.button = $('<a />', { + 'class': 'ui-state-default ui-tooltip-close ' + (options.style.widget ? '' : uitooltip+'-icon'), + 'title': close, + 'aria-label': close + }) + .prepend( + $('<span />', { + 'class': 'ui-icon ui-icon-close', + 'html': '×' + }) + ); + } + + // Create button and setup attributes + elements.button.appendTo(elements.titlebar) + .attr('role', 'button') + .click(function(event) { + if(!tooltip.hasClass(disabled)) { self.hide(event); } + return FALSE; + }); + + // Redraw the tooltip when we're done + self.redraw(); + } + + function createTitle() + { + var id = tooltipID+'-title'; + + // Destroy previous title element, if present + if(elements.titlebar) { removeTitle(); } + + // Create title bar and title elements + elements.titlebar = $('<div />', { + 'class': uitooltip + '-titlebar ' + (options.style.widget ? 'ui-widget-header' : '') + }) + .append( + elements.title = $('<div />', { + 'id': id, + 'class': uitooltip + '-title', + 'aria-atomic': TRUE + }) + ) + .insertBefore(elements.content) + + // Button-specific events + .delegate('.ui-tooltip-close', 'mousedown keydown mouseup keyup mouseout', function(event) { + $(this).toggleClass('ui-state-active ui-state-focus', event.type.substr(-4) === 'down'); + }) + .delegate('.ui-tooltip-close', 'mouseover mouseout', function(event){ + $(this).toggleClass('ui-state-hover', event.type === 'mouseover'); + }); + + // Create button if enabled + if(options.content.title.button) { createButton(); } + + // Redraw the tooltip dimensions if it's rendered + else if(self.rendered){ self.redraw(); } + } + + function updateButton(button) + { + var elem = elements.button, + title = elements.title; + + // Make sure tooltip is rendered and if not, return + if(!self.rendered) { return FALSE; } + + if(!button) { + elem.remove(); + } + else { + if(!title) { + createTitle(); + } + createButton(); + } + } + + function updateTitle(content, reposition) + { + var elem = elements.title; + + // Make sure tooltip is rendered and if not, return + if(!self.rendered || !content) { return FALSE; } + + // Use function to parse content + if($.isFunction(content)) { + content = content.call(target, cache.event, self); + } + + // Remove title if callback returns false or null/undefined (but not '') + if(content === FALSE || (!content && content !== '')) { return removeTitle(FALSE); } + + // Append new content if its a DOM array and show it if hidden + else if(content.jquery && content.length > 0) { + elem.empty().append(content.css({ display: 'block' })); + } + + // Content is a regular string, insert the new content + else { elem.html(content); } + + // Redraw and reposition + self.redraw(); + if(reposition !== FALSE && self.rendered && tooltip[0].offsetWidth > 0) { + self.reposition(cache.event); + } + } + + function updateContent(content, reposition) + { + var elem = elements.content; + + // Make sure tooltip is rendered and content is defined. If not return + if(!self.rendered || !content) { return FALSE; } + + // Use function to parse content + if($.isFunction(content)) { + content = content.call(target, cache.event, self) || ''; + } + + // Append new content if its a DOM array and show it if hidden + if(content.jquery && content.length > 0) { + elem.empty().append(content.css({ display: 'block' })); + } + + // Content is a regular string, insert the new content + else { elem.html(content); } + + // Image detection + function detectImages(next) { + var images, srcs = {}; + + function imageLoad(image) { + // Clear src from object and any timers and events associated with the image + if(image) { + delete srcs[image.src]; + clearTimeout(self.timers.img[image.src]); + $(image).unbind(namespace); + } + + // If queue is empty after image removal, update tooltip and continue the queue + if($.isEmptyObject(srcs)) { + self.redraw(); + if(reposition !== FALSE) { + self.reposition(cache.event); + } + + next(); + } + } + + // Find all content images without dimensions, and if no images were found, continue + if((images = elem.find('img[src]:not([height]):not([width])')).length === 0) { return imageLoad(); } + + // Apply timer to each image to poll for dimensions + images.each(function(i, elem) { + // Skip if the src is already present + if(srcs[elem.src] !== undefined) { return; } + + // Keep track of how many times we poll for image dimensions. + // If it doesn't return in a reasonable amount of time, it's better + // to display the tooltip, rather than hold up the queue. + var iterations = 0, maxIterations = 3; + + (function timer(){ + // When the dimensions are found, remove the image from the queue + if(elem.height || elem.width || (iterations > maxIterations)) { return imageLoad(elem); } + + // Increase iterations and restart timer + iterations += 1; + self.timers.img[elem.src] = setTimeout(timer, 700); + }()); + + // Also apply regular load/error event handlers + $(elem).bind('error'+namespace+' load'+namespace, function(){ imageLoad(this); }); + + // Store the src and element in our object + srcs[elem.src] = elem; + }); + } + + /* + * If we're still rendering... insert into 'fx' queue our image dimension + * checker which will halt the showing of the tooltip until image dimensions + * can be detected properly. + */ + if(self.rendered < 0) { tooltip.queue('fx', detectImages); } + + // We're fully rendered, so reset isDrawing flag and proceed without queue delay + else { isDrawing = 0; detectImages($.noop); } + + return self; + } + + function assignEvents() + { + var posOptions = options.position, + targets = { + show: options.show.target, + hide: options.hide.target, + viewport: $(posOptions.viewport), + document: $(document), + body: $(document.body), + window: $(window) + }, + events = { + show: $.trim('' + options.show.event).split(' '), + hide: $.trim('' + options.hide.event).split(' ') + }, + IE6 = $.browser.msie && parseInt($.browser.version, 10) === 6; + + // Define show event method + function showMethod(event) + { + if(tooltip.hasClass(disabled)) { return FALSE; } + + // Clear hide timers + clearTimeout(self.timers.show); + clearTimeout(self.timers.hide); + + // Start show timer + var callback = function(){ self.toggle(TRUE, event); }; + if(options.show.delay > 0) { + self.timers.show = setTimeout(callback, options.show.delay); + } + else{ callback(); } + } + + // Define hide method + function hideMethod(event) + { + if(tooltip.hasClass(disabled) || isPositioning || isDrawing) { return FALSE; } + + // Check if new target was actually the tooltip element + var relatedTarget = $(event.relatedTarget || event.target), + ontoTooltip = relatedTarget.closest(selector)[0] === tooltip[0], + ontoTarget = relatedTarget[0] === targets.show[0]; + + // Clear timers and stop animation queue + clearTimeout(self.timers.show); + clearTimeout(self.timers.hide); + + // Prevent hiding if tooltip is fixed and event target is the tooltip. Or if mouse positioning is enabled and cursor momentarily overlaps + if((posOptions.target === 'mouse' && ontoTooltip) || (options.hide.fixed && ((/mouse(out|leave|move)/).test(event.type) && (ontoTooltip || ontoTarget)))) { + try { event.preventDefault(); event.stopImmediatePropagation(); } catch(e) {} return; + } + + // If tooltip has displayed, start hide timer + if(options.hide.delay > 0) { + self.timers.hide = setTimeout(function(){ self.hide(event); }, options.hide.delay); + } + else{ self.hide(event); } + } + + // Define inactive method + function inactiveMethod(event) + { + if(tooltip.hasClass(disabled)) { return FALSE; } + + // Clear timer + clearTimeout(self.timers.inactive); + self.timers.inactive = setTimeout(function(){ self.hide(event); }, options.hide.inactive); + } + + function repositionMethod(event) { + if(self.rendered && tooltip[0].offsetWidth > 0) { self.reposition(event); } + } + + // On mouseenter/mouseleave... + tooltip.bind('mouseenter'+namespace+' mouseleave'+namespace, function(event) { + var state = event.type === 'mouseenter'; + + // Focus the tooltip on mouseenter (z-index stacking) + if(state) { self.focus(event); } + + // Add hover class + tooltip.toggleClass(hoverClass, state); + }); + + // If using mouseout/mouseleave as a hide event... + if(/mouse(out|leave)/i.test(options.hide.event)) { + // Hide tooltips when leaving current window/frame (but not select/option elements) + if(options.hide.leave === 'window') { + targets.window.bind('mouseout'+namespace+' blur'+namespace, function(event) { + if(!/select|option/.test(event.target.nodeName) && !event.relatedTarget) { self.hide(event); } + }); + } + } + + // Enable hide.fixed + if(options.hide.fixed) { + // Add tooltip as a hide target + targets.hide = targets.hide.add(tooltip); + + // Clear hide timer on tooltip hover to prevent it from closing + tooltip.bind('mouseover'+namespace, function() { + if(!tooltip.hasClass(disabled)) { clearTimeout(self.timers.hide); } + }); + } + + /* + * Make sure hoverIntent functions properly by using mouseleave to clear show timer if + * mouseenter/mouseout is used for show.event, even if it isn't in the users options. + */ + else if(/mouse(over|enter)/i.test(options.show.event)) { + targets.hide.bind('mouseleave'+namespace, function(event) { + clearTimeout(self.timers.show); + }); + } + + // Hide tooltip on document mousedown if unfocus events are enabled + if(('' + options.hide.event).indexOf('unfocus') > -1) { + posOptions.container.closest('html').bind('mousedown'+namespace, function(event) { + var elem = $(event.target), + enabled = self.rendered && !tooltip.hasClass(disabled) && tooltip[0].offsetWidth > 0, + isAncestor = elem.parents(selector).filter(tooltip[0]).length > 0; + + if(elem[0] !== target[0] && elem[0] !== tooltip[0] && !isAncestor && + !target.has(elem[0]).length && !elem.attr('disabled') + ) { + self.hide(event); + } + }); + } + + // Check if the tooltip hides when inactive + if('number' === typeof options.hide.inactive) { + // Bind inactive method to target as a custom event + targets.show.bind('qtip-'+id+'-inactive', inactiveMethod); + + // Define events which reset the 'inactive' event handler + $.each(QTIP.inactiveEvents, function(index, type){ + targets.hide.add(elements.tooltip).bind(type+namespace+'-inactive', inactiveMethod); + }); + } + + // Apply hide events + $.each(events.hide, function(index, type) { + var showIndex = $.inArray(type, events.show), + targetHide = $(targets.hide); + + // Both events and targets are identical, apply events using a toggle + if((showIndex > -1 && targetHide.add(targets.show).length === targetHide.length) || type === 'unfocus') + { + targets.show.bind(type+namespace, function(event) { + if(tooltip[0].offsetWidth > 0) { hideMethod(event); } + else { showMethod(event); } + }); + + // Don't bind the event again + delete events.show[ showIndex ]; + } + + // Events are not identical, bind normally + else { targets.hide.bind(type+namespace, hideMethod); } + }); + + // Apply show events + $.each(events.show, function(index, type) { + targets.show.bind(type+namespace, showMethod); + }); + + // Check if the tooltip hides when mouse is moved a certain distance + if('number' === typeof options.hide.distance) { + // Bind mousemove to target to detect distance difference + targets.show.add(tooltip).bind('mousemove'+namespace, function(event) { + var origin = cache.origin || {}, + limit = options.hide.distance, + abs = Math.abs; + + // Check if the movement has gone beyond the limit, and hide it if so + if(abs(event.pageX - origin.pageX) >= limit || abs(event.pageY - origin.pageY) >= limit) { + self.hide(event); + } + }); + } + + // Mouse positioning events + if(posOptions.target === 'mouse') { + // Cache mousemove coords on show targets + targets.show.bind('mousemove'+namespace, function(event) { + MOUSE = { pageX: event.pageX, pageY: event.pageY, type: 'mousemove' }; + }); + + // If mouse adjustment is on... + if(posOptions.adjust.mouse) { + // Apply a mouseleave event so we don't get problems with overlapping + if(options.hide.event) { + // Hide when we leave the tooltip and not onto the show target + tooltip.bind('mouseleave'+namespace, function(event) { + if((event.relatedTarget || event.target) !== targets.show[0]) { self.hide(event); } + }); + + // Track if we're on the target or not + elements.target.bind('mouseenter'+namespace+' mouseleave'+namespace, function(event) { + cache.onTarget = event.type === 'mouseenter'; + }); + } + + // Update tooltip position on mousemove + targets.document.bind('mousemove'+namespace, function(event) { + // Update the tooltip position only if the tooltip is visible and adjustment is enabled + if(self.rendered && cache.onTarget && !tooltip.hasClass(disabled) && tooltip[0].offsetWidth > 0) { + self.reposition(event || MOUSE); + } + }); + } + } + + // Adjust positions of the tooltip on window resize if enabled + if(posOptions.adjust.resize || targets.viewport.length) { + ($.event.special.resize ? targets.viewport : targets.window).bind('resize'+namespace, repositionMethod); + } + + // Adjust tooltip position on scroll if screen adjustment is enabled + if(targets.viewport.length || (IE6 && tooltip.css('position') === 'fixed')) { + targets.viewport.bind('scroll'+namespace, repositionMethod); + } + } + + function unassignEvents() + { + var targets = [ + options.show.target[0], + options.hide.target[0], + self.rendered && elements.tooltip[0], + options.position.container[0], + options.position.viewport[0], + options.position.container.closest('html')[0], // unfocus + window, + document + ]; + + // Check if tooltip is rendered + if(self.rendered) { + $([]).pushStack( $.grep(targets, function(i){ return typeof i === 'object'; }) ).unbind(namespace); + } + + // Tooltip isn't yet rendered, remove render event + else { options.show.target.unbind(namespace+'-create'); } + } + + // Setup builtin .set() option checks + self.checks.builtin = { + // Core checks + '^id$': function(obj, o, v) { + var id = v === TRUE ? QTIP.nextid : v, + tooltipID = uitooltip + '-' + id; + + if(id !== FALSE && id.length > 0 && !$('#'+tooltipID).length) { + tooltip[0].id = tooltipID; + elements.content[0].id = tooltipID + '-content'; + elements.title[0].id = tooltipID + '-title'; + } + }, + + // Content checks + '^content.text$': function(obj, o, v){ updateContent(v); }, + '^content.title.text$': function(obj, o, v) { + // Remove title if content is null + if(!v) { return removeTitle(); } + + // If title isn't already created, create it now and update + if(!elements.title && v) { createTitle(); } + updateTitle(v); + }, + '^content.title.button$': function(obj, o, v){ updateButton(v); }, + + // Position checks + '^position.(my|at)$': function(obj, o, v){ + // Parse new corner value into Corner objecct + if('string' === typeof v) { + obj[o] = new PLUGINS.Corner(v); + } + }, + '^position.container$': function(obj, o, v){ + if(self.rendered) { tooltip.appendTo(v); } + }, + + // Show checks + '^show.ready$': function() { + if(!self.rendered) { self.render(1); } + else { self.toggle(TRUE); } + }, + + // Style checks + '^style.classes$': function(obj, o, v) { + tooltip.attr('class', uitooltip + ' qtip ' + v); + }, + '^style.widget|content.title': setWidget, + + // Events check + '^events.(render|show|move|hide|focus|blur)$': function(obj, o, v) { + tooltip[($.isFunction(v) ? '' : 'un') + 'bind']('tooltip'+o, v); + }, + + // Properties which require event reassignment + '^(show|hide|position).(event|target|fixed|inactive|leave|distance|viewport|adjust)': function() { + var posOptions = options.position; + + // Set tracking flag + tooltip.attr('tracking', posOptions.target === 'mouse' && posOptions.adjust.mouse); + + // Reassign events + unassignEvents(); assignEvents(); + } + }; + + /* + * Public API methods + */ + $.extend(self, { + render: function(show) + { + if(self.rendered) { return self; } // If tooltip has already been rendered, exit + + var text = options.content.text, + title = options.content.title.text, + posOptions = options.position; + + // Add ARIA attributes to target + $.attr(target[0], 'aria-describedby', tooltipID); + + // Create tooltip element + tooltip = elements.tooltip = $('<div/>', { + 'id': tooltipID, + 'class': uitooltip + ' qtip ' + defaultClass + ' ' + options.style.classes + ' '+ uitooltip + '-pos-' + options.position.my.abbrev(), + 'width': options.style.width || '', + 'height': options.style.height || '', + 'tracking': posOptions.target === 'mouse' && posOptions.adjust.mouse, + + /* ARIA specific attributes */ + 'role': 'alert', + 'aria-live': 'polite', + 'aria-atomic': FALSE, + 'aria-describedby': tooltipID + '-content', + 'aria-hidden': TRUE + }) + .toggleClass(disabled, cache.disabled) + .data('qtip', self) + .appendTo(options.position.container) + .append( + // Create content element + elements.content = $('<div />', { + 'class': uitooltip + '-content', + 'id': tooltipID + '-content', + 'aria-atomic': TRUE + }) + ); + + // Set rendered flag and prevent redundant redraw/reposition calls for now + self.rendered = -1; + isDrawing = 1; isPositioning = 1; + + // Create title... + if(title) { + createTitle(); + + // Update title only if its not a callback (called in toggle if so) + if(!$.isFunction(title)) { updateTitle(title, FALSE); } + } + + // Set proper rendered flag and update content if not a callback function (called in toggle) + if(!$.isFunction(text)) { updateContent(text, FALSE); } + self.rendered = TRUE; + + // Setup widget classes + setWidget(); + + // Assign passed event callbacks (before plugins!) + $.each(options.events, function(name, callback) { + if($.isFunction(callback)) { + tooltip.bind(name === 'toggle' ? 'tooltipshow tooltiphide' : 'tooltip'+name, callback); + } + }); + + // Initialize 'render' plugins + $.each(PLUGINS, function() { + if(this.initialize === 'render') { this(self); } + }); + + // Assign events + assignEvents(); + + /* Queue this part of the render process in our fx queue so we can + * load images before the tooltip renders fully. + * + * See: updateContent method + */ + tooltip.queue('fx', function(next) { + // tooltiprender event + triggerEvent('render'); + + // Reset flags + isDrawing = 0; isPositioning = 0; + + // Redraw the tooltip manually now we're fully rendered + self.redraw(); + + // Show tooltip if needed + if(options.show.ready || show) { + self.toggle(TRUE, cache.event, FALSE); + } + + next(); // Move on to next method in queue + }); + + return self; + }, + + get: function(notation) + { + var result, o; + + switch(notation.toLowerCase()) + { + case 'dimensions': + result = { + height: tooltip.outerHeight(), width: tooltip.outerWidth() + }; + break; + + case 'offset': + result = PLUGINS.offset(tooltip, options.position.container); + break; + + default: + o = convertNotation(notation.toLowerCase()); + result = o[0][ o[1] ]; + result = result.precedance ? result.string() : result; + break; + } + + return result; + }, + + set: function(option, value) + { + var rmove = /^position\.(my|at|adjust|target|container)|style|content|show\.ready/i, + rdraw = /^content\.(title|attr)|style/i, + reposition = FALSE, + redraw = FALSE, + checks = self.checks, + name; + + function callback(notation, args) { + var category, rule, match; + + for(category in checks) { + for(rule in checks[category]) { + if(match = (new RegExp(rule, 'i')).exec(notation)) { + args.push(match); + checks[category][rule].apply(self, args); + } + } + } + } + + // Convert singular option/value pair into object form + if('string' === typeof option) { + name = option; option = {}; option[name] = value; + } + else { option = $.extend(TRUE, {}, option); } + + // Set all of the defined options to their new values + $.each(option, function(notation, value) { + var obj = convertNotation( notation.toLowerCase() ), previous; + + // Set new obj value + previous = obj[0][ obj[1] ]; + obj[0][ obj[1] ] = 'object' === typeof value && value.nodeType ? $(value) : value; + + // Set the new params for the callback + option[notation] = [obj[0], obj[1], value, previous]; + + // Also check if we need to reposition / redraw + reposition = rmove.test(notation) || reposition; + redraw = rdraw.test(notation) || redraw; + }); + + // Re-sanitize options + sanitizeOptions(options); + + /* + * Execute any valid callbacks for the set options + * Also set isPositioning/isDrawing so we don't get loads of redundant repositioning + * and redraw calls. + */ + isPositioning = isDrawing = 1; $.each(option, callback); isPositioning = isDrawing = 0; + + // Update position / redraw if needed + if(self.rendered && tooltip[0].offsetWidth > 0) { + if(reposition) { + self.reposition( options.position.target === 'mouse' ? NULL : cache.event ); + } + if(redraw) { self.redraw(); } + } + + return self; + }, + + toggle: function(state, event) + { + // Render the tooltip if showing and it isn't already + if(!self.rendered) { return state ? self.render(1) : self; } + + var type = state ? 'show' : 'hide', + opts = options[type], + otherOpts = options[ !state ? 'show' : 'hide' ], + posOptions = options.position, + contentOptions = options.content, + visible = tooltip[0].offsetWidth > 0, + animate = state || opts.target.length === 1, + sameTarget = !event || opts.target.length < 2 || cache.target[0] === event.target, + showEvent, delay; + + // Detect state if valid one isn't provided + if((typeof state).search('boolean|number')) { state = !visible; } + + // Return if element is already in correct state + if(!tooltip.is(':animated') && visible === state && sameTarget) { return self; } + + // Try to prevent flickering when tooltip overlaps show element + if(event) { + if((/over|enter/).test(event.type) && (/out|leave/).test(cache.event.type) && + options.show.target.add(event.target).length === options.show.target.length && + tooltip.has(event.relatedTarget).length) { + return self; + } + + // Cache event + cache.event = $.extend({}, event); + } + + // tooltipshow/tooltiphide events + if(!triggerEvent(type, [90])) { return self; } + + // Set ARIA hidden status attribute + $.attr(tooltip[0], 'aria-hidden', !!!state); + + // Execute state specific properties + if(state) { + // Store show origin coordinates + cache.origin = $.extend({}, MOUSE); + + // Focus the tooltip + self.focus(event); + + // Update tooltip content & title if it's a dynamic function + if($.isFunction(contentOptions.text)) { updateContent(contentOptions.text, FALSE); } + if($.isFunction(contentOptions.title.text)) { updateTitle(contentOptions.title.text, FALSE); } + + // Cache mousemove events for positioning purposes (if not already tracking) + if(!trackingBound && posOptions.target === 'mouse' && posOptions.adjust.mouse) { + $(document).bind('mousemove.qtip', function(event) { + MOUSE = { pageX: event.pageX, pageY: event.pageY, type: 'mousemove' }; + }); + trackingBound = TRUE; + } + + // Update the tooltip position + self.reposition(event, arguments[2]); + + // Hide other tooltips if tooltip is solo + if(!!opts.solo) { + $(selector, opts.solo).not(tooltip).qtip('hide', $.Event('tooltipsolo')); + } + } + else { + // Clear show timer if we're hiding + clearTimeout(self.timers.show); + + // Remove cached origin on hide + delete cache.origin; + + // Remove mouse tracking event if not needed (all tracking qTips are hidden) + if(trackingBound && !$(selector+'[tracking="true"]:visible', opts.solo).not(tooltip).length) { + $(document).unbind('mousemove.qtip'); + trackingBound = FALSE; + } + + // Blur the tooltip + self.blur(event); + } + + // Define post-animation, state specific properties + function after() { + if(state) { + // Prevent antialias from disappearing in IE by removing filter + if($.browser.msie) { tooltip[0].style.removeAttribute('filter'); } + + // Remove overflow setting to prevent tip bugs + tooltip.css('overflow', ''); + + // Autofocus elements if enabled + if('string' === typeof opts.autofocus) { + $(opts.autofocus, tooltip).focus(); + } + + // If set, hide tooltip when inactive for delay period + opts.target.trigger('qtip-'+id+'-inactive'); + } + else { + // Reset CSS states + tooltip.css({ + display: '', + visibility: '', + opacity: '', + left: '', + top: '' + }); + } + + // tooltipvisible/tooltiphidden events + triggerEvent(state ? 'visible' : 'hidden'); + } + + // If no effect type is supplied, use a simple toggle + if(opts.effect === FALSE || animate === FALSE) { + tooltip[ type ](); + after.call(tooltip); + } + + // Use custom function if provided + else if($.isFunction(opts.effect)) { + tooltip.stop(1, 1); + opts.effect.call(tooltip, self); + tooltip.queue('fx', function(n){ after(); n(); }); + } + + // Use basic fade function by default + else { tooltip.fadeTo(90, state ? 1 : 0, after); } + + // If inactive hide method is set, active it + if(state) { opts.target.trigger('qtip-'+id+'-inactive'); } + + return self; + }, + + show: function(event){ return self.toggle(TRUE, event); }, + + hide: function(event){ return self.toggle(FALSE, event); }, + + focus: function(event) + { + if(!self.rendered) { return self; } + + var qtips = $(selector), + curIndex = parseInt(tooltip[0].style.zIndex, 10), + newIndex = QTIP.zindex + qtips.length, + cachedEvent = $.extend({}, event), + focusedElem; + + // Only update the z-index if it has changed and tooltip is not already focused + if(!tooltip.hasClass(focusClass)) + { + // tooltipfocus event + if(triggerEvent('focus', [newIndex], cachedEvent)) { + // Only update z-index's if they've changed + if(curIndex !== newIndex) { + // Reduce our z-index's and keep them properly ordered + qtips.each(function() { + if(this.style.zIndex > curIndex) { + this.style.zIndex = this.style.zIndex - 1; + } + }); + + // Fire blur event for focused tooltip + qtips.filter('.' + focusClass).qtip('blur', cachedEvent); + } + + // Set the new z-index + tooltip.addClass(focusClass)[0].style.zIndex = newIndex; + } + } + + return self; + }, + + blur: function(event) { + // Set focused status to FALSE + tooltip.removeClass(focusClass); + + // tooltipblur event + triggerEvent('blur', [tooltip.css('zIndex')], event); + + return self; + }, + + reposition: function(event, effect) + { + if(!self.rendered || isPositioning) { return self; } + + // Set positioning flag + isPositioning = 1; + + var target = options.position.target, + posOptions = options.position, + my = posOptions.my, + at = posOptions.at, + adjust = posOptions.adjust, + method = adjust.method.split(' '), + elemWidth = tooltip.outerWidth(), + elemHeight = tooltip.outerHeight(), + targetWidth = 0, + targetHeight = 0, + fixed = tooltip.css('position') === 'fixed', + viewport = posOptions.viewport, + position = { left: 0, top: 0 }, + container = posOptions.container, + visible = tooltip[0].offsetWidth > 0, + adjusted, offset, win; + + // Check if absolute position was passed + if($.isArray(target) && target.length === 2) { + // Force left top and set position + at = { x: LEFT, y: TOP }; + position = { left: target[0], top: target[1] }; + } + + // Check if mouse was the target + else if(target === 'mouse' && ((event && event.pageX) || cache.event.pageX)) { + // Force left top to allow flipping + at = { x: LEFT, y: TOP }; + + // Use cached event if one isn't available for positioning + event = (event && (event.type === 'resize' || event.type === 'scroll') ? cache.event : + event && event.pageX && event.type === 'mousemove' ? event : + MOUSE && MOUSE.pageX && (adjust.mouse || !event || !event.pageX) ? { pageX: MOUSE.pageX, pageY: MOUSE.pageY } : + !adjust.mouse && cache.origin && cache.origin.pageX && options.show.distance ? cache.origin : + event) || event || cache.event || MOUSE || {}; + + // Use event coordinates for position + position = { top: event.pageY, left: event.pageX }; + } + + // Target wasn't mouse or absolute... + else { + // Check if event targetting is being used + if(target === 'event' && event && event.target && event.type !== 'scroll' && event.type !== 'resize') { + cache.target = $(event.target); + } + else if(target !== 'event'){ + cache.target = $(target.jquery ? target : elements.target); + } + target = cache.target; + + // Parse the target into a jQuery object and make sure there's an element present + target = $(target).eq(0); + if(target.length === 0) { return self; } + + // Check if window or document is the target + else if(target[0] === document || target[0] === window) { + targetWidth = PLUGINS.iOS ? window.innerWidth : target.width(); + targetHeight = PLUGINS.iOS ? window.innerHeight : target.height(); + + if(target[0] === window) { + position = { + top: (viewport || target).scrollTop(), + left: (viewport || target).scrollLeft() + }; + } + } + + // Use Imagemap/SVG plugins if needed + else if(PLUGINS.imagemap && target.is('area')) { + adjusted = PLUGINS.imagemap(self, target, at, PLUGINS.viewport ? method : FALSE); + } + else if(PLUGINS.svg && typeof target[0].xmlbase === 'string') { + adjusted = PLUGINS.svg(self, target, at, PLUGINS.viewport ? method : FALSE); + } + + else { + targetWidth = target.outerWidth(); + targetHeight = target.outerHeight(); + + position = PLUGINS.offset(target, container); + } + + // Parse returned plugin values into proper variables + if(adjusted) { + targetWidth = adjusted.width; + targetHeight = adjusted.height; + offset = adjusted.offset; + position = adjusted.position; + } + + // Adjust for position.fixed tooltips (and also iOS scroll bug in v3.2-4.0 & v4.3-4.3.2) + if((PLUGINS.iOS > 3.1 && PLUGINS.iOS < 4.1) || + (PLUGINS.iOS >= 4.3 && PLUGINS.iOS < 4.33) || + (!PLUGINS.iOS && fixed) + ){ + win = $(window); + position.left -= win.scrollLeft(); + position.top -= win.scrollTop(); + } + + // Adjust position relative to target + position.left += at.x === RIGHT ? targetWidth : at.x === CENTER ? targetWidth / 2 : 0; + position.top += at.y === BOTTOM ? targetHeight : at.y === CENTER ? targetHeight / 2 : 0; + } + + // Adjust position relative to tooltip + position.left += adjust.x + (my.x === RIGHT ? -elemWidth : my.x === CENTER ? -elemWidth / 2 : 0); + position.top += adjust.y + (my.y === BOTTOM ? -elemHeight : my.y === CENTER ? -elemHeight / 2 : 0); + + // Use viewport adjustment plugin if enabled + if(PLUGINS.viewport) { + position.adjusted = PLUGINS.viewport( + self, position, posOptions, targetWidth, targetHeight, elemWidth, elemHeight + ); + + // Apply offsets supplied by positioning plugin (if used) + if(offset && position.adjusted.left) { position.left += offset.left; } + if(offset && position.adjusted.top) { position.top += offset.top; } + } + + // Viewport adjustment is disabled, set values to zero + else { position.adjusted = { left: 0, top: 0 }; } + + // tooltipmove event + if(!triggerEvent('move', [position, viewport.elem || viewport], event)) { return self; } + delete position.adjusted; + + // If effect is disabled, target it mouse, no animation is defined or positioning gives NaN out, set CSS directly + if(effect === FALSE || !visible || isNaN(position.left) || isNaN(position.top) || target === 'mouse' || !$.isFunction(posOptions.effect)) { + tooltip.css(position); + } + + // Use custom function if provided + else if($.isFunction(posOptions.effect)) { + posOptions.effect.call(tooltip, self, $.extend({}, position)); + tooltip.queue(function(next) { + // Reset attributes to avoid cross-browser rendering bugs + $(this).css({ opacity: '', height: '' }); + if($.browser.msie) { this.style.removeAttribute('filter'); } + + next(); + }); + } + + // Set positioning flag + isPositioning = 0; + + return self; + }, + + // Max/min width simulator function for all browsers.. yeaaah! + redraw: function() + { + if(self.rendered < 1 || isDrawing) { return self; } + + var style = options.style, + container = options.position.container, + perc, width, max, min; + + // Set drawing flag + isDrawing = 1; + + // tooltipredraw event + triggerEvent('redraw'); + + // If tooltip has a set height/width, just set it... like a boss! + if(style.height) { tooltip.css(HEIGHT, style.height); } + if(style.width) { tooltip.css(WIDTH, style.width); } + + // Simulate max/min width if not set width present... + else { + // Reset width and add fluid class + tooltip.css(WIDTH, '').appendTo(redrawContainer); + + // Grab our tooltip width (add 1 if odd so we don't get wrapping problems.. huzzah!) + width = tooltip.width(); + if(width % 2 < 1) { width += 1; } + + // Grab our max/min properties + max = tooltip.css('max-width') || ''; + min = tooltip.css('min-width') || ''; + + // Parse into proper pixel values + perc = (max + min).indexOf('%') > -1 ? container.width() / 100 : 0; + max = ((max.indexOf('%') > -1 ? perc : 1) * parseInt(max, 10)) || width; + min = ((min.indexOf('%') > -1 ? perc : 1) * parseInt(min, 10)) || 0; + + // Determine new dimension size based on max/min/current values + width = max + min ? Math.min(Math.max(width, min), max) : width; + + // Set the newly calculated width and remvoe fluid class + tooltip.css(WIDTH, Math.round(width)).appendTo(container); + } + + // tooltipredrawn event + triggerEvent('redrawn'); + + // Set drawing flag + isDrawing = 0; + + return self; + }, + + disable: function(state) + { + if('boolean' !== typeof state) { + state = !(tooltip.hasClass(disabled) || cache.disabled); + } + + if(self.rendered) { + tooltip.toggleClass(disabled, state); + $.attr(tooltip[0], 'aria-disabled', state); + } + else { + cache.disabled = !!state; + } + + return self; + }, + + enable: function() { return self.disable(FALSE); }, + + destroy: function() + { + var t = target[0], + title = $.attr(t, oldtitle), + elemAPI = target.data('qtip'); + + // Set flag the signify destroy is taking place to plugins + self.destroyed = TRUE; + + // Destroy tooltip and any associated plugins if rendered + if(self.rendered) { + tooltip.stop(1,0).remove(); + + $.each(self.plugins, function() { + if(this.destroy) { this.destroy(); } + }); + } + + // Clear timers and remove bound events + clearTimeout(self.timers.show); + clearTimeout(self.timers.hide); + unassignEvents(); + + // If the API if actually this qTip API... + if(!elemAPI || self === elemAPI) { + // Remove api object + $.removeData(t, 'qtip'); + + // Reset old title attribute if removed + if(options.suppress && title) { + $.attr(t, 'title', title); + target.removeAttr(oldtitle); + } + + // Remove ARIA attributes + target.removeAttr('aria-describedby'); + } + + // Remove qTip events associated with this API + target.unbind('.qtip-'+id); + + // Remove ID from sued id object + delete usedIDs[self.id]; + + return target; + } + }); +} + +// Initialization method +function init(id, opts) +{ + var obj, posOptions, attr, config, title, + + // Setup element references + elem = $(this), + docBody = $(document.body), + + // Use document body instead of document element if needed + newTarget = this === document ? docBody : elem, + + // Grab metadata from element if plugin is present + metadata = (elem.metadata) ? elem.metadata(opts.metadata) : NULL, + + // If metadata type if HTML5, grab 'name' from the object instead, or use the regular data object otherwise + metadata5 = opts.metadata.type === 'html5' && metadata ? metadata[opts.metadata.name] : NULL, + + // Grab data from metadata.name (or data-qtipopts as fallback) using .data() method, + html5 = elem.data(opts.metadata.name || 'qtipopts'); + + // If we don't get an object returned attempt to parse it manualyl without parseJSON + try { html5 = typeof html5 === 'string' ? $.parseJSON(html5) : html5; } catch(e) {} + + // Merge in and sanitize metadata + config = $.extend(TRUE, {}, QTIP.defaults, opts, + typeof html5 === 'object' ? sanitizeOptions(html5) : NULL, + sanitizeOptions(metadata5 || metadata)); + + // Re-grab our positioning options now we've merged our metadata and set id to passed value + posOptions = config.position; + config.id = id; + + // Setup missing content if none is detected + if('boolean' === typeof config.content.text) { + attr = elem.attr(config.content.attr); + + // Grab from supplied attribute if available + if(config.content.attr !== FALSE && attr) { config.content.text = attr; } + + // No valid content was found, abort render + else { return FALSE; } + } + + // Setup target options + if(!posOptions.container.length) { posOptions.container = docBody; } + if(posOptions.target === FALSE) { posOptions.target = newTarget; } + if(config.show.target === FALSE) { config.show.target = newTarget; } + if(config.show.solo === TRUE) { config.show.solo = posOptions.container.closest('body'); } + if(config.hide.target === FALSE) { config.hide.target = newTarget; } + if(config.position.viewport === TRUE) { config.position.viewport = posOptions.container; } + + // Ensure we only use a single container + posOptions.container = posOptions.container.eq(0); + + // Convert position corner values into x and y strings + posOptions.at = new PLUGINS.Corner(posOptions.at); + posOptions.my = new PLUGINS.Corner(posOptions.my); + + // Destroy previous tooltip if overwrite is enabled, or skip element if not + if($.data(this, 'qtip')) { + if(config.overwrite) { + elem.qtip('destroy'); + } + else if(config.overwrite === FALSE) { + return FALSE; + } + } + + // Remove title attribute and store it if present + if(config.suppress && (title = $.attr(this, 'title'))) { + // Final attr call fixes event delegatiom and IE default tooltip showing problem + $(this).removeAttr('title').attr(oldtitle, title).attr('title', ''); + } + + // Initialize the tooltip and add API reference + obj = new QTip(elem, config, id, !!attr); + $.data(this, 'qtip', obj); + + // Catch remove/removeqtip events on target element to destroy redundant tooltip + elem.bind('remove.qtip-'+id+' removeqtip.qtip-'+id, function(){ obj.destroy(); }); + + return obj; +} + +// jQuery $.fn extension method +QTIP = $.fn.qtip = function(options, notation, newValue) +{ + var command = ('' + options).toLowerCase(), // Parse command + returned = NULL, + args = $.makeArray(arguments).slice(1), + event = args[args.length - 1], + opts = this[0] ? $.data(this[0], 'qtip') : NULL; + + // Check for API request + if((!arguments.length && opts) || command === 'api') { + return opts; + } + + // Execute API command if present + else if('string' === typeof options) + { + this.each(function() + { + var api = $.data(this, 'qtip'); + if(!api) { return TRUE; } + + // Cache the event if possible + if(event && event.timeStamp) { api.cache.event = event; } + + // Check for specific API commands + if((command === 'option' || command === 'options') && notation) { + if($.isPlainObject(notation) || newValue !== undefined) { + api.set(notation, newValue); + } + else { + returned = api.get(notation); + return FALSE; + } + } + + // Execute API command + else if(api[command]) { + api[command].apply(api[command], args); + } + }); + + return returned !== NULL ? returned : this; + } + + // No API commands. validate provided options and setup qTips + else if('object' === typeof options || !arguments.length) + { + opts = sanitizeOptions($.extend(TRUE, {}, options)); + + // Bind the qTips + return QTIP.bind.call(this, opts, event); + } +}; + +// $.fn.qtip Bind method +QTIP.bind = function(opts, event) +{ + return this.each(function(i) { + var options, targets, events, namespace, api, id; + + // Find next available ID, or use custom ID if provided + id = $.isArray(opts.id) ? opts.id[i] : opts.id; + id = !id || id === FALSE || id.length < 1 || usedIDs[id] ? QTIP.nextid++ : (usedIDs[id] = id); + + // Setup events namespace + namespace = '.qtip-'+id+'-create'; + + // Initialize the qTip and re-grab newly sanitized options + api = init.call(this, id, opts); + if(api === FALSE) { return TRUE; } + options = api.options; + + // Initialize plugins + $.each(PLUGINS, function() { + if(this.initialize === 'initialize') { this(api); } + }); + + // Determine hide and show targets + targets = { show: options.show.target, hide: options.hide.target }; + events = { + show: $.trim('' + options.show.event).replace(/ /g, namespace+' ') + namespace, + hide: $.trim('' + options.hide.event).replace(/ /g, namespace+' ') + namespace + }; + + /* + * Make sure hoverIntent functions properly by using mouseleave as a hide event if + * mouseenter/mouseout is used for show.event, even if it isn't in the users options. + */ + if(/mouse(over|enter)/i.test(events.show) && !/mouse(out|leave)/i.test(events.hide)) { + events.hide += ' mouseleave' + namespace; + } + + /* + * Also make sure initial mouse targetting works correctly by caching mousemove coords + * on show targets before the tooltip has rendered. + * + * Also set onTarget when triggered to keep mouse tracking working + */ + targets.show.bind('mousemove'+namespace, function(event) { + MOUSE = { pageX: event.pageX, pageY: event.pageY, type: 'mousemove' }; + api.cache.onTarget = TRUE; + }); + + // Define hoverIntent function + function hoverIntent(event) { + function render() { + // Cache mouse coords,render and render the tooltip + api.render(typeof event === 'object' || options.show.ready); + + // Unbind show and hide events + targets.show.add(targets.hide).unbind(namespace); + } + + // Only continue if tooltip isn't disabled + if(api.cache.disabled) { return FALSE; } + + // Cache the event data + api.cache.event = $.extend({}, event); + api.cache.target = event ? $(event.target) : [undefined]; + + // Start the event sequence + if(options.show.delay > 0) { + clearTimeout(api.timers.show); + api.timers.show = setTimeout(render, options.show.delay); + if(events.show !== events.hide) { + targets.hide.bind(events.hide, function() { clearTimeout(api.timers.show); }); + } + } + else { render(); } + } + + // Bind show events to target + targets.show.bind(events.show, hoverIntent); + + // Prerendering is enabled, create tooltip now + if(options.show.ready || options.prerender) { hoverIntent(event); } + }); +}; + +// Setup base plugins +PLUGINS = QTIP.plugins = { + // Corner object parser + Corner: function(corner) { + corner = ('' + corner).replace(/([A-Z])/, ' $1').replace(/middle/gi, CENTER).toLowerCase(); + this.x = (corner.match(/left|right/i) || corner.match(/center/) || ['inherit'])[0].toLowerCase(); + this.y = (corner.match(/top|bottom|center/i) || ['inherit'])[0].toLowerCase(); + + var f = corner.charAt(0); this.precedance = (f === 't' || f === 'b' ? Y : X); + + this.string = function() { return this.precedance === Y ? this.y+this.x : this.x+this.y; }; + this.abbrev = function() { + var x = this.x.substr(0,1), y = this.y.substr(0,1); + return x === y ? x : this.precedance === Y ? y + x : x + y; + }; + + this.invertx = function(center) { this.x = this.x === LEFT ? RIGHT : this.x === RIGHT ? LEFT : center || this.x; }; + this.inverty = function(center) { this.y = this.y === TOP ? BOTTOM : this.y === BOTTOM ? TOP : center || this.y; }; + + this.clone = function() { + return { + x: this.x, y: this.y, precedance: this.precedance, + string: this.string, abbrev: this.abbrev, clone: this.clone, + invertx: this.invertx, inverty: this.inverty + }; + }; + }, + + // Custom (more correct for qTip!) offset calculator + offset: function(elem, container) { + var pos = elem.offset(), + docBody = elem.closest('body')[0], + parent = container, scrolled, + coffset, overflow; + + function scroll(e, i) { + pos.left += i * e.scrollLeft(); + pos.top += i * e.scrollTop(); + } + + if(parent) { + // Compensate for non-static containers offset + do { + if(parent.css('position') !== 'static') { + coffset = parent.position(); + + // Account for element positioning, borders and margins + pos.left -= coffset.left + (parseInt(parent.css('borderLeftWidth'), 10) || 0) + (parseInt(parent.css('marginLeft'), 10) || 0); + pos.top -= coffset.top + (parseInt(parent.css('borderTopWidth'), 10) || 0) + (parseInt(parent.css('marginTop'), 10) || 0); + + // If this is the first parent element with an overflow of "scroll" or "auto", store it + if(!scrolled && (overflow = parent.css('overflow')) !== 'hidden' && overflow !== 'visible') { scrolled = parent; } + } + } + while((parent = $(parent[0].offsetParent)).length); + + // Compensate for containers scroll if it also has an offsetParent + if(scrolled && scrolled[0] !== docBody) { scroll( scrolled, 1 ); } + } + + return pos; + }, + + /* + * iOS version detection + */ + iOS: parseFloat( + ('' + (/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent) || [0,''])[1]) + .replace('undefined', '3_2').replace('_', '.').replace('_', '') + ) || FALSE, + + /* + * jQuery-specific $.fn overrides + */ + fn: { + /* Allow other plugins to successfully retrieve the title of an element with a qTip applied */ + attr: function(attr, val) { + if(this.length) { + var self = this[0], + title = 'title', + api = $.data(self, 'qtip'); + + if(attr === title && api && 'object' === typeof api && api.options.suppress) { + if(arguments.length < 2) { + return $.attr(self, oldtitle); + } + + // If qTip is rendered and title was originally used as content, update it + if(api && api.options.content.attr === title && api.cache.attr) { + api.set('content.text', val); + } + + // Use the regular attr method to set, then cache the result + return this.attr(oldtitle, val); + } + } + + return $.fn['attr'+replaceSuffix].apply(this, arguments); + }, + + /* Allow clone to correctly retrieve cached title attributes */ + clone: function(keepData) { + var titles = $([]), title = 'title', + + // Clone our element using the real clone method + elems = $.fn['clone'+replaceSuffix].apply(this, arguments); + + // Grab all elements with an oldtitle set, and change it to regular title attribute, if keepData is false + if(!keepData) { + elems.filter('['+oldtitle+']').attr('title', function() { + return $.attr(this, oldtitle); + }) + .removeAttr(oldtitle); + } + + return elems; + } + } +}; + +// Apply the fn overrides above +$.each(PLUGINS.fn, function(name, func) { + if(!func || $.fn[name+replaceSuffix]) { return TRUE; } + + var old = $.fn[name+replaceSuffix] = $.fn[name]; + $.fn[name] = function() { + return func.apply(this, arguments) || old.apply(this, arguments); + }; +}); + +/* Fire off 'removeqtip' handler in $.cleanData if jQuery UI not present (it already does similar). + * This snippet is taken directly from jQuery UI source code found here: + * http://code.jquery.com/ui/jquery-ui-git.js + */ +if(!$.ui) { + $['cleanData'+replaceSuffix] = $.cleanData; + $.cleanData = function( elems ) { + for(var i = 0, elem; (elem = elems[i]) !== undefined; i++) { + try { $( elem ).triggerHandler('removeqtip'); } + catch( e ) {} + } + $['cleanData'+replaceSuffix]( elems ); + }; +} + +// Set global qTip properties +QTIP.version = '@VERSION'; +QTIP.nextid = 0; +QTIP.inactiveEvents = 'click dblclick mousedown mouseup mousemove mouseleave mouseenter'.split(' '); +QTIP.zindex = 15000; + +// Define configuration defaults +QTIP.defaults = { + prerender: FALSE, + id: FALSE, + overwrite: TRUE, + suppress: TRUE, + content: { + text: TRUE, + attr: 'title', + title: { + text: FALSE, + button: FALSE + } + }, + position: { + my: 'top left', + at: 'bottom right', + target: FALSE, + container: FALSE, + viewport: FALSE, + adjust: { + x: 0, y: 0, + mouse: TRUE, + resize: TRUE, + method: 'flip flip' + }, + effect: function(api, pos, viewport) { + $(this).animate(pos, { + duration: 200, + queue: FALSE + }); + } + }, + show: { + target: FALSE, + event: 'mouseenter', + effect: TRUE, + delay: 90, + solo: FALSE, + ready: FALSE, + autofocus: FALSE + }, + hide: { + target: FALSE, + event: 'mouseleave', + effect: TRUE, + delay: 0, + fixed: FALSE, + inactive: FALSE, + leave: 'window', + distance: FALSE + }, + style: { + classes: '', + widget: FALSE, + width: FALSE, + height: FALSE, + def: TRUE + }, + events: { + render: NULL, + move: NULL, + show: NULL, + hide: NULL, + toggle: NULL, + visible: NULL, + hidden: NULL, + focus: NULL, + blur: NULL + } +}; + + +PLUGINS.svg = function(api, svg, corner, adjustMethod) +{ + var doc = $(document), + elem = svg[0], + result = { + width: 0, height: 0, + position: { top: 1e10, left: 1e10 } + }, + box, mtx, root, point, tPoint; + + // Ascend the parentNode chain until we find an element with getBBox() + while(!elem.getBBox) { elem = elem.parentNode; } + + // Check for a valid bounding box method + if (elem.getBBox && elem.parentNode) { + box = elem.getBBox(); + mtx = elem.getScreenCTM(); + root = elem.farthestViewportElement || elem; + + // Return if no method is found + if(!root.createSVGPoint) { return result; } + + // Create our point var + point = root.createSVGPoint(); + + // Adjust top and left + point.x = box.x; + point.y = box.y; + tPoint = point.matrixTransform(mtx); + result.position.left = tPoint.x; + result.position.top = tPoint.y; + + // Adjust width and height + point.x += box.width; + point.y += box.height; + tPoint = point.matrixTransform(mtx); + result.width = tPoint.x - result.position.left; + result.height = tPoint.y - result.position.top; + + // Adjust by scroll offset + result.position.left += doc.scrollLeft(); + result.position.top += doc.scrollTop(); + } + + return result; +}; + + +function Ajax(api) +{ + var self = this, + tooltip = api.elements.tooltip, + opts = api.options.content.ajax, + defaults = QTIP.defaults.content.ajax, + namespace = '.qtip-ajax', + rscript = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, + first = TRUE, + stop = FALSE, + xhr; + + api.checks.ajax = { + '^content.ajax': function(obj, name, v) { + // If content.ajax object was reset, set our local var + if(name === 'ajax') { opts = v; } + + if(name === 'once') { + self.init(); + } + else if(opts && opts.url) { + self.load(); + } + else { + tooltip.unbind(namespace); + } + } + }; + + $.extend(self, { + init: function() { + // Make sure ajax options are enabled and bind event + if(opts && opts.url) { + tooltip.unbind(namespace)[ opts.once ? 'one' : 'bind' ]('tooltipshow'+namespace, self.load); + } + + return self; + }, + + load: function(event) { + if(stop) {stop = FALSE; return; } + + var hasSelector = opts.url.lastIndexOf(' '), + url = opts.url, + selector, + hideFirst = !opts.loading && first; + + // If loading option is disabled, prevent the tooltip showing until we've completed the request + if(hideFirst) { try{ event.preventDefault(); } catch(e) {} } + + // Make sure default event hasn't been prevented + else if(event && event.isDefaultPrevented()) { return self; } + + // Cancel old request + if(xhr && xhr.abort) { xhr.abort(); } + + // Check if user delcared a content selector like in .load() + if(hasSelector > -1) { + selector = url.substr(hasSelector); + url = url.substr(0, hasSelector); + } + + // Define common after callback for both success/error handlers + function after() { + var complete; + + // Don't proceed if tooltip is destroyed + if(api.destroyed) { return; } + + // Set first flag to false + first = FALSE; + + // Re-display tip if loading and first time, and reset first flag + if(hideFirst) { stop = TRUE; api.show(event.originalEvent); } + + // Call users complete method if it was defined + if((complete = defaults.complete || opts.complete) && $.isFunction(complete)) { + complete.apply(opts.context || api, arguments); + } + } + + // Define success handler + function successHandler(content, status, jqXHR) { + var success; + + // Don't proceed if tooltip is destroyed + if(api.destroyed) { return; } + + // If URL contains a selector + if(selector && 'string' === typeof content) { + // Create a dummy div to hold the results and grab the selector element + content = $('<div/>') + // inject the contents of the document in, removing the scripts + // to avoid any 'Permission Denied' errors in IE + .append(content.replace(rscript, "")) + + // Locate the specified elements + .find(selector); + } + + // Call the success function if one is defined + if((success = defaults.success || opts.success) && $.isFunction(success)) { + success.call(opts.context || api, content, status, jqXHR); + } + + // Otherwise set the content + else { api.set('content.text', content); } + } + + // Error handler + function errorHandler(xhr, status, error) { + if(api.destroyed || xhr.status === 0) { return; } + api.set('content.text', status + ': ' + error); + } + + // Setup $.ajax option object and process the request + xhr = $.ajax( + $.extend({ + error: defaults.error || errorHandler, + context: api + }, + opts, { url: url, success: successHandler, complete: after }) + ); + }, + + destroy: function() { + // Cancel ajax request if possible + if(xhr && xhr.abort) { xhr.abort(); } + + // Set api.destroyed flag + api.destroyed = TRUE; + } + }); + + self.init(); +} + + +PLUGINS.ajax = function(api) +{ + var self = api.plugins.ajax; + + return 'object' === typeof self ? self : (api.plugins.ajax = new Ajax(api)); +}; + +PLUGINS.ajax.initialize = 'render'; + +// Setup plugin sanitization +PLUGINS.ajax.sanitize = function(options) +{ + var content = options.content, opts; + if(content && 'ajax' in content) { + opts = content.ajax; + if(typeof opts !== 'object') { opts = options.content.ajax = { url: opts }; } + if('boolean' !== typeof opts.once && opts.once) { opts.once = !!opts.once; } + } +}; + +// Extend original api defaults +$.extend(TRUE, QTIP.defaults, { + content: { + ajax: { + loading: TRUE, + once: TRUE + } + } +}); + + +// Tip coordinates calculator +function calculateTip(corner, width, height) +{ + var width2 = Math.ceil(width / 2), height2 = Math.ceil(height / 2), + + // Define tip coordinates in terms of height and width values + tips = { + bottomright: [[0,0], [width,height], [width,0]], + bottomleft: [[0,0], [width,0], [0,height]], + topright: [[0,height], [width,0], [width,height]], + topleft: [[0,0], [0,height], [width,height]], + topcenter: [[0,height], [width2,0], [width,height]], + bottomcenter: [[0,0], [width,0], [width2,height]], + rightcenter: [[0,0], [width,height2], [0,height]], + leftcenter: [[width,0], [width,height], [0,height2]] + }; + + // Set common side shapes + tips.lefttop = tips.bottomright; tips.righttop = tips.bottomleft; + tips.leftbottom = tips.topright; tips.rightbottom = tips.topleft; + + return tips[ corner.string() ]; +} + + +function Tip(qTip, command) +{ + var self = this, + opts = qTip.options.style.tip, + elems = qTip.elements, + tooltip = elems.tooltip, + cache = { top: 0, left: 0 }, + size = { + width: opts.width, + height: opts.height + }, + color = { }, + border = opts.border || 0, + namespace = '.qtip-tip', + hasCanvas = !!($('<canvas />')[0] || {}).getContext, + tiphtml; + + self.corner = NULL; + self.mimic = NULL; + self.border = border; + self.offset = opts.offset; + self.size = size; + + // Add new option checks for the plugin + qTip.checks.tip = { + '^position.my|style.tip.(corner|mimic|border)$': function() { + // Make sure a tip can be drawn + if(!self.init()) { + self.destroy(); + } + + // Reposition the tooltip + qTip.reposition(); + }, + '^style.tip.(height|width)$': function() { + // Re-set dimensions and redraw the tip + size = { + width: opts.width, + height: opts.height + }; + self.create(); + self.update(); + + // Reposition the tooltip + qTip.reposition(); + }, + '^content.title.text|style.(classes|widget)$': function() { + if(elems.tip && elems.tip.length) { + self.update(); + } + } + }; + + function whileVisible(callback) { + var visible = tooltip.is(':visible'); + tooltip.show(); callback(); tooltip.toggle(visible); + } + + function swapDimensions() { + size.width = opts.height; + size.height = opts.width; + } + + function resetDimensions() { + size.width = opts.width; + size.height = opts.height; + } + + function reposition(event, api, pos, viewport) { + if(!elems.tip) { return; } + + var newCorner = self.corner.clone(), + adjust = pos.adjusted, + method = qTip.options.position.adjust.method.split(' '), + horizontal = method[0], + vertical = method[1] || method[0], + shift = { left: FALSE, top: FALSE, x: 0, y: 0 }, + offset, css = {}, props; + + // If our tip position isn't fixed e.g. doesn't adjust with viewport... + if(self.corner.fixed !== TRUE) { + // Horizontal - Shift or flip method + if(horizontal === SHIFT && newCorner.precedance === X && adjust.left && newCorner.y !== CENTER) { + newCorner.precedance = newCorner.precedance === X ? Y : X; + } + else if(horizontal !== SHIFT && adjust.left){ + newCorner.x = newCorner.x === CENTER ? (adjust.left > 0 ? LEFT : RIGHT) : (newCorner.x === LEFT ? RIGHT : LEFT); + } + + // Vertical - Shift or flip method + if(vertical === SHIFT && newCorner.precedance === Y && adjust.top && newCorner.x !== CENTER) { + newCorner.precedance = newCorner.precedance === Y ? X : Y; + } + else if(vertical !== SHIFT && adjust.top) { + newCorner.y = newCorner.y === CENTER ? (adjust.top > 0 ? TOP : BOTTOM) : (newCorner.y === TOP ? BOTTOM : TOP); + } + + // Update and redraw the tip if needed (check cached details of last drawn tip) + if(newCorner.string() !== cache.corner.string() && (cache.top !== adjust.top || cache.left !== adjust.left)) { + self.update(newCorner, FALSE); + } + } + + // Setup tip offset properties + offset = self.position(newCorner, adjust); + offset[ newCorner.x ] += parseWidth(newCorner, newCorner.x); + offset[ newCorner.y ] += parseWidth(newCorner, newCorner.y); + + // Readjust offset object to make it left/top + if(offset.right !== undefined) { offset.left = -offset.right; } + if(offset.bottom !== undefined) { offset.top = -offset.bottom; } + offset.user = Math.max(0, opts.offset); + + // Viewport "shift" specific adjustments + if(shift.left = (horizontal === SHIFT && !!adjust.left)) { + if(newCorner.x === CENTER) { + css['margin-left'] = shift.x = offset['margin-left'] - adjust.left; + } + else { + props = offset.right !== undefined ? + [ adjust.left, -offset.left ] : [ -adjust.left, offset.left ]; + + if( (shift.x = Math.max(props[0], props[1])) > props[0] ) { + pos.left -= adjust.left; + shift.left = FALSE; + } + + css[ offset.right !== undefined ? RIGHT : LEFT ] = shift.x; + } + } + if(shift.top = (vertical === SHIFT && !!adjust.top)) { + if(newCorner.y === CENTER) { + css['margin-top'] = shift.y = offset['margin-top'] - adjust.top; + } + else { + props = offset.bottom !== undefined ? + [ adjust.top, -offset.top ] : [ -adjust.top, offset.top ]; + + if( (shift.y = Math.max(props[0], props[1])) > props[0] ) { + pos.top -= adjust.top; + shift.top = FALSE; + } + + css[ offset.bottom !== undefined ? BOTTOM : TOP ] = shift.y; + } + } + + /* + * If the tip is adjusted in both dimensions, or in a + * direction that would cause it to be anywhere but the + * outer border, hide it! + */ + elems.tip.css(css).toggle( + !((shift.x && shift.y) || (newCorner.x === CENTER && shift.y) || (newCorner.y === CENTER && shift.x)) + ); + + // Adjust position to accomodate tip dimensions + pos.left -= offset.left.charAt ? offset.user : horizontal !== SHIFT || shift.top || !shift.left && !shift.top ? offset.left : 0; + pos.top -= offset.top.charAt ? offset.user : vertical !== SHIFT || shift.left || !shift.left && !shift.top ? offset.top : 0; + + // Cache details + cache.left = adjust.left; cache.top = adjust.top; + cache.corner = newCorner.clone(); + } + + function parseCorner() { + var corner = opts.corner, + posOptions = qTip.options.position, + at = posOptions.at, + my = posOptions.my.string ? posOptions.my.string() : posOptions.my; + + // Detect corner and mimic properties + if(corner === FALSE || (my === FALSE && at === FALSE)) { + return FALSE; + } + else { + if(corner === TRUE) { + self.corner = new PLUGINS.Corner(my); + } + else if(!corner.string) { + self.corner = new PLUGINS.Corner(corner); + self.corner.fixed = TRUE; + } + } + + // Cache it + cache.corner = new PLUGINS.Corner( self.corner.string() ); + + return self.corner.string() !== 'centercenter'; + } + + /* border width calculator */ + function parseWidth(corner, side, use) { + side = !side ? corner[corner.precedance] : side; + + var isTitleTop = elems.titlebar && corner.y === TOP, + elem = isTitleTop ? elems.titlebar : tooltip, + borderSide = 'border-' + side + '-width', + css = function(elem) { return parseInt(elem.css(borderSide), 10); }, + val; + + // Grab the border-width value (make tooltip visible first) + whileVisible(function() { + val = (use ? css(use) : (css(elems.content) || css(elem) || css(tooltip))) || 0; + }); + return val; + } + + function parseRadius(corner) { + var isTitleTop = elems.titlebar && corner.y === TOP, + elem = isTitleTop ? elems.titlebar : elems.content, + moz = $.browser.mozilla, + prefix = moz ? '-moz-' : $.browser.webkit ? '-webkit-' : '', + nonStandard = 'border-radius-' + corner.y + corner.x, + standard = 'border-' + corner.y + '-' + corner.x + '-radius', + css = function(c) { return parseInt(elem.css(c), 10) || parseInt(tooltip.css(c), 10); }, + val; + + whileVisible(function() { + val = css(standard) || css(prefix + standard) || css(prefix + nonStandard) || css(nonStandard) || 0; + }); + return val; + } + + function parseColours(actual) { + var i, fill, border, + tip = elems.tip.css('cssText', ''), + corner = actual || self.corner, + invalid = /rgba?\(0, 0, 0(, 0)?\)|transparent|#123456/i, + borderSide = 'border-' + corner[ corner.precedance ] + '-color', + bgColor = 'background-color', + transparent = 'transparent', + important = ' !important', + + titlebar = elems.titlebar, + useTitle = titlebar && (corner.y === TOP || (corner.y === CENTER && tip.position().top + (size.height / 2) + opts.offset < titlebar.outerHeight(TRUE))), + colorElem = useTitle ? titlebar : elems.content; + + function css(elem, prop, compare) { + var val = elem.css(prop) || transparent; + if(compare && val === elem.css(compare)) { return FALSE; } + else { return invalid.test(val) ? FALSE : val; } + } + + // Ensure tooltip is visible then... + whileVisible(function() { + // Attempt to detect the background colour from various elements, left-to-right precedance + color.fill = css(tip, bgColor) || css(colorElem, bgColor) || css(elems.content, bgColor) || + css(tooltip, bgColor) || tip.css(bgColor); + + // Attempt to detect the correct border side colour from various elements, left-to-right precedance + color.border = css(tip, borderSide, 'color') || css(colorElem, borderSide, 'color') || + css(elems.content, borderSide, 'color') || css(tooltip, borderSide, 'color') || tooltip.css(borderSide); + + // Reset background and border colours + $('*', tip).add(tip).css('cssText', bgColor+':'+transparent+important+';border:0'+important+';'); + }); + } + + function calculateSize(corner) { + var y = corner.precedance === Y, + width = size [ y ? WIDTH : HEIGHT ], + height = size [ y ? HEIGHT : WIDTH ], + isCenter = corner.string().indexOf(CENTER) > -1, + base = width * (isCenter ? 0.5 : 1), + pow = Math.pow, + round = Math.round, + bigHyp, ratio, result, + + smallHyp = Math.sqrt( pow(base, 2) + pow(height, 2) ), + + hyp = [ + (border / base) * smallHyp, (border / height) * smallHyp + ]; + hyp[2] = Math.sqrt( pow(hyp[0], 2) - pow(border, 2) ); + hyp[3] = Math.sqrt( pow(hyp[1], 2) - pow(border, 2) ); + + bigHyp = smallHyp + hyp[2] + hyp[3] + (isCenter ? 0 : hyp[0]); + ratio = bigHyp / smallHyp; + + result = [ round(ratio * height), round(ratio * width) ]; + return { height: result[ y ? 0 : 1 ], width: result[ y ? 1 : 0 ] }; + } + + function createVML(tag, props, style) { + return '<qvml:'+tag+' xmlns="urn:schemas-microsoft.com:vml" class="qtip-vml" '+(props||'')+ + ' style="behavior: url(#default#VML); '+(style||'')+ '" />'; + } + + $.extend(self, { + init: function() + { + var enabled = parseCorner() && (hasCanvas || $.browser.msie); + + // Determine tip corner and type + if(enabled) { + // Create a new tip and draw it + self.create(); + self.update(); + + // Bind update events + tooltip.unbind(namespace).bind('tooltipmove'+namespace, reposition); + + // Fix for issue of tips not showing after redraw in IE (VML...) + if(!hasCanvas) { + tooltip.bind('tooltipredraw tooltipredrawn', function(event) { + if(event.type === 'tooltipredraw') { + tiphtml = elems.tip.html(); + elems.tip.html(''); + } + else { elems.tip.html(tiphtml); } + }); + } + } + + return enabled; + }, + + create: function() + { + var width = size.width, + height = size.height, + vml; + + // Remove previous tip element if present + if(elems.tip) { elems.tip.remove(); } + + // Create tip element and prepend to the tooltip + elems.tip = $('<div />', { 'class': 'ui-tooltip-tip' }).css({ width: width, height: height }).prependTo(tooltip); + + // Create tip drawing element(s) + if(hasCanvas) { + // save() as soon as we create the canvas element so FF2 doesn't bork on our first restore()! + $('<canvas />').appendTo(elems.tip)[0].getContext('2d').save(); + } + else { + vml = createVML('shape', 'coordorigin="0,0"', 'position:absolute;'); + elems.tip.html(vml + vml); + + // Prevent mousing down on the tip since it causes problems with .live() handling in IE due to VML + $('*', elems.tip).bind('click mousedown', function(event) { event.stopPropagation(); }); + } + }, + + update: function(corner, position) + { + var tip = elems.tip, + inner = tip.children(), + width = size.width, + height = size.height, + mimic = opts.mimic, + round = Math.round, + precedance, context, coords, translate, newSize; + + // Re-determine tip if not already set + if(!corner) { corner = cache.corner || self.corner; } + + // Use corner property if we detect an invalid mimic value + if(mimic === FALSE) { mimic = corner; } + + // Otherwise inherit mimic properties from the corner object as necessary + else { + mimic = new PLUGINS.Corner(mimic); + mimic.precedance = corner.precedance; + + if(mimic.x === 'inherit') { mimic.x = corner.x; } + else if(mimic.y === 'inherit') { mimic.y = corner.y; } + else if(mimic.x === mimic.y) { + mimic[ corner.precedance ] = corner[ corner.precedance ]; + } + } + precedance = mimic.precedance; + + // Ensure the tip width.height are relative to the tip position + if(corner.precedance === X) { swapDimensions(); } + else { resetDimensions(); } + + // Set the tip dimensions + elems.tip.css({ + width: (width = size.width), + height: (height = size.height) + }); + + // Update our colours + parseColours(corner); + + // Detect border width, taking into account colours + if(color.border !== 'transparent') { + // Grab border width + border = parseWidth(corner, NULL); + + // If border width isn't zero, use border color as fill (1.0 style tips) + if(opts.border === 0 && border > 0) { color.fill = color.border; } + + // Set border width (use detected border width if opts.border is true) + self.border = border = opts.border !== TRUE ? opts.border : border; + } + + // Border colour was invalid, set border to zero + else { self.border = border = 0; } + + // Calculate coordinates + coords = calculateTip(mimic, width , height); + + // Determine tip size + self.size = newSize = calculateSize(corner); + tip.css(newSize); + + // Calculate tip translation + if(corner.precedance === Y) { + translate = [ + round(mimic.x === LEFT ? border : mimic.x === RIGHT ? newSize.width - width - border : (newSize.width - width) / 2), + round(mimic.y === TOP ? newSize.height - height : 0) + ]; + } + else { + translate = [ + round(mimic.x === LEFT ? newSize.width - width : 0), + round(mimic.y === TOP ? border : mimic.y === BOTTOM ? newSize.height - height - border : (newSize.height - height) / 2) + ]; + } + + // Canvas drawing implementation + if(hasCanvas) { + // Set the canvas size using calculated size + inner.attr(newSize); + + // Grab canvas context and clear/save it + context = inner[0].getContext('2d'); + context.restore(); context.save(); + context.clearRect(0,0,3000,3000); + + // Set properties + context.fillStyle = color.fill; + context.strokeStyle = color.border; + context.lineWidth = border * 2; + context.lineJoin = 'miter'; + context.miterLimit = 100; + + // Translate origin + context.translate(translate[0], translate[1]); + + // Draw the tip + context.beginPath(); + context.moveTo(coords[0][0], coords[0][1]); + context.lineTo(coords[1][0], coords[1][1]); + context.lineTo(coords[2][0], coords[2][1]); + context.closePath(); + + // Apply fill and border + if(border) { + // Make sure transparent borders are supported by doing a stroke + // of the background colour before the stroke colour + if(tooltip.css('background-clip') === 'border-box') { + context.strokeStyle = color.fill; + context.stroke(); + } + context.strokeStyle = color.border; + context.stroke(); + } + context.fill(); + } + + // VML (IE Proprietary implementation) + else { + // Setup coordinates string + coords = 'm' + coords[0][0] + ',' + coords[0][1] + ' l' + coords[1][0] + + ',' + coords[1][1] + ' ' + coords[2][0] + ',' + coords[2][1] + ' xe'; + + // Setup VML-specific offset for pixel-perfection + translate[2] = border && /^(r|b)/i.test(corner.string()) ? + parseFloat($.browser.version, 10) === 8 ? 2 : 1 : 0; + + // Set initial CSS + inner.css({ + coordsize: (width+border) + ' ' + (height+border), + antialias: ''+(mimic.string().indexOf(CENTER) > -1), + left: translate[0], + top: translate[1], + width: width + border, + height: height + border + }) + .each(function(i) { + var $this = $(this); + + // Set shape specific attributes + $this[ $this.prop ? 'prop' : 'attr' ]({ + coordsize: (width+border) + ' ' + (height+border), + path: coords, + fillcolor: color.fill, + filled: !!i, + stroked: !i + }) + .toggle(!!(border || i)); + + // Check if border is enabled and add stroke element + if(!i && $this.html() === '') { + $this.html( + createVML('stroke', 'weight="'+(border*2)+'px" color="'+color.border+'" miterlimit="1000" joinstyle="miter"') + ); + } + }); + } + + // Position if needed + if(position !== FALSE) { self.position(corner); } + }, + + // Tip positioning method + position: function(corner) + { + var tip = elems.tip, + position = {}, + userOffset = Math.max(0, opts.offset), + precedance, dimensions, corners; + + // Return if tips are disabled or tip is not yet rendered + if(opts.corner === FALSE || !tip) { return FALSE; } + + // Inherit corner if not provided + corner = corner || self.corner; + precedance = corner.precedance; + + // Determine which tip dimension to use for adjustment + dimensions = calculateSize(corner); + + // Setup corners and offset array + corners = [ corner.x, corner.y ]; + if(precedance === X) { corners.reverse(); } + + // Calculate tip position + $.each(corners, function(i, side) { + var b, bc, br; + + if(side === CENTER) { + b = precedance === Y ? LEFT : TOP; + position[ b ] = '50%'; + position['margin-' + b] = -Math.round(dimensions[ precedance === Y ? WIDTH : HEIGHT ] / 2) + userOffset; + } + else { + b = parseWidth(corner, side); + bc = parseWidth(corner, side, elems.content); + br = parseRadius(corner); + + position[ side ] = i ? bc : (userOffset + (br > b ? br : -b)); + } + }); + + // Adjust for tip dimensions + position[ corner[precedance] ] -= dimensions[ precedance === X ? WIDTH : HEIGHT ]; + + // Set and return new position + tip.css({ top: '', bottom: '', left: '', right: '', margin: '' }).css(position); + return position; + }, + + destroy: function() + { + // Remove the tip element + if(elems.tip) { elems.tip.remove(); } + elems.tip = false; + + // Unbind events + tooltip.unbind(namespace); + } + }); + + self.init(); +} + +PLUGINS.tip = function(api) +{ + var self = api.plugins.tip; + + return 'object' === typeof self ? self : (api.plugins.tip = new Tip(api)); +}; + +// Initialize tip on render +PLUGINS.tip.initialize = 'render'; + +// Setup plugin sanitization options +PLUGINS.tip.sanitize = function(options) +{ + var style = options.style, opts; + if(style && 'tip' in style) { + opts = options.style.tip; + if(typeof opts !== 'object'){ options.style.tip = { corner: opts }; } + if(!(/string|boolean/i).test(typeof opts['corner'])) { opts['corner'] = TRUE; } + if(typeof opts.width !== 'number'){ delete opts.width; } + if(typeof opts.height !== 'number'){ delete opts.height; } + if(typeof opts.border !== 'number' && opts.border !== TRUE){ delete opts.border; } + if(typeof opts.offset !== 'number'){ delete opts.offset; } + } +}; + +// Extend original qTip defaults +$.extend(TRUE, QTIP.defaults, { + style: { + tip: { + corner: TRUE, + mimic: FALSE, + width: 6, + height: 6, + border: TRUE, + offset: 0 + } + } +}); + + +function Modal(api) +{ + var self = this, + options = api.options.show.modal, + elems = api.elements, + tooltip = elems.tooltip, + overlaySelector = '#qtip-overlay', + globalNamespace = '.qtipmodal', + namespace = globalNamespace + api.id, + attr = 'is-modal-qtip', + docBody = $(document.body), + focusableSelector = PLUGINS.modal.focusable.join(','), + focusableElems = {}, overlay; + + // Setup option set checks + api.checks.modal = { + '^show.modal.(on|blur)$': function() { + // Initialise + self.init(); + + // Show the modal if not visible already and tooltip is visible + elems.overlay.toggle( tooltip.is(':visible') ); + }, + '^content.text$': function() { + updateFocusable(); + } + }; + + function updateFocusable() { + focusableElems = $(focusableSelector, tooltip).not('[disabled]').map(function() { + return typeof this.focus === 'function' ? this : null; + }); + } + + function focusInputs(blurElems) { + // Blurring body element in IE causes window.open windows to unfocus! + if(focusableElems.length < 1 && blurElems.length) { blurElems.not('body').blur(); } + + // Focus the inputs + else { focusableElems.first().focus(); } + } + + function stealFocus(event) { + var target = $(event.target), + container = target.closest('.qtip'), + targetOnTop; + + // Determine if input container target is above this + targetOnTop = container.length < 1 ? FALSE : + (parseInt(container[0].style.zIndex, 10) > parseInt(tooltip[0].style.zIndex, 10)); + + // If we're showing a modal, but focus has landed on an input below + // this modal, divert focus to the first visible input in this modal + // or if we can't find one... the tooltip itself + if(!targetOnTop && ($(event.target).closest(selector)[0] !== tooltip[0])) { + focusInputs(target); + } + } + + $.extend(self, { + init: function() + { + // If modal is disabled... return + if(!options.on) { return self; } + + // Create the overlay if needed + overlay = self.create(); + + // Add unique attribute so we can grab modal tooltips easily via a selector + tooltip.attr(attr, TRUE) + + // Set z-index + .css('z-index', PLUGINS.modal.zindex + $(selector+'['+attr+']').length) + + // Remove previous bound events in globalNamespace + .unbind(globalNamespace).unbind(namespace) + + // Apply our show/hide/focus modal events + .bind('tooltipshow'+globalNamespace+' tooltiphide'+globalNamespace, function(event, api, duration) { + var oEvent = event.originalEvent; + + // Make sure mouseout doesn't trigger a hide when showing the modal and mousing onto backdrop + if(event.target === tooltip[0]) { + if(oEvent && event.type === 'tooltiphide' && /mouse(leave|enter)/.test(oEvent.type) && $(oEvent.relatedTarget).closest(overlay[0]).length) { + try { event.preventDefault(); } catch(e) {} + } + else if(!oEvent || (oEvent && !oEvent.solo)) { + self[ event.type.replace('tooltip', '') ](event, duration); + } + } + }) + + // Adjust modal z-index on tooltip focus + .bind('tooltipfocus'+globalNamespace, function(event) { + // If focus was cancelled before it reearch us, don't do anything + if(event.isDefaultPrevented() || event.target !== tooltip[0]) { return; } + + var qtips = $(selector).filter('['+attr+']'), + + // Keep the modal's lower than other, regular qtips + newIndex = PLUGINS.modal.zindex + qtips.length, + curIndex = parseInt(tooltip[0].style.zIndex, 10); + + // Set overlay z-index + overlay[0].style.zIndex = newIndex - 2; + + // Reduce modal z-index's and keep them properly ordered + qtips.each(function() { + if(this.style.zIndex > curIndex) { + this.style.zIndex -= 1; + } + }); + + // Fire blur event for focused tooltip + qtips.end().filter('.' + focusClass).qtip('blur', event.originalEvent); + + // Set the new z-index + tooltip.addClass(focusClass)[0].style.zIndex = newIndex; + + // Prevent default handling + try { event.preventDefault(); } catch(e) {} + }) + + // Focus any other visible modals when this one hides + .bind('tooltiphide'+globalNamespace, function(event) { + if(event.target === tooltip[0]) { + $('[' + attr + ']').filter(':visible').not(tooltip).last().qtip('focus', event); + } + }); + + // Apply keyboard "Escape key" close handler + if(options.escape) { + $(document).unbind(namespace).bind('keydown'+namespace, function(event) { + if(event.keyCode === 27 && tooltip.hasClass(focusClass)) { + api.hide(event); + } + }); + } + + // Apply click handler for blur option + if(options.blur) { + elems.overlay.unbind(namespace).bind('click'+namespace, function(event) { + if(tooltip.hasClass(focusClass)) { api.hide(event); } + }); + } + + // Update focusable elements + updateFocusable(); + + return self; + }, + + create: function() + { + var elem = $(overlaySelector); + + // Return if overlay is already rendered + if(elem.length) { + // Modal overlay should always be below all tooltips if possible + return (elems.overlay = elem.insertAfter( $(selector).last() )); + } + + // Create document overlay + overlay = elems.overlay = $('<div />', { + id: overlaySelector.substr(1), + html: '<div></div>', + mousedown: function() { return FALSE; } + }) + .hide() + .insertAfter( $(selector).last() ); + + // Update position on window resize or scroll + function resize() { + overlay.css({ + height: $(window).height(), + width: $(window).width() + }); + } + $(window).unbind(globalNamespace).bind('resize'+globalNamespace, resize); + resize(); // Fire it initially too + + return overlay; + }, + + toggle: function(event, state, duration) + { + // Make sure default event hasn't been prevented + if(event && event.isDefaultPrevented()) { return self; } + + var effect = options.effect, + type = state ? 'show': 'hide', + visible = overlay.is(':visible'), + modals = $('[' + attr + ']').filter(':visible').not(tooltip), + zindex; + + // Create our overlay if it isn't present already + if(!overlay) { overlay = self.create(); } + + // Prevent modal from conflicting with show.solo, and don't hide backdrop is other modals are visible + if((overlay.is(':animated') && visible === state) || (!state && modals.length)) { return self; } + + // State specific... + if(state) { + // Set position + overlay.css({ left: 0, top: 0 }); + + // Toggle backdrop cursor style on show + overlay.toggleClass('blurs', options.blur); + + // IF the modal can steal the focus + if(options.stealfocus !== FALSE) { + // Make sure we can't focus anything outside the tooltip + docBody.bind('focusin'+namespace, stealFocus); + + // Blur the current item and focus anything in the modal we an + focusInputs( $('body :focus') ); + } + } + else { + // Undelegate focus handler + docBody.unbind('focusin'+namespace); + } + + // Stop all animations + overlay.stop(TRUE, FALSE); + + // Use custom function if provided + if($.isFunction(effect)) { + effect.call(overlay, state); + } + + // If no effect type is supplied, use a simple toggle + else if(effect === FALSE) { + overlay[ type ](); + } + + // Use basic fade function + else { + overlay.fadeTo( parseInt(duration, 10) || 90, state ? 1 : 0, function() { + if(!state) { $(this).hide(); } + }); + } + + // Reset position on hide + if(!state) { + overlay.queue(function(next) { + overlay.css({ left: '', top: '' }); + next(); + }); + } + + return self; + }, + + show: function(event, duration) { return self.toggle(event, TRUE, duration); }, + hide: function(event, duration) { return self.toggle(event, FALSE, duration); }, + + destroy: function() + { + var delBlanket = overlay; + + if(delBlanket) { + // Check if any other modal tooltips are present + delBlanket = $('[' + attr + ']').not(tooltip).length < 1; + + // Remove overlay if needed + if(delBlanket) { + elems.overlay.remove(); + $(document).unbind(globalNamespace); + } + else { + elems.overlay.unbind(globalNamespace+api.id); + } + + // Undelegate focus handler + docBody.undelegate('*', 'focusin'+namespace); + } + + // Remove bound events + return tooltip.removeAttr(attr).unbind(globalNamespace); + } + }); + + self.init(); +} + +PLUGINS.modal = function(api) { + var self = api.plugins.modal; + + return 'object' === typeof self ? self : (api.plugins.modal = new Modal(api)); +}; + +// Plugin needs to be initialized on render +PLUGINS.modal.initialize = 'render'; + +// Setup sanitiztion rules +PLUGINS.modal.sanitize = function(opts) { + if(opts.show) { + if(typeof opts.show.modal !== 'object') { opts.show.modal = { on: !!opts.show.modal }; } + else if(typeof opts.show.modal.on === 'undefined') { opts.show.modal.on = TRUE; } + } +}; + +// Base z-index for all modal tooltips (use qTip core z-index as a base) +PLUGINS.modal.zindex = QTIP.zindex - 200; + +// Defines the selector used to select all 'focusable' elements within the modal when using the show.modal.stealfocus option. +// Selectors initially taken from http://stackoverflow.com/questions/7668525/is-there-a-jquery-selector-to-get-all-elements-that-can-get-focus +PLUGINS.modal.focusable = ['a[href]', 'area[href]', 'input', 'select', 'textarea', 'button', 'iframe', 'object', 'embed', '[tabindex]', '[contenteditable]']; + +// Extend original api defaults +$.extend(TRUE, QTIP.defaults, { + show: { + modal: { + on: FALSE, + effect: TRUE, + blur: TRUE, + stealfocus: TRUE, + escape: TRUE + } + } +}); + + +PLUGINS.viewport = function(api, position, posOptions, targetWidth, targetHeight, elemWidth, elemHeight) +{ + var target = posOptions.target, + tooltip = api.elements.tooltip, + my = posOptions.my, + at = posOptions.at, + adjust = posOptions.adjust, + method = adjust.method.split(' '), + methodX = method[0], + methodY = method[1] || method[0], + viewport = posOptions.viewport, + container = posOptions.container, + cache = api.cache, + tip = api.plugins.tip, + adjusted = { left: 0, top: 0 }, + fixed, newMy, newClass; + + // If viewport is not a jQuery element, or it's the window/document or no adjustment method is used... return + if(!viewport.jquery || target[0] === window || target[0] === document.body || adjust.method === 'none') { + return adjusted; + } + + // Cache our viewport details + fixed = tooltip.css('position') === 'fixed'; + viewport = { + elem: viewport, + height: viewport[ (viewport[0] === window ? 'h' : 'outerH') + 'eight' ](), + width: viewport[ (viewport[0] === window ? 'w' : 'outerW') + 'idth' ](), + scrollleft: fixed ? 0 : viewport.scrollLeft(), + scrolltop: fixed ? 0 : viewport.scrollTop(), + offset: viewport.offset() || { left: 0, top: 0 } + }; + container = { + elem: container, + scrollLeft: container.scrollLeft(), + scrollTop: container.scrollTop(), + offset: container.offset() || { left: 0, top: 0 } + }; + + // Generic calculation method + function calculate(side, otherSide, type, adjust, side1, side2, lengthName, targetLength, elemLength) { + var initialPos = position[side1], + mySide = my[side], atSide = at[side], + isShift = type === SHIFT, + viewportScroll = -container.offset[side1] + viewport.offset[side1] + viewport['scroll'+side1], + myLength = mySide === side1 ? elemLength : mySide === side2 ? -elemLength : -elemLength / 2, + atLength = atSide === side1 ? targetLength : atSide === side2 ? -targetLength : -targetLength / 2, + tipLength = tip && tip.size ? tip.size[lengthName] || 0 : 0, + tipAdjust = tip && tip.corner && tip.corner.precedance === side && !isShift ? tipLength : 0, + overflow1 = viewportScroll - initialPos + tipAdjust, + overflow2 = initialPos + elemLength - viewport[lengthName] - viewportScroll + tipAdjust, + offset = myLength - (my.precedance === side || mySide === my[otherSide] ? atLength : 0) - (atSide === CENTER ? targetLength / 2 : 0); + + // shift + if(isShift) { + tipAdjust = tip && tip.corner && tip.corner.precedance === otherSide ? tipLength : 0; + offset = (mySide === side1 ? 1 : -1) * myLength - tipAdjust; + + // Adjust position but keep it within viewport dimensions + position[side1] += overflow1 > 0 ? overflow1 : overflow2 > 0 ? -overflow2 : 0; + position[side1] = Math.max( + -container.offset[side1] + viewport.offset[side1] + (tipAdjust && tip.corner[side] === CENTER ? tip.offset : 0), + initialPos - offset, + Math.min( + Math.max(-container.offset[side1] + viewport.offset[side1] + viewport[lengthName], initialPos + offset), + position[side1] + ) + ); + } + + // flip/flipinvert + else { + // Update adjustment amount depending on if using flipinvert or flip + adjust *= (type === FLIPINVERT ? 2 : 0); + + // Check for overflow on the left/top + if(overflow1 > 0 && (mySide !== side1 || overflow2 > 0)) { + position[side1] -= offset + adjust; + newMy['invert'+side](side1); + } + + // Check for overflow on the bottom/right + else if(overflow2 > 0 && (mySide !== side2 || overflow1 > 0) ) { + position[side1] -= (mySide === CENTER ? -offset : offset) + adjust; + newMy['invert'+side](side2); + } + + // Make sure we haven't made things worse with the adjustment and reset if so + if(position[side1] < viewportScroll && -position[side1] > overflow2) { + position[side1] = initialPos; newMy = my.clone(); + } + } + + return position[side1] - initialPos; + } + + // Set newMy if using flip or flipinvert methods + if(methodX !== 'shift' || methodY !== 'shift') { newMy = my.clone(); } + + // Adjust position based onviewport and adjustment options + adjusted = { + left: methodX !== 'none' ? calculate( X, Y, methodX, adjust.x, LEFT, RIGHT, WIDTH, targetWidth, elemWidth ) : 0, + top: methodY !== 'none' ? calculate( Y, X, methodY, adjust.y, TOP, BOTTOM, HEIGHT, targetHeight, elemHeight ) : 0 + }; + + // Set tooltip position class if it's changed + if(newMy && cache.lastClass !== (newClass = uitooltip + '-pos-' + newMy.abbrev())) { + tooltip.removeClass(api.cache.lastClass).addClass( (api.cache.lastClass = newClass) ); + } + + return adjusted; +}; +PLUGINS.imagemap = function(api, area, corner, adjustMethod) +{ + if(!area.jquery) { area = $(area); } + + var cache = (api.cache.areas = {}), + shape = (area[0].shape || area.attr('shape')).toLowerCase(), + coordsString = area[0].coords || area.attr('coords'), + baseCoords = coordsString.split(','), + coords = [], + image = $('img[usemap="#'+area.parent('map').attr('name')+'"]'), + imageOffset = image.offset(), + result = { + width: 0, height: 0, + position: { + top: 1e10, right: 0, + bottom: 0, left: 1e10 + } + }, + i = 0, next = 0, dimensions; + + // POLY area coordinate calculator + // Special thanks to Ed Cradock for helping out with this. + // Uses a binary search algorithm to find suitable coordinates. + function polyCoordinates(result, coords, corner) + { + var i = 0, + compareX = 1, compareY = 1, + realX = 0, realY = 0, + newWidth = result.width, + newHeight = result.height; + + // Use a binary search algorithm to locate most suitable coordinate (hopefully) + while(newWidth > 0 && newHeight > 0 && compareX > 0 && compareY > 0) + { + newWidth = Math.floor(newWidth / 2); + newHeight = Math.floor(newHeight / 2); + + if(corner.x === LEFT){ compareX = newWidth; } + else if(corner.x === RIGHT){ compareX = result.width - newWidth; } + else{ compareX += Math.floor(newWidth / 2); } + + if(corner.y === TOP){ compareY = newHeight; } + else if(corner.y === BOTTOM){ compareY = result.height - newHeight; } + else{ compareY += Math.floor(newHeight / 2); } + + i = coords.length; while(i--) + { + if(coords.length < 2){ break; } + + realX = coords[i][0] - result.position.left; + realY = coords[i][1] - result.position.top; + + if((corner.x === LEFT && realX >= compareX) || + (corner.x === RIGHT && realX <= compareX) || + (corner.x === CENTER && (realX < compareX || realX > (result.width - compareX))) || + (corner.y === TOP && realY >= compareY) || + (corner.y === BOTTOM && realY <= compareY) || + (corner.y === CENTER && (realY < compareY || realY > (result.height - compareY)))) { + coords.splice(i, 1); + } + } + } + + return { left: coords[0][0], top: coords[0][1] }; + } + + // Make sure we account for padding and borders on the image + imageOffset.left += Math.ceil((image.outerWidth() - image.width()) / 2); + imageOffset.top += Math.ceil((image.outerHeight() - image.height()) / 2); + + // Parse coordinates into proper array + if(shape === 'poly') { + i = baseCoords.length; while(i--) + { + next = [ parseInt(baseCoords[--i], 10), parseInt(baseCoords[i+1], 10) ]; + + if(next[0] > result.position.right){ result.position.right = next[0]; } + if(next[0] < result.position.left){ result.position.left = next[0]; } + if(next[1] > result.position.bottom){ result.position.bottom = next[1]; } + if(next[1] < result.position.top){ result.position.top = next[1]; } + + coords.push(next); + } + } + else { + i = -1; while(i++ < baseCoords.length) { + coords.push( parseInt(baseCoords[i], 10) ); + } + } + + // Calculate details + switch(shape) + { + case 'rect': + result = { + width: Math.abs(coords[2] - coords[0]), + height: Math.abs(coords[3] - coords[1]), + position: { + left: Math.min(coords[0], coords[2]), + top: Math.min(coords[1], coords[3]) + } + }; + break; + + case 'circle': + result = { + width: coords[2] + 2, + height: coords[2] + 2, + position: { left: coords[0], top: coords[1] } + }; + break; + + case 'poly': + result.width = Math.abs(result.position.right - result.position.left); + result.height = Math.abs(result.position.bottom - result.position.top); + + if(corner.abbrev() === 'c') { + result.position = { + left: result.position.left + (result.width / 2), + top: result.position.top + (result.height / 2) + }; + } + else { + // Calculate if we can't find a cached value + if(!cache[corner+coordsString]) { + result.position = polyCoordinates(result, coords.slice(), corner); + + // If flip adjustment is enabled, also calculate the closest opposite point + if(adjustMethod && (adjustMethod[0] === 'flip' || adjustMethod[1] === 'flip')) { + result.offset = polyCoordinates(result, coords.slice(), { + x: corner.x === LEFT ? RIGHT : corner.x === RIGHT ? LEFT : CENTER, + y: corner.y === TOP ? BOTTOM : corner.y === BOTTOM ? TOP : CENTER + }); + + result.offset.left -= result.position.left; + result.offset.top -= result.position.top; + } + + // Store the result + cache[corner+coordsString] = result; + } + + // Grab the cached result + result = cache[corner+coordsString]; + } + + result.width = result.height = 0; + break; + } + + // Add image position to offset coordinates + result.position.left += imageOffset.left; + result.position.top += imageOffset.top; + + return result; +}; + + +/* + * BGIFrame adaption (http://plugins.jquery.com/project/bgiframe) + * Special thanks to Brandon Aaron + */ +function BGIFrame(api) +{ + var self = this, + elems = api.elements, + tooltip = elems.tooltip, + namespace = '.bgiframe-' + api.id; + + $.extend(self, { + init: function() + { + // Create the BGIFrame element + elems.bgiframe = $('<iframe class="ui-tooltip-bgiframe" frameborder="0" tabindex="-1" src="javascript:\'\';" ' + + ' style="display:block; position:absolute; z-index:-1; filter:alpha(opacity=0); ' + + '-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";"></iframe>'); + + // Append the new element to the tooltip + elems.bgiframe.appendTo(tooltip); + + // Update BGIFrame on tooltip move + tooltip.bind('tooltipmove'+namespace, self.adjust); + }, + + adjust: function() + { + var dimensions = api.get('dimensions'), // Determine current tooltip dimensions + plugin = api.plugins.tip, + tip = elems.tip, + tipAdjust, offset; + + // Adjust border offset + offset = parseInt(tooltip.css('border-left-width'), 10) || 0; + offset = { left: -offset, top: -offset }; + + // Adjust for tips plugin + if(plugin && tip) { + tipAdjust = (plugin.corner.precedance === 'x') ? ['width', 'left'] : ['height', 'top']; + offset[ tipAdjust[1] ] -= tip[ tipAdjust[0] ](); + } + + // Update bgiframe + elems.bgiframe.css(offset).css(dimensions); + }, + + destroy: function() + { + // Remove iframe + elems.bgiframe.remove(); + + // Remove bound events + tooltip.unbind(namespace); + } + }); + + self.init(); +} + +PLUGINS.bgiframe = function(api) +{ + var browser = $.browser, + self = api.plugins.bgiframe; + + // Proceed only if the browser is IE6 and offending elements are present + if($('select, object').length < 1 || !(browser.msie && (''+browser.version).charAt(0) === '6')) { + return FALSE; + } + + return 'object' === typeof self ? self : (api.plugins.bgiframe = new BGIFrame(api)); +}; + +// Plugin needs to be initialized on render +PLUGINS.bgiframe.initialize = 'render'; + + +})); +}( window, document )); \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/js/jquery.qtip.min.js b/wp-content/plugins/admin-menu-editor/js/jquery.qtip.min.js new file mode 100644 index 0000000..3971f6d --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/js/jquery.qtip.min.js @@ -0,0 +1,2 @@ +/*! qTip2 v2.0.0 | http://craigsworks.com/projects/qtip2/ | Licensed MIT, GPL */ +(function(a,b,c){(function(a){"use strict",typeof define=="function"&&define.amd?define(["jquery"],a):jQuery&&!jQuery.fn.qtip&&a(jQuery)})(function(d){function I(a){var b=function(a){return a===g||"object"!=typeof a},c=function(a){return!d.isFunction(a)&&(!a&&!a.attr||a.length<1||"object"==typeof a&&!a.jquery)};if(!a||"object"!=typeof a)return f;b(a.metadata)&&(a.metadata={type:a.metadata});if("content"in a){if(b(a.content)||a.content.jquery)a.content={text:a.content};c(a.content.text||f)&&(a.content.text=f),"title"in a.content&&(b(a.content.title)&&(a.content.title={text:a.content.title}),c(a.content.title.text||f)&&(a.content.title.text=f))}return"position"in a&&b(a.position)&&(a.position={my:a.position,at:a.position}),"show"in a&&b(a.show)&&(a.show=a.show.jquery?{target:a.show}:{event:a.show}),"hide"in a&&b(a.hide)&&(a.hide=a.hide.jquery?{target:a.hide}:{event:a.hide}),"style"in a&&b(a.style)&&(a.style={classes:a.style}),d.each(u,function(){this.sanitize&&this.sanitize(a)}),a}function J(h,i,q,r){function Q(a){var b=0,c,d=i,e=a.split(".");while(d=d[e[b++]])b<e.length&&(c=d);return[c||i,e.pop()]}function R(a,b,c){var e=d.Event("tooltip"+a);return e.originalEvent=(c?d.extend({},c):g)||P.event||g,M.trigger(e,[s].concat(b||[])),!e.isDefaultPrevented()}function S(){var a=i.style.widget;M.toggleClass("ui-helper-reset "+y,a).toggleClass(B,i.style.def&&!a),O.content&&O.content.toggleClass(y+"-content",a),O.titlebar&&O.titlebar.toggleClass(y+"-header",a),O.button&&O.button.toggleClass(x+"-icon",!a)}function T(a){O.title&&(O.titlebar.remove(),O.titlebar=O.title=O.button=g,a!==f&&s.reposition())}function U(){var a=i.content.title.button,b=typeof a=="string",c=b?a:"Close tooltip";O.button&&O.button.remove(),a.jquery?O.button=a:O.button=d("<a />",{"class":"ui-state-default ui-tooltip-close "+(i.style.widget?"":x+"-icon"),title:c,"aria-label":c}).prepend(d("<span />",{"class":"ui-icon ui-icon-close",html:"×"})),O.button.appendTo(O.titlebar).attr("role","button").click(function(a){return M.hasClass(z)||s.hide(a),f}),s.redraw()}function V(){var a=J+"-title";O.titlebar&&T(),O.titlebar=d("<div />",{"class":x+"-titlebar "+(i.style.widget?"ui-widget-header":"")}).append(O.title=d("<div />",{id:a,"class":x+"-title","aria-atomic":e})).insertBefore(O.content).delegate(".ui-tooltip-close","mousedown keydown mouseup keyup mouseout",function(a){d(this).toggleClass("ui-state-active ui-state-focus",a.type.substr(-4)==="down")}).delegate(".ui-tooltip-close","mouseover mouseout",function(a){d(this).toggleClass("ui-state-hover",a.type==="mouseover")}),i.content.title.button?U():s.rendered&&s.redraw()}function W(a){var b=O.button,c=O.title;if(!s.rendered)return f;a?(c||V(),U()):b.remove()}function X(a,b){var c=O.title;if(!s.rendered||!a)return f;d.isFunction(a)&&(a=a.call(h,P.event,s));if(a===f||!a&&a!=="")return T(f);a.jquery&&a.length>0?c.empty().append(a.css({display:"block"})):c.html(a),s.redraw(),b!==f&&s.rendered&&M[0].offsetWidth>0&&s.reposition(P.event)}function Y(a,b){function g(a){function i(c){c&&(delete h[c.src],clearTimeout(s.timers.img[c.src]),d(c).unbind(N)),d.isEmptyObject(h)&&(s.redraw(),b!==f&&s.reposition(P.event),a())}var g,h={};if((g=e.find("img[src]:not([height]):not([width])")).length===0)return i();g.each(function(a,b){if(h[b.src]!==c)return;var e=0,f=3;(function g(){if(b.height||b.width||e>f)return i(b);e+=1,s.timers.img[b.src]=setTimeout(g,700)})(),d(b).bind("error"+N+" load"+N,function(){i(this)}),h[b.src]=b})}var e=O.content;return!s.rendered||!a?f:(d.isFunction(a)&&(a=a.call(h,P.event,s)||""),a.jquery&&a.length>0?e.empty().append(a.css({display:"block"})):e.html(a),s.rendered<0?M.queue("fx",g):(L=0,g(d.noop)),s)}function Z(){function l(a){if(M.hasClass(z))return f;clearTimeout(s.timers.show),clearTimeout(s.timers.hide);var b=function(){s.toggle(e,a)};i.show.delay>0?s.timers.show=setTimeout(b,i.show.delay):b()}function m(a){if(M.hasClass(z)||K||L)return f;var b=d(a.relatedTarget||a.target),e=b.closest(A)[0]===M[0],h=b[0]===g.show[0];clearTimeout(s.timers.show),clearTimeout(s.timers.hide);if(c.target==="mouse"&&e||i.hide.fixed&&/mouse(out|leave|move)/.test(a.type)&&(e||h)){try{a.preventDefault(),a.stopImmediatePropagation()}catch(j){}return}i.hide.delay>0?s.timers.hide=setTimeout(function(){s.hide(a)},i.hide.delay):s.hide(a)}function n(a){if(M.hasClass(z))return f;clearTimeout(s.timers.inactive),s.timers.inactive=setTimeout(function(){s.hide(a)},i.hide.inactive)}function o(a){s.rendered&&M[0].offsetWidth>0&&s.reposition(a)}var c=i.position,g={show:i.show.target,hide:i.hide.target,viewport:d(c.viewport),document:d(b),body:d(b.body),window:d(a)},j={show:d.trim(""+i.show.event).split(" "),hide:d.trim(""+i.hide.event).split(" ")},k=d.browser.msie&&parseInt(d.browser.version,10)===6;M.bind("mouseenter"+N+" mouseleave"+N,function(a){var b=a.type==="mouseenter";b&&s.focus(a),M.toggleClass(D,b)}),/mouse(out|leave)/i.test(i.hide.event)&&i.hide.leave==="window"&&g.window.bind("mouseout"+N+" blur"+N,function(a){!/select|option/.test(a.target.nodeName)&&!a.relatedTarget&&s.hide(a)}),i.hide.fixed?(g.hide=g.hide.add(M),M.bind("mouseover"+N,function(){M.hasClass(z)||clearTimeout(s.timers.hide)})):/mouse(over|enter)/i.test(i.show.event)&&g.hide.bind("mouseleave"+N,function(a){clearTimeout(s.timers.show)}),(""+i.hide.event).indexOf("unfocus")>-1&&c.container.closest("html").bind("mousedown"+N,function(a){var b=d(a.target),c=s.rendered&&!M.hasClass(z)&&M[0].offsetWidth>0,e=b.parents(A).filter(M[0]).length>0;b[0]!==h[0]&&b[0]!==M[0]&&!e&&!h.has(b[0]).length&&!b.attr("disabled")&&s.hide(a)}),"number"==typeof i.hide.inactive&&(g.show.bind("qtip-"+q+"-inactive",n),d.each(t.inactiveEvents,function(a,b){g.hide.add(O.tooltip).bind(b+N+"-inactive",n)})),d.each(j.hide,function(a,b){var c=d.inArray(b,j.show),e=d(g.hide);c>-1&&e.add(g.show).length===e.length||b==="unfocus"?(g.show.bind(b+N,function(a){M[0].offsetWidth>0?m(a):l(a)}),delete j.show[c]):g.hide.bind(b+N,m)}),d.each(j.show,function(a,b){g.show.bind(b+N,l)}),"number"==typeof i.hide.distance&&g.show.add(M).bind("mousemove"+N,function(a){var b=P.origin||{},c=i.hide.distance,d=Math.abs;(d(a.pageX-b.pageX)>=c||d(a.pageY-b.pageY)>=c)&&s.hide(a)}),c.target==="mouse"&&(g.show.bind("mousemove"+N,function(a){v={pageX:a.pageX,pageY:a.pageY,type:"mousemove"}}),c.adjust.mouse&&(i.hide.event&&(M.bind("mouseleave"+N,function(a){(a.relatedTarget||a.target)!==g.show[0]&&s.hide(a)}),O.target.bind("mouseenter"+N+" mouseleave"+N,function(a){P.onTarget=a.type==="mouseenter"})),g.document.bind("mousemove"+N,function(a){s.rendered&&P.onTarget&&!M.hasClass(z)&&M[0].offsetWidth>0&&s.reposition(a||v)}))),(c.adjust.resize||g.viewport.length)&&(d.event.special.resize?g.viewport:g.window).bind("resize"+N,o),(g.viewport.length||k&&M.css("position")==="fixed")&&g.viewport.bind("scroll"+N,o)}function _(){var c=[i.show.target[0],i.hide.target[0],s.rendered&&O.tooltip[0],i.position.container[0],i.position.viewport[0],i.position.container.closest("html")[0],a,b];s.rendered?d([]).pushStack(d.grep(c,function(a){return typeof a=="object"})).unbind(N):i.show.target.unbind(N+"-create")}var s=this,E=b.body,J=x+"-"+q,K=0,L=0,M=d(),N=".qtip-"+q,O,P;s.id=q,s.rendered=f,s.destroyed=f,s.elements=O={target:h},s.timers={img:{}},s.options=i,s.checks={},s.plugins={},s.cache=P={event:{},target:d(),disabled:f,attr:r,onTarget:f,lastClass:""},s.checks.builtin={"^id$":function(a,b,c){var g=c===e?t.nextid:c,h=x+"-"+g;g!==f&&g.length>0&&!d("#"+h).length&&(M[0].id=h,O.content[0].id=h+"-content",O.title[0].id=h+"-title")},"^content.text$":function(a,b,c){Y(c)},"^content.title.text$":function(a,b,c){if(!c)return T();!O.title&&c&&V(),X(c)},"^content.title.button$":function(a,b,c){W(c)},"^position.(my|at)$":function(a,b,c){"string"==typeof c&&(a[b]=new u.Corner(c))},"^position.container$":function(a,b,c){s.rendered&&M.appendTo(c)},"^show.ready$":function(){s.rendered?s.toggle(e):s.render(1)},"^style.classes$":function(a,b,c){M.attr("class",x+" qtip "+c)},"^style.widget|content.title":S,"^events.(render|show|move|hide|focus|blur)$":function(a,b,c){M[(d.isFunction(c)?"":"un")+"bind"]("tooltip"+b,c)},"^(show|hide|position).(event|target|fixed|inactive|leave|distance|viewport|adjust)":function(){var a=i.position;M.attr("tracking",a.target==="mouse"&&a.adjust.mouse),_(),Z()}},d.extend(s,{render:function(a){if(s.rendered)return s;var b=i.content.text,c=i.content.title.text,g=i.position;return d.attr(h[0],"aria-describedby",J),M=O.tooltip=d("<div/>",{id:J,"class":x+" qtip "+B+" "+i.style.classes+" "+x+"-pos-"+i.position.my.abbrev(),width:i.style.width||"",height:i.style.height||"",tracking:g.target==="mouse"&&g.adjust.mouse,role:"alert","aria-live":"polite","aria-atomic":f,"aria-describedby":J+"-content","aria-hidden":e}).toggleClass(z,P.disabled).data("qtip",s).appendTo(i.position.container).append(O.content=d("<div />",{"class":x+"-content",id:J+"-content","aria-atomic":e})),s.rendered=-1,L=1,K=1,c&&(V(),d.isFunction(c)||X(c,f)),d.isFunction(b)||Y(b,f),s.rendered=e,S(),d.each(i.events,function(a,b){d.isFunction(b)&&M.bind(a==="toggle"?"tooltipshow tooltiphide":"tooltip"+a,b)}),d.each(u,function(){this.initialize==="render"&&this(s)}),Z(),M.queue("fx",function(b){R("render"),L=0,K=0,s.redraw(),(i.show.ready||a)&&s.toggle(e,P.event,f),b()}),s},get:function(a){var b,c;switch(a.toLowerCase()){case"dimensions":b={height:M.outerHeight(),width:M.outerWidth()};break;case"offset":b=u.offset(M,i.position.container);break;default:c=Q(a.toLowerCase()),b=c[0][c[1]],b=b.precedance?b.string():b}return b},set:function(a,b){function n(a,b){var c,d,e;for(c in l)for(d in l[c])if(e=(new RegExp(d,"i")).exec(a))b.push(e),l[c][d].apply(s,b)}var c=/^position\.(my|at|adjust|target|container)|style|content|show\.ready/i,h=/^content\.(title|attr)|style/i,j=f,k=f,l=s.checks,m;return"string"==typeof a?(m=a,a={},a[m]=b):a=d.extend(e,{},a),d.each(a,function(b,e){var f=Q(b.toLowerCase()),g;g=f[0][f[1]],f[0][f[1]]="object"==typeof e&&e.nodeType?d(e):e,a[b]=[f[0],f[1],e,g],j=c.test(b)||j,k=h.test(b)||k}),I(i),K=L=1,d.each(a,n),K=L=0,s.rendered&&M[0].offsetWidth>0&&(j&&s.reposition(i.position.target==="mouse"?g:P.event),k&&s.redraw()),s},toggle:function(a,c){function t(){a?(d.browser.msie&&M[0].style.removeAttribute("filter"),M.css("overflow",""),"string"==typeof h.autofocus&&d(h.autofocus,M).focus(),h.target.trigger("qtip-"+q+"-inactive")):M.css({display:"",visibility:"",opacity:"",left:"",top:""}),R(a?"visible":"hidden")}if(!s.rendered)return a?s.render(1):s;var g=a?"show":"hide",h=i[g],j=i[a?"hide":"show"],k=i.position,l=i.content,m=M[0].offsetWidth>0,n=a||h.target.length===1,o=!c||h.target.length<2||P.target[0]===c.target,p,r;(typeof a).search("boolean|number")&&(a=!m);if(!M.is(":animated")&&m===a&&o)return s;if(c){if(/over|enter/.test(c.type)&&/out|leave/.test(P.event.type)&&i.show.target.add(c.target).length===i.show.target.length&&M.has(c.relatedTarget).length)return s;P.event=d.extend({},c)}return R(g,[90])?(d.attr(M[0],"aria-hidden",!a),a?(P.origin=d.extend({},v),s.focus(c),d.isFunction(l.text)&&Y(l.text,f),d.isFunction(l.title.text)&&X(l.title.text,f),!G&&k.target==="mouse"&&k.adjust.mouse&&(d(b).bind("mousemove.qtip",function(a){v={pageX:a.pageX,pageY:a.pageY,type:"mousemove"}}),G=e),s.reposition(c,arguments[2]),!h.solo||d(A,h.solo).not(M).qtip("hide",d.Event("tooltipsolo"))):(clearTimeout(s.timers.show),delete P.origin,G&&!d(A+'[tracking="true"]:visible',h.solo).not(M).length&&(d(b).unbind("mousemove.qtip"),G=f),s.blur(c)),h.effect===f||n===f?(M[g](),t.call(M)):d.isFunction(h.effect)?(M.stop(1,1),h.effect.call(M,s),M.queue("fx",function(a){t(),a()})):M.fadeTo(90,a?1:0,t),a&&h.target.trigger("qtip-"+q+"-inactive"),s):s},show:function(a){return s.toggle(e,a)},hide:function(a){return s.toggle(f,a)},focus:function(a){if(!s.rendered)return s;var b=d(A),c=parseInt(M[0].style.zIndex,10),e=t.zindex+b.length,f=d.extend({},a),g;return M.hasClass(C)||R("focus",[e],f)&&(c!==e&&(b.each(function(){this.style.zIndex>c&&(this.style.zIndex=this.style.zIndex-1)}),b.filter("."+C).qtip("blur",f)),M.addClass(C)[0].style.zIndex=e),s},blur:function(a){return M.removeClass(C),R("blur",[M.css("zIndex")],a),s},reposition:function(c,e){if(!s.rendered||K)return s;K=1;var g=i.position.target,h=i.position,j=h.my,k=h.at,q=h.adjust,r=q.method.split(" "),t=M.outerWidth(),w=M.outerHeight(),x=0,y=0,z=M.css("position")==="fixed",A=h.viewport,B={left:0,top:0},C=h.container,D=M[0].offsetWidth>0,E,F,G;if(d.isArray(g)&&g.length===2)k={x:m,y:l},B={left:g[0],top:g[1]};else if(g==="mouse"&&(c&&c.pageX||P.event.pageX))k={x:m,y:l},c=(c&&(c.type==="resize"||c.type==="scroll")?P.event:c&&c.pageX&&c.type==="mousemove"?c:v&&v.pageX&&(q.mouse||!c||!c.pageX)?{pageX:v.pageX,pageY:v.pageY}:!q.mouse&&P.origin&&P.origin.pageX&&i.show.distance?P.origin:c)||c||P.event||v||{},B={top:c.pageY,left:c.pageX};else{g==="event"&&c&&c.target&&c.type!=="scroll"&&c.type!=="resize"?P.target=d(c.target):g!=="event"&&(P.target=d(g.jquery?g:O.target)),g=P.target,g=d(g).eq(0);if(g.length===0)return s;g[0]===b||g[0]===a?(x=u.iOS?a.innerWidth:g.width(),y=u.iOS?a.innerHeight:g.height(),g[0]===a&&(B={top:(A||g).scrollTop(),left:(A||g).scrollLeft()})):u.imagemap&&g.is("area")?E=u.imagemap(s,g,k,u.viewport?r:f):u.svg&&typeof g[0].xmlbase=="string"?E=u.svg(s,g,k,u.viewport?r:f):(x=g.outerWidth(),y=g.outerHeight(),B=u.offset(g,C)),E&&(x=E.width,y=E.height,F=E.offset,B=E.position);if(u.iOS>3.1&&u.iOS<4.1||u.iOS>=4.3&&u.iOS<4.33||!u.iOS&&z)G=d(a),B.left-=G.scrollLeft(),B.top-=G.scrollTop();B.left+=k.x===o?x:k.x===p?x/2:0,B.top+=k.y===n?y:k.y===p?y/2:0}return B.left+=q.x+(j.x===o?-t:j.x===p?-t/2:0),B.top+=q.y+(j.y===n?-w:j.y===p?-w/2:0),u.viewport?(B.adjusted=u.viewport(s,B,h,x,y,t,w),F&&B.adjusted.left&&(B.left+=F.left),F&&B.adjusted.top&&(B.top+=F.top)):B.adjusted={left:0,top:0},R("move",[B,A.elem||A],c)?(delete B.adjusted,e===f||!D||isNaN(B.left)||isNaN(B.top)||g==="mouse"||!d.isFunction(h.effect)?M.css(B):d.isFunction(h.effect)&&(h.effect.call(M,s,d.extend({},B)),M.queue(function(a){d(this).css({opacity:"",height:""}),d.browser.msie&&this.style.removeAttribute("filter"),a()})),K=0,s):s},redraw:function(){if(s.rendered<1||L)return s;var a=i.style,b=i.position.container,c,d,e,f;return L=1,R("redraw"),a.height&&M.css(k,a.height),a.width?M.css(j,a.width):(M.css(j,"").appendTo(H),d=M.width(),d%2<1&&(d+=1),e=M.css("max-width")||"",f=M.css("min-width")||"",c=(e+f).indexOf("%")>-1?b.width()/100:0,e=(e.indexOf("%")>-1?c:1)*parseInt(e,10)||d,f=(f.indexOf("%")>-1?c:1)*parseInt(f,10)||0,d=e+f?Math.min(Math.max(d,f),e):d,M.css(j,Math.round(d)).appendTo(b)),R("redrawn"),L=0,s},disable:function(a){return"boolean"!=typeof a&&(a=!M.hasClass(z)&&!P.disabled),s.rendered?(M.toggleClass(z,a),d.attr(M[0],"aria-disabled",a)):P.disabled=!!a,s},enable:function(){return s.disable(f)},destroy:function(){var a=h[0],b=d.attr(a,F),c=h.data("qtip");s.destroyed=e,s.rendered&&(M.stop(1,0).remove(),d.each(s.plugins,function(){this.destroy&&this.destroy()})),clearTimeout(s.timers.show),clearTimeout(s.timers.hide),_();if(!c||s===c)d.removeData(a,"qtip"),i.suppress&&b&&(d.attr(a,"title",b),h.removeAttr(F)),h.removeAttr("aria-describedby");return h.unbind(".qtip-"+q),delete w[s.id],h}})}function K(a,c){var h,i,j,k,l,m=d(this),n=d(b.body),o=this===b?n:m,p=m.metadata?m.metadata(c.metadata):g,q=c.metadata.type==="html5"&&p?p[c.metadata.name]:g,r=m.data(c.metadata.name||"qtipopts");try{r=typeof r=="string"?d.parseJSON(r):r}catch(s){}k=d.extend(e,{},t.defaults,c,typeof r=="object"?I(r):g,I(q||p)),i=k.position,k.id=a;if("boolean"==typeof k.content.text){j=m.attr(k.content.attr);if(k.content.attr!==f&&j)k.content.text=j;else return f}i.container.length||(i.container=n),i.target===f&&(i.target=o),k.show.target===f&&(k.show.target=o),k.show.solo===e&&(k.show.solo=i.container.closest("body")),k.hide.target===f&&(k.hide.target=o),k.position.viewport===e&&(k.position.viewport=i.container),i.container=i.container.eq(0),i.at=new u.Corner(i.at),i.my=new u.Corner(i.my);if(d.data(this,"qtip"))if(k.overwrite)m.qtip("destroy");else if(k.overwrite===f)return f;return k.suppress&&(l=d.attr(this,"title"))&&d(this).removeAttr("title").attr(F,l).attr("title",""),h=new J(m,k,a,!!j),d.data(this,"qtip",h),m.bind("remove.qtip-"+a+" removeqtip.qtip-"+a,function(){h.destroy()}),h}function L(a){var b=this,c=a.elements.tooltip,g=a.options.content.ajax,h=t.defaults.content.ajax,i=".qtip-ajax",j=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,k=e,l=f,m;a.checks.ajax={"^content.ajax":function(a,d,e){d==="ajax"&&(g=e),d==="once"?b.init():g&&g.url?b.load():c.unbind(i)}},d.extend(b,{init:function(){return g&&g.url&&c.unbind(i)[g.once?"one":"bind"]("tooltipshow"+i,b.load),b},load:function(c){function r(){var b;if(a.destroyed)return;k=f,p&&(l=e,a.show(c.originalEvent)),(b=h.complete||g.complete)&&d.isFunction(b)&&b.apply(g.context||a,arguments)}function s(b,c,e){var f;if(a.destroyed)return;o&&"string"==typeof b&&(b=d("<div/>").append(b.replace(j,"")).find(o)),(f=h.success||g.success)&&d.isFunction(f)?f.call(g.context||a,b,c,e):a.set("content.text",b)}function t(b,c,d){if(a.destroyed||b.status===0)return;a.set("content.text",c+": "+d)}if(l){l=f;return}var i=g.url.lastIndexOf(" "),n=g.url,o,p=!g.loading&&k;if(p)try{c.preventDefault()}catch(q){}else if(c&&c.isDefaultPrevented())return b;m&&m.abort&&m.abort(),i>-1&&(o=n.substr(i),n=n.substr(0,i)),m=d.ajax(d.extend({error:h.error||t,context:a},g,{url:n,success:s,complete:r}))},destroy:function(){m&&m.abort&&m.abort(),a.destroyed=e}}),b.init()}function M(a,b,c){var d=Math.ceil(b/2),e=Math.ceil(c/2),f={bottomright:[[0,0],[b,c],[b,0]],bottomleft:[[0,0],[b,0],[0,c]],topright:[[0,c],[b,0],[b,c]],topleft:[[0,0],[0,c],[b,c]],topcenter:[[0,c],[d,0],[b,c]],bottomcenter:[[0,0],[b,0],[d,c]],rightcenter:[[0,0],[b,e],[0,c]],leftcenter:[[b,0],[b,c],[0,e]]};return f.lefttop=f.bottomright,f.righttop=f.bottomleft,f.leftbottom=f.topright,f.rightbottom=f.topleft,f[a.string()]}function N(a,b){function D(a){var b=v.is(":visible");v.show(),a(),v.toggle(b)}function E(){x.width=r.height,x.height=r.width}function F(){x.width=r.width,x.height=r.height}function G(b,d,g,j){if(!t.tip)return;var k=q.corner.clone(),u=g.adjusted,v=a.options.position.adjust.method.split(" "),x=v[0],y=v[1]||v[0],z={left:f,top:f,x:0,y:0},A,B={},C;q.corner.fixed!==e&&(x===s&&k.precedance===h&&u.left&&k.y!==p?k.precedance=k.precedance===h?i:h:x!==s&&u.left&&(k.x=k.x===p?u.left>0?m:o:k.x===m?o:m),y===s&&k.precedance===i&&u.top&&k.x!==p?k.precedance=k.precedance===i?h:i:y!==s&&u.top&&(k.y=k.y===p?u.top>0?l:n:k.y===l?n:l),k.string()!==w.corner.string()&&(w.top!==u.top||w.left!==u.left)&&q.update(k,f)),A=q.position(k,u),A[k.x]+=I(k,k.x),A[k.y]+=I(k,k.y),A.right!==c&&(A.left=-A.right),A.bottom!==c&&(A.top=-A.bottom),A.user=Math.max(0,r.offset);if(z.left=x===s&&!!u.left)k.x===p?B["margin-left"]=z.x=A["margin-left"]-u.left:(C=A.right!==c?[u.left,-A.left]:[-u.left,A.left],(z.x=Math.max(C[0],C[1]))>C[0]&&(g.left-=u.left,z.left=f),B[A.right!==c?o:m]=z.x);if(z.top=y===s&&!!u.top)k.y===p?B["margin-top"]=z.y=A["margin-top"]-u.top:(C=A.bottom!==c?[u.top,-A.top]:[-u.top,A.top],(z.y=Math.max(C[0],C[1]))>C[0]&&(g.top-=u.top,z.top=f),B[A.bottom!==c?n:l]=z.y);t.tip.css(B).toggle(!(z.x&&z.y||k.x===p&&z.y||k.y===p&&z.x)),g.left-=A.left.charAt?A.user:x!==s||z.top||!z.left&&!z.top?A.left:0,g.top-=A.top.charAt?A.user:y!==s||z.left||!z.left&&!z.top?A.top:0,w.left=u.left,w.top=u.top,w.corner=k.clone()}function H(){var b=r.corner,c=a.options.position,d=c.at,g=c.my.string?c.my.string():c.my;return b===f||g===f&&d===f?f:(b===e?q.corner=new u.Corner(g):b.string||(q.corner=new u.Corner(b),q.corner.fixed=e),w.corner=new u.Corner(q.corner.string()),q.corner.string()!=="centercenter")}function I(a,b,c){b=b?b:a[a.precedance];var d=t.titlebar&&a.y===l,e=d?t.titlebar:v,f="border-"+b+"-width",g=function(a){return parseInt(a.css(f),10)},h;return D(function(){h=(c?g(c):g(t.content)||g(e)||g(v))||0}),h}function J(a){var b=t.titlebar&&a.y===l,c=b?t.titlebar:t.content,e=d.browser.mozilla,f=e?"-moz-":d.browser.webkit?"-webkit-":"",g="border-radius-"+a.y+a.x,h="border-"+a.y+"-"+a.x+"-radius",i=function(a){return parseInt(c.css(a),10)||parseInt(v.css(a),10)},j;return D(function(){j=i(h)||i(f+h)||i(f+g)||i(g)||0}),j}function K(a){function z(a,b,c){var d=a.css(b)||n;return c&&d===a.css(c)?f:j.test(d)?f:d}var b,c,g,h=t.tip.css("cssText",""),i=a||q.corner,j=/rgba?\(0, 0, 0(, 0)?\)|transparent|#123456/i,k="border-"+i[i.precedance]+"-color",m="background-color",n="transparent",o=" !important",s=t.titlebar,u=s&&(i.y===l||i.y===p&&h.position().top+x.height/2+r.offset<s.outerHeight(e)),w=u?s:t.content;D(function(){y.fill=z(h,m)||z(w,m)||z(t.content,m)||z(v,m)||h.css(m),y.border=z(h,k,"color")||z(w,k,"color")||z(t.content,k,"color")||z(v,k,"color")||v.css(k),d("*",h).add(h).css("cssText",m+":"+n+o+";border:0"+o+";")})}function L(a){var b=a.precedance===i,c=x[b?j:k],d=x[b?k:j],e=a.string().indexOf(p)>-1,f=c*(e?.5:1),g=Math.pow,h=Math.round,l,m,n,o=Math.sqrt(g(f,2)+g(d,2)),q=[z/f*o,z/d*o];return q[2]=Math.sqrt(g(q[0],2)-g(z,2)),q[3]=Math.sqrt(g(q[1],2)-g(z,2)),l=o+q[2]+q[3]+(e?0:q[0]),m=l/o,n=[h(m*d),h(m*c)],{height:n[b?0:1],width:n[b?1:0]}}function N(a,b,c){return"<qvml:"+a+' xmlns="urn:schemas-microsoft.com:vml" class="qtip-vml" '+(b||"")+' style="behavior: url(#default#VML); '+(c||"")+'" />'}var q=this,r=a.options.style.tip,t=a.elements,v=t.tooltip,w={top:0,left:0},x={width:r.width,height:r.height},y={},z=r.border||0,A=".qtip-tip",B=!!(d("<canvas />")[0]||{}).getContext,C;q.corner=g,q.mimic=g,q.border=z,q.offset=r.offset,q.size=x,a.checks.tip={"^position.my|style.tip.(corner|mimic|border)$":function(){q.init()||q.destroy(),a.reposition()},"^style.tip.(height|width)$":function(){x={width:r.width,height:r.height},q.create(),q.update(),a.reposition()},"^content.title.text|style.(classes|widget)$":function(){t.tip&&t.tip.length&&q.update()}},d.extend(q,{init:function(){var a=H()&&(B||d.browser.msie);return a&&(q.create(),q.update(),v.unbind(A).bind("tooltipmove"+A,G),B||v.bind("tooltipredraw tooltipredrawn",function(a){a.type==="tooltipredraw"?(C=t.tip.html(),t.tip.html("")):t.tip.html(C)})),a},create:function(){var a=x.width,b=x.height,c;t.tip&&t.tip.remove(),t.tip=d("<div />",{"class":"ui-tooltip-tip"}).css({width:a,height:b}).prependTo(v),B?d("<canvas />").appendTo(t.tip)[0].getContext("2d").save():(c=N("shape",'coordorigin="0,0"',"position:absolute;"),t.tip.html(c+c),d("*",t.tip).bind("click mousedown",function(a){a.stopPropagation()}))},update:function(a,b){var c=t.tip,j=c.children(),k=x.width,s=x.height,A=r.mimic,C=Math.round,D,G,H,J,O;a||(a=w.corner||q.corner),A===f?A=a:(A=new u.Corner(A),A.precedance=a.precedance,A.x==="inherit"?A.x=a.x:A.y==="inherit"?A.y=a.y:A.x===A.y&&(A[a.precedance]=a[a.precedance])),D=A.precedance,a.precedance===h?E():F(),t.tip.css({width:k=x.width,height:s=x.height}),K(a),y.border!=="transparent"?(z=I(a,g),r.border===0&&z>0&&(y.fill=y.border),q.border=z=r.border!==e?r.border:z):q.border=z=0,H=M(A,k,s),q.size=O=L(a),c.css(O),a.precedance===i?J=[C(A.x===m?z:A.x===o?O.width-k-z:(O.width-k)/2),C(A.y===l?O.height-s:0)]:J=[C(A.x===m?O.width-k:0),C(A.y===l?z:A.y===n?O.height-s-z:(O.height-s)/2)],B?(j.attr(O),G=j[0].getContext("2d"),G.restore(),G.save(),G.clearRect(0,0,3e3,3e3),G.fillStyle=y.fill,G.strokeStyle=y.border,G.lineWidth=z*2,G.lineJoin="miter",G.miterLimit=100,G.translate(J[0],J[1]),G.beginPath(),G.moveTo(H[0][0],H[0][1]),G.lineTo(H[1][0],H[1][1]),G.lineTo(H[2][0],H[2][1]),G.closePath(),z&&(v.css("background-clip")==="border-box"&&(G.strokeStyle=y.fill,G.stroke()),G.strokeStyle=y.border,G.stroke()),G.fill()):(H="m"+H[0][0]+","+H[0][1]+" l"+H[1][0]+","+H[1][1]+" "+H[2][0]+","+H[2][1]+" xe",J[2]=z&&/^(r|b)/i.test(a.string())?parseFloat(d.browser.version,10)===8?2:1:0,j.css({coordsize:k+z+" "+(s+z),antialias:""+(A.string().indexOf(p)>-1),left:J[0],top:J[1],width:k+z,height:s+z}).each(function(a){var b=d(this);b[b.prop?"prop":"attr"]({coordsize:k+z+" "+(s+z),path:H,fillcolor:y.fill,filled:!!a,stroked:!a}).toggle(!!z||!!a),!a&&b.html()===""&&b.html(N("stroke",'weight="'+z*2+'px" color="'+y.border+'" miterlimit="1000" joinstyle="miter"'))})),b!==f&&q.position(a)},position:function(a){var b=t.tip,c={},e=Math.max(0,r.offset),g,n,o;return r.corner===f||!b?f:(a=a||q.corner,g=a.precedance,n=L(a),o=[a.x,a.y],g===h&&o.reverse(),d.each(o,function(b,d){var f,h,o;d===p?(f=g===i?m:l,c[f]="50%",c["margin-"+f]=-Math.round(n[g===i?j:k]/2)+e):(f=I(a,d),h=I(a,d,t.content),o=J(a),c[d]=b?h:e+(o>f?o:-f))}),c[a[g]]-=n[g===h?j:k],b.css({top:"",bottom:"",left:"",right:"",margin:""}).css(c),c)},destroy:function(){t.tip&&t.tip.remove(),t.tip=!1,v.unbind(A)}}),q.init()}function O(c){function s(){q=d(p,j).not("[disabled]").map(function(){return typeof this.focus=="function"?this:null})}function t(a){q.length<1&&a.length?a.not("body").blur():q.first().focus()}function v(a){var b=d(a.target),c=b.closest(".qtip"),e;e=c.length<1?f:parseInt(c[0].style.zIndex,10)>parseInt(j[0].style.zIndex,10),!e&&d(a.target).closest(A)[0]!==j[0]&&t(b)}var g=this,h=c.options.show.modal,i=c.elements,j=i.tooltip,k="#qtip-overlay",l=".qtipmodal",m=l+c.id,n="is-modal-qtip",o=d(b.body),p=u.modal.focusable.join(","),q={},r;c.checks.modal={"^show.modal.(on|blur)$":function(){g.init(),i.overlay.toggle(j.is(":visible"))},"^content.text$":function(){s()}},d.extend(g,{init:function(){return h.on?(r=g.create(),j.attr(n,e).css("z-index",u.modal.zindex+d(A+"["+n+"]").length).unbind(l).unbind(m).bind("tooltipshow"+l+" tooltiphide"+l,function(a,b,c){var e=a.originalEvent;if(a.target===j[0])if(e&&a.type==="tooltiphide"&&/mouse(leave|enter)/.test(e.type)&&d(e.relatedTarget).closest(r[0]).length)try{a.preventDefault()}catch(f){}else(!e||e&&!e.solo)&&g[a.type.replace("tooltip","")](a,c)}).bind("tooltipfocus"+l,function(a){if(a.isDefaultPrevented()||a.target!==j[0])return;var b=d(A).filter("["+n+"]"),c=u.modal.zindex+b.length,e=parseInt(j[0].style.zIndex,10);r[0].style.zIndex=c-2,b.each(function(){this.style.zIndex>e&&(this.style.zIndex-=1)}),b.end().filter("."+C).qtip("blur",a.originalEvent),j.addClass(C)[0].style.zIndex=c;try{a.preventDefault()}catch(f){}}).bind("tooltiphide"+l,function(a){a.target===j[0]&&d("["+n+"]").filter(":visible").not(j).last().qtip("focus",a)}),h.escape&&d(b).unbind(m).bind("keydown"+m,function(a){a.keyCode===27&&j.hasClass(C)&&c.hide(a)}),h.blur&&i.overlay.unbind(m).bind("click"+m,function(a){j.hasClass(C)&&c.hide(a)}),s(),g):g},create:function(){function c(){r.css({height:d(a).height(),width:d(a).width()})}var b=d(k);return b.length?i.overlay=b.insertAfter(d(A).last()):(r=i.overlay=d("<div />",{id:k.substr(1),html:"<div></div>",mousedown:function(){return f}}).hide().insertAfter(d(A).last()),d(a).unbind(l).bind("resize"+l,c),c(),r)},toggle:function(a,b,c){if(a&&a.isDefaultPrevented())return g;var i=h.effect,k=b?"show":"hide",l=r.is(":visible"),p=d("["+n+"]").filter(":visible").not(j),q;return r||(r=g.create()),r.is(":animated")&&l===b||!b&&p.length?g:(b?(r.css({left:0,top:0}),r.toggleClass("blurs",h.blur),h.stealfocus!==f&&(o.bind("focusin"+m,v),t(d("body :focus")))):o.unbind("focusin"+m),r.stop(e,f),d.isFunction(i)?i.call(r,b):i===f?r[k]():r.fadeTo(parseInt(c,10)||90,b?1:0,function(){b||d(this).hide()}),b||r.queue(function(a){r.css({left:"",top:""}),a()}),g)},show:function(a,b){return g.toggle(a,e,b)},hide:function(a,b){return g.toggle(a,f,b)},destroy:function(){var a=r;return a&&(a=d("["+n+"]").not(j).length<1,a?(i.overlay.remove(),d(b).unbind(l)):i.overlay.unbind(l+c.id),o.undelegate("*","focusin"+m)),j.removeAttr(n).unbind(l)}}),g.init()}function P(a){var b=this,c=a.elements,e=c.tooltip,f=".bgiframe-"+a.id;d.extend(b,{init:function(){c.bgiframe=d('<iframe class="ui-tooltip-bgiframe" frameborder="0" tabindex="-1" src="javascript:\'\';" style="display:block; position:absolute; z-index:-1; filter:alpha(opacity=0); -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";"></iframe>'),c.bgiframe.appendTo(e),e.bind("tooltipmove"+f,b.adjust)},adjust:function(){var b=a.get("dimensions"),d=a.plugins.tip,f=c.tip,g,h;h=parseInt(e.css("border-left-width"),10)||0,h={left:-h,top:-h},d&&f&&(g=d.corner.precedance==="x"?["width","left"]:["height","top"],h[g[1]]-=f[g[0]]()),c.bgiframe.css(h).css(b)},destroy:function(){c.bgiframe.remove(),e.unbind(f)}}),b.init()}var e=!0,f=!1,g=null,h="x",i="y",j="width",k="height",l="top",m="left",n="bottom",o="right",p="center",q="flip",r="flipinvert",s="shift",t,u,v,w={},x="ui-tooltip",y="ui-widget",z="ui-state-disabled",A="div.qtip."+x,B=x+"-default",C=x+"-focus",D=x+"-hover",E="_replacedByqTip",F="oldtitle",G,H;H=d("<div/>",{id:"qtip-rcontainer"}),d(function(){H.appendTo(b.body)}),t=d.fn.qtip=function(a,b,h){var i=(""+a).toLowerCase(),j=g,k=d.makeArray(arguments).slice(1),l=k[k.length-1],m=this[0]?d.data(this[0],"qtip"):g;if(!arguments.length&&m||i==="api")return m;if("string"==typeof a)return this.each(function(){var a=d.data(this,"qtip");if(!a)return e;l&&l.timeStamp&&(a.cache.event=l);if(i!=="option"&&i!=="options"||!b)a[i]&&a[i].apply(a[i],k);else if(d.isPlainObject(b)||h!==c)a.set(b,h);else return j=a.get(b),f}),j!==g?j:this;if("object"==typeof a||!arguments.length)return m=I(d.extend(e,{},a)),t.bind.call(this,m,l)},t.bind=function(a,b){return this.each(function(g){function n(a){function b(){l.render(typeof a=="object"||h.show.ready),i.show.add(i.hide).unbind(k)}if(l.cache.disabled)return f;l.cache.event=d.extend({},a),l.cache.target=a?d(a.target):[c],h.show.delay>0?(clearTimeout(l.timers.show),l.timers.show=setTimeout(b,h.show.delay),j.show!==j.hide&&i.hide.bind(j.hide,function(){clearTimeout(l.timers.show)})):b()}var h,i,j,k,l,m;m=d.isArray(a.id)?a.id[g]:a.id,m=!m||m===f||m.length<1||w[m]?t.nextid++:w[m]=m,k=".qtip-"+m+"-create",l=K.call(this,m,a);if(l===f)return e;h=l.options,d.each(u,function(){this.initialize==="initialize"&&this(l)}),i={show:h.show.target,hide:h.hide.target},j={show:d.trim(""+h.show.event).replace(/ /g,k+" ")+k,hide:d.trim(""+h.hide.event).replace(/ /g,k+" ")+k},/mouse(over|enter)/i.test(j.show)&&!/mouse(out|leave)/i.test(j.hide)&&(j.hide+=" mouseleave"+k),i.show.bind("mousemove"+k,function(a){v={pageX:a.pageX,pageY:a.pageY,type:"mousemove"},l.cache.onTarget=e}),i.show.bind(j.show,n),(h.show.ready||h.prerender)&&n(b)})},u=t.plugins={Corner:function(a){a=(""+a).replace(/([A-Z])/," $1").replace(/middle/gi,p).toLowerCase(),this.x=(a.match(/left|right/i)||a.match(/center/)||["inherit"])[0].toLowerCase(),this.y=(a.match(/top|bottom|center/i)||["inherit"])[0].toLowerCase();var b=a.charAt(0);this.precedance=b==="t"||b==="b"?i:h,this.string=function(){return this.precedance===i?this.y+this.x:this.x+this.y},this.abbrev=function(){var a=this.x.substr(0,1),b=this.y.substr(0,1);return a===b?a:this.precedance===i?b+a:a+b},this.invertx=function(a){this.x=this.x===m?o:this.x===o?m:a||this.x},this.inverty=function(a){this.y=this.y===l?n:this.y===n?l:a||this.y},this.clone=function(){return{x:this.x,y:this.y,precedance:this.precedance,string:this.string,abbrev:this.abbrev,clone:this.clone,invertx:this.invertx,inverty:this.inverty}}},offset:function(a,b){function j(a,b){c.left+=b*a.scrollLeft(),c.top+=b*a.scrollTop()}var c=a.offset(),e=a.closest("body")[0],f=b,g,h,i;if(f){do f.css("position")!=="static"&&(h=f.position(),c.left-=h.left+(parseInt(f.css("borderLeftWidth"),10)||0)+(parseInt(f.css("marginLeft"),10)||0),c.top-=h.top+(parseInt(f.css("borderTopWidth"),10)||0)+(parseInt(f.css("marginTop"),10)||0),!g&&(i=f.css("overflow"))!=="hidden"&&i!=="visible"&&(g=f));while((f=d(f[0].offsetParent)).length);g&&g[0]!==e&&j(g,1)}return c},iOS:parseFloat((""+(/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))||f,fn:{attr:function(a,b){if(this.length){var c=this[0],e="title",f=d.data(c,"qtip");if(a===e&&f&&"object"==typeof f&&f.options.suppress)return arguments.length<2?d.attr(c,F):(f&&f.options.content.attr===e&&f.cache.attr&&f.set("content.text",b),this.attr(F,b))}return d.fn["attr"+E].apply(this,arguments)},clone:function(a){var b=d([]),c="title",e=d.fn["clone"+E].apply(this,arguments);return a||e.filter("["+F+"]").attr("title",function(){return d.attr(this,F)}).removeAttr(F),e}}},d.each(u.fn,function(a,b){if(!b||d.fn[a+E])return e;var c=d.fn[a+E]=d.fn[a];d.fn[a]=function(){return b.apply(this,arguments)||c.apply(this,arguments)}}),d.ui||(d["cleanData"+E]=d.cleanData,d.cleanData=function(a){for(var b=0,e;(e=a[b])!==c;b++)try{d(e).triggerHandler("removeqtip")}catch(f){}d["cleanData"+E](a)}),t.version="@VERSION",t.nextid=0,t.inactiveEvents="click dblclick mousedown mouseup mousemove mouseleave mouseenter".split(" "),t.zindex=15e3,t.defaults={prerender:f,id:f,overwrite:e,suppress:e,content:{text:e,attr:"title",title:{text:f,button:f}},position:{my:"top left",at:"bottom right",target:f,container:f,viewport:f,adjust:{x:0,y:0,mouse:e,resize:e,method:"flip flip"},effect:function(a,b,c){d(this).animate(b,{duration:200,queue:f})}},show:{target:f,event:"mouseenter",effect:e,delay:90,solo:f,ready:f,autofocus:f},hide:{target:f,event:"mouseleave",effect:e,delay:0,fixed:f,inactive:f,leave:"window",distance:f},style:{classes:"",widget:f,width:f,height:f,def:e},events:{render:g,move:g,show:g,hide:g,toggle:g,visible:g,hidden:g,focus:g,blur:g}},u.svg=function(a,c,e,f){var g=d(b),h=c[0],i={width:0,height:0,position:{top:1e10,left:1e10}},j,k,l,m,n;while(!h.getBBox)h=h.parentNode;if(h.getBBox&&h.parentNode){j=h.getBBox(),k=h.getScreenCTM(),l=h.farthestViewportElement||h;if(!l.createSVGPoint)return i;m=l.createSVGPoint(),m.x=j.x,m.y=j.y,n=m.matrixTransform(k),i.position.left=n.x,i.position.top=n.y,m.x+=j.width,m.y+=j.height,n=m.matrixTransform(k),i.width=n.x-i.position.left,i.height=n.y-i.position.top,i.position.left+=g.scrollLeft(),i.position.top+=g.scrollTop()}return i},u.ajax=function(a){var b=a.plugins.ajax;return"object"==typeof b?b:a.plugins.ajax=new L(a)},u.ajax.initialize="render",u.ajax.sanitize=function(a){var b=a.content,c;b&&"ajax"in b&&(c=b.ajax,typeof c!="object"&&(c=a.content.ajax={url:c}),"boolean"!=typeof c.once&&c.once&&(c.once=!!c.once))},d.extend(e,t.defaults,{content:{ajax:{loading:e,once:e}}}),u.tip=function(a){var b=a.plugins.tip;return"object"==typeof b?b:a.plugins.tip=new N(a)},u.tip.initialize="render",u.tip.sanitize=function(a){var b=a.style,c;b&&"tip"in b&&(c=a.style.tip,typeof c!="object"&&(a.style.tip={corner:c}),/string|boolean/i.test(typeof c.corner)||(c.corner=e),typeof c.width!="number"&&delete c.width,typeof c.height!="number"&&delete c.height,typeof c.border!="number"&&c.border!==e&&delete c.border,typeof c.offset!="number"&&delete c.offset)},d.extend(e,t.defaults,{style:{tip:{corner:e,mimic:f,width:6,height:6,border:e,offset:0}}}),u.modal=function(a){var b=a.plugins.modal;return"object"==typeof b?b:a.plugins.modal=new O(a)},u.modal.initialize="render",u.modal.sanitize=function(a){a.show&&(typeof a.show.modal!="object"?a.show.modal={on:!!a.show.modal}:typeof a.show.modal.on=="undefined"&&(a.show.modal.on=e))},u.modal.zindex=t.zindex-200,u.modal.focusable=["a[href]","area[href]","input","select","textarea","button","iframe","object","embed","[tabindex]","[contenteditable]"],d.extend(e,t.defaults,{show:{modal:{on:f,effect:e,blur:e,stealfocus:e,escape:e}}}),u.viewport=function(c,d,e,f,g,q,t){function L(a,b,c,e,f,g,h,i,j){var k=d[f],l=w[a],m=y[a],n=c===s,o=-E.offset[f]+D.offset[f]+D["scroll"+f],q=l===f?j:l===g?-j:-j/2,t=m===f?i:m===g?-i:-i/2,u=G&&G.size?G.size[h]||0:0,v=G&&G.corner&&G.corner.precedance===a&&!n?u:0,x=o-k+v,z=k+j-D[h]-o+v,A=q-(w.precedance===a||l===w[b]?t:0)-(m===p?i/2:0);return n?(v=G&&G.corner&&G.corner.precedance===b?u:0,A=(l===f?1:-1)*q-v,d[f]+=x>0?x:z>0?-z:0,d[f]=Math.max(-E.offset[f]+D.offset[f]+(v&&G.corner[a]===p?G.offset:0),k-A,Math.min(Math.max(-E.offset[f]+D.offset[f]+D[h],k+A),d[f]))):(e*=c===r?2:0,x>0&&(l!==f||z>0)?(d[f]-=A+e,J["invert"+a](f)):z>0&&(l!==g||x>0)&&(d[f]-=(l===p?-A:A)+e,J["invert"+a](g)),d[f]<o&&-d[f]>z&&(d[f]=k,J=w.clone())),d[f]-k}var u=e.target,v=c.elements.tooltip,w=e.my,y=e.at,z=e.adjust,A=z.method.split(" "),B=A[0],C=A[1]||A[0],D=e.viewport,E=e.container,F=c.cache,G=c.plugins.tip,H={left:0,top:0},I,J,K;if(!D.jquery||u[0]===a||u[0]===b.body||z.method==="none")return H;I=v.css("position")==="fixed",D={elem:D,height:D[(D[0]===a?"h":"outerH")+"eight"](),width:D[(D[0]===a?"w":"outerW")+"idth"](),scrollleft:I?0:D.scrollLeft(),scrolltop:I?0:D.scrollTop(),offset:D.offset()||{left:0,top:0}},E={elem:E,scrollLeft:E.scrollLeft(),scrollTop:E.scrollTop(),offset:E.offset()||{left:0,top:0}};if(B!=="shift"||C!=="shift")J=w.clone();return H={left:B!=="none"?L(h,i,B,z.x,m,o,j,f,q):0,top:C!=="none"?L(i,h,C,z.y,l,n,k,g,t):0},J&&F.lastClass!==(K=x+"-pos-"+J.abbrev())&&v.removeClass(c.cache.lastClass).addClass(c.cache.lastClass=K),H},u.imagemap=function(a,b,c,e){function v(a,b,c){var d=0,e=1,f=1,g=0,h=0,i=a.width,j=a.height;while(i>0&&j>0&&e>0&&f>0){i=Math.floor(i/2),j=Math.floor(j/2),c.x===m?e=i:c.x===o?e=a.width-i:e+=Math.floor(i/2),c.y===l?f=j:c.y===n?f=a.height-j:f+=Math.floor(j/2),d=b.length;while(d--){if(b.length<2)break;g=b[d][0]-a.position.left,h=b[d][1]-a.position.top,(c.x===m&&g>=e||c.x===o&&g<=e||c.x===p&&(g<e||g>a.width-e)||c.y===l&&h>=f||c.y===n&&h<=f||c.y===p&&(h<f||h>a.height-f))&&b.splice(d,1)}}return{left:b[0][0],top:b[0][1]}}b.jquery||(b=d(b));var f=a.cache.areas={},g=(b[0].shape||b.attr("shape")).toLowerCase(),h=b[0].coords||b.attr("coords"),i=h.split(","),j=[],k=d('img[usemap="#'+b.parent("map").attr("name")+'"]'),q=k.offset(),r={width:0,height:0,position:{top:1e10,right:0,bottom:0,left:1e10}},s=0,t=0,u;q.left+=Math.ceil((k.outerWidth()-k.width())/2),q.top+=Math.ceil((k.outerHeight()-k.height())/2);if(g==="poly"){s=i.length;while(s--)t=[parseInt(i[--s],10),parseInt(i[s+1],10)],t[0]>r.position.right&&(r.position.right=t[0]),t[0]<r.position.left&&(r.position.left=t[0]),t[1]>r.position.bottom&&(r.position.bottom=t[1]),t[1]<r.position.top&&(r.position.top=t[1]),j.push(t)}else{s=-1;while(s++<i.length)j.push(parseInt(i[s],10))}switch(g){case"rect":r={width:Math.abs(j[2]-j[0]),height:Math.abs(j[3]-j[1]),position:{left:Math.min(j[0],j[2]),top:Math.min(j[1],j[3])}};break;case"circle":r={width:j[2]+2,height:j[2]+2,position:{left:j[0],top:j[1]}};break;case"poly":r.width=Math.abs(r.position.right-r.position.left),r.height=Math.abs(r.position.bottom-r.position.top),c.abbrev()==="c"?r.position={left:r.position.left+r.width/2,top:r.position.top+r.height/2}:(f[c+h]||(r.position=v(r,j.slice(),c),e&&(e[0]==="flip"||e[1]==="flip")&&(r.offset=v(r,j.slice(),{x:c.x===m?o:c.x===o?m:p,y:c.y===l?n:c.y===n?l:p}),r.offset.left-=r.position.left,r.offset.top-=r.position.top),f[c+h]=r),r=f[c+h]),r.width=r.height=0}return r.position.left+=q.left,r.position.top+=q.top,r},u.bgiframe=function(a){var b=d.browser,c=a.plugins.bgiframe;return d("select, object").length<1||!b.msie||(""+b.version).charAt(0)!=="6"?f:"object"==typeof c?c:a.plugins.bgiframe=new P(a)},u.bgiframe.initialize="render"})})(window,document); \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/js/jquery.sort.js b/wp-content/plugins/admin-menu-editor/js/jquery.sort.js new file mode 100644 index 0000000..1600f52 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/js/jquery.sort.js @@ -0,0 +1,65 @@ +/** + * jQuery.fn.sort + * -------------- + * @param Function comparator: + * Exactly the same behaviour as [1,2,3].sort(comparator) + * + * @param Function getSortable + * A function that should return the element that is + * to be sorted. The comparator will run on the + * current collection, but you may want the actual + * resulting sort to occur on a parent or another + * associated element. + * + * E.g. $('td').sort(comparator, function(){ + * return this.parentNode; + * }) + * + * The <td>'s parent (<tr>) will be sorted instead + * of the <td> itself. + */ +jQuery.fn.sort = (function(){ + + var sort = [].sort; + + return function(comparator, getSortable) { + + getSortable = getSortable || function(){return this;}; + + var placements = this.map(function(){ + + var sortElement = getSortable.call(this), + parentNode = sortElement.parentNode, + + // Since the element itself will change position, we have + // to have some way of storing its original position in + // the DOM. The easiest way is to have a 'flag' node: + nextSibling = parentNode.insertBefore( + document.createTextNode(''), + sortElement.nextSibling + ); + + return function() { + + if (parentNode === this) { + throw new Error( + "You can't sort elements if any one is a descendant of another." + ); + } + + // Insert before flag: + parentNode.insertBefore(this, nextSibling); + // Remove flag: + parentNode.removeChild(nextSibling); + + }; + + }); + + return sort.call(this, comparator).each(function(i){ + placements[i].call(getSortable.call(this)); + }); + + }; + +})(); \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/js/menu-editor.js b/wp-content/plugins/admin-menu-editor/js/menu-editor.js new file mode 100644 index 0000000..7e7ed10 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/js/menu-editor.js @@ -0,0 +1,2987 @@ +//(c) W-Shadow + +/*global wsEditorData, defaultMenu, customMenu */ +/** @namespace wsEditorData */ + +var wsIdCounter = 0; + +var AmeCapabilityManager = (function(roles, users) { + var me = {}; + users = users || {}; + + function parseActorString(actor) { + var separator = actor.indexOf(':'); + if (separator == -1) { + throw { + name: 'InvalidActorException', + message: "Actor string does not contain a colon.", + value: actor + }; + } + + return { + 'type' : actor.substring(0, separator), + 'id' : actor.substring(separator + 1) + } + } + + me.hasCap = function(actor, capability, context) { + context = context || {}; + var actorData = parseActorString(actor); + + //Super admins have access to everything, unless specifically denied. + if ( actor == 'special:super_admin' ) { + return (capability != 'do_not_allow'); + } + + if (actorData.type == 'role') { + return me.roleHasCap(actorData.id, capability); + } else if (actorData.type == 'user') { + return me.userHasCap(actorData.id, capability, context); + } + + throw { + name: 'InvalidActorTypeException', + message: "The specified actor type is not supported", + value: actor, + 'actorType': actorData.type + }; + }; + + me.roleHasCap = function(roleId, capability) { + if (!roles.hasOwnProperty(roleId)) { + throw { + name: 'UnknownRoleException', + message: 'Can not check capabilities for an unknown role', + value: roleId, + requireCapability: capability + }; + } + + var role = roles[roleId]; + if ( role.capabilities.hasOwnProperty(capability) ) { + return role.capabilities[capability]; + } else if (roleId == capability) { + return true; + } + return false; + }; + + me.userHasCap = function(login, capability, context) { + context = context || {}; + if (!users.hasOwnProperty(login)) { + throw { + name: 'UnknownUserException', + message: 'Can not check capabilities for an unknown user', + value: login, + requireCapability: capability + }; + } + + var user = users[login]; + if ( user.capabilities.hasOwnProperty(capability) ) { + return user.capabilities[capability]; + } else { + //Super Admins have all capabilities, except those explicitly denied. + //We also need to check if the Super Admin actor is allowed in this context. + if (user.is_super_admin ) { + if (context.hasOwnProperty('special:super_admin')) { + return context['special:super_admin']; + } + return (capability != 'do_not_allow'); + } + + //Check if any of the user's roles have the capability. + for(var index = 0; index < user.roles.length; index++) { + var roleId = user.roles[index]; + + //Skip roles that are disabled in this context (i.e. via grant_access). + if (context.hasOwnProperty('role:' + roleId) && !context['role:' + roleId]) { + continue; + } + + if (me.roleHasCap(roleId, capability)) { + return true; + } + } + } + + return false; + }; + + me.roleExists = function(roleId) { + return roles.hasOwnProperty(roleId); + }; + + /** + * Compare the specificity of two actors. + * + * Returns 1 if the first actor is more specific than the second, 0 if they're both + * equally specific, and -1 if the second actor is more specific. + * + * @param {String} actor1 + * @param {String} actor2 + * @return {Number} + */ + me.compareActorSpecificity = function(actor1, actor2) { + var delta = me.getActorSpecificity(actor1) - me.getActorSpecificity(actor2); + if (delta !== 0) { + delta = (delta > 0) ? 1 : -1; + } + return delta; + }; + + me.getActorSpecificity = function(actorString) { + var actor = parseActorString(actorString); + var specificity = 0; + switch(actor.type) { + case 'role': + specificity = 1; + break; + case 'special': + specificity = 2; + break; + case 'user': + specificity = 10; + break; + } + return specificity; + }; + + + return me; +})(wsEditorData.roles, wsEditorData.users); + +(function ($){ + +var selectedActor = null; + +var itemTemplates = { + templates: wsEditorData.itemTemplates, + + getTemplateById: function(templateId) { + if (wsEditorData.itemTemplates.hasOwnProperty(templateId)) { + return wsEditorData.itemTemplates[templateId]; + } else if ((templateId == '') || (templateId == 'custom')) { + return wsEditorData.customItemTemplate; + } + return null; + }, + + getDefaults: function (templateId) { + var template = this.getTemplateById(templateId); + if (template) { + return template.defaults; + } else { + return null; + } + }, + + getDefaultValue: function (templateId, fieldName) { + if (fieldName == 'template_id') { + return null; + } + + var defaults = this.getDefaults(templateId); + if (defaults && (typeof defaults[fieldName] != 'undefined')) { + return defaults[fieldName]; + } + return null; + }, + + hasDefaultValue: function(templateId, fieldName) { + return (this.getDefaultValue(templateId, fieldName) !== null); + } +}; + +/** + * Set an input field to a value. The only difference from jQuery.val() is that + * setting a checkbox to true/false will check/clear it. + * + * @param input + * @param value + */ +function setInputValue(input, value) { + if (input.attr('type') == 'checkbox'){ + if (value){ + input.attr('checked', 'checked'); + } else { + input.removeAttr('checked'); + } + } else { + input.val(value); + } +} + +/** + * Get the value of an input field. The only difference from jQuery.val() is that + * checked/unchecked checkboxes will return true/false. + * + * @param input + * @return {*} + */ +function getInputValue(input) { + if (input.attr('type') == 'checkbox'){ + return input.is(':checked'); + } + return input.val(); +} + + +/* + * Utility function for generating pseudo-random alphanumeric menu IDs. + * Rationale: Simpler than atomically auto-incrementing or globally unique IDs. + */ +function randomMenuId(prefix, size){ + prefix = (typeof prefix == 'undefined') ? 'custom_item_' : prefix; + size = (typeof size == 'undefined') ? 5 : size; + + var suffix = ""; + var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; + + for( var i=0; i < size; i++ ) { + suffix += possible.charAt(Math.floor(Math.random() * possible.length)); + } + + return prefix + suffix; +} + +function outputWpMenu(menu){ + var menuCopy = $.extend(true, {}, menu); + var menuBox = $('#ws_menu_box'); + + //Remove the current menu data + menuBox.empty(); + $('#ws_submenu_box').empty(); + + //Display the new menu + var i = 0; + for (var filename in menuCopy){ + if (!menuCopy.hasOwnProperty(filename)){ + continue; + } + outputTopMenu(menuCopy[filename]); + i++; + } + + //Automatically select the first top-level menu + menuBox.find('.ws_menu:first').click(); +} + +/* + * Create edit widgets for a top-level menu and its submenus and append them all to the DOM. + * + * Inputs : + * menu - an object containing menu data + * afterNode - if specified, the new menu widget will be inserted after this node. Otherwise, + * it will be added to the end of the list. + * Outputs : + * Object with two fields - 'menu' and 'submenu' - containing the DOM nodes of the created widgets. + */ +function outputTopMenu(menu, afterNode){ + //Create a container for menu items, even if there are none + var submenu = buildSubmenu(menu.items); + + //Create the menu widget + var menu_obj = buildMenuItem(menu, true); + menu_obj.data('submenu_id', submenu.attr('id')); + submenu.data('parent_menu_id', menu_obj.attr('id')); + + //Display + submenu.appendTo('#ws_submenu_box'); + updateItemEditor(menu_obj); + if ( (typeof afterNode != 'undefined') && (afterNode != null) ){ + $(afterNode).after(menu_obj); + } else { + menu_obj.appendTo('#ws_menu_box'); + } + + return { + 'menu' : menu_obj, + 'submenu' : submenu + }; +} + +/* + * Create and populate a submenu container. + */ +function buildSubmenu(items){ + //Create a container for menu items, even if there are none + var submenu = $('<div class="ws_submenu" style="display:none;"></div>'); + submenu.attr('id', 'ws-submenu-'+(wsIdCounter++)); + + //Only show menus that have items. + //Skip arrays (with a length) because filled menus are encoded as custom objects. + var entry = null; + if (items) { + $.each(items, function(index, item) { + entry = buildMenuItem(item, false); + if ( entry ){ + updateItemEditor(entry); + submenu.append(entry); + } + }); + } + + //Make the submenu sortable + makeBoxSortable(submenu); + + return submenu; +} + +/** + * Create an edit widget for a menu item. + * + * @param {Object} itemData + * @param {Boolean} [isTopLevel] Specify if this is a top-level menu or a sub-menu item. Defaults to false (= sub-item). + * @return {*} The created widget as a jQuery object. + */ +function buildMenuItem(itemData, isTopLevel) { + isTopLevel = (typeof isTopLevel == 'undefined') ? false : isTopLevel; + + //Create the menu HTML + var item = $('<div></div>') + .attr('class', "ws_container") + .attr('id', 'ws-menu-item-' + (wsIdCounter++)) + .data('menu_item', itemData) + .data('field_editors_created', false); + + item.addClass(isTopLevel ? 'ws_menu' : 'ws_item'); + if ( itemData.separator ) { + item.addClass('ws_menu_separator'); + } + + //Add a header and a container for property editors (to improve performance + //the editors themselves are created later, when the user tries to access them + //for the first time). + var contents = []; + var menuTitle = ((itemData.menu_title != null) ? itemData.menu_title : itemData.defaults.menu_title); + if (menuTitle === '') { + menuTitle = ' '; + } + + contents.push( + '<div class="ws_item_head">', + itemData.separator ? '' : '<a class="ws_edit_link"> </a><div class="ws_flag_container"> </div>', + '<input type="checkbox" class="ws_actor_access_checkbox">', + '<span class="ws_item_title">', + menuTitle, + ' </span>', + + '</div>', + '<div class="ws_editbox" style="display: none;"></div>' + ); + item.append(contents.join('')); + + //Apply flags based on the item's state + var flags = ['hidden', 'unused', 'custom']; + for (var i = 0; i < flags.length; i++) { + setMenuFlag(item, flags[i], getFieldValue(itemData, flags[i], false)); + } + + if ( isTopLevel && !itemData.separator ){ + //Allow the user to drag menu items to top-level menus + item.droppable({ + 'hoverClass' : 'ws_menu_drop_hover', + + 'accept' : (function(thing){ + return thing.hasClass('ws_item'); + }), + + 'drop' : (function(event, ui){ + var droppedItemData = readItemState(ui.draggable); + var new_item = buildMenuItem(droppedItemData, false); + + var sourceSubmenu = ui.draggable.parent(); + var submenu = $('#' + item.data('submenu_id')); + submenu.append(new_item); + + if ( !event.ctrlKey ) { + ui.draggable.remove(); + } + + updateItemEditor(new_item); + + //Moving an item can change aggregate menu permissions. Update the UI accordingly. + updateParentAccessUi(submenu); + updateParentAccessUi(sourceSubmenu); + }) + }); + } + + return item; +} + +function jsTrim(str){ + return str.replace(/^\s+|\s+$/g, ""); +} + +//Editor field spec template. +var baseField = { + caption : '[No caption]', + standardCaption : true, + advanced : false, + type : 'text', + defaultValue: '', + onlyForTopMenus: false, + addDropdown : false, + visible: true, + + write: null, + display: null +}; + +/* + * List of all menu fields that have an associated editor + */ +var knownMenuFields = { + 'menu_title' : $.extend({}, baseField, { + caption : 'Menu title', + display: function(menuItem, displayValue, input, containerNode) { + //Update the header as well. + var itemTitle = displayValue; + if (itemTitle === '') { + itemTitle = ' '; + } + containerNode.find('.ws_item_title').html(itemTitle); + return displayValue; + }, + write: function(menuItem, value, input, containerNode) { + menuItem.menu_title = value; + containerNode.find('.ws_item_title').html(input.val() + ' '); + } + }), + + 'template_id' : $.extend({}, baseField, { + caption : 'Target page', + type : 'select', + options : (function(){ + //Generate name => id mappings for all item templates + the special "Custom" template. + var itemTemplateIds = []; + itemTemplateIds.push([wsEditorData.customItemTemplate.name, '']); + + for (var template_id in wsEditorData.itemTemplates) { + if (wsEditorData.itemTemplates.hasOwnProperty(template_id)) { + itemTemplateIds.push([wsEditorData.itemTemplates[template_id].name, template_id]); + } + } + + itemTemplateIds.sort(function(a, b) { + if (a[1] === b[1]) { + return 0; + } + + //The "Custom" item is always first. + if (a[1] === '') { + return -1; + } else if (b[1] === '') { + return 1; + } + + //Top-level items go before submenus. + var aIsTop = (a[1].charAt(0) === '>') ? 1 : 0; + var bIsTop = (b[1].charAt(0) === '>') ? 1 : 0; + if (aIsTop !== bIsTop) { + return bIsTop - aIsTop; + } + + //Everything else is sorted by name, in alphabetical order. + if (a[0] > b[0]) { + return 1; + } else if (a[0] < b[0]) { + return -1; + } + return 0; + }); + + return itemTemplateIds; + })(), + + write: function(menuItem, value, input, containerNode) { + var oldTemplateId = menuItem.template_id; + + menuItem.template_id = value; + menuItem.defaults = itemTemplates.getDefaults(menuItem.template_id); + menuItem.custom = (menuItem.template_id == ''); + + // The file/URL of non-custom items is read-only and equal to the default + // value. Rationale: simplifies menu generation, prevents some user mistakes. + if (menuItem.template_id !== '') { + menuItem.file = null; + } + + // The new template might not have default values for some of the fields + // currently set to null (= "default"). In those cases, we need to make + // the current values explicit. + containerNode.find('.ws_edit_field').each(function(index, field){ + field = $(field); + var fieldName = field.data('field_name'); + var isSetToDefault = (menuItem[fieldName] === null); + var hasDefaultValue = itemTemplates.hasDefaultValue(menuItem.template_id, fieldName); + + if (isSetToDefault && !hasDefaultValue) { + var oldDefaultValue = itemTemplates.getDefaultValue(oldTemplateId, fieldName); + if (oldDefaultValue !== null) { + menuItem[fieldName] = oldDefaultValue; + } + } + }); + } + }), + + 'file' : $.extend({}, baseField, { + caption: 'URL', + display: function(menuItem, displayValue, input) { + // The URL/file field is read-only for default menus. Also, since the "file" + // field is usually set to a page slug or plugin filename for plugin/hook pages, + // we display the dynamically generated "url" field here (i.e. the actual URL) instead. + if (menuItem.template_id !== '') { + input.attr('readonly', 'readonly'); + displayValue = itemTemplates.getDefaultValue(menuItem.template_id, 'url'); + } else { + input.removeAttr('readonly'); + } + return displayValue; + }, + + write: function(menuItem, value) { + // A menu must always have a non-empty URL. If the user deletes the current value, + // reset it to the old value. + if (value === '') { + value = menuItem.file; + } + // Default menus always point to the default file/URL. + if (menuItem.template_id !== '') { + value = null; + } + menuItem.file = value; + } + }), + + 'access_level' : $.extend({}, baseField, { + caption: 'Permissions', + defaultValue: 'read', + type: 'access_editor', + visible: false, //Will be set to visible only in Pro version. + + display: function(menuItem) { + //Permissions display is a little complicated and could use improvement. + var requiredCap = getFieldValue(menuItem, 'access_level', ''); + var extraCap = getFieldValue(menuItem, 'extra_capability', ''); + + var displayValue = (menuItem.template_id === '') ? '< Custom >' : requiredCap; + if (extraCap !== '') { + if (menuItem.template_id === '') { + displayValue = extraCap; + } else { + displayValue = displayValue + '+' + extraCap; + } + } + + return displayValue; + }, + + write: function(menuItem) { + //The required capability can't be directly edited and always equals the default. + menuItem.access_level = null; + } + }), + + 'extra_capability' : $.extend({}, baseField, { + caption: 'Required capability', + defaultValue: 'read', + type: 'text', + addDropdown: 'ws_cap_selector', + + display: function(menuItem) { + //Permissions display is a little complicated and could use improvement. + var requiredCap = getFieldValue(menuItem, 'access_level', ''); + var extraCap = getFieldValue(menuItem, 'extra_capability', ''); + + var displayValue = extraCap; + if ((extraCap === '') || (extraCap === null)) { + displayValue = requiredCap; + } + + return displayValue; + }, + + write: function(menuItem, value) { + value = jsTrim(value); + + //Reset to default if the user clears the input. + if (value === '') { + menuItem.extra_capability = null; + return; + } + + //It would be redundant to set an extra_capability that it matches access_level. + var requiredCap = getFieldValue(menuItem, 'access_level', ''); + var extraCap = getFieldValue(menuItem, 'extra_capability', ''); + if (extraCap === '' && value === requiredCap) { + return; + } + + menuItem.extra_capability = value; + } + }), + + 'page_title' : $.extend({}, baseField, { + caption: "Window title", + standardCaption : true, + advanced : true + }), + + 'open_in' : $.extend({}, baseField, { + caption: 'Open in', + advanced : true, + type : 'select', + options : [ + ['Same window or tab', 'same_window'], + ['New window', 'new_window'], + ['Frame', 'iframe'] + ], + defaultValue: 'same_window', + visible: false + }), + + 'css_class' : $.extend({}, baseField, { + caption: 'CSS classes', + advanced : true, + onlyForTopMenus: true + }), + + 'icon_url' : $.extend({}, baseField, { + caption: 'Icon URL', + type : 'icon_selector', + advanced : true, + defaultValue: 'div', + onlyForTopMenus: true, + + display: function(menuItem, displayValue, input, containerNode) { + //Display the current icon in the selector. + var cssClass = getFieldValue(menuItem, 'css_class', ''); + var iconUrl = getFieldValue(menuItem, 'icon_url', ''); + + //When submenu icon visibility is set to "only if manually selected", + //don't show the default submenu icons. + var isDefault = (typeof menuItem['icon_url'] === 'undefined') || (menuItem['icon_url'] === null); + if (isDefault && (wsEditorData.submenuIconsEnabled === 'if_custom') && containerNode.hasClass('ws_item')) { + iconUrl = 'none'; + cssClass = ''; + } + + var selectButton = input.closest('.ws_edit_field').find('.ws_select_icon'); + var cssIcon = selectButton.find('.icon16'); + var imageIcon = selectButton.find('img'); + + var matches = cssClass.match(/\b(ame-)?menu-icon-([^\s]+)\b/); + var dashiconMatches = iconUrl && iconUrl.match(/^\s*(dashicons-[a-z0-9\-]+)/); + + //Icon URL takes precedence over icon class. + if ( iconUrl && iconUrl !== 'none' && iconUrl !== 'div' && !dashiconMatches ) { + //Regular image icon. + cssIcon.hide(); + imageIcon.prop('src', iconUrl).show(); + } else if ( dashiconMatches ) { + //Dashicon. + imageIcon.hide(); + cssIcon.removeClass().addClass('icon16 dashicons ' + dashiconMatches[1]).show(); + } else if ( matches ) { + //Other CSS-based icon. + imageIcon.hide(); + var iconClass = (matches[1] ? matches[1] : '') + 'icon-' + matches[2]; + cssIcon.removeClass().addClass('icon16 ' + iconClass).show(); + } else { + //This menu has no icon at all. This is actually a valid state + //and WordPress will display a menu like that correctly. + imageIcon.hide(); + cssIcon.removeClass().addClass('icon16').show(); + } + + return displayValue; + } + }), + + 'colors' : $.extend({}, baseField, { + caption: 'Color scheme', + defaultValue: 'Default', + type: 'color_scheme_editor', + onlyForTopMenus: true, + visible: false, + advanced : true, + + display: function(menuItem, displayValue, input, containerNode) { + var colors = getFieldValue(menuItem, 'colors', {}); + var colorList = containerNode.find('.ws_color_scheme_display'); + + colorList.empty(); + var count = 0, maxColorsToShow = 7; + + $.each(colors, function(name, value) { + if ( !value || (count >= maxColorsToShow) ) { + return; + } + + colorList.append( + $('<span></span>').addClass('ws_color_display_item').css('background-color', value) + ); + count++; + }); + + if (count === 0) { + colorList.append('Default'); + } + + return 'Placeholder. You should never see this.'; + }, + + write: function(menuItem) { + //Menu colors can't be directly edited. + } + }), + + 'page_heading' : $.extend({}, baseField, { + caption: 'Page heading', + advanced : true, + onlyForTopMenus: false, + visible: false + }), + + 'hookname' : $.extend({}, baseField, { + caption: 'Hook name', + advanced : true, + onlyForTopMenus: true + }) +}; + +/* + * Create editors for the visible fields of a menu entry and append them to the specified node. + */ +function buildEditboxFields(fieldContainer, entry, isTopLevel){ + isTopLevel = (typeof isTopLevel == 'undefined') ? false : isTopLevel; + + var basicFields = $('<div class="ws_edit_panel ws_basic"></div>').appendTo(fieldContainer); + var advancedFields = $('<div class="ws_edit_panel ws_advanced"></div>').appendTo(fieldContainer); + + if ( wsEditorData.hideAdvancedSettings ){ + advancedFields.css('display', 'none'); + } + + for (var field_name in knownMenuFields){ + if (!knownMenuFields.hasOwnProperty(field_name)) { + continue; + } + + var fieldSpec = knownMenuFields[field_name]; + if (fieldSpec.onlyForTopMenus && !isTopLevel) { + continue; + } + + var field = buildEditboxField(entry, field_name, fieldSpec); + if (field){ + if (fieldSpec.advanced){ + advancedFields.append(field); + } else { + basicFields.append(field); + } + } + } + + //Add a link that shows/hides advanced fields + fieldContainer.append( + '<div class="ws_toggle_container"><a href="#" class="ws_toggle_advanced_fields"'+ + (wsEditorData.hideAdvancedSettings ? '' : ' style="display:none;"')+'>'+ + (wsEditorData.hideAdvancedSettings ? wsEditorData.captionShowAdvanced : wsEditorData.captionHideAdvanced) + +'</a></div>' + ); +} + +/* + * Create an editor for a specified field. + */ +function buildEditboxField(entry, field_name, field_settings){ + if (typeof entry[field_name] === 'undefined') { + return null; //skip fields this entry doesn't have + } + + //Build a form field of the appropriate type + var inputBox = null; + var basicTextField = '<input type="text" class="ws_field_value">'; + //noinspection FallthroughInSwitchStatementJS + switch(field_settings.type){ + case 'select': + inputBox = $('<select class="ws_field_value">'); + var option = null; + for( var index = 0; index < field_settings.options.length; index++ ){ + var optionTitle = field_settings.options[index][0]; + var optionValue = field_settings.options[index][1]; + + option = $('<option>') + .val(optionValue) + .text(optionTitle); + option.appendTo(inputBox); + } + break; + + case 'checkbox': + inputBox = $('<label><input type="checkbox" class="ws_field_value"> '+ + field_settings.caption+'</label>' + ); + break; + + case 'access_editor': + inputBox = $('<input type="text" class="ws_field_value" readonly="readonly">') + .add('<input type="button" class="button ws_launch_access_editor" value="Edit...">'); + break; + + case 'icon_selector': + inputBox = $(basicTextField) + .add('<button class="button ws_select_icon" title="Select icon"><div class="icon16 icon-settings"></div><img src="" style="display:none;"></button>'); + break; + + case 'color_scheme_editor': + inputBox = $('<span class="ws_color_scheme_display">Placeholder</span>') + .add('<input type="button" class="button ws_open_color_editor" value="Edit...">'); + break; + + case 'text': //Intentional fall-through. + default: + inputBox = $(basicTextField); + } + + + var className = "ws_edit_field ws_edit_field-"+field_name; + if (field_settings.addDropdown){ + className += ' ws_has_dropdown'; + } + + var editField = $('<div>' + (field_settings.standardCaption ? (field_settings.caption+'<br>') : '') + '</div>') + .attr('class', className) + .append(inputBox); + + if (field_settings.addDropdown) { + //Add a dropdown button + var dropdownId = field_settings.addDropdown; + editField.append( + $('<input type="button" value="▼">') + .addClass('button ws_dropdown_button') + .attr('tabindex', '-1') + .data('dropdownId', dropdownId) + ); + } + + editField + .append('<img src="' + wsEditorData.imagesUrl + '/transparent16.png" class="ws_reset_button" title="Reset to default value"> </img>') + .data('field_name', field_name); + + if ( !field_settings.visible ){ + editField.css('display', 'none'); + } + + return editField; +} + +/** + * Update the UI elements that that indicate whether the currently selected + * actor can access a menu item. + * + * @param containerNode + */ +function updateActorAccessUi(containerNode) { + //Update the permissions checkbox & UI + if (selectedActor != null) { + var menuItem = containerNode.data('menu_item'); + var hasAccess = actorCanAccessMenu(menuItem, selectedActor); + var hasCustomPermissions = actorHasCustomPermissions(menuItem, selectedActor); + + var checkbox = containerNode.find('.ws_actor_access_checkbox'); + checkbox.prop('checked', hasAccess); + + //Display the checkbox differently if some items of this menu are hidden and some are visible, + //or if their permissions don't match this menu's permissions. + var submenuId = containerNode.data('submenu_id'); + var submenuItems = submenuId ? $('#' + submenuId).children('.ws_container') : []; + if (!submenuId || submenuItems.length === 0) { + //This menu doesn't contain any items. + checkbox.prop('indeterminate', false); + } else { + var differentPermissions = false; + submenuItems.each(function() { + var item = $(this).data('menu_item'); + if ( !item ) { //Skip placeholder items created by drag & drop operations. + return true; + } + var hasSubmenuAccess = actorCanAccessMenu(item, selectedActor); + if (hasSubmenuAccess !== hasAccess) { + differentPermissions = true; + return false; + } + return true; + }); + + checkbox.prop('indeterminate', differentPermissions); + } + + containerNode.toggleClass('ws_is_hidden_for_actor', !hasAccess); + containerNode.toggleClass('ws_has_custom_permissions_for_actor', hasCustomPermissions); + setMenuFlag(containerNode, 'custom_actor_permissions', hasCustomPermissions) + } else { + containerNode.removeClass('ws_is_hidden_for_actor ws_has_custom_permissions_for_actor'); + setMenuFlag(containerNode, 'custom_actor_permissions', false); + } +} + +/** + * Like updateActorAccessUi() except it updates the specified menu's parent, not the menu itself. + * If the menu has no parent (i.e. it's a top-level menu), this function does nothing. + * + * @param containerNode Either a menu item or a submenu container. + */ +function updateParentAccessUi(containerNode) { + var submenu; + if ( containerNode.is('.ws_submenu') ) { + submenu = containerNode; + } else { + submenu = containerNode.parent(); + } + + var parentId = submenu.data('parent_menu_id'); + if (parentId) { + updateActorAccessUi($('#' + parentId)); + } +} + +/** + * Update an edit widget with the current menu item settings. + * + * @param containerNode + */ +function updateItemEditor(containerNode) { + var menuItem = containerNode.data('menu_item'); + + //Apply flags based on the item's state. + var flags = ['hidden', 'unused', 'custom']; + for (var i = 0; i < flags.length; i++) { + setMenuFlag(containerNode, flags[i], getFieldValue(menuItem, flags[i], false)); + } + + //Update the permissions checkbox & other actor-specific UI + updateActorAccessUi(containerNode); + + //Update all input fields with the current values. + containerNode.find('.ws_edit_field').each(function(index, field) { + field = $(field); + var fieldName = field.data('field_name'); + var input = field.find('.ws_field_value').first(); + + var hasADefaultValue = itemTemplates.hasDefaultValue(menuItem.template_id, fieldName); + var defaultValue = itemTemplates.getDefaultValue(menuItem.template_id, fieldName); + var isDefault = hasADefaultValue && (menuItem[fieldName] === null); + + if (fieldName == 'access_level') { + isDefault = (getFieldValue(menuItem, 'extra_capability', '') === '') && isEmptyObject(menuItem.grant_access); + } + + field.toggleClass('ws_has_no_default', !hasADefaultValue); + field.toggleClass('ws_input_default', isDefault); + + var displayValue = isDefault ? defaultValue : menuItem[fieldName]; + if (knownMenuFields[fieldName].display !== null) { + displayValue = knownMenuFields[fieldName].display(menuItem, displayValue, input, containerNode); + } + + setInputValue(input, displayValue); + }); +} + +function isEmptyObject(obj) { + for (var prop in obj) { + if (obj.hasOwnProperty(prop)) { + return false; + } + } + return true; +} + +/* + * Get the current value of a single menu field. + * + * If the specified field is not set, this function will attempt to retrieve it + * from the "defaults" property of the menu object. If *that* fails, it will return + * the value of the optional third argument defaultValue. + */ +function getFieldValue(entry, fieldName, defaultValue){ + if ( (typeof entry[fieldName] === 'undefined') || (entry[fieldName] === null) ) { + if ( (typeof entry['defaults'] === 'undefined') || (typeof entry['defaults'][fieldName] === 'undefined') ){ + return defaultValue; + } else { + return entry.defaults[fieldName]; + } + } else { + return entry[fieldName]; + } +} + +/* + * Make a menu container sortable + */ +function makeBoxSortable(menuBox){ + //Make the submenu sortable + menuBox.sortable({ + items: '> .ws_container', + cursor: 'move', + dropOnEmpty: true, + cancel : '.ws_editbox, .ws_edit_link' + }); +} + +/*************************************************************************** + Parsing & encoding menu inputs + ***************************************************************************/ + +/** + * Encode the current menu structure as JSON + * + * @return {String} A JSON-encoded string representing the current menu tree loaded in the editor. + */ +function encodeMenuAsJSON(tree){ + if (typeof tree == 'undefined' || !tree) { + tree = readMenuTreeState(); + } + tree.format = { + name: wsEditorData.menuFormatName, + version: wsEditorData.menuFormatVersion + }; + return $.toJSON(tree); +} + +function readMenuTreeState(){ + var tree = {}; + var menuPosition = 0; + var itemsByFilename = {}; + + //Gather all menus and their items + $('#ws_menu_box').find('.ws_menu').each(function() { + var containerNode = this; + var menu = readItemState(containerNode, menuPosition++); + + //Attach the current menu to the main structure. + var filename = (menu.file !== null) ? menu.file : menu.defaults.file; + + //Give unclickable items unique keys. + if (menu.template_id === wsEditorData.unclickableTemplateId) { + ws_paste_count++; + filename = '#' + wsEditorData.unclickableTemplateClass + '-' + ws_paste_count; + } + + //Prevent the user from saving top level items with duplicate URLs. + //WordPress indexes the submenu array by parent URL and AME uses a {url : menu_data} hashtable internally. + //Duplicate URLs would cause problems for both. + if (itemsByFilename.hasOwnProperty(filename)) { + throw { + code: 'duplicate_top_level_url', + message: 'Error: Found a duplicate URL! All top level menus must have unique URLs.', + duplicates: [itemsByFilename[filename], containerNode] + } + } + + tree[filename] = menu; + itemsByFilename[filename] = containerNode; + }); + + return { + tree: tree + }; +} + +/** + * Extract the current menu item settings from its editor widget. + * + * @param itemDiv DOM node containing the editor widget, usually with the .ws_item or .ws_menu class. + * @param {Number} [position] Menu item position among its sibling menu items. Defaults to zero. + * @return {Object} A menu object in the tree format. + */ +function readItemState(itemDiv, position){ + position = (typeof position == 'undefined') ? 0 : position; + + itemDiv = $(itemDiv); + var item = $.extend({}, wsEditorData.blankMenuItem, itemDiv.data('menu_item'), readAllFields(itemDiv)); + + item.defaults = itemDiv.data('menu_item').defaults; + + //Save the position data + item.position = position; + item.defaults.position = position; //The real default value will later overwrite this + + item.separator = itemDiv.hasClass('ws_menu_separator'); + item.hidden = menuHasFlag(itemDiv, 'hidden'); + item.custom = menuHasFlag(itemDiv, 'custom'); + + //Gather the menu's sub-items, if any + item.items = []; + var subMenuId = itemDiv.data('submenu_id'); + if (subMenuId) { + var itemPosition = 0; + $('#' + subMenuId).find('.ws_item').each(function () { + var sub_item = readItemState(this, itemPosition++); + item.items.push(sub_item); + }); + } + + return item; +} + +/* + * Extract the values of all menu/item fields present in a container node + * + * Inputs: + * container - a jQuery collection representing the node to read. + */ +function readAllFields(container){ + if ( !container.hasClass('ws_container') ){ + container = container.closest('.ws_container'); + } + + if ( !container.data('field_editors_created') ){ + return container.data('menu_item'); + } + + var state = {}; + + //Iterate over all fields of the item + container.find('.ws_edit_field').each(function() { + var field = $(this); + + //Get the name of this field + var field_name = field.data('field_name'); + //Skip if unnamed + if (!field_name) { + return true; + } + + //Find the field (usually an input or select element). + var input_box = field.find('.ws_field_value'); + + //Save null if default used, custom value otherwise + if (field.hasClass('ws_input_default')){ + state[field_name] = null; + } else { + state[field_name] = getInputValue(input_box); + } + return true; + }); + + //Permission settings are not stored in the visible access_level field (that's just for show), + //so do not attempt to read them from there. + state['access_level'] = null; + + return state; +} + + +/*************************************************************************** + Flag manipulation + ***************************************************************************/ + +var item_flags = { + 'custom':'This is a custom menu item', + 'unused':'This item was automatically recreated. You cannot delete a non-custom item, but you could hide it.', + 'hidden':'This item is hidden from ALL roles and users', + 'custom_actor_permissions' : "The selected role has custom permissions for this item." +}; + +function setMenuFlag(item, flag, state) { + item = $(item); + + var item_class = 'ws_' + flag; + var img_class = 'ws_' + flag + '_flag'; + + item.toggleClass(item_class, state); + if (state) { + //Add the flag image, + var flag_container = item.find('.ws_flag_container'); + if ( flag_container.find('.' + img_class).length == 0 ){ + flag_container.append('<div class="ws_flag '+img_class+'" title="'+item_flags[flag]+'"></div>'); + } + } else { + //Remove the flag image. + item.find('.' + img_class).remove(); + } +} + +function menuHasFlag(item, flag){ + return $(item).hasClass('ws_'+flag); +} + +/*********************************************************** + Capability manipulation + ************************************************************/ + +function actorCanAccessMenu(menuItem, actor) { + if (!$.isPlainObject(menuItem.grant_access)) { + menuItem.grant_access = {}; + } + + //By default, any actor that has the required cap has access to the menu. + //Users can override this on a per-menu basis. + var requiredCap = getFieldValue(menuItem, 'access_level', '< Error: access_level is missing! >'); + var actorHasAccess = false; + if (menuItem.grant_access.hasOwnProperty(actor)) { + actorHasAccess = menuItem.grant_access[actor]; + } else { + actorHasAccess = AmeCapabilityManager.hasCap(actor, requiredCap, menuItem.grant_access); + } + return actorHasAccess; +} + +function actorHasCustomPermissions(menuItem, actor) { + if (menuItem.grant_access && menuItem.grant_access.hasOwnProperty && menuItem.grant_access.hasOwnProperty(actor)) { + return (menuItem.grant_access[actor] !== null); + } + return false; +} + +function setActorAccess(containerNode, actor, allowAccess) { + var menuItem = containerNode.data('menu_item'); + + //grant_access comes from PHP, which JSON-encodes empty assoc. arrays as arrays. + //However, we want it to be a dictionary. + if (!$.isPlainObject(menuItem.grant_access)) { + menuItem.grant_access = {}; + } + + menuItem.grant_access[actor] = allowAccess; +} + +function setSelectedActor(actor) { + //Check if the specified actor really exists. The actor ID + //could be invalid if it was supplied by the user. + if (actor !== null) { + var newSelectedItem = $('a[href$="#'+ actor +'"]'); + if (newSelectedItem.length === 0) { + return; + } + } + + selectedActor = actor; + + //Highlight the actor. + var actorSelector = $('#ws_actor_selector'); + $('.current', actorSelector).removeClass('current'); + + if (selectedActor == null) { + $('a.ws_no_actor').addClass('current'); + } else { + newSelectedItem.addClass('current'); + } + + //There are some UI elements that can be visible or hidden depending on whether an actor is selected. + var editorNode = $('#ws_menu_editor'); + editorNode.toggleClass('ws_is_actor_view', (selectedActor != null)); + + //Update the menu item states to indicate whether they're accessible. + editorNode.find('.ws_container').each(function() { + updateActorAccessUi($(this)); + }); +} + +/** + * Make a menu item inaccessible to everyone except a particular actor. + * + * Will not change access settings for actors that are more specific than the input actor. + * For example, if the input actor is a "role:", this function will only disable other roles, + * but will leave "user:" actors untouched. + * + * @param {Object} menuItem + * @param {String} actor + * @return {Object} + */ +function denyAccessForAllExcept(menuItem, actor) { + //grant_access comes from PHP, which JSON-encodes empty assoc. arrays as arrays. + //However, we want it to be a dictionary. + if (!$.isPlainObject(menuItem.grant_access)) { + menuItem.grant_access = {}; + } + + $.each(wsEditorData.actors, function(otherActor) { + //If the input actor is more or equally specific... + if ((actor === null) || (AmeCapabilityManager.compareActorSpecificity(actor, otherActor) >= 0)) { + menuItem.grant_access[otherActor] = false; + } + }); + + if (actor !== null) { + menuItem.grant_access[actor] = true; + } + return menuItem; +} + +/*************************************************************************** + Event handlers + ***************************************************************************/ + +//Cut & paste stuff +var menu_in_clipboard = null; +var ws_paste_count = 0; + +$(document).ready(function(){ + //Some editor elements are only available in the Pro version. + if (wsEditorData.wsMenuEditorPro) { + knownMenuFields['open_in'].visible = true; + knownMenuFields['access_level'].visible = true; + knownMenuFields['page_heading'].visible = true; + knownMenuFields['colors'].visible = true; + knownMenuFields['extra_capability'].visible = false; //Superseded by the "access_level" field. + + //The Pro version supports submenu icons, but they can be disabled by the user. + knownMenuFields['icon_url'].onlyForTopMenus = (wsEditorData.submenuIconsEnabled == 'never'); + + $('.ws_hide_if_pro').hide(); + } + + //Make the top menu box sortable (we only need to do this once) + var mainMenuBox = $('#ws_menu_box'); + makeBoxSortable(mainMenuBox); + + /*************************************************************************** + Event handlers for editor widgets + ***************************************************************************/ + var menuEditorNode = $('#ws_menu_editor'); + + //Highlight the clicked menu item and show it's submenu + var currentVisibleSubmenu = null; + menuEditorNode.on('click', '.ws_container', (function () { + var container = $(this); + if ( container.hasClass('ws_active') ){ + return; + } + + //Highlight the active item and un-highlight the previous one + container.addClass('ws_active'); + container.siblings('.ws_active').removeClass('ws_active'); + if ( container.hasClass('ws_menu') ){ + //Show/hide the appropriate submenu + if ( currentVisibleSubmenu ){ + currentVisibleSubmenu.hide(); + } + currentVisibleSubmenu = $('#'+container.data('submenu_id')).show(); + } + })); + + //Show/hide a menu's properties + menuEditorNode.on('click', '.ws_edit_link', (function () { + var container = $(this).parents('.ws_container').first(); + var box = container.find('.ws_editbox'); + + //For performance, the property editors for each menu are only created + //when the user tries to access access them for the first time. + if ( !container.data('field_editors_created') ){ + buildEditboxFields(box, container.data('menu_item'), container.hasClass('ws_menu')); + container.data('field_editors_created', true); + updateItemEditor(container); + } + + $(this).toggleClass('ws_edit_link_expanded'); + //show/hide the editbox + if ($(this).hasClass('ws_edit_link_expanded')){ + box.show(); + } else { + //Make sure changes are applied before the menu is collapsed + box.find('input').change(); + box.hide(); + } + })); + + //The "Default" button : Reset to default value when clicked + menuEditorNode.on('click', '.ws_reset_button', (function () { + //Find the field div (it holds the field name) + var field = $(this).parents('.ws_edit_field'); + var fieldName = field.data('field_name'); + + if ( (field.length > 0) && fieldName ) { + //Extract the default value from the menu item. + var containerNode = field.closest('.ws_container'); + var menuItem = containerNode.data('menu_item'); + + if (fieldName == 'access_level') { + //This is a pretty nasty hack. + menuItem.grant_access = {}; + menuItem.extra_capability = null; + } + + if (itemTemplates.hasDefaultValue(menuItem.template_id, fieldName)) { + menuItem[fieldName] = null; + updateItemEditor(containerNode); + updateParentAccessUi(containerNode); + } + } + })); + + //When a field is edited, change it's appearance if it's contents don't match the default value. + function fieldValueChange(){ + var input = $(this); + var field = input.parents('.ws_edit_field').first(); + var fieldName = field.data('field_name'); + + if (fieldName == 'access_level') { + //This field is read-only and can never be directly edited by the user. + //Ignore spurious change events. + return; + } + + var containerNode = field.parents('.ws_container').first(); + var menuItem = containerNode.data('menu_item'); + + var oldValue = menuItem[fieldName]; + var value = getInputValue(input); + var defaultValue = itemTemplates.getDefaultValue(menuItem.template_id, fieldName); + var hasADefaultValue = (defaultValue !== null); + + //Some fields/templates have no default values. + field.toggleClass('ws_has_no_default', !hasADefaultValue); + if (!hasADefaultValue) { + field.removeClass('ws_input_default'); + } + + if (field.hasClass('ws_input_default') && (value == defaultValue)) { + value = null; //null = use default. + } + + //Ignore changes where the new value is the same as the old one. + if (value === oldValue) { + return; + } + + //Update the item. + if (knownMenuFields[fieldName].write !== null) { + knownMenuFields[fieldName].write(menuItem, value, input, containerNode); + } else { + menuItem[fieldName] = value; + } + + updateItemEditor(containerNode); + updateParentAccessUi(containerNode) + } + menuEditorNode.on('click change', '.ws_field_value', fieldValueChange); + + //Show/hide advanced fields + menuEditorNode.on('click', '.ws_toggle_advanced_fields', function(){ + var self = $(this); + var advancedFields = self.parents('.ws_container').first().find('.ws_advanced'); + + if ( advancedFields.is(':visible') ){ + advancedFields.hide(); + self.text(wsEditorData.captionShowAdvanced); + } else { + advancedFields.show(); + self.text(wsEditorData.captionHideAdvanced); + } + + return false; + }); + + //Allow/forbid items in actor-specific views + menuEditorNode.on('click', 'input.ws_actor_access_checkbox', function() { + if (selectedActor == null) { + return; + } + + var checked = $(this).is(':checked'); + var containerNode = $(this).closest('.ws_container'); + + var menu = containerNode.data('menu_item'); + //Ask for confirmation if the user tries to hide Dashboard -> Home. + if ( !checked && ((menu.template_id == 'index.php>index.php') || (menu.template_id == '>index.php')) ) { + updateItemEditor(containerNode); //Resets the checkbox back to the old value. + confirmDashboardHiding(function(ok) { + if (ok) { + setActorAccessForTreeAndUpdateUi(containerNode, selectedActor, checked); + } + }); + } else { + setActorAccessForTreeAndUpdateUi(containerNode, selectedActor, checked); + } + }); + + /** + * This confusingly named function sets actor access for the specified menu item + * and all of its children (if any). It also updates the UI with the new settings. + * + * (And it violates SRP in a particularly egregious manner.) + * + * @param containerNode + * @param {String} actor + * @param {Boolean} allowAccess + */ + function setActorAccessForTreeAndUpdateUi(containerNode, actor, allowAccess) { + setActorAccess(containerNode, actor, allowAccess); + + //Apply the same permissions to sub-menus. + var subMenuId = containerNode.data('submenu_id'); + if (subMenuId && containerNode.hasClass('ws_menu')) { + $('.ws_item', '#' + subMenuId).each(function() { + var node = $(this); + setActorAccess(node, actor, allowAccess); + updateItemEditor(node); + }); + } + + updateItemEditor(containerNode); + updateParentAccessUi(containerNode); + } + + /** + * Confirm with the user that they want to hide "Dashboard -> Home". + * + * This particular menu is important because hiding it can cause an "insufficient permissions" error + * to be displayed right when someone logs in, making it look like login failed. + */ + var permissionConfirmationDialog = $('#ws-ame-dashboard-hide-confirmation').dialog({ + autoOpen: false, + modal: true, + closeText: ' ', + width: 380, + title: 'Warning' + }); + var currentConfirmationCallback = function(ok) {}; + + /** + * Confirm hiding "Dashboard -> Home". + * + * @param callback Called when the user selects an option. True = confirmed. + */ + function confirmDashboardHiding(callback) { + //The user can disable the confirmation dialog. + if (!wsEditorData.dashboardHidingConfirmationEnabled) { + callback(true); + return; + } + + currentConfirmationCallback = callback; + permissionConfirmationDialog.dialog('open'); + } + + $('#ws_confirm_menu_hiding, #ws_cancel_menu_hiding').click(function() { + var confirmed = $(this).is('#ws_confirm_menu_hiding'); + var dontShowAgain = permissionConfirmationDialog.find('.ws_dont_show_again input[type="checkbox"]').is(':checked'); + + currentConfirmationCallback(confirmed); + permissionConfirmationDialog.dialog('close'); + + if (dontShowAgain) { + wsEditorData.dashboardHidingConfirmationEnabled = false; + //Run an AJAX request to disable the dialog for this user. + $.post( + wsEditorData.adminAjaxUrl, + { + 'action' : 'ws_ame_disable_dashboard_hiding_confirmation', + '_ajax_nonce' : wsEditorData.disableDashboardConfirmationNonce + } + ); + } + }); + + + /************************************************************************* + Access editor dialog + *************************************************************************/ + + var accessEditorState = { + containerNode : null, + menuItem: null, + rowPrefix: 'access_settings_for-' + }; + + $('#ws_menu_access_editor').dialog({ + autoOpen: false, + closeText: ' ', + modal: true, + minHeight: 100, + draggable: false + }); + + menuEditorNode.on('click', '.ws_launch_access_editor', function() { + var containerNode = $(this).parents('.ws_container').first(); + var menuItem = containerNode.data('menu_item'); + + //Write the values of this item to the editor fields. + var editor = $('#ws_menu_access_editor'); + + var requiredCap = getFieldValue(menuItem, 'access_level', '< Error: access_level is missing! >'); + var requiredCapField = editor.find('#ws_required_capability').empty(); + if (menuItem.template_id === '') { + //Custom items have no required caps, only what users set. + requiredCapField.empty().append('<em>None</em>'); + } else { + requiredCapField.text(requiredCap); + } + + editor.find('#ws_extra_capability').val(getFieldValue(menuItem, 'extra_capability', '')); + + //Generate the actor list. + var table = editor.find('.ws_role_table_body tbody').empty(); + var alternate = ''; + for(var actor in wsEditorData.actors) { + if (!wsEditorData.actors.hasOwnProperty(actor)) { + continue; + } + var actorName = wsEditorData.actors[actor]; + + var checkboxId = 'allow_' + actor.replace(/[^a-zA-Z0-9_]/g, '_'); + var checkbox = $('<input type="checkbox">').addClass('ws_role_access').attr('id', checkboxId); + + var actorHasAccess = actorCanAccessMenu(menuItem, actor); + if (actorHasAccess) { + checkbox.attr('checked', 'checked'); + } + + alternate = (alternate == '') ? 'alternate' : ''; + + var cell = '<td>'; + var row = $('<tr>').data('actor', actor).attr('class', alternate).append( + $(cell).addClass('ws_column_role post-title').append( + $('<label>').attr('for', checkboxId).append( + $('<strong>').text(actorName) + ) + ), + $(cell).addClass('ws_column_access').append(checkbox) + ); + + table.append(row); + } + + accessEditorState.containerNode = containerNode; + accessEditorState.menuItem = menuItem; + + //Show/hide the hint about sub menus overriding menu permissions. + var itemHasSubmenus = !!(containerNode.data('submenu_id')) && + $('#' + containerNode.data('submenu_id')).find('.ws_item').length > 0; + var hintIsEnabled = !wsEditorData.showHints.hasOwnProperty('ws_hint_menu_permissions') || wsEditorData.showHints['ws_hint_menu_permissions']; + $('#ws_hint_menu_permissions').toggle(hintIsEnabled && itemHasSubmenus); + + //Warn the user if the required capability == role. Can't make it less restrictive. + var roleError = $('#ws_hardcoded_role_error'); + if (requiredCap && AmeCapabilityManager.roleExists(requiredCap)) { + roleError.show(); + $('#ws_hardcoded_role_name').text(requiredCap); + } else { + roleError.hide(); + } + + editor.dialog('open'); + }); + + $('#ws_save_access_settings').click(function() { + //Save the new settings. + var extraCapability = jsTrim($('#ws_extra_capability').val()); + accessEditorState.menuItem.extra_capability = (extraCapability === '') ? null : extraCapability; + + var grantAccess = accessEditorState.menuItem.grant_access; + if (!$.isPlainObject(grantAccess)) { + grantAccess = {}; + } + var editor = $('#ws_menu_access_editor'); + editor.find('.ws_role_table_body tbody tr').each(function() { + var row = $(this); + var actor = row.data('actor'); + grantAccess[actor] = row.find('input.ws_role_access').is(':checked'); + }); + accessEditorState.menuItem.grant_access = grantAccess; + + updateItemEditor(accessEditorState.containerNode); + editor.dialog('close'); + }); + + /*************************************************************************** + General dialog handlers + ***************************************************************************/ + + $(document).on('click', '.ws_close_dialog', function() { + $(this).parents('.ui-dialog-content').dialog('close'); + }); + + + /*************************************************************************** + Drop-down list for combo-box fields + ***************************************************************************/ + + var capSelectorDropdown = $('#ws_cap_selector'); + var currentDropdownOwner = null; //The input element that the dropdown is currently associated with. + var isDropdownBeingHidden = false; + + //Show/hide the capability drop-down list when the trigger button is clicked + $('#ws_trigger_capability_dropdown').on('mousedown click', onDropdownTriggerClicked); + menuEditorNode.on('mousedown click', '.ws_dropdown_button', onDropdownTriggerClicked); + + function onDropdownTriggerClicked(event){ + var inputBox = null; + var button = $(this); + + //Find the input associated with the button that was clicked. + if ( button.attr('id') == 'ws_trigger_capability_dropdown' ) { + inputBox = $('#ws_extra_capability'); + } else { + inputBox = button.closest('.ws_edit_field').find('.ws_field_value').first(); + } + + //If the user clicks the same button again while the dropdown is already visible, + //ignore the click. The dropdown will be hidden by its "blur" handler. + if (event.type == 'mousedown') { + if ( capSelectorDropdown.is(':visible') && inputBox.is(currentDropdownOwner) ) { + isDropdownBeingHidden = true; + } + return; + } else if (isDropdownBeingHidden) { + isDropdownBeingHidden = false; //Ignore the click event. + return; + } + + //A jQuery UI dialog widget will prevent focus from leaving the dialog. So if we want + //the dropdown to be properly focused when displaying it in a dialog, we must make it + //a child of the dialog's DOM node (and vice versa when it's not in a dialog). + var parentContainer = $(this).closest('.ui-dialog, #ws_menu_editor'); + if ((parentContainer.length > 0) && (capSelectorDropdown.closest(parentContainer).length == 0)) { + var oldHeight = capSelectorDropdown.height(); //Height seems to reset when moving to a new parent. + capSelectorDropdown.detach().appendTo(parentContainer).height(oldHeight); + } + + //Pre-select the current capability (will clear selection if there's no match). + capSelectorDropdown.val(inputBox.val()).show(); + + //Move the drop-down near the input box. + var inputPos = inputBox.offset(); + capSelectorDropdown + .css({ + position: 'absolute', + zIndex: 1010 //Must be higher than the permissions dialog overlay. + }) + .offset({ + left: inputPos.left, + top : inputPos.top + inputBox.outerHeight() + }). + width(inputBox.outerWidth()); + + currentDropdownOwner = inputBox; + capSelectorDropdown.focus(); + } + + //Also show it when the user presses the down arrow in the input field (doesn't work in Opera). + $('#ws_extra_capability').bind('keyup', function(event){ + if ( event.which == 40 ){ + $('#ws_trigger_capability_dropdown').click(); + } + }); + + //Event handlers for the drop-down lists themselves + var dropdownNodes = $('.ws_dropdown'); + + // Hide capability drop-down when it loses focus. + dropdownNodes.blur(function(event){ + console.log('Hiding dropdown because it lost focus.', event); + capSelectorDropdown.hide(); + }); + + dropdownNodes.keydown(function(event){ + + //Hide it when the user presses Esc + if ( event.which == 27 ){ + capSelectorDropdown.hide(); + if (currentDropdownOwner) { + currentDropdownOwner.focus(); + } + + //Select an item & hide the list when the user presses Enter or Tab + } else if ( (event.which == 13) || (event.which == 9) ){ + capSelectorDropdown.hide(); + + if (currentDropdownOwner) { + if ( capSelectorDropdown.val() ){ + currentDropdownOwner.val(capSelectorDropdown.val()).change(); + } + currentDropdownOwner.focus(); + } + + event.preventDefault(); + } + }); + + //Eat Tab keys to prevent focus theft. Required to make the "select item on Tab" thing work. + dropdownNodes.keyup(function(event){ + if ( event.which == 9 ){ + event.preventDefault(); + } + }); + + + //Update the input & hide the list when an option is clicked + dropdownNodes.click(function(){ + if (capSelectorDropdown.val()){ + capSelectorDropdown.hide(); + if (currentDropdownOwner) { + currentDropdownOwner.val(capSelectorDropdown.val()).change().focus(); + } + } + }); + + //Highlight an option when the user mouses over it (doesn't work in IE) + dropdownNodes.mousemove(function(event){ + if ( !event.target ){ + return; + } + + var option = event.target; + if ( (typeof option['selected'] !== 'undefined') && !option.selected && option.value ){ + option.selected = true; + } + }); + + /************************************************************************* + Icon selector + *************************************************************************/ + var iconSelector = $('#ws_icon_selector'); + var currentIconButton = null; //Keep track of the last clicked icon button. + + //When the user clicks one of the available icons, update the menu item. + iconSelector.on('click', '.ws_icon_option', function() { + var selectedIcon = $(this).addClass('ws_selected_icon'); + iconSelector.hide(); + + //Assign the selected icon to the menu. + if (currentIconButton) { + var container = currentIconButton.closest('.ws_container'); + var item = container.data('menu_item'); + + //Remove the existing icon class, if any. + var cssClass = getFieldValue(item, 'css_class', ''); + cssClass = jsTrim( cssClass.replace(/\b(ame-)?menu-icon-[^\s]+\b/, '') ); + + if (selectedIcon.data('icon-class')) { + //Add the new class. + cssClass = selectedIcon.data('icon-class') + ' ' + cssClass; + //Can't have both a class and an image or we'll get two overlapping icons. + item.icon_url = ''; + } else if (selectedIcon.data('icon-url')) { + item.icon_url = selectedIcon.data('icon-url'); + } + item.css_class = cssClass; + + updateItemEditor(container); + } + + currentIconButton = null; + }); + + //Show/hide the icon selector when the user clicks the icon button. + menuEditorNode.on('click', '.ws_select_icon', function() { + var button = $(this); + //Clicking the same button a second time hides the icon list. + if ( currentIconButton && button.is(currentIconButton) ) { + iconSelector.hide(); + //noinspection JSUnusedAssignment + currentIconButton = null; + return; + } + + currentIconButton = button; + + var menuItem = currentIconButton.closest('.ws_container').data('menu_item'); + var cssClass = getFieldValue(menuItem, 'css_class', ''); + var iconUrl = getFieldValue(menuItem, 'icon_url', ''); + + var customImageOption = iconSelector.find('.ws_custom_image_icon').hide(); + + //Highlight the currently selected icon. + iconSelector.find('.ws_selected_icon').removeClass('ws_selected_icon'); + + var expandSelector = false; + var classMatches = cssClass.match(/\b(ame-)?menu-icon-([^\s]+)\b/); + //Dashicons are set via the icon URL field, but they are actually CSS-based. + var dashiconMatches = iconUrl && iconUrl.match('^\s*(dashicons-[a-z0-9\-]+)\s*$'); + + if ( iconUrl && iconUrl !== 'none' && iconUrl !== 'div' && !dashiconMatches ) { + var currentIcon = iconSelector.find('.ws_icon_option img[src="' + iconUrl + '"]').first().closest('.ws_icon_option'); + if ( currentIcon.length > 0 ) { + currentIcon.addClass('ws_selected_icon').show(); + } else { + //Display and highlight the custom image. + customImageOption.find('img').prop('src', iconUrl); + customImageOption.addClass('ws_selected_icon').show().data('icon-url', iconUrl); + } + } else if ( classMatches || dashiconMatches ) { + //Highlight the icon that corresponds to the current CSS class or Dashicon name. + var iconClass = dashiconMatches ? dashiconMatches[1] : ((classMatches[1] ? classMatches[1] : '') + 'icon-' + classMatches[2]); + var selectedIcon = iconSelector.find('.' + iconClass).closest('.ws_icon_option').addClass('ws_selected_icon'); + //If the icon is one of those hidden by default, automatically expand the selector so it becomes visible. + if (selectedIcon.hasClass('ws_icon_extra')) { + expandSelector = true; + } + } + + expandSelector = expandSelector || (!!wsEditorData.showExtraIcons); //Second argument to toggleClass() must be a boolean, not just truthy/falsy. + iconSelector.toggleClass('ws_with_more_icons', expandSelector); + $('#ws_show_more_icons').val(expandSelector ? 'Less \u25B2' : 'More \u25BC'); + + iconSelector.show(); + iconSelector.position({ //Requires jQuery UI. + my: 'left top', + at: 'left bottom', + of: button + }); + }); + + //Alternatively, use the WordPress media uploader to select a custom icon. + //This code is based on the header selection script in /wp-admin/js/custom-header.js. + $('#ws_choose_icon_from_media').click(function(event) { + event.preventDefault(); + var frame = null; + + //This option is not usable on the demo site since the filesystem is usually read-only. + if (wsEditorData.isDemoMode) { + alert('Sorry, image upload is disabled in demo mode!'); + return; + } + + //If the media frame already exists, reopen it. + if ( frame ) { + frame.open(); + return; + } + + //Create a custom media frame. + frame = wp.media.frames.customAdminMenuIcon = wp.media({ + //Set the title of the modal. + title: 'Choose a Custom Icon (16x16)', + + //Tell it to show only images. + library: { + type: 'image' + }, + + //Customize the submit button. + button: { + text: 'Set as icon', //Button text. + close: true //Clicking the button closes the frame. + } + }); + + //When an image is selected, set it as the menu icon. + frame.on( 'select', function() { + //Grab the selected attachment. + var attachment = frame.state().get('selection').first(); + //TODO: Warn the user if the image exceeds 16x16 pixels. + + //Set the menu icon to the attachment URL. + if (currentIconButton) { + var container = currentIconButton.closest('.ws_container'); + var item = container.data('menu_item'); + + //Remove the existing icon class, if any. + var cssClass = getFieldValue(item, 'css_class', ''); + item.css_class = jsTrim( cssClass.replace(/\b(ame-)?menu-icon-[^\s]+\b/, '') ); + + //Set the new icon URL. + item.icon_url = attachment.attributes.url; + + updateItemEditor(container); + } + + currentIconButton = null; + }); + + //If the user closes the frame by via Esc or the "X" button, clear up state. + frame.on('escape', function(){ + currentIconButton = null; + }); + + frame.open(); + iconSelector.hide(); + }); + + //Show/hide additional icons. + $('#ws_show_more_icons').click(function() { + iconSelector.toggleClass('ws_with_more_icons'); + wsEditorData.showExtraIcons = iconSelector.hasClass('ws_with_more_icons'); + $(this).val(wsEditorData.showExtraIcons ? 'Less \u25B2' : 'More \u25BC'); + + //Remember the user's choice. + $.cookie('ame-show-extra-icons', wsEditorData.showExtraIcons ? '1' : '0', {expires: 90}); + }); + + //Hide the icon selector if the user clicks outside of it. + //Exception: Clicks on "Select icon" buttons are handled above. + $(document).on('mouseup', function(event) { + if ( !iconSelector.is(':visible') ) { + return; + } + + if ( + !iconSelector.is(event.target) + && iconSelector.has(event.target).length === 0 + && $(event.target).closest('.ws_select_icon').length == 0 + ) { + iconSelector.hide(); + currentIconButton = null; + } + }); + + + /************************************************************************* + Color picker + *************************************************************************/ + + var menuColorDialog = $('#ws-ame-menu-color-settings'); + if (menuColorDialog.length > 0) { + menuColorDialog.dialog({ + autoOpen: false, + closeText: ' ', + draggable: false, + modal: true, + minHeight: 400, + minWidth: 520 + }); + } + + var colorDialogState = { + menuItem: null + }; + + var menuColorVariables = [ + 'base-color', + 'text-color', + 'highlight-color', + 'icon-color', + + 'menu-highlight-text', + 'menu-highlight-icon', + 'menu-highlight-background', + + 'menu-current-text', + 'menu-current-icon', + 'menu-current-background', + + 'menu-submenu-text', + 'menu-submenu-background', + 'menu-submenu-focus-text', + 'menu-submenu-current-text', + + 'menu-bubble-text', + 'menu-bubble-background', + 'menu-bubble-current-text', + 'menu-bubble-current-background' + ]; + + //Show only the primary color settings by default. + var showAdvancedColors = false; + $('#ws-ame-show-advanced-colors').click(function() { + showAdvancedColors = !showAdvancedColors; + $('#ws-ame-menu-color-settings').find('.ame-advanced-menu-color').toggle(showAdvancedColors); + $(this).text(showAdvancedColors ? 'Hide advanced options' : 'Show advanced options'); + }); + + //"Edit.." color schemes. + var colorPickersInitialized = false; + menuEditorNode.on('click', '.ws_open_color_editor, .ws_color_scheme_display', function() { + //Initializing the color pickers takes a while, so we only do it when needed instead of on document ready. + if ( !colorPickersInitialized ) { + menuColorDialog.find('.ame-color-picker').wpColorPicker(); + colorPickersInitialized = true; + } + + var containerNode = $(this).parents('.ws_container').first(); + var menuItem = containerNode.data('menu_item'); + + colorDialogState.containerNode = containerNode; + colorDialogState.menuItem = menuItem; + + var colors = getFieldValue(menuItem, 'colors', {}); + var customColorCount = 0; + for (var i = 0; i < menuColorVariables.length; i++) { + var name = menuColorVariables[i]; + var value = colors.hasOwnProperty(name) ? colors[name] : false; + + if ( value ) { + $('#ame-color-' + name).wpColorPicker('color', value); + customColorCount++; + } else { + $('#ame-color-' + name).closest('.wp-picker-container').find('.wp-picker-clear').click(); + } + } + + if ( customColorCount > 0 ) { + menuItem.colors = colors; + } else { + menuItem.colors = null; + } + + //Add menu title to the dialog caption. + var title = getFieldValue(menuItem, 'menu_title', null); + menuColorDialog.dialog( + 'option', + 'title', + title ? ('Colors: ' + title.substring(0, 30)) : 'Colors' + ); + menuColorDialog.dialog('open'); + }); + + //The "Save Changes" button in the color dialog. + $('#ws-ame-save-menu-colors').click(function() { + menuColorDialog.dialog('close'); + if ( !colorDialogState.menuItem ) { + return; + } + var menuItem = colorDialogState.menuItem; + var colors = {}, colorCount = 0; + + for (var i = 0; i < menuColorVariables.length; i++) { + var name = menuColorVariables[i]; + var value = $('#ame-color-' + name).val(); + if (value) { + colors[name] = value; + colorCount++; + } + } + + menuItem.colors = colorCount > 0 ? colors : null; + updateItemEditor(colorDialogState.containerNode); + + colorDialogState.containerNode = null; + colorDialogState.menuItem = null; + }); + + /************************************************************************* + Menu toolbar buttons + *************************************************************************/ + function getSelectedMenu() { + return $('#ws_menu_box').find('.ws_active'); + } + + //Show/Hide menu + $('#ws_hide_menu').click(function () { + //Get the selected menu + var selection = getSelectedMenu(); + if (!selection.length) return; + + //Mark the menu as hidden/visible + var menuItem = selection.data('menu_item'); + menuItem.hidden = !menuItem.hidden; + setMenuFlag(selection, 'hidden', menuItem.hidden); + + //Also mark all of it's submenus as hidden/visible + $('#' + selection.data('submenu_id') + ' .ws_item').each(function(){ + var submenuItem = $(this).data('menu_item'); + submenuItem.hidden = menuItem.hidden; + setMenuFlag(this, 'hidden', submenuItem.hidden); + }); + }); + + //Delete error dialog. It shows up when the user tries to delete one of the default menus. + var menuDeletionDialog = $('#ws-ame-menu-deletion-error').dialog({ + autoOpen: false, + modal: true, + closeText: ' ', + title: 'Error', + draggable: false + }); + var menuDeletionCallback = function(hide) { + menuDeletionDialog.dialog('close'); + var selection = menuDeletionDialog.data('selected_menu'); + + function hideRecursively(containerNode, exceptActor) { + denyAccessForAllExcept(containerNode.data('menu_item'), exceptActor); + + var subMenuId = containerNode.data('submenu_id'); + if (subMenuId && containerNode.hasClass('ws_menu')) { + $('.ws_item', '#' + subMenuId).each(function() { + var node = $(this); + denyAccessForAllExcept(node.data('menu_item'), exceptActor); + updateItemEditor(node); + }); + } + + updateItemEditor(containerNode); + updateParentAccessUi(containerNode); + } + + if (hide === 'all') { + hideRecursively(selection, null); + } else if (hide === 'except_current_user') { + hideRecursively(selection, 'user:' + wsEditorData.currentUserLogin); + } + }; + + //Callbacks for each of the dialog buttons. + $('#ws_cancel_menu_deletion').click(function() { + menuDeletionCallback(false); + }); + $('#ws_hide_menu_from_everyone').click(function() { + menuDeletionCallback('all'); + }); + $('#ws_hide_menu_except_current_user').click(function() { + menuDeletionCallback('except_current_user'); + }); + + /** + * Attempt to delete a menu item. Will check if the item can actually be deleted and ask the user for confirmation. + * UI callback. + * + * @param selection The selected menu item (DOM node). + */ + function tryDeleteItem(selection) { + var menuItem = selection.data('menu_item'); + var isDefaultItem = + ( menuItem.template_id !== '') + && ( menuItem.template_id !== wsEditorData.unclickableTemplateId) + && (!menuItem.separator); + + var otherCopiesExist = false; + var shouldDelete = false; + + if (isDefaultItem) { + //Check if there are any other menus with the same template ID. + $('#ws_menu_editor').find('.ws_container').each(function() { + var otherItem = $(this).data('menu_item'); + if ((menuItem != otherItem) && (menuItem.template_id == otherItem.template_id)) { + otherCopiesExist = true; + return false; + } + return true; + }); + } + + if (!isDefaultItem || otherCopiesExist || !wsEditorData.wsMenuEditorPro) { + //Custom and duplicate items can be deleted normally. The free version doesn't get the dialog + //because it doesn't have role-specific permissions. + shouldDelete = confirm('Delete this menu?'); + } else { + //Non-custom items can not be deleted, but they can be hidden. Ask the user if they want to do that. + menuDeletionDialog.find('#ws-ame-menu-type-desc').text( + menuItem.defaults.is_plugin_page ? 'an item added by another plugin' : 'a built-in menu item' + ); + menuDeletionDialog.data('selected_menu', selection); + menuDeletionDialog.dialog('open'); + + //Select "Cancel" as the default button. + menuDeletionDialog.find('#ws_cancel_menu_deletion').focus(); + } + + if (shouldDelete) { + //Delete this menu's submenu first, if any. + var submenuId = selection.data('submenu_id'); + if (submenuId) { + $('#' + submenuId).remove(); + } + var parentSubmenu = selection.closest('.ws_submenu'); + + //Delete the menu. + selection.remove(); + + if (parentSubmenu) { + //Refresh permissions UI for this menu's parent (if any). + updateParentAccessUi(parentSubmenu); + } + } + } + + //Delete menu + $('#ws_delete_menu').click(function () { + //Get the selected menu + var selection = getSelectedMenu(); + if (!selection.length) return; + + tryDeleteItem(selection); + }); + + //Copy menu + $('#ws_copy_menu').click(function () { + //Get the selected menu + var selection = $('#ws_menu_box').find('.ws_active'); + if (!selection.length) return; + + //Store a copy of the current menu state in clipboard + menu_in_clipboard = readItemState(selection); + }); + + //Cut menu + $('#ws_cut_menu').click(function () { + //Get the selected menu + var selection = $('#ws_menu_box').find('.ws_active'); + if (!selection.length) return; + + //Store a copy of the current menu state in clipboard + menu_in_clipboard = readItemState(selection); + + //Remove the original menu and submenu + $('#'+selection.data('submenu_id')).remove(); + selection.remove(); + }); + + //Paste menu + function pasteMenu(menu, afterMenu) { + //The user shouldn't need to worry about giving separators a unique filename. + if (menu.separator) { + menu.defaults.file = randomMenuId('separator_'); + } + + //If we're pasting from a sub-menu, we may need to fix some properties + //that are blank for sub-menu items but required for top-level menus. + if (getFieldValue(menu, 'css_class', '') == '') { + menu.css_class = 'menu-top'; + } + if (getFieldValue(menu, 'icon_url', '') == '') { + menu.icon_url = 'dashicons-admin-generic'; + } + if (getFieldValue(menu, 'hookname', '') == '') { + menu.hookname = randomMenuId(); + } + + //Paste the menu after the specified one, or at the end of the list. + if (afterMenu) { + outputTopMenu(menu, afterMenu); + } else { + outputTopMenu(menu); + } + } + + $('#ws_paste_menu').click(function () { + //Check if anything has been copied/cut + if (!menu_in_clipboard) return; + + var menu = $.extend(true, {}, menu_in_clipboard); + + //Get the selected menu + var selection = $('#ws_menu_box').find('.ws_active'); + //Paste the menu after the selection. + pasteMenu(menu, (selection.length > 0) ? selection : null); + }); + + //New menu + $('#ws_new_menu').click(function () { + ws_paste_count++; + + //The new menu starts out rather bare + var randomId = randomMenuId(); + var menu = $.extend({}, wsEditorData.blankMenuItem, { + custom: true, //Important : flag the new menu as custom, or it won't show up after saving. + template_id : '', + menu_title : 'Custom Menu ' + ws_paste_count, + file : randomId, + items: [], + defaults: itemTemplates.getDefaults('') + }); + + //Make it accessible only to the current actor if one is selected. + if (selectedActor != null) { + denyAccessForAllExcept(menu, selectedActor); + } + + //Insert the new menu + var selection = $('#ws_menu_box').find('.ws_active'); + var result = outputTopMenu(menu, (selection.length > 0) ? selection : null); + + //The menus's editbox is always open + result.menu.find('.ws_edit_link').click(); + }); + + //New separator + $('#ws_new_separator, #ws_new_submenu_separator').click(function () { + ws_paste_count++; + + //The new menu starts out rather bare + var randomId = randomMenuId('separator_'); + var menu = $.extend(true, {}, wsEditorData.blankMenuItem, { + separator: true, //Flag as a separator + custom: false, //Separators don't need to flagged as custom to be retained. + items: [], + defaults: { + separator: true, + css_class : 'wp-menu-separator', + access_level : 'read', + file : randomId, + hookname : randomId + } + }); + + if ( $(this).attr('id').indexOf('submenu') == -1 ) { + //Insert in the top-level menu. + var selection = $('#ws_menu_box').find('.ws_active'); + outputTopMenu(menu, (selection.length > 0) ? selection : null); + } else { + //Insert in the currently visible submenu. + pasteItem(menu); + } + }); + + //Toggle all menus for the currently selected actor + $('#ws_toggle_all_menus').click(function() { + if ( selectedActor == null ) { + alert("This button enables/disables all menus for the selected role. To use it, click a role and then click this button again."); + return; + } + + var topMenuNodes = $('.ws_menu', '#ws_menu_box'); + //Look at the first menu's permissions and set everything to the opposite. + var allow = ! actorCanAccessMenu(topMenuNodes.eq(0).data('menu_item'), selectedActor); + + topMenuNodes.each(function() { + var containerNode = $(this); + setActorAccessForTreeAndUpdateUi(containerNode, selectedActor, allow); + }); + }); + + /************************************************************************* + Item toolbar buttons + *************************************************************************/ + function getSelectedSubmenuItem() { + return $('#ws_submenu_box').find('.ws_submenu:visible .ws_active'); + } + + //Show/Hide item + $('#ws_hide_item').click(function () { + //Get the selected item + var selection = getSelectedSubmenuItem(); + if (!selection.length) return; + + //Mark the item as hidden/visible + var menuItem = selection.data('menu_item'); + menuItem.hidden = !menuItem.hidden; + setMenuFlag(selection, 'hidden', menuItem.hidden); + }); + + //Delete item + $('#ws_delete_item').click(function () { + var selection = getSelectedSubmenuItem(); + if (!selection.length) return; + + tryDeleteItem(selection); + }); + + //Copy item + $('#ws_copy_item').click(function () { + //Get the selected item + var selection = getSelectedSubmenuItem(); + if (!selection.length) return; + + //Store a copy of item state in the clipboard + menu_in_clipboard = readItemState(selection); + }); + + //Cut item + $('#ws_cut_item').click(function () { + //Get the selected item + var selection = getSelectedSubmenuItem(); + if (!selection.length) return; + + //Store a copy of item state in the clipboard + menu_in_clipboard = readItemState(selection); + + var submenu = selection.parent(); + //Remove the original item + selection.remove(); + updateParentAccessUi(submenu); + }); + + //Paste item + function pasteItem(item) { + //We're pasting this item into a sub-menu, so it can't have a sub-menu of its own. + //Instead, any sub-menu items belonging to this item will be pasted after the item. + var newItems = []; + for (var file in item.items) { + if (item.items.hasOwnProperty(file)) { + newItems.push(buildMenuItem(item.items[file], false)); + } + } + item.items = []; + + newItems.unshift(buildMenuItem(item, false)); + + //Get the selected menu + var visibleSubmenu = $('#ws_submenu_box').find('.ws_submenu:visible'); + var selection = visibleSubmenu.find('.ws_active'); + for(var i = 0; i < newItems.length; i++) { + if (selection.length > 0) { + //If an item is selected add the pasted items after it + selection.after(newItems[i]); + } else { + //Otherwise add the pasted items at the end + visibleSubmenu.append(newItems[i]); + } + + updateItemEditor(newItems[i]); + newItems[i].show(); + } + + updateParentAccessUi(visibleSubmenu); + } + + $('#ws_paste_item').click(function () { + //Check if anything has been copied/cut + if (!menu_in_clipboard) return; + + //You can only add separators to submenus in the Pro version. + if ( menu_in_clipboard.separator && !wsEditorData.wsMenuEditorPro ) { + return; + } + + //Paste it. + var item = $.extend(true, {}, menu_in_clipboard); + pasteItem(item); + }); + + //New item + $('#ws_new_item').click(function () { + if ($('.ws_submenu:visible').length < 1) { + return; //Abort if no submenu visible + } + + ws_paste_count++; + + var entry = $.extend({}, wsEditorData.blankMenuItem, { + custom: true, + template_id : '', + menu_title : 'Custom Item ' + ws_paste_count, + file : randomMenuId(), + items: [], + defaults: itemTemplates.getDefaults('') + }); + + //Make it accessible to only the currently selected actor. + if (selectedActor != null) { + denyAccessForAllExcept(entry, selectedActor); + } + + var menu = buildMenuItem(entry); + updateItemEditor(menu); + + //Insert the item into the currently open submenu. + var visibleSubmenu = $('#ws_submenu_box').find('.ws_submenu:visible'); + var selection = visibleSubmenu.find('.ws_active'); + if (selection.length > 0) { + selection.after(menu); + } else { + visibleSubmenu.append(menu); + } + + //The items's editbox is always open + menu.find('.ws_edit_link').click(); + + updateParentAccessUi(menu); + }); + + function compareMenus(a, b){ + var aTitle = jsTrim( $(a).find('.ws_item_title').text() ); + var bTitle = jsTrim( $(b).find('.ws_item_title').text() ); + + aTitle = aTitle.toLowerCase(); + bTitle = bTitle.toLowerCase(); + + return aTitle > bTitle ? 1 : -1; + } + + //Sort items in ascending order + $('#ws_sort_ascending').click(function () { + var submenu = $('#ws_submenu_box').find('.ws_submenu:visible'); + if (submenu.length < 1) { + return; //Abort if no submenu visible + } + + submenu.find('.ws_container').sort(compareMenus); + }); + + //Sort items in descending order + $('#ws_sort_descending').click(function () { + var submenu = $('#ws_submenu_box').find('.ws_submenu:visible'); + if (submenu.length < 1) { + return; //Abort if no submenu visible + } + + submenu.find('.ws_container').sort((function(a, b){ + return -compareMenus(a, b); + })); + }); + + //============================================== + // Main buttons + //============================================== + + //Save Changes - encode the current menu as JSON and save + $('#ws_save_menu').click(function () { + try { + var tree = readMenuTreeState(); + } catch (error) { + //Right now the only known error condition is duplicate top level URLs. + if (error.hasOwnProperty('code') && (error.code === 'duplicate_top_level_url')) { + var message = 'Error: Duplicate menu URLs. The following top level menus have the same URL:\n\n' ; + for (var i = 0; i < error.duplicates.length; i++) { + var containerNode = $(error.duplicates[i]); + message += (i + 1) + '. ' + containerNode.find('.ws_item_title').first().text() + '\n'; + } + message += '\nPlease change the URLs to be unique or delete the duplicates.'; + alert(message); + } else { + alert(error.message); + } + return; + } + + function findItemByTemplateId(items, templateId) { + var foundItem = null; + + $.each(items, function(index, item) { + if (item.template_id == templateId) { + foundItem = item; + return false; + } + if (item.hasOwnProperty('items') && (item.items.length > 0)) { + foundItem = findItemByTemplateId(item.items, templateId); + if (foundItem != null) { + return false; + } + } + return true; + }); + + return foundItem; + } + + //Abort the save if it would make the editor inaccessible. + if (wsEditorData.wsMenuEditorPro) { + var myMenuItem = findItemByTemplateId(tree.tree, 'options-general.php>menu_editor'); + if (myMenuItem == null) { + //This is OK - the missing menu item will be re-inserted automatically. + } else if (!actorCanAccessMenu(myMenuItem, 'user:' + wsEditorData.currentUserLogin)) { + alert( + "Error: This configuration would make you unable to access the menu editor!\n\n" + + "Please click either your role name or \"Current user (" + wsEditorData.currentUserLogin + ")\" "+ + "and enable the \"Menu Editor Pro\" menu item." + ); + return; + } + } + + var data = encodeMenuAsJSON(tree); + $('#ws_data').val(data); + $('#ws_data_length').val(data.length); + $('#ws_selected_actor').val(selectedActor === null ? '' : selectedActor); + $('#ws_main_form').submit(); + }); + + //Load default menu - load the default WordPress menu + $('#ws_load_menu').click(function () { + if (confirm('Are you sure you want to load the default WordPress menu?')){ + outputWpMenu(defaultMenu.tree); + } + }); + + //Reset menu - re-load the custom menu. Discards any changes made by user. + $('#ws_reset_menu').click(function () { + if (confirm('Undo all changes made in the current editing session?')){ + outputWpMenu(customMenu.tree); + } + }); + + //Export menu - download the current menu as a file + $('#export_dialog').dialog({ + autoOpen: false, + closeText: ' ', + modal: true, + minHeight: 100 + }); + + $('#ws_export_menu').click(function(){ + var button = $(this); + button.prop('disabled', true); + button.val('Exporting...'); + + $('#export_complete_notice, #download_menu_button').hide(); + $('#export_progress_notice').show(); + var exportDialog = $('#export_dialog'); + exportDialog.dialog('open'); + + //Encode the menu. + try { + var exportData = encodeMenuAsJSON(); + } catch (error) { + exportDialog.dialog('close'); + alert(error.message); + + button.val('Export'); + button.prop('disabled', false); + return; + } + + //Store the menu for download. + $.post( + wsEditorData.adminAjaxUrl, + { + 'data' : exportData, + 'action' : 'export_custom_menu', + '_ajax_nonce' : wsEditorData.exportMenuNonce + }, + function(data){ + button.val('Export'); + button.prop('disabled', false); + + if ( typeof data['error'] != 'undefined' ){ + exportDialog.dialog('close'); + alert(data.error); + } + + if ( (typeof data['download_url'] != 'undefined') && data.download_url ){ + //window.location = data.download_url; + $('#download_menu_button').attr('href', data.download_url); + $('#export_progress_notice').hide(); + $('#export_complete_notice, #download_menu_button').show(); + } + }, + 'json' + ); + }); + + $('#ws_cancel_export').click(function(){ + $('#export_dialog').dialog('close'); + }); + + $('#download_menu_button').click(function(){ + $('#export_dialog').dialog('close'); + }); + + //Import menu - upload an exported menu and show it in the editor + $('#import_dialog').dialog({ + autoOpen: false, + closeText: ' ', + modal: true + }); + + $('#ws_cancel_import').click(function(){ + $('#import_dialog').dialog('close'); + }); + + $('#ws_import_menu').click(function(){ + $('#import_progress_notice, #import_progress_notice2, #import_complete_notice').hide(); + $('#import_menu_form').resetForm(); + //The "Upload" button is disabled until the user selects a file + $('#ws_start_import').attr('disabled', 'disabled'); + + var importDialog = $('#import_dialog'); + importDialog.find('.hide-when-uploading').show(); + importDialog.dialog('open'); + }); + + $('#import_file_selector').change(function(){ + $('#ws_start_import').prop('disabled', ! $(this).val() ); + }); + + //AJAXify the upload form + $('#import_menu_form').ajaxForm({ + dataType : 'json', + beforeSubmit: function(formData) { + + //Check if the user has selected a file + for(var i = 0; i < formData.length; i++){ + if ( formData[i].name == 'menu' ){ + if ( (typeof formData[i]['value'] == 'undefined') || !formData[i]['value']){ + alert('Select a file first!'); + return false; + } + } + } + + $('#import_dialog').find('.hide-when-uploading').hide(); + $('#import_progress_notice').show(); + + $('#ws_start_import').attr('disabled', 'disabled'); + return true; + }, + success: function(data){ + var importDialog = $('#import_dialog'); + if ( !importDialog.dialog('isOpen') ){ + //Whoops, the user closed the dialog while the upload was in progress. + //Discard the response silently. + return; + } + + if ( typeof data['error'] != 'undefined' ){ + alert(data.error); + //Let the user try again + $('#import_menu_form').resetForm(); + importDialog.find('.hide-when-uploading').show(); + } + $('#import_progress_notice').hide(); + + if ( (typeof data['tree'] != 'undefined') && data.tree ){ + //Whee, we got back a (seemingly) valid menu. A veritable miracle! + //Lets load it into the editor. + var progressNotice = $('#import_progress_notice2').show(); + outputWpMenu(data.tree); + progressNotice.hide(); + //Display a success notice, then automatically close the window after a few moments + $('#import_complete_notice').show(); + setTimeout((function(){ + //Close the import dialog + $('#import_dialog').dialog('close'); + }), 500); + } + + } + }); + + /************************************************************************* + Drag & drop items between menu levels + *************************************************************************/ + + if (wsEditorData.wsMenuEditorPro) { + //Allow the user to drag sub-menu items to the top level. + $('#ws_top_menu_dropzone').droppable({ + 'hoverClass' : 'ws_dropzone_hover', + + 'accept' : (function(thing){ + return thing.hasClass('ws_item'); + }), + + 'drop' : (function(event, ui){ + var droppedItemData = readItemState(ui.draggable); + pasteMenu(droppedItemData); + if ( !event.ctrlKey ) { + ui.draggable.remove(); + } + }) + }); + + //...and to drag top level menus to a sub-menu. + $('#ws_sub_menu_dropzone').droppable({ + 'hoverClass' : 'ws_dropzone_hover', + + 'accept' : (function(thing){ + var visibleSubmenu = $('#ws_submenu_box').find('.ws_submenu:visible'); + return ( + //Accept top-level menus + thing.hasClass('ws_menu') && + + //Prevent users from dropping a menu on its own sub-menu. + (visibleSubmenu.attr('id') != thing.data('submenu_id')) + ); + }), + + 'drop' : (function(event, ui){ + var droppedItemData = readItemState(ui.draggable); + pasteItem(droppedItemData); + if ( !event.ctrlKey ) { + ui.draggable.remove(); + } + }) + }); + } + + + //Set up tooltips + $('.ws_tooltip_trigger').qtip(); + + //Flag closed hints as hidden by sending the appropriate AJAX request to the backend. + $('.ws_hint_close').click(function() { + var hint = $(this).parents('.ws_hint').first(); + hint.hide(); + wsEditorData.showHints[hint.attr('id')] = false; + $.post( + wsEditorData.adminAjaxUrl, + { + 'action' : 'ws_ame_hide_hint', + 'hint' : hint.attr('id') + } + ); + }); + + + /****************************************************************** + Actor views + ******************************************************************/ + + //Build the list of available actors + var actorSelector = $('#ws_actor_selector').empty(); + actorSelector.append('<li><a href="#" class="current ws_no_actor">All</a></li>'); + + if (wsEditorData.wsMenuEditorPro) { + for(var actor in wsEditorData.actors) { + if (!wsEditorData.actors.hasOwnProperty(actor)) { + continue; + } + actorSelector.append( + $('<li></li>').append( + $('<a></a>') + .attr('href', '#' + actor) + .text(wsEditorData.actors[actor]) + ) + ); + } + actorSelector.show(); + + if ( wsEditorData.hasOwnProperty('selectedActor') && wsEditorData.selectedActor ) { + setSelectedActor(wsEditorData.selectedActor); + } else { + setSelectedActor(null); + } + } + + $('li a', actorSelector).click(function(event) { + var actor = $(this).attr('href').substring(1); + if (actor == '') { + actor = null; + } + + setSelectedActor(actor); + + event.preventDefault(); + }); + + //Finally, show the menu + outputWpMenu(customMenu.tree); + }); + +})(jQuery); + +//============================================== +// Screen options +//============================================== + +jQuery(function($){ + var screenOptions = $('#ws-ame-screen-meta-contents'); + var hideSettingsCheckbox = screenOptions.find('#ws-hide-advanced-settings'); + var extraIconsCheckbox = screenOptions.find('#ws-show-extra-icons'); + + hideSettingsCheckbox.prop('checked', wsEditorData.hideAdvancedSettings); + extraIconsCheckbox.prop('checked', wsEditorData.showExtraIcons); + + //Update editor state when settings change + $('#ws-hide-advanced-settings, #ws-show-extra-icons').click(function(){ + wsEditorData.hideAdvancedSettings = hideSettingsCheckbox.prop('checked'); + wsEditorData.showExtraIcons = extraIconsCheckbox.prop('checked'); + + //Show/hide advanced settings dynamically as the user changes the setting. + if ($(this).is(hideSettingsCheckbox)) { + var menuEditorNode = $('#ws_menu_editor'); + if ( wsEditorData.hideAdvancedSettings ){ + menuEditorNode.find('div.ws_advanced').hide(); + menuEditorNode.find('a.ws_toggle_advanced_fields').text(wsEditorData.captionShowAdvanced).show(); + } else { + menuEditorNode.find('div.ws_advanced').show(); + menuEditorNode.find('a.ws_toggle_advanced_fields').text(wsEditorData.captionHideAdvanced).hide(); + } + } + + $.post( + wsEditorData.adminAjaxUrl, + { + 'action' : 'ws_ame_save_screen_options', + 'hide_advanced_settings' : wsEditorData.hideAdvancedSettings ? 1 : 0, + 'show_extra_icons' : wsEditorData.showExtraIcons ? 1 : 0, + '_ajax_nonce' : wsEditorData.hideAdvancedSettingsNonce + } + ); + + //We also have a cookie for the current user. + $.cookie('ame-show-extra-icons', wsEditorData.showExtraIcons ? '1' : '0', {expires: 90}); + }); + + //Move our options into the screen meta panel + $('#adv-settings').empty().append(screenOptions.show()); +}); \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/js/menu-highlight-fix.js b/wp-content/plugins/admin-menu-editor/js/menu-highlight-fix.js new file mode 100644 index 0000000..3fbc11f --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/js/menu-highlight-fix.js @@ -0,0 +1,216 @@ +jQuery(function($) { + // parseUri 1.2.2 + // (c) Steven Levithan <stevenlevithan.com> + // MIT License + + function parseUri (str) { + var o = parseUri.options, + m = o.parser[o.strictMode ? "strict" : "loose"].exec(str), + uri = {}, + i = 14; + + while (i--) uri[o.key[i]] = m[i] || ""; + + uri[o.q.name] = {}; + uri[o.key[12]].replace(o.q.parser, function ($0, $1, $2) { + if ($1) uri[o.q.name][$1] = $2; + }); + + return uri; + } + + parseUri.options = { + strictMode: false, + key: ["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"], + q: { + name: "queryKey", + parser: /(?:^|&)([^&=]*)=?([^&]*)/g + }, + parser: { + strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, + loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/ + } + }; + + // --- parseUri ends --- + + //Find the menu item whose URL best matches the currently open page. + var currentUri = parseUri(location.href); + var bestMatch = { + uri : null, + link : null, + matchingParams : -1, + differentParams : 10000, + isAnchorMatch : false, + isTopMenu : false, + isHighlighted: false + }; + + //Special case: ".../wp-admin/" should match ".../wp-admin/index.php". + if (currentUri.path.match(/\/wp-admin\/$/)) { + currentUri.path = currentUri.path + 'index.php'; + } + + //Special case: if post_type is not specified for edit.php and post-new.php, + //WordPress assumes it is "post". Here we make this explicit. + if ( (currentUri.file === 'edit.php') || (currentUri.file === 'post-new.php') ) { + if ( !currentUri.queryKey.hasOwnProperty('post_type') ) { + currentUri.queryKey['post_type'] = 'post'; + } + } + + var adminMenu = $('#adminmenu'); + adminMenu.find('li > a').each(function(index, link) { + var $link = $(link); + + //Skip links that have no href or contain nothing but an "#anchor". Both AME and some + //other plugins (e.g. S2Member 120703) use them as separators. + if ( !$link.is('[href]') || ($link.attr('href').substring(0, 1) == '#') ) { + return; + } + + var uri = parseUri(link.href); + + //Same as above - use "post" as the default post type. + if ( (uri.file === 'edit.php') || (uri.file === 'post-new.php') ) { + if ( !uri.queryKey.hasOwnProperty('post_type') ) { + uri.queryKey['post_type'] = 'post'; + } + } + //TODO: Consider using get_current_screen and the current_screen filter to get post types and taxonomies. + + //Check for a close match - everything but query and #anchor. + var components = ['protocol', 'host', 'port', 'user', 'password', 'path']; + var isCloseMatch = true; + for (var i = 0; (i < components.length) && isCloseMatch; i++) { + isCloseMatch = isCloseMatch && (uri[components[i]] == currentUri[components[i]]); + } + + if (!isCloseMatch) { + return; //Skip to the next link. + } + + //Calculate the number of matching and different query parameters. + var matchingParams = 0, differentParams = 0, param; + for(param in uri.queryKey) { + if (uri.queryKey.hasOwnProperty(param)) { + if (currentUri.queryKey.hasOwnProperty(param)) { + //All parameters that are present in *both* URLs must have the same exact values. + if (uri.queryKey[param] == currentUri.queryKey[param]) { + matchingParams++; + } else { + return; //Skip to the next link. + } + } else { + differentParams++; + } + } + } + for(param in currentUri.queryKey) { + if (currentUri.queryKey.hasOwnProperty(param) && !uri.queryKey.hasOwnProperty(param)) { + differentParams++; + } + } + + var isAnchorMatch = uri.anchor == currentUri.anchor; + var isTopMenu = $link.hasClass('menu-top'); + var isHighlighted = $link.is('.current, .wp-has-current-submenu'); + + //Figure out if the current link is better than the best found so far. + //To do that, we compare them by several criteria (in order of priority): + var comparisons = [ + { + better : (matchingParams > bestMatch.matchingParams), + equal : (matchingParams == bestMatch.matchingParams) + }, + { + better : (differentParams < bestMatch.differentParams), + equal : (differentParams == bestMatch.differentParams) + }, + { + better : (isAnchorMatch && (!bestMatch.isAnchorMatch)), + equal : (isAnchorMatch == bestMatch.isAnchorMatch) + }, + + //All else being equal, the item highlighted by WP is probably a better match. + { + better : (isHighlighted && !bestMatch.isHighlighted), + equal : (isHighlighted == bestMatch.isHighlighted) + }, + + //When a menu has multiple submenus, the first submenu usually has the same URL + //as the parent menu. We want to highlight this item and not just the parent. + { + better : (!isTopMenu && bestMatch.isTopMenu), + equal : (isTopMenu == bestMatch.isTopMenu) + } + ]; + + var isBetterMatch = false, + isEquallyGood = true, + j = 0; + + while (isEquallyGood && !isBetterMatch && (j < comparisons.length)) { + isBetterMatch = comparisons[j].better; + isEquallyGood = comparisons[j].equal; + j++; + } + + if (isBetterMatch) { + bestMatch = { + uri : uri, + link : $link, + matchingParams : matchingParams, + differentParams : differentParams, + isAnchorMatch : isAnchorMatch, + isTopMenu : isTopMenu, + isHighlighted: isHighlighted + } + } + }); + + //Highlight and/or expand the best matching menu. + if (bestMatch.link !== null) { + var bestMatchLink = bestMatch.link; + var parentMenu = bestMatchLink.closest('li.menu-top'); + //console.log('Best match is: ', bestMatchLink); + + var otherHighlightedMenus = $('li.wp-has-current-submenu, li.menu-top.current', '#adminmenu').not(parentMenu); + + var isWrongItemHighlighted = !bestMatchLink.hasClass('current'); + var isWrongMenuHighlighted = !parentMenu.is('.wp-has-current-submenu, .current') || + (otherHighlightedMenus.length > 0); + + if (isWrongMenuHighlighted) { + //Account for users who use a plugin to keep all menus expanded. + var shouldCloseOtherMenus = $('li.wp-has-current-submenu', '#adminmenu').length <= 1; + if (shouldCloseOtherMenus) { + otherHighlightedMenus + .add('> a', otherHighlightedMenus) + .removeClass('wp-menu-open wp-has-current-submenu current') + .addClass('wp-not-current-submenu'); + } + + var parentMenuAndLink = parentMenu.add('> a.menu-top', parentMenu); + parentMenuAndLink.removeClass('wp-not-current-submenu'); + if (parentMenu.hasClass('wp-has-submenu')) { + parentMenuAndLink.addClass('wp-has-current-submenu wp-menu-open'); + } + } + + if (isWrongItemHighlighted) { + adminMenu.find('.current').removeClass('current'); + bestMatchLink.addClass('current').closest('li').addClass('current'); + } + } + + //If a submenu is highlighted, so must be its parent. + //In some cases, if we decide to stick with the WP-selected highlighted menu, + //this might not be the case and we'll need to fix it. + var parentOfHighlightedMenu = $('.wp-submenu a.current', '#adminmenu').closest('.menu-top'); + parentOfHighlightedMenu + .add('> a.menu-top', parentOfHighlightedMenu) + .removeClass('wp-not-current-submenu') + .addClass('wp-has-current-submenu wp-menu-open'); + +}); diff --git a/wp-content/plugins/admin-menu-editor/menu-editor.php b/wp-content/plugins/admin-menu-editor/menu-editor.php new file mode 100644 index 0000000..c3fa367 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/menu-editor.php @@ -0,0 +1,22 @@ +<?php +/* +Plugin Name: Admin Menu Editor +Plugin URI: http://w-shadow.com/blog/2008/12/20/admin-menu-editor-for-wordpress/ +Description: Lets you directly edit the WordPress admin menu. You can re-order, hide or rename existing menus, add custom menus and more. +Version: 1.4 +Author: Janis Elsts +Author URI: http://w-shadow.com/blog/ +*/ + +if ( include(dirname(__FILE__) . '/includes/version-conflict-check.php') ) { + return; +} + +//Are we running in the Dashboard? +if ( is_admin() ) { + + //Load the plugin + require 'includes/menu-editor-core.php'; + $wp_menu_editor = new WPMenuEditor(__FILE__, 'ws_menu_editor'); + +}//is_admin() \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/readme.txt b/wp-content/plugins/admin-menu-editor/readme.txt new file mode 100644 index 0000000..147fc97 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/readme.txt @@ -0,0 +1,251 @@ +=== Admin Menu Editor === +Contributors: whiteshadow +Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=A6P9S6CE3SRSW +Tags: admin, dashboard, menu, security, wpmu +Requires at least: 3.8 +Tested up to: 4.0-beta2 +Stable tag: 1.4 + +Lets you edit the WordPress admin menu. You can re-order, hide or rename menus, add custom menus and more. + +== Description == +Admin Menu Editor lets you manually edit the Dashboard menu. You can reorder the menus, show/hide specific items, change premissions, and more. + +**Features** + +* Change menu titles, URLs, icons, CSS classes and so on. +* Organize menu items via drag & drop. +* Change menu permissions by setting the required capability or role. +* Move a menu item to a different submenu. +* Create custom menus that point to any part of the Dashboard or an external URL. +* Hide/show any menu or menu item. A hidden menu is invisible to all users, including administrators. + +The [Pro version](http://w-shadow.com/AdminMenuEditor/) lets you set per-role menu permissions, hide a menu from everyone except a specific user, export your admin menu, drag items between menu levels, make menus open in a new window and more. [Try online demo](http://amedemo.com/wpdemo/demo.php). + +**Notes** + +* If you delete any of the default menus they will reappear after saving. This is by design. To get rid of a menu for good, either hide it or change it's access permissions. +* In the free version, it's not possible to give a role access to a menu item that it couldn't see before. You can only restrict menu access further. +* In case of emergency, you can reset the menu configuration back to the default by going to http://example.com/wp-admin/?reset\_admin\_menu=1 (replace example.com with your site URL). You must be logged in as an Administrator to do this. + +== Installation == + +**Normal installation** + +1. Download the admin-menu-editor.zip file to your computer. +1. Unzip the file. +1. Upload the `admin-menu-editor` directory to your `/wp-content/plugins/` directory. +1. Activate the plugin through the 'Plugins' menu in WordPress. + +That's it. You can access the the menu editor by going to *Settings -> Menu Editor*. The plugin will automatically load your current menu configuration the first time you run it. + +**WP MultiSite installation** + +If you have WordPress set up in Multisite ("Network") mode, you can also install Admin Menu Editor as a global plugin. This will enable you to edit the Dashboard menu for all sites and users at once. + +1. Download the admin-menu-editor.zip file to your computer. +1. Unzip the file. +1. Create a new directory named `mu-plugins` in your site's `wp-content` directory (unless it already exists). +1. Upload the `admin-menu-editor` directory to `/wp-content/mu-plugins/`. +1. Move `admin-menu-editor-mu.php` from `admin-menu-editor/includes` to `/wp-content/mu-plugins/`. + +Plugins installed in the `mu-plugins` directory are treated as "always on", so you don't need to explicitly activate the menu editor. Just go to *Settings -> Menu Editor* and start customizing your admin menu :) + +*Notes* +* Instead of installing Admin Menu Editor in `mu-plugins`, you can also install it normally and then activate it globally via "Network Activate". However, this will make the plugin visible to normal users when it is inactive (e.g. during upgrades). +* When Admin Menu Editor is installed in `mu-plugins` or activated via "Network Activate", only the "super admin" user can access the menu editor page. Other users will see the customized Dashboard menu, but be unable to edit it. + +== Screenshots == + +1. Plugin interface +2. A sample menu created by the plugin +3. Re-ordering menu items via drag and drop + +== Changelog == + += 1.4 = +* Added a special target page option: "< None >". It makes the selected menu item unclickable. This could be useful for creating menu headers and so on. +* Added a new menu editor colour scheme that's similar to the default WordPress admin colour scheme. Click the "Settings" button next to the menu editor page title to switch colour schemes. +* Fixed strange boxes showing up in the icon selector in Internet Explorer. +* Fixed duplicate top level menus mysteriously disappearing. Now the plugin will properly warn the user that all top level menus must have unique URLs. +* Fixed an obscure bug where changing the "Target page" from the default setting to "Custom" and back would occasionally make some menu properties suddenly show up as modified for no apparent reason. +* Fixed incorrect submenu item height and margins in WP 4.0-beta. +* Fixed a minor layout bug where items with no title would be smaller than other items. +* Fixed combo-box dropdown button height for WP 3.9.x. +* Added a workaround for a bug in WordPress Mu Domain Mapping 0.5.4.3. +* Added a workaround for the very unusual situation where the "user_has_cap" filter is called without a capability. +* Fixed duplicates of bbPress menu items showing up. +* Changed the default custom menu icon to the generic "cogwheel" icon from Dashicons. +* Other small UI changes. +* Raised minimum requirements to WordPress 3.8 or later. This is mainly due to the increased reliance on Dashicons as menu icons. + += 1.3.2 = +* Added a large number of menu icons based on the Dashicons icon font. +* Fixed default menu icons not showing up in WP 3.9. +* Fixed a rare "$link.attr(...) is undefined" JavaScript error. +* Fixed a bug where a hidden submenu page with a URL like "options-general.php?page=something" would still be accessible via "admin.php?page=something". +* Fixed several other minor bugs. +* Tested up to WordPress 3.9-RC1. Minimum requirements increased to WP 3.5. + += 1.3.1 = +* Tested with WordPress 3.8. +* Fixed several minor UI/layout issues related to the new 3.8 admin style. +* Fixed a bug where moving an item to a plugin menu and then deactivating that plugin would cause the moved item to disappear. +* Fixed deleted submenus not being restored if their original parent menu is no longer available. +* Fixed a rare glitch where submenu separators added by certain other plugins would sometimes disappear. +* Fixed a conflict with Shopp 1.2.9. +* Made the plugin treat "users.php" and "profile.php" as the same parent menu. This fixes situations where it would be impossible to hide a "Users" submenu item from roles that don't have access to the "Users" menu and instead get a "Profile" menu. +* Added extra logging for situations where a menu item is hidden because a higher-priority item with the same URL is also hidden. +* Minor performance improvements. + += 1.3 = +* Added a new settings page that lets you choose whether admin menu settings are per-site or network-wide, as well as specify who can access the plugin. To access this page, go to "Settings -> Menu Editor Pro" and click the small "Settings" link next to the page title. +* Added a way to show/hide advanced menu options through the settings page in addition to the "Screen Options" panel. +* Added a "Show menu access checks" option to make debugging menu permissions easier. +* Added partial WPML support. Now you can translate custom menu titles with WPML. +* The plugin will now display an error if you try to activate it when another version of it is already active. +* Added a "Target page" dropdown as an alternative to the "URL" field. To enter a custom URL, choose "Custom" from the dropdown. +* Fixed the "window title" setting only working for some menu items and not others. +* Fixed a number of bugs related to moving plugin menus around. +* Changed how the plugin stores menu settings. Note: The new format is not backwards-compatible with version 1.2.2. + += 1.2.2 = +* Replaced a number of icons from the "Silk" set with GPL-compatible alternatives. +* Tested with WP 3.6. + += 1.2.1 = +* Fixed a rare bug where the icon selector would appear at the bottom of the page instead of right below the icon button. +* Fixed incorrect icon alignment when running the MP6 admin UI. +* Tested on WP 3.6-beta1-24044. + += 1.2 = +* Added an icon drop-down that lets you pick one of the default WordPress menu icons or upload your own through the media library (only in WP 3.5+). +* Fixed misaligned button text in IE/Firefox. +* Fixed menus that have both a custom icon URL and a "menu-icon-*" class displaying two overlapping icons. You can still get this effect if you set the class and URL manually. +* Fixed a compatibility problem with Participants Database 1.4.5.2. +* Tested on WP 3.5.1 and WP 3.6-alpha. + += 1.1.13 = +* Fixed a layout glitch that would cause the editor sidebar to display incorrectly in WP 3.5. +* When trying to determine the current menu, the plugin will now ignore all links that contain nothing but an "#anchor". Various plugins use such links as separators and it wouldn't make sense to highlight them. +* Tested on WP 3.5 (RC6). + += 1.1.12 = +* Fixed several more small CPT-related bugs that would cause the wrong menu to be marked as current. +* Tested on WP 3.5-beta2. + += 1.1.11 = +* Tested on WP 3.4.2 and WP 3.5-alpha-21879. +* Fixed a visual glitch related to the arrow that's used to expand menu settings. In certain situations clicking it would cause the arrow icon to be briefly replaced with multiple copies of the same icon. +* Fixed the position of the URL and capability dropdown lists. Now they should show up directly under the corresponding input box instead of appearing some distance down and to the right. +* Fixed the size of the toolbar buttons - now they're perfectly square. +* Fixed a rare bug that would sometimes cause the wrong menu to be marked as active/expanded. +* Only display the survey notice on the menu editor page, not on all admin pages. + += 1.1.10 = +* Added a new user survey. The notice will only appear for users who didn't complete or hide the previous one. +* Fixed a number of bugs in the code that determines which menu should be expanded. +* Fixed compatibility issues on sites running in SSL mode. + += 1.1.8 = +* Fix author URL (was 404). +* Tested on WP 3.4.1 +* Update plugin description. Some notes were no longer accurate for the current version. + += 1.1.7 = +* Tested on WP 3.4 +* Fixed a rare "failed to decode input" error. +* Fixed menus not being expanded/collapsed properly when the current menu item has been moved to a different sub-menu. +* Added a shortlist of Pro version benefits to the editor page (can be hidden). + += 1.1.6.1 = +* Tested on WP 3.3.2 +* Added a user survey. + += 1.1.6 = +* Tested on WP 3.3.1. +* Fixed a couple 404's in the readme and the plugin itself. + += 1.1.5 = +* Fixed an error where there would be no custom menu to show. +* Removed the "Feedback" button due to lack of use. You can still provide feedback via blog comments or email, of course. + += 1.1.4 = +* Fixed the updater's cron hook not being removed when the plugin is deactivated. +* Fixed updates not showing up in some situations. +* Fixed the "Feedback" button not responding to mouse clicks in some browsers. +* Fixed "Feedback" button style to be consistent with other WP screen meta buttons. +* Enforce the custom menu order by using the 'menu_order' filter. Fixes Jetpack menu not staying put. +* You can now copy/paste as many menu separators as you like without worrying about some of them mysteriously disappearing on save. +* Fixed a long-standing copying related bug where copied menus would all still refer to the same JS object instance. +* Added ALT attributes to the toolbar icon images. +* Removed the "Custom" checkbox. In retrospect, all it did was confuse people. +* Made it impossible to edit separator properties. +* Removed the deprecated "level_X" capabilities from the "Required capability" dropdown. You can still type them in manually if you want. + += 1.1.3 = +* Tests for WordPress 3.2 compatibility. + += 1.1.2 = +* Fixed a "failed to decode input" error that could show up when saving the menu. + += 1.1.1 = +* WordPress 3.1.3 compatibility. Should also be compatible with the upcoming 3.2. +* Fixed spurious slashes sometimes showing up in menus. +* Fixed a fatal error concerning "Services_JSON". + += 1.1 = +* WordPress 3.1 compatibility. +* Added the ability to drag & drop a menu item to a different menu. +* Added a drop-down list of Dashboard pages to the "File" box. +* When the menu editor is opened, the first top-level menu is now automatically selected and it's submenu displayed. Hopefully, this will make the UI slightly easier to understand for first-time users. +* All corners rounded on the "expand" link when not expanded. +* By popular request, the "Menu Editor" menu entry can be hidden again. + += 1.0.1 = +* Added "Super Admin" to the "Required capability" dropdown. +* Prevent users from accidentally making the menu editor inaccessible. +* WordPress 3.0.1 compatibility made official. + += 1.0 = +* Added a "Feedback" link. +* Added a dropdown list of all roles and capabilities to the menu editor. +* Added toolbar buttons for sorting menu items alphabetically. +* New "Add separator" button. +* New separator graphics. +* Minimum requirements upped to WP 3.0. +* Compatibility with WP 3.0 MultiSite mode. +* Plugin pages moved to different menus no longer stop working. +* Fixed moved pages not having a window title. +* Hide advanced menu fields by default (can be turned off in Screen Options). +* Changed a lot of UI text to be a bit more intuitive. +* In emergencies, administrators can now reset the custom menu by going to http://example.com/wp-admin/?reset\_admin\_menu=1 +* Fixed the "Donate" link in readme.txt +* Unbundle the JSON.php JSON parser/encoder and use the built-in class-json.php instead. +* Use the native JSON decoding routine if it's available. +* Replaced the cryptic "Cannot redeclare whatever" activation error message with a more useful one. + += 0.2 = +* Provisional WPMU support. +* Missing and unused menu items now get different icons in the menu editor. +* Fixed some visual glitches. +* Items that are not present in the default menu will only be included in the generated menu if their "Custom" flag is set. Makes perfect sense, eh? The takeaway is that you should tick the "Custom" checkbox for the menus you have created manually if you want them to show up. +* You no longer need to manually reload the page to see the changes you made to the menu. Just clicking "Save Changes" is enough. +* Added tooltips to the small flag icons that indicate that a particular menu item is hidden, user-created or otherwise special. +* Updated the readme.txt + += 0.1.6 = +* Fixed a conflict with All In One SEO Pack 1.6.10. It was caused by that plugin adding invisible sub-menus to a non-existent top-level menu. + += 0.1.5 = +* First release on wordpress.org +* Moved all images into a separate directory. +* Added a readme.txt + +== Upgrade Notice == + += 1.1.11 = +This version fixes several minor bugs and layout problems. + += 1.1.9 = +Optional upgrade. Just adds a couple of screenshots for the WordPress.org plugin description. \ No newline at end of file diff --git a/wp-content/plugins/admin-menu-editor/screenshot-1.png b/wp-content/plugins/admin-menu-editor/screenshot-1.png new file mode 100644 index 0000000000000000000000000000000000000000..2cc0e88a8153eadbf94f01acd4c77e9957cf42cf GIT binary patch literal 34006 zcmbTd1yo$kwl&%i2o^$uOOW91uEE{iwb9`2PH=Y(?(Wt=2=49>+#$HbYm)Dr`(OF* z8}Bg~RQIN8l~>I*=h`81GNOp^*zf=V08v~_NC5zNgAM>da>7D_pRn|Z!+{el2Vpe_ zMQdXRXMH;$fZxd407xKisc!;Q0O}jL+71A@!KIANl++y5q@_3wtu1NwU-QtqSlWO~ z0|4B7E;jmx7C;9A1E7hS6%XNQYX>2LnGp}6DvLC|w2dIp)J)9H4yfoRqh#o2VaQ=b z$j3{-?ZOE*U<q{4CvdU+YGu#q!bAASE+_c&>ti}Xf<IXtEO-e2HcCxejzG}b4oJX4 z%S2;H&%i*y%1X<?%)-jbKuy3%&%j7W5B_DPVPNKDVdZ3GBlzcs5L}y`kuj%&kjOuE zfxqz(nmRbxaMIB^J3G@lGtpYxnb0wCaB#fZU}U5L=b*87wQ|sRp|P?j`j-VEpuM4; znT>;)wH3juMSTNnM+Y84a7+Jo!O})r`rn4F?Ee`k@Q~5D=-bdS(9+XcTE6z{Pi}h$ z1>k=)<A2O;ujFb2q*DOeTRYkrg6G4S=wF4wWB0#T^qLXe8cta|Gw`J7e-*MebhHFo zIfx7K5Q6_hYh-4`$u7V^&%wqf!otkJD$LBlARxfN!q34fBE-+g%ErLP|1TT=Q&|oH zdKOl84n_u6aA^i%W&su<R(3X4CI&VkCIJq9`hS%bx3YK8w=x9&t6np3z5kSD_+QI% z3fckn9jxt?tgXNPYX!)eT02<Vn_Alt2r9A?kgJ+m8Cg5qQ@l>k-`)xV?aZ8jMk03B zmIQysm(%QjsGnW%|E=GD%NqUv88bR?W9VKN$N#Zd{`CmF0$)G=d+CF}{Co2Nt-w3R z4!kuKpgQOP0N=ObLi|cDi%0DUT1tH@FMRI$&6L5*AJHKa!o>KQL!(scd=N3yRGC@K zexE;{6W7C`d8hK`KNbGmnOS`Hi^4ScdVc$W#WEozJw<FTlp0MY&y1EI3|oz0*WvHu zS5?*e!m)egi7~(3f{@h+yE~l1#Kg5bd}IQ;;IVhf$jE^Dv$>PsAR)h=9st1qC6U5b zD88J?6}4+##zq+1y*NHT7AE{yK?E)#MoynSj$o31FJ7LLo{?dT3jqMA9b#aWbV^j4 zKQTiOBK<M@j{nevPFPsD-4=lboC5%$2@nyqZvR++MO=G!RQ*F09nq_y_>2_A5i5c| z*1&#W{Wr{8aJJ4{rf{?aqfxo*Bux%7d4CCYXh}5ibNY-A@4d)bSy}mBwz#q^`7Q&} zsyEBC+U*svsMaR=jE`2A`FR5usNM3bextRg7L^eb1K3br3wmPyfJci?#*`HElJP2? z=q|s6{X9lWD)Yd(W&V0#0;1*8gWNWHOkif@%B+G{T6vttr&1PZ5Q8qXhR>3C4JUUz z8kBAH7u6AWCV6&1t1ZwBne-3U%)q?DpC<J12V1lJygpVrLHM#*f*q8k-Ud~h7dIVn z?79&mulAG4vSHQZ*^`4dP?ZeImVTX!&xNGPV+NHFygYc6V6h|SydMhAdiOMLF84uW zE9v}O=J(dCpc9JT1Ae-<7iZ!9<hUFnA=<x~&c_twF@Mjp9b|Q*3HDB-i@UYHHXjq} zGnR^A26u|><t$3eSk?+>YS;YtxAJn0t9sjU*NPTL_Fu^wK`}))1WN<q?}$DQe4tg^ zB>B#$c9wI@+=EJDC>HpWLj>_U98X#3E6*OgL3K=VxEs+IIybNPBUIk+(i={a3Upkm zyzX+2dT6_QX{bHF^dIp%Y0vUCn)9T>g4;k3370=DM`mx;UL$shkmZRQRm+dXAXja* z;}&W#LDlR|waFANMns7nE@UL7D;u5>WFW<db?>WT7nl%mFSDzJk4xlV8BAYBX{eod z$r3{;-<{e&MrOEi>D6&#ZxDyOXCS2EIeyO3dY2Vdx%hGZ?Czmafoo3(*r}OdRH1tP zBvQWOGnkhm6`=0WofUo1&HVceV3&P9mWrAjk%*(3q;)*EwXxy##Bpjd81HECIx&hN z`bo1|b)ME`&l_*c{M@d4`0=I{TT%`yQ@7BE+zP#QD{;OihiiW66q<v45X-1`6?Y=F zSArkx*CJER54y<ppD9X#8hw_X%)0NI89TN3rh;E^9|E77q^iuzyE%rjC!cgRMl)C- z5QZR?TG@JNo%}nCu8t=6n~u)afY$l$<0QID;?uJ^ADXxpL1~u23e`!z)4b73I9wjz zxGcDZ1;jt}4XY-}bcf#O*D;d3uc<M5x{=s5-<(Yw98{?h%S9F0J~!m-9*(jFzK5j` zU$6C%=OP-g`_0S|lRQ=;UY={Hg7(a%L%LNyIE@4nSH|(BTzr=LT4VU6j9prj2w$dd zOv>%-g!<qdnS|IprzsiCWpO5voR8CgbXB;cTFF+>4Q_@{u`e8*%lfb=*_wRI7bIg~ zja#qah;+07b3u-ZGH6&WLCqfpV_sGm?ND!2s&}P%P2Vc#u-*6oW~4?__TFOQ(gNop zBy8oANRBXgWc-&)jn3V&SX5rm1;zK-aJKAR@snHwLeRiKx-S!r@apEN1)DX`%|45b zlyu4tWhU>0Sr_;;K{|cs(+rEBj02yoT>D}X)~ensF!8!_OlKezQXT-W??4DN9UbeI zp@v*w!+P4um#O+}BareX+uz?Ni5^X3aOtu&V2a12QQ^FKOLx&<i<yHLU!l5blwDFp zJN=dE!Wqt&RsyEj<H`>jmnM9_ANXEb>84dVh_GE-v540_p=dcXr^$@hu0t>d(lD1$ zzxI0;xFRY3fCAx7yy2mNm!pSlbf#aI=q9y{TCn=@nAi@zCup7$yTsjv0MVG9UsvBf z9_bjI(uWl-WkJftt9N64s?~{P`Tj~i=N~L$2#G0YJ)dA`Bv;M#@w+bORx->4be?gN z=4kXYDwqdWI~uqAVFrDgAr@@NV8EL$f+XJDms}C_fR&~!@;nfynH#+Nb+w!=#}0WU z>z88a#}(!Lrk><p_?^$qaae9cEXA{q*zZTTm-P}LH?O`^-eB^0nLt?~k0dWIoYlO% zZ?96%UZDGCj8s!vPm5|_!I}85v7Hc>67l0=jawX&Qu$l5c5j$R)t^&yN>+e^CEjf9 zsiZz5oICO6NKB`=5S8dY>aOQx1t&U2KQ@xFg*LvSFL4RQ{bmOfeIbuJ9$7Zy+x=Nb z*WvntVWkv=^W*!KzWb8O6{5qWF`-<rU3%PKX`kXWNBVz?o-JpxE2+6iSxb{p(uf=w zg7y-AEVoy?nc=z-I`JPR&p;^}tspD<0yWStl~yMAiA$V=DO}g76gON&lCH#04x7nN zn_!-H-ger50^cjlzH<u;AsSU8Cu<$n$N2iQW$I0l;OQ$v<t+gx;Gcirg;Me^+<27W z)#-!g9n*y|C=nx(&%?t5ANWJ!D$d{EUyS&N<LgBV2mPnqKM6thpKt$L0w6~Hljna* zIvt|r-Y_maRaBg;>a_TBLU!hSfQMrG^vRfuD|ZCahZTYJc@dE)TjOL6KYHkmho|Kk zp&EcXoVU2Hrb4EFw{<KvkQD*2NS*x4qA<w%G98A8r>O#<Mp~yoxg!o!X<7^TKH?YB z;nXcg-YnpI2=7AzKD{^j7O4TIwR#2>EA;>L{~g4CYF_6p5i`$0r%zi+No{?7VWYF& z&%1>Mxc0X6p9UsW(&&zi>W+{ifD_s2f$7q?;*qCJP<wOZvr}tJNiGb}JQR_W?R*3A zZGAw$ZH!z(0xlB11Q8L>J`c|Z;beo7%IxAA9m0F3`d%Y>vN&ZjJ*Z#LLK#x+oGFV& zTaOpRH_{XO2nJu*&3Grc58^=fwSFb@{(S13*T^N+XZlj%W2V?|*z#cEY#(;{aAuCX zT4IGWq*O9|KKeYMI5J)x7@6CbefKy+`hnB(V1)EA?k`Obi3f*>?5*H2=Ku!`qKlU* zzyun~v4wzmQxZtSI8(|vA&3AsWCunEGXv8Fl9Y#gIMEd2?$RRPiV5n@En3{9`Jhj> zz|-gh?HTjNqWDoB@gpzyQ&-z}=rD}FcOQ2b>r0hcZoFFd)lsIX+cg;-0><ywb1MrD zq1UwAQ~3yRKEMaOG#Ds5TpBEM>T!Z6c6ejOdChY@5Tlo}-g(tklr#?U-8-@T$&-^4 z-o&Seo7_y_1V&1@nT3Ug<w=Lb*>d49bgT%Q&0fA1JO?L-Wj3mX&z#HpT!&pn!!M^L z7G&FY#eUm%Ym3uK&LKjCi?M5*4&V2Gcvp4V;eCXvxV?$4r;BQmc|MEsw!zWD=V#;O z<lH-LXkc|r*L~c;$SuCUS@X_Xaye<<6>+^I`(D?X^Ce9<jU|H)bemIFc0}iWH#Fw` zY~P)$Y^iYewN^V*wOpg#W?i7=EN$(v0K9^~@jb356C?OsiIek2;diip-aX|Y)J%(p z&UO<GvqEcF>*ydo5q-INSz%(^&djvJiz-}Hw3=U9ifSrCONtUMTOdW{7(YJPfdOA8 zswyjSLqHGEuXTUCtXqsH9^-Mrr^%B?S)|AUt^#Up&Ui8nE2|T#%C_@f9P98Vy2y|a zGb<~v%e{{)c%D(*75Ou{jg5^R9WU$M-<B)l;^HDAA~G^?7uN%PS;JT@IP2@{YfZ*L zt`|G);FD@Jqty8_?#E~yesfyFuP{1LzvUx%q^N0VJfH7&<6>h)vZw(n6xnZ$&POXA z;P@o^n=b<+<S<d0Wj*(<kCzY;Blt8Paw8*IdDo7LwH<XmC{7XD1)WKNi>)|#-h=T_ z`A<=%x{p=&H3Iyr?c|>O`5Cp^31iM*S89&Ov;8}st7%52242?kJb4T!ug2lm5uh#& z`?t=0eSJZoRS>V4DfvZyLUc5JDsSX<&&}yt;h-RGQq+JnJ-DZ{vUT%|pVJdlSuD_% zrvG-3Fo{mLp!n&wkMH@a();Op$r`6%ha5Sa8d#E5q1$1l#1}!T4k(inXl`jzQdJ&3 z%ZU5XaT1n}0O?Cl;Dc2hpSV(7UaHYb3TiKJZm1Y_-6{J>Qh5~jZO?|U{daYU+0~6C zn$Rezgz?gK+x0{HqNt#!sqR-vHq-Ry=jVy(5G6{IVIpEDfo#OAF-3AzkDaT4P>9|@ zf7c>nUf#@SUia&x{>ehYc@#34;GT_=k`fxthVb+AC}*>8<Fe+a?Emfv*rD+9^18db z1KVY@TD}E$MYTe!7&lv#6Pbg(&I{YNrjzkE`?;dE+ab5^TR0#j9Ngikmq)7C%fu*c z%zjMA_wxIR+{{7uo7tb`mR4oC<xlv~(0nU(u0k2r*NtCsme}lZ>&|^@Ys0YotrrI< z<7qDT^RMgQAYh~MI(+GGRwv&&r^8<8xWXmgO7PZtvD%OA6Hy^ccZNLvbzA4YdDg^V zC`DRTU7g*$-0q$fiAqF>o|;y+nB<3UHxNtWASbEF>vWWyzU}=~`2v*BXSsGPx{EC> zD*E1GGM2eAKK=n2`3G)bKq}_A@r1GTdYmk8wtAUbH6bgj3TfQa78#%Gas3?V@m%tl zo$(^;)6|q~qxBlE>p3yvCtyt{d-b|7|ACj|uluWN71qxe9omeB1?H8d)y6>DGPxak zi^Rjwc{J5ZZTGMHhR5a7XBOTL2i<XzOzD|oi{p!vzl$2#UKVHYD>S5YBfhiE-b>d# z7-Tx}S@x<nDbeP(BTliKum>M3ald#zc)vsEco_Hn=-l^-mGEO04cW1$DU5_W+mEZq zqpX;GER<Z2(9lRAKCj2#_BIQBXB(?8e2n}m)TX=!&-Amb65qrrfU~0A^}<+7EB$^i z9E)juQyP33nbvkIC@NkYH?EBuXSW6h243up<SuHQ?zeeelnbYiJ)oht*dET(2qGBp zh07V{Tl)pfRjy&u`F|)KJ4skmOQ|#r^b25&s;YurOn!NuQ5{O89eLPEn<<^sYIocI z(PQ7`%MZ<FRi=)E{|S?OaJ{TV5Kq}zO0>?Qt>i@O{(d2{tT?i7DsMOfgJ-4vK~3?l z|5s+@M|h|Mh@vk9TdcPpzGB21A`u`EXs19+POj4ndi3BJi2i(Vbd=X&X=&LEg@n&5 z#irx7pI=Q$Q%-r^5edL1QQ}L8k1x}1O?+<xJ}-NWXi(49!9B)&?XlqI?(U85%a!iI zN>NeKW?vM}MAI8%I%l)NduSptbWG8E^06;`Pt?5Usyc(Go|Habv8T3Mg<e)H4uVvE zhq*5o6Dvr;x7HL^_7R#@+>y5n)rC0izCXee=l4@U@6LfJcg60WhzlQ>m5hQ$XZy!W zf~(ITpF?_Z()&h+Ss{=^8R=YnThn&;necgCZaaHLn(VeqI=s&3z?V=V8_(v(24iRd z3ohNt_(7QH<Yy)?GzYQLgGiY9lVmUNm#4|KnPNp`l#Llt(Km%~O|;2~A8Ztn1aPvY zdM`8A*NrRVyLtKr9~ezcc0nLsD}Y3wO<gP!E~gNhxTE7$nl<QdNcY+9GQS=Tc8hSr zr#u*Te=qT|&-<}2dD#+t@Lf8)x^mFam;~m`#d_t2A5o!yAITYsbWX$d1D)Aw9Qe~s zC(F&AdFHKEW`6MQ3`Ro4-$M8N&Oj9S!rQTRhkZlXamPpGykHZ>uDafi-6DMzfkV;p zF=b48KJW!pw&jeCk~9P<Z><Bem9Gw<tU@8dw~-*XdmbB1jz_!zD%LLjn#Fd_2{09X zpYmc~=_@OX`V<*<H23129Hm#rUA>M2%hNunQ7-pVX3pcX?_>zW#Wt38p%vV{_Tm*1 zS^D^d(dHfHe2`&n)>K$)Xzp=4Nia5%5Lbvjecm5@zv;E|(emXB-xBT;cjhH~RG%tY zzc6NmGo?wf3R%CC!|+R{*WEk!rOUB|peGh4CXsOr6dJ1b@Ib1P+}zCw9JXW*BqqyS z5lJc~atZH8s1>_*$L`kpgyskf^OG`7e5bREkE&sDaVTum1(YQ@Iew9ON!02J@`^A1 zzoXZ*wMKhfulka-KDCWsMNqx2#{#`U>}1a;qAZ3_20fz_#0Yh!UeCEZYkbvB<UJA5 ztFp4Da0HQ$-){WU<8dfxZ9i}MGtyWJvGx0RY*|dt=cr*%<%O$5_YT&lit^pmsMD)~ zw6;|80gQO+nsr!-h3y?w{o7(<GsJF{QCb4p&!Ep#jYcQSot<(fc!qk`UX^u^Cce+y z3!M+jek@VK+*@1|1;4+S9(LGSy>MIUIToGva~Wo?vd<lzxP0%>rH!N5;v~}W{bED0 zi@el#kwT1Sv=TK}opIHftVBCEVylxy8wt6nJ&N)$v|X0c66bKq+{~VQPa_Odvs}x) zj0#}86Mitj!AVO@L|;U(2MOi68fj>2qzc`ta(E`u*7H4ly{OQxK_P3Kt-y`&%Bccj zV{67od!a1O-`?Ji$66c&B&(7EEYU5U9v6?QEc7HqOB{oAsukhkSezbDYH=hqWhC;D zxW@9iL}%T@?zA0Cr)WmU{Nq_(hQ~6QS?LR#7Kc$6o+yE5mD3u1TR}^UR>ae4Ab%m+ z)(4CZvDB-#tUs;}!}*6?TnA4os8L>MfVLCJqbcnRsl?NFnk*JMg4T0&62vb#jgPU( zBrG$^wic=rtWRApPeIo`bD&m{K2>{<HqWP@x~OxhGq_6&3ph^b+z}`NcSMU2#R8w> zO7VWLi_}4a2q-8*o{in5cr6-|Y&~z(W-8raLA#YPUC&-`j_Biq;)82C?hQ_#3$0Qz z-``M2m6lQ+d+)!M?ps;Oz%8b7I$3u8)d_)ZIai@=c>cscRVOW`*E>Qc6E4m(zpyZp z$|Bib0m0^d^P=q{)he^v4r(s0U%BLjcwKgz)5g;3Z)&ae0yeDo(6~g?sWIapV`W#+ z>Fj`Y)0NZqM&TAQlh~K7tw<p4jc0d*j{YzY?+i4;<0oyeC+|BkGg(GCj-7@4w?oeK z=<^6yxaDtYWM^b$Y^FTCyu&P?#h-;#kNa0#%tV(btray@Zwd>OuEqBWY<#YbGe_U! zjlK^k{J!$jM+)?^uziIX!DKSprnqG6Hkj`$In8$v`J>8&wY09r7h=($LaB&{4Af+E z_9KvvR;%f|RGhR^nMmEiI=iZdnYXvDuCDVb(N1CE+_FPXZmyZ`^5UXIYb}P3i+*1u z?$y=RL2j#BZ(iN<hqebg@9a0~v{jmfSX5}+TU&Wt8=sUj0Cnnh3uhL!f@SNM8`<vf z37@^a)T|pQ;<c;o!9D=kA+_#!x>h4W2oh@RR|lTPTzgkCBQy`sBnm0C3d^#OD7$~3 z`oL(Yc%%o%%BMTU#b$c8W*|-LH{lVnxo&8!mw{cueHBGoXe??Kn0mN={(D_emaUNo zU+e7R`pDG!p%HqJ;jrYxTFZkaguRE?)w=U4-U$*OH|#aDV?J+tlI4E61vmDVMn!Qt z7bGqQX@#WG@nM^<uh)((db8hrxVeyIpK_4)@*aY0hd|Tl+_=2~GYUjdzVbL7Wnj*W zKN9N8(^`bGas`>}WOn&RAs>nNGt=GJ%cu6x9K9#M0m#?gBz1|ht%}oDL(AO$7_cxJ zCRjPov0>z!y)J4YPrmb+eOA9{`(E~`X}_wXclJ<$j7EHGlvY9R+?R8U$lW-SI(UiY zcflZC2r)B)BNXG_8#k$~u5*@(Z|95c-t_?~nNx#{YOZyBh9(w9&%{a>{Up;RcRJp! zGr#cZ=jimT=DNQnpv7kK<zKcgf7s6Q+QIjN;GdYVcYA;-p&Dcpd5A2CXENc8nq4IQ zaP7!vV}qo4Wfk7H{jM;j_W>ktgo=mvJV;e(v!t!99pD<oJ-oE^V50B6es-5Na}-<S z=@~nRqpzR6<J7mD<M9m%zo2`8ZOtR@Eh}4;`Sn~?ou>CS6A}_qW#j4wBn}33w6fAL zZdTgqOds9EX^H>ZV?b$~>TEi`_R5>r)lzL%+g;&{#oWhxY&+Jhvr`_-brhOGB#Dlx zNJG*~483V+W#?fPIb25VFlFMA5Y#{CvX#{%`kc-zlqrX2kY1Ge;U&_QeC#`SFJEqg zSP_}w4yz;2eaTj$5^2^Z=f%vGJVIMS_pGZ9Ef$~p<J!x`6W<UCA&!^FZ8}+w=xUC% zH_^`z)GNOa>10mghT><v9u}x>+G^sk*6qd~O`pkcJ!)tf%zk27E;U$IJ=a~xE2^5Y zHA+4hka00R7BpI|lwdIW!DLI*Sqh@r7rISlYET<r^WB?rTk)E3$ri}qIh9fkfIam8 zI4j}?acd`;ZF^+w<DeD8p|5{5sMOaPpsVkhdmB~f<2DB%|8}K&B2RzD<iTENdl=a@ z5Y^>HSrg-=9%4Po=ZjOD7=FY1UT1cLYJ>+Pf-}Y76<4GNQ&{MwhJ{c$`I(KL@><NK zR;AU69`|Ys{E;%kDY~TzG?0zCW5_=Ie%rfYJGHtBp{eQnU-<*LS2uBII7MAyQs8t) zo;B#S!}{Xfu4eMTa2*hxcE4<`LDPZ?nmD-V#>85atBZ?Mb8P2xUnaYtEZ;#u(9Wh& z9~jjfK$+TKjAs1euzz(93iUIj)>*kW+3<sRM^Iq(9n(JLDVV8BJFZyp;odJs$bnm1 zCi(iOXrv(X{=if{E$ih|j9376n#+@tqV~gSww1M2B$K>AR|c3N1608>ZeTcGuin;_ zw16~27nAioJ_#?OH$9z*ek{m>{6ll8L0MT@rHIRe@$C_Q>l`m6N_BO03Wq&uJ5;pX zD=Bid-sR_31%F%gha?26MX!XHk8NLgNZV91@-zk@?#I+w7ZE#xB|6~HyjE{ef;=>h z?F0@$nmQX4L-n~1?1+|*KvF@XxW1MIi!=ZCWD2=V<~^9&L$*D*gK7MnAko^|x-TLs z3iGrwJ6jNmQgeV&ME;kh+pBWepZpxTv$Nx6dz650?fC```Y%(5Yi?m-86W`q(n%yl znuPT3-R0HQ^_94wpy2*QKmb$`Ila163!T#DNZEASalyAJ+~eIyV8&r54WPG8p5i{> zT&6qAYd?2in?V@E8K}Je3?L;+kl458;^NZea@W+<#EI$e4Jx7V{X&rUvX||WSW!V+ zr%q21J_#=zC?gSBp!iPQgN17mtscIBCF+3g=EiZ#N=LWOSv<qjFkS13)O|c>#aMh= zviXquE5t<!)0yr=`h3feu!R^SZDKP+EdfpsP8rrbl2);rNES;K<2+PX_uy^i{<^>m z?;PY%uzKgh-K-_!3}l2rQ-E)NJXvY=^qdS14peL(@uQ&1c4*aGWN63JZ95B4NrLLE z%T+Z#+}&(5ogmDh^XFYnnZkEv*Z2ubH0Y)zpuFyioWR-}(jeI%J3=e9vHj7aow?=U z>JuSpW|Ke7JDiwccybl)0aSSC8QB1G%z3`4yg!vNH<4O<ir1Wue^aKK{2Ab&CC=l~ zAXPb3usIZWr<I&IP{M4nws3Lp%egK-hNm|<jV}`BeDYmT+-XY9$w4Xw<KF!DTqS;) zYOj$<N}yJH1efhymy6ymy1ep*w4UB~FsZ}&`)~+4vi9-oS6rH^&aX>w3M>o-5zN(Z zJ{wwwHh_>!$l~I@O(QZ@D6JH{jmWiXGoPlhg`KJ|$=~f`VlZTyViU&ZnusSXjy5`0 z6yfSPrG8-J<NYSxd@z(AtXga0jinpPHE(w!b$!Q`J;*Ku9rqu;;E@8@7gW-xC{Rp; zR+JZz_uI_rk7;lsbRwaps+m$PYAr95Ta1vXk%=9?d=t~M8^5h3yKGA^7kD@rm4%>G zl2em@zdMDLN1@oy*=J5rph}}-N60fGxo~CjQAQYRAo7@87H@5UWYnpC*jbR%f;iWp zBKnK4Z*|{nSM%6FWmT2U_F#gRn6$mDqNVz8Lrv=1&bs3xg5qyus0<Pt;R<{)pBI(% zN$2QOK2B7e|5UY~(q3TS9i>rZ)sg<x5R<8h<fyb5oI)pwwDXluy*9#>I#ks`<K&3x zEMMLni+Mhz05#<B`=n`I2~)8pnDnG<NmkC~rCg1dj`J%`g#NL6F;f$Q_<^33yjjbX zD1HDF4h;`)bTeiGGq0>-1X8k@qmPqc7RgrKzBRjIV_2z+_fGU(#?Rc?g!W`f(;V4^ zJVji*d}Ph8G!$_eXrAi!?@g3u_2xO_z@7_v<*!W>M@`uW=*lo9?iDV_GWc5F^t|jX z-)3gnz;Plq+I-DAa(lEoCHIiY9`Hy#r%OFg<WH^IDvzwyR%1O(>STvbR`lt?b7qRE zLHkE20tQ*Ci_xZ^q&E@8wQx90iSlV;j<kA<3Fnew&+ZgZ*39{CLr77@iGD2}_!&>Z z9<xY;yl9)$X)vvx$TH!1vz~uLL;5OpHP$wIUxjT~YHL(KYzjLug=jJKEKw)psgO@j zYoTp)UF$B^0s@E`qOw{@t$BVq$2ctq+?r|?#GfIKBkabf<mr4m`dT!v6#*<<dpXEJ z=ydt~AyliUTDUQEWqDa*a0%~<+XhL)lB0)d2Vonn9k^RPXOFBatymh$zc{Uj=+va2 zP^uzX#_8=c$1m+FC1o~_B268eh}21I#Tj)p)JQs3wf`>4@!Q7Zp!O$dyJnBfd0pBh zhCa@aFXO~<t}?!?T=evEy1Hu<6BBD|QDMAY^YioLrKg*QL5{#Ol6d0EXegec)N%FG z(60&3!kLsJTP<&z59dKgIlJRLNluNWD#l&uDTBhY)rhGX=oN0eko1{B<a0g^4UFQh z+ZjvSR$dd!7(UQbE*H1_WAk~RuB2KhEC<_qOJ|UKxY+ijj#GMrWtE10)-CT{+xLMk zms%)d;eT3WE_{$xDa_eB<?)VqcYT8s%`hH~Eblax(Jqc)CGE?qsj6BiM~+Ub)i15< z7ZPxAZjSEl{W1_OS5``jJ4vyE4aO^xRH8){lPn0XBiAG&-TA6&YIU^i3Mqc<wlGr& zeL}%VUY^2tpK3_kJok>8o>h03OX!ehyD{Ly$=>UPS)=bF9H--IdC;^KDVtzo2re=w zYJ<<L-YCaq)@<pNIhT43Lh)u&aaMT{GYd<sUggJh({v}evk-l1jH{nSsBFbE#pF8} zPjts7dpLShEDHOb@n*H)IEwZ4^<_Uby^XW8GYT4-3^_Pu7jlqXGgj=adBq@tzCEG% zy3`3T4iid`t9e9zI8Is$uM}VM<yWOukhXjL5=>Jz8Lnt1fjY%tq1m+T7S_mUKPGdn zYts30Q4(YBfw@he&sn!uP^+vMVH8~zGfKQl8nB=`ktIK~Y^m80Wmn*N>1SEIp=wb& zW4<(^h*(aP{^pEX$Z`OP(of#mt|6pyMO?>ZiTYtVeV^>Th^S&S*hT6kf>)!zIay&s zl~-&X8C18~Cqv+9eQd`{1=ZG0(JTD{E(I7aoT?i;h^1@*6ln|pt$mlL0_VSQg}P>h zb#?gu&4Qn@Q<v%8T>TC4T9VDuGV+$bzW(a!YL~vfi^sDGOKV<P_jnY~+FmWv_Qy(! zabxS{rjK}dk&=8N@$vE0I&Cg{7KLw5``>`|-H>6;2Fq2(6@I=}z_e#zPDe-ap*|ai z*cD1wY>^(LPXHK!=;7Lg@twJF$8=g;K5qiPfWZ(oeC1x<*J((A-k^UU=^s4z7YNW} zYk(G8Z%Pvf*s=afVd%L&1u-SQuZF<r=<BanumO-l0cUd`eK4!B#&1-!8gF>QvRG~w z%olAW7u;;HoZ<oAxNpCmU@?_3imKJ@5p8TM%nDQyAf|n~y&lgV%*9ndgmTnLO-?<6 zp~%V?E1G=^XY~b81`7s0KD4e675VslAZ-f8)o1W@;5yjrUNt=RsY3_|i{mX6%*w7+ zEPHczYd6;>?UkTrpfrCF7+f<P<v6K`gSOR;v-OD3aKP2>4I$6nHoH4GzImLAG6}GY zkqx_HvQ24&jTo{#;XRO6B<CrCPlXzemJ6~dhXhb#z1IENb|~Jjo5uh+?yg+!keh$I zblz0R6wgS`?5a7wl>TWF&RO@uVcESfOmo(BpCkh|l{!;JWWp%hlifl6Q!}fQYj|SX zj&Q>hp%TiK#{RV&o2}gHeq}7#^er>;Ux}28Ozg<`!>op~74<wpI((uXZiL~ZP_Ehj z$Vd+j4q?qhs_xgNR`(%v+8+&1ODoN7gBMQLuClr9uqKP=ye)wtoD)+n#^Ob-&Zir* zZ}b$B`MjTDM>#XX)VTqq-v$~WaA0v6x2T#C^Ck$^--d>W&{qrPi#nI??j#R1TL_94 zauh%2*PX*JULz1uQaErieJsjcsuhD1hJ%Iu(hbn_D=sVhbk^*`!VW+gGkPGXsntqd zC{L`E*@Z4&KD9c>%HLh3+V#kG=#C&3BKlBYJ7rTejS=_$OqW$@Ix*;gz_y0}^T3IH zzQx;*;wP)mdFBRG*ne<rXZ#OO>0YlIRi0hok9Qb6MD6Bb=iyD4mrVz6i72qd#dd{8 zP+WroNUe!ln_c*qCL5u(ab%!N4D3k^$|R+9meVsx<qloBN%ag?23^5%TtV5fi;H_z z^zEJC!T13W-T6~dUEPd5=AZo*WK~;ePf{fSL4Q`qD)x@-T*|B#te3zdA&Ejac+}rm z=A_gZ7VMQ|W+qd##Ky+<gkd0g9#89;Nxv?2wb-}ils7lCt_NdH{`W@yA>de1@Y4_3 zOH-9*q(`Ld@?3v$y;@=LhRRai*FPIbjZlW?<rgd11#xy}TiM&&``)p%xHxSqpz;Ly zZ?K(6tIhdyVtIL)F0%c6v)uZ7j*qegIVU?NCZ-EmuWPihwx&ac2gjP3gCkly_lnEQ z>p#NZK|(}*NYRq%u)V)`d$`Zb&K|x{hl7Jt6c+~X?R$v*Ir55!ye}jXUkK=Vc)jCO zcwByeDbFHzNDCUb(Sif-t3S{@8{3CNm*KJzJbdLD?d9d=5n@J$f-_(u7iH4>QjS|v zRdtS>X@lzDm>%xAAI$%hRaEpk?-{LFD^+rFaHM#J+Aycc*Bf1aK+Iw=eEU@%poSO0 zR;yrF7a;W)r0*B~caZ)Ae7i-)A({=)#+DgMr!|LjR^;LFYWCv2{|o*b2e-QK_~hYw zb}wAHGqq?7TNzV);3)#Nyuha}Sn?D4`D4Q5vgp~)TemU$F1uaw;0R}P>wrxke_?4U z%_~e*NvYq6aT$Q}t{vhNF77@_GAtYmJ^lC9g1NNkOdfY9us<Uv2J4IpKG}wTLIS70 z+m-z04w1mw6j~xN8ZgEnJv$Gs*GVtBuY0}&LsSVG$44y!G_@vq>No!#)EmYMR}RmP z^|?;u2y;SKL^<zVisD70loaf%HdR(uDp7*<D^xh3g@q(tmyj6w)g$hVtV7wa(^GG- zl+)D2ekBhB1EYlupvIpCpj;mLGGDXgfv4!$Y_T8Hx9%O2`OJ(9(_#0*z}8mw#aElj zT9^$9=VOXbq%x^p2r?;J^R+?rcSY}v@6M!#=Z7z)V|rzn^TjBM)gR&~Mo+nho=2j_ z^c7@QTg0(?NSG&f%ktu^evKwya>aQ*%M>xbm+vC}0NaentNTTCKV3W2{C!E42vNb& zGGU212=3jx>CB&Z_jbOU)O<LaeQ?iUPLkMn09eOs@h=7EdWfz=tKK}}`t$LwOc!%N z-}_JXY)zJnPgr=9k-4igyd}Jnr>MDb?=w>GsdJ&}-A<-^fx_4CW8H40KF*LUo5bIT zAjs-wtKg|;OOQA`8|fS0L-aB#Ig&na{U>yeZOv?piJRzX^(|8VTWBWFR{rv(o|DY+ zRoQ|FGkOmdCyn!U%Ize1{X6U<A;r+2$mt@v${FI8nv&b96Fp_Az@XUzC-HXnc`U?v zgI^bS<_kZu5HL~VwP@=;4jP3Az#}0QjyN#CrO<@g<t6L*@#9AVm8#ummJuH5dSF+S zCI6GZZM>XP!_?aL_O=qAnPxUDSLL^R=uSuqZdBc(Wu??$EilSvpxWL@$@|fg!Nuyj zpY`DrhVc2cyS#kNa!{=-Y>20hnP84>$+=Q*TJ+EQ7)sA;kLd*>wBrG6MMZahhJ|Kd zMd1pDj~o8^vCP#JC}I9trUEg{kQL>$rmPX;I#XMRy9TEBoT`~kB#5Nsl0G=!O209b z#Tz`|Tn?GcFBN#>bq7|aq<qG|3dqcLSF=1@=<OAuqoXV7t-wHS2}>#w!T}i4WFH+L zH#c*a<WN#l?zQ9L;%cj?^xg?f<Q8cGs8I|-ayk>5PI&G-WM|3|ZsVE#xdxI~L1Q0~ zF46_Ld42*%j+HKp5~A}!2aoI8Ff7{)4Eg-B%++EV6_>3|``k5jx~;6qup<M_hrcAP zTx|qGFQ}YtQTw;gT@AdO(;YDnh#~poq;@z`FQEluO4%FsRI1a`G{s$)ax-C0_)E#2 z4c~(o-rStCgTv*`&1Q})Jvi3&^5Eh2Rw^K1Qm4tUR+vHXi-}2hE&vc#c(!xqpII%= zVJ>Sfj($jxP;M7J$VA3sIWj%1l}}}><?s2Ei!HoU*Zn713D7{p%Hg5eQ1{+)1yvk+ zgJtY14Mp*!Y*!N&wTAG-n)@?0*3l^&L7Xk`97)bm0hfCm`Z6}~KC%MB(h?YZKFHNL zwDOok21M?tsF2B)qt<GQP6I)qz|CyWP=j^&P1<ZB!U?c?8(v}IgN6vGqAeNCL#5N# z`u=akOe(aEJZ-xz_8AVIg{<qxj~vIYm_hrV5H1H|B`K)CFuLqN!DxL_AI`%NQS!^U z{|2Mg@=t%&-x}M3#zz;rdYlz__1xXvU0m2_15>FzJUk>MCCLN?ij`4S$Y45K#?J!{ z{-R%{<}bD~@_iL@9Q7PAc{a7ie=xSOdbR+v=lS*VVz(6;kNcM~t1YyQL|0qYN8as< z3DN8L;JFjx%0hbCv1-|^6t4|E2j&EKH#alx9Cl)SMih^h8AuM6{pD8YF*%_Ki^yxH zWlsTQSC1|u9#KM*uKX<Ot)ufBW7GT5QJHQzaZ5`FwPc-NE3M9NAR*;?08;b`2?-aw zV{-^?uDde7(>Vki7r-nT+i3^}B=}Bw{?ef5C_%6B?0C#Ga6_`p+6d*Urk32;=xj6p z2`}qKeT0_ckp9wejP3qN(Dmn#oy6)Qfh#Ak3zX$`Zv+n5(`dSk6B8F7*ysuS268h0 zRSk|>>qJgz{JPWzZ1MMUf+%``7xwm6oa?rtjXod~;Fj0c+xUZb|GxldJwh7Y<CO>H zAydNW$y`mfpb%r1*$IWe5JBo)A}Nmsh%*Bt$tyj!y4N!ge?X!K^>2uoh?s@4>vGNb zM4p@*&6orq*YdzCAh#&oE^TjJqcUOhZ#Y)P3aAqh*SbGDmMB(qa~R^4Y4~ZmWUMsv z4w)Z!bURyu*IE(}2U-4WGA_?{om%S`>o{H0BjrVkJ=7Q;hgX~~s~ml~IaFaeafIoC ze$_Y2C6CMNAl|Dhpsb>@!3*7)`ZgF5SqTy_#n0#2YWH&XF5hpyJ;_F)3k=!LSj_Wn z9k7VF_s%?Lmag$t2ST}PMhIAPKPKD6dOf<3C-upnZZ4UfuZlKmX%-+ei`3v?J3pa1 z^e;I_>@;eptfCjl^{sHwTq-kOKt!NYDBTE=-X2#HijXDrei6W`h<XR8GI}>B`W7H1 z46XcV>AF0Hbwa6p{twdLD+(G1+HR%lZ;fwR@>?S%q>@4+k}Y|4!QtKnC-9$YQ?1}} zCJQN;uyIZ+23TznAm7xTqfGo9s;r+>c&9^r74p>v4aL=t<WJxsb>wWxIYD)ran?bE zoeYbq>=r}I53wzM#VL5Yv8DEHo(K@bv|Z3bL})ewr%+4~m+c10^uE?GEP$RPd^j_J z6~V``e&J(Ij8qF@(dFLBAOE82Z3=kSE3m@2znW{T^DhP2;W4IWWbb|6sDAt<h+$@W z$8r#xY!X;<c=iWmpE;W1oi&5Q5!F=FaN&-O5+=EVHGu@C+g>dTB@BJ^zCXQF__rqQ zPZJLB1Q5}EgW^_pCFb63uNfudmiB{`WvFVp?kiN^%^=bcPkR#Md(0E=n|JF=GDiOO z+TtWvK{TmA!2GwVS)(H|cV#Ax1JQATxW<?jEz|LaOH2NA^?pxj5w{t1;MQLV&ZEyL z21S~#F09C9czp48=mcX4v{Ih1Xx4sIH_9Ytr-sNP6>~|5q>606?&#!%9VB6Hk=y;_ z5>j?of<6aYPeG(EC=QbCbQvy_3C0rLr+E5bjw^h+kc5N;I-L&pWxe7XD)21$Py~vx zS8?Yt4Zmb(M0h~f93Jnk6+7K$E!E0jOd<Z+HHx9zpK&Mnkw~ezD5rD$TVUlM$1K^D zp6ej#T)-QIJ|FhtG?O&NZva|_oL*aPUAx!vHC)iDp!V?Ju>0O4OHdd>@7U7GVCR(j zvm%%W?}V!U7YnY_a@jK0(H<HK3D&G%S$c<}{}XES($kO6%`MH5Ap&*bqobpJ@UQ@N z3j=<An-fUns2ioOcF_{~kiMOlx3h-`jt|$Gr*-RoZ|oP}K3STWm{^!tTUb~SAur62 zXQnh@e0~x|>Zx^bbc|pma@X%D)oxsmGWhQ7rVCN0u9t1uP$@gHV79e8L9`F$y_Ldb zqN1v5kN-*P@k!*W1<dR27ltbwu&QP($WP`i+<2dF27(fmDJ)%OJyjX$JchD<GSv&T z+MP#rEPVvsoHYeDSr@>i(?K6c-g)ri9t>=UZ~94*e$S{8pzUzKp~amO5en~m`qfQE z?8y@(m;!=nUvXOhxoV<N+QqqebaV2}5Tk}lW2W6ct&P2xByWW8+oPUhj^GN{-A&dO zqX8HENfo~{M1fmcyGL_zYwK9mh(vw{0|T#@S1sug5%?;avOWt9g-?+R!qM}~X7kC- zC2EI4A<d?)Lzo3-db1aoTA|ZTmodyMW{7g{u1BT>jr&p`hc85`708jB>PiLs`93j` zs@FLqV2oa=*O|sR=~*P@Y#fOi1%;6)`Smoa({MQ6Ag8=+V3OT`j}746?<DpbbFPLV zE5Tky;(M-9sMGEruq}i{C<iXqscSAln3z1V4sBj}T~1)B&cU^R-23k!JwSq-$Ia^H z{;+bF_xe2Sh|;jpx+7ttJ{3!@X8mRIxNG0%7Nt<_e1$A&{#QVsj?Tny6_G1?TODS# zj_`qexAFDOj^GD`twY&G^b*-N?X#<8XxZ4)llL)xI-mm^?29L?1Fh+9^<__VByh-p z9LsoKM&*Cd=e<pJFB=!Z9;iGQo;o(J+asNwUo8E9W9WL4HC~YlNVX|bSB}_$0Y8Z> z149DqrhZz<1Yz;_b1|&r$-v5m4ieb}dI~aHr6opVs3vA*UP7n{xBI$<;NXQd55?R$ zV+45Ghr4EW&PAEug{&5Ya8k5}blIQKpUqhAuI5}D&AjIl3y;E@fA?XOxK}&3CA1&p zpPrm}J_3!wO!nkj3kGO=v(Kc)_S_yaVNwX?+y2zpR@rO}b={j00$H!eCOS5ro5(nQ zZyqXJ{#!*vN4n7+&Z!ovnRP1kSgP*)?`d>z3lt%Fvno&gntfrI(i4UPSp`zU_anQz zyASt*otgbL(^7CfGuaRjRLivnpqGn}4$R{E+cLM*jWW~>(ty7|Sl`c6oE8V&fysCe zMcg(qY7pI|sikX&S5xv}<x=C=G&DBzK?BY(D&K5Mri$h4!oup<ST<M}$S)bWzGO~F zn6X-@fx1EpYT*#g61pOj)piMckiQS*q<&mmFUM-USiP&b3dE;ob`efGh4(J!dAS>$ z$ZCJ!Mt)AW<CfU0dc&U&ZF(l4toxGgt*8^$aH^-OkL&t5`cU6Q<jzgUyogDmf8he9 z<ig&qNr(L<ld~&ZQ7&nui*Hm|5l=6{#$w>N((k*=Z*(7E^WZ@l?N6n;)ZWLFp)2@w zHEH5TxjL))nwUz;Q(~WonS{0$`K$(wX*bTG(G}2CCX6HW1YSFh4RKTDSb-8Tt~|HB zQ#v856j$wdj_Vt?<?yvuU*Aev+EFVl->$5xN^f7m+ZRwO>u=j2fOS#&`vVy$+M64E zT7(_oNw_QcL_;NX%(h`M4G)eO2JLp>aev1xqWr}V6rIYiTys-Z#LL}f$k>0N(GD>X za9?l2AD_a1m*&?De53Lv%CY>Hhthx0=_VOSoC9T8mN)p}gYUXfg55slJgX}`60tQ> z2}ew>ezR-rqwa$O;#$r|Pp~S}sNOe%-37aBA!RVdYp5%ul)Ajya-MA4jhS3ysX~n0 z+k20Jv1Vs)Z($L~?J{2LcC~!=EX0^HTqe5Ll{Ze701wkFwOMy7WUoBh%G8Y_F&(Gt zcv>}z?ybO~sl`CXa{SzQ#~)|q%t6%Ia{-Og7K8q_f>d{{=~!r$B>S5qVOr`B0#8o3 zPF&-59>%Bke*$|Lv35Ju2?wprEwhN)xCbv`zV0rcf>f_7-PhKdsnR}<0!_Nq^wL=L zn57fqLehBAowv8ven&)Tia{Inl<{HNmfm<WF57=IUd5M6W5xMEUs`tL1q8af-W~7l zacr&_Yp16Z&&)u8Kn;W+X)8z$3kO?Tu-?B%A<JGocbX1lJVEt!Kuy~%tqXO3J5Tkk z;Z!xQd3A?a&GY73U@dUao@Z0Vf-7q@{G5b~@&Ngp=a1l&@CVLKuHGdj=gc2lsMCVx zGZ&sC%6AUb50F-jrN=QTx|bbwS=rX#vlbHHhb!M7`&B*q31F>>>mLHwAqN?ks72?V zj5iJ${7_(Uu0Pz6-`~h1q-56^TurZ#f)Elsja2our?_?1z83=1wA<#1_+AogYs)Ju zFI>D67e+^EZce?uPgenWpjy2ENQfEPOM{4{fRg8}V)L1XmpFWw)t4*ha=Nm}&1Lx) z=i3zAyGFCQM<e!yF7;p9DyN7y%oajibjweJfsKswmXto1z26;-ns2T(Wwqr_NZ*<J zW~DR{Jg%Jfhc1Zp78K-n3d?w8pWMDbvBi5KySd+;TPLlB2aCBT^Pi)v6LS_O)n7zh zASIdj)uq$&b(z9+3AF4Dv-+6|i?IuLpW9Pvxta0gmv2LhBqgh8ryZ<nPflb)LJ*)J zpMTb=->BCv+oqIjOgaA-cyr*!P1+VPqHOXUMw}!1Cby?xeY518OG5BXYr5@!aYi^R z@_j?_tm9X2PWS7-XO7He-|gS(wRfgDpFoYJ__HF68zU|qRUqDw=6AyIW>~m^#Zo|9 zFpLz&eS6mVnOEr24m#}anYh2-v;?XLzhqKf8kf++hE6d~2?9783IL`V>EGWFFh}(% z_VY}Gig?<KFahJn5Xtb!gMw}QvQ07oH6$>w^f7~&MFdL(V6gR<yT|nYg#g`I*Xisu zh7wgjztAraex;P2v=hvm)&cIpugkv@n8t6O!0wS@m@A4a=>13$<7;^U6LI{yM(LlA zQz%kff8>JX2rQMNe}WkxzjlIEh92b5jhzUuPd*_9^$@ujV6lLmJ_ZI*^=YtnV+=hT z`)?S-P#(F3tjA;8F1Di}PGv#wX~-BQeirqZF`AhqiSh~OI=C7zQC?;G7#Axh!`~X| zN7*DJ@Yp9=x2-+3h#)ca1guHYX9xV1F;dNu+X6m4N(=#%p4a)acC&6KLKQR7I>>l+ zmUL#kXs^D?Pb|1R+0c|C>zAt+tJYI%U6%2<kH%fN&(~s7VX*0&V9Epy;{pKGux&(0 zKKr3-=eu#&TWFTy;YQA3@MC1c`7r`CEB47o#ycW4vE<ujx+fy68}&S{Tz2+sj1v3H zX%yZ~*m3R47Rl*aakWfOHP>4`zye{)?TP4h!7Z>@k_cHQ2awVw+)T{i`;ij1IEGui z*32PhUv~EJ>3rH)ron|q>|JwWA)^{e4@ItP4>cS`sRedaEMg}34L&v4SN=MKMM+6v z;m)sjdmum}k)-2_P>3ct^<Z$YBLAm%S!7z?<01YL$1^kzv-98Smg414bB>Ki8hYyQ zBR*r}ys*s#ef})_<a8_E!VmS~3|F~XBo1s|3O2d_jb0f}LXIr?Df8og5^qiCBx9WI zF48GS$I+dU>dG4g<bgi?R8CJ;D)u~$D-Yd=W};sF8mdY&HkReKWe9*CGG;ki$$`}4 zfX9`N*hcBXM1?Ww=YbZn$yxmcdwOLTCGX~rN=<?fdx4Gr3g@7f5~T6w-QVOP9_&<K zV&QOyxsXb?b5`Gxd%sdK(BVl*wjFf_lai4)j4LjhdSxJF1ty$7#yV{kAmUi5oPd`t z+;2`Uu85-4fB1j!LhQz91Ivim38koCV#_?g_1D5o{xlAymxc$Z@ny^;J#inQ(`e-3 z&ad=w+20eLA!XK8J2JC%&Ats;=Q_7qZARfX8LhHxsOa-wTCHElqeTR44*JUO+Tnor zL3e{XJv64GZqcuikd1f+@zmsIdu(gt{4J&G^^FX!$yjYAKXG6^ytv0z;}$y(8DFMr zG$$*Qr(&KJ)P<!6K#JAL>Z3Bt8r0jjoE#j*Z#qC)zu1SYp<Z`gCv&tMHs+I3+m?_U z_U5}qTaqgqbbY0G;zQyADZcN(DA}Qma*MvnD1cAB{^76X-7T<)3yw>dpv^02E-Y@K zzOAMy0!J<-Glu7Lx%MUSZAE7c6=9mwkyl7)v<uwPM+}AT=9bt|F2dO&UJvlu)q4IW z4vGNyu>9J?Q_)<Tp6@Sf%9D#egbqB}$oBvNSipydVh}@>02*GXYK2KzW|c+KbeMkz zi~Ju7Pze*7>{Z8qWrqYjSTn&<IKO;>bL)fvJw(_5LRH(Z6XgbMY>lz!4Wc|q%l<04 z8sIIBEb*-<>0Nr4w!dcyaYjHB`Au4CsQ`Dpj&#i7`>hH?lY3e>>?=ZiR!D$~Pp-um zP0f_Nw)4?rJGKr}yeJd-p3<UZUkj*$&%VA$a&Vn~#PJ`s3<-b2bbxA7n1~#;I26cb zma{i8Pgs_cityd6%*~0r+}@I9zyj2W{*#hj<pPf7_W;>Z>SoLRa`UBlhuaP2C&2;F zO3+m<aKddlQ!>$I@t!6NJXcWowFh0U!1(!LhuI&*I<0YSqrG{b<z0h50;&{_Oqw17 zh|h0d?-~l64mt7<<U?=apbNOcC}ml3%dV&0{aT?o9Zmm<pWhA#2hSWiJS70xdJqk% zB*!lI>WAOdBvRhKsL^9qtTI=O2zd0`5v7bws)4!p;>5`7*uG|dN|Y=&s3AXnBbgtc zc=p9MSKHm|>(86*<zv3Q(fJM8$=t(eX$Vm3NA%u}j7UpMD=Z{)1`EL6)|E6RA752o z06=h`tR$t##oWwnAE*zayTfz@;0A!B(hA7n(dTnIFPoP}CS~oKAHna031nB**U!w( zHh|4AD}|;)ErM?bu!+6H!pO+?#Yz%A;5Wt)FHv4^6U_Xpi)l>DYm6x8$esu3!Jj`( zi73Au?3QbIHxDZnb$4FQ$UZ$ifpsH~+u!<NHR}?E9-j0Z0Epkl!l<2VmByb?Q^)%7 ztKe>^zhCl#4jr|LqGx(_EJ?QT9uS|#2E5pX;pc;x^8J5Wd&{smwyj&ZaZ7LylHeBH zHNo8p?g4_kYX}5~;0^(TySux)LlfK~c<`?}d!Mt<^M2>O&;4=x4>V6vwYqDqHOClp z%vm_dAOkq;Q&JU2)oxwZHSI&DH#Uc^#gr<dU2N*7oZqMNvAAqrz#<?V?&l+*kz8I0 zw0P9+_C-iIJ3kgsLIMdsiK&eON4i>zeq*7)dOlCmoqHu+8hlZHcMZ8$o9{0I)>2Uf z6)E=7<9vB*^-SBXIK!~4)YWSh^_#NkhuP7Fs|!~Jfmrm<sRkYs%k=qoQVh6U931=m z)WH1NB-d-O%Suet*G?_Sf}%s-GXRU~S$=_4gYQrcP{Q<#UmhoVyFgqicuyu}l2;8K zX-zGGqJa{ze0Su3WufL+;`Vrgcs=8awLr^UBtKW`$@L`_bvnfECeYu1wP)dl=Gl|; zNT*e9lhh-B_rQZ@&q>aBT2q{2M;_+_Z8z?hFOM%&?bK{?%?h82W@npP)seW0k>EIV z8|-taSy`1|qtDFDTwY#s^YPW!)hWN>V4m3A#*q}+V-&EkwOyN-*gUrWLI^`1t*Fqy z=}ixkRSW+u+*mp;DXEJm!tNnl%EFx+|9#2rGvD;v*M9JHDrXt(X`hVfunbHG7&#`A zEa05?v3Z>7cH*dtu9b3LcnnqaPP~AB$)Cl3AbrbYeBG{C@ru<VrDOLZH6;be$N_f1 zSFc`)ktsRV{5((#1hS7oK?r!eK)s;1w;LKJejzZoWZ4K$SUvX3l(Vr<^<8P#jo#M{ zZQe~agw)$}i@ohg;(6~PL)m2{Pe8F-_Y`Pm#E5em>Gw4Sp5N`)cc3zGc2+G*QBt$O zCwrX?BZ`jBqoBQAe@s|JQP&^<^T3JG^bC|lMAZwg(~_CoN&kAJ3tBoXe8{xh4JFzS zRz-z3H;#P7d>E_Fg4l3GdD+=)2|lN)Dqgf9**O%0%mokI>e1_YcDs4Lxt8v^Dzl(= zc2tfs=fyBm9wR?VIZ#sq29ZS%%&MWIzy8_P+G?Gex*RC{21kK4IUKo=#}T%Gky#k2 zH+-~(B@v-Rl<kdR@KT#%IGbu$F249X7FLs+Nf{QF`zYKaaLU<9QxZN^*Lipj!LVGt zuz<)X<mE;zrh}9yG8g?3NwqxbI2(<=xbe9cRgnqbIPjBQhJIeTUtuC?l-~|J+q~>I znk%G6$X~=nn@;T!Wy)C>6!a3**VBKlC|7ucc~;<)!iG@34c~Ov{6E|)fXTJvha`;% z{mdwztN-o@LEY%w6^#Ioi*-Z3cR{vMUmB02m6cWBGaS=MoIdnJXvdFiMVh<&dqD4k zfgugoX9RHVu=Q_VcC=;FPHa#Z0R4d1Upo>gT*!?K4a8g~dc@d4K>{*BhK2}&!0Vra zYl8>;=l(NLM=5F^!>>SSgA`?L?J#NJ5c)(#z<5eb{R)V<cJKYJy45ewa9Y2vN5PA7 zl6j)gZZ(ue0@3T6Vz&yAMf~XV7aVDd*}M93Rhhh>N;WE6zPC|EPU2ArWuV4i)V{Jd z{}z3(9VPo;x#S=^z~>@KBQ2@QK+9+yu9u}r-k!rA6f7bhrv=!)78~d~iuU6d?{2x7 zv}z>zDw_XJ`{F~q!xV8btQ*y_X^#~aVksH~%1*~t69<U{gTl^f*<sDs6`o7ibk46s zmKs#(P4)Jms0t(L0dHc0eU=i_c3F3^iC_Hx=H*lp0#1*V+r{SYY~@u*AvaP;B&BC) zwZa>d&%5HrW{Kub%O#MM`g1sCl!k(;!hAEtY0gE>nX2vE(TvQjiI~eBGGixzimJGE z;rzCZ|IaXDG#h@S;76C^E-!bdQyIT~X#$GspA==diaI1kd6A3BSphL7o+z}q<d35l zBJ_)`3quumO$wCMwG~!YMl+vsQO=_vulCB^dO=wL9c}Vn7+;E#sPU*t&@IL0AmPY{ zywWL@RF<KU@}9lzZbmKI6u1ApVX*rqb|zzhoPrj69$5noI%`0UNZYA+VRW?gN6WF& zILyuW*#f{4;TOP4;jk#~@OwCWaqG3FgRq%3^t=J-nfxOh%F<r|<3&^GXNtpLi{H)A zK32!NhJV3k#HnB;(uG-C8lu>aceP1uz7;bz0lwBGqwvLpEyk=6!CO!H9m~93RZKc6 zf1(zuH+P>mF7)-yx2}uY_%&>kvWH}6A?Z6t><VF`7Th(4r^F7IuV2ELEPyGOhi_b8 zlV^E;u<(UiD(&-hJzyN&>D4{Ek8741XN_E!HMl4PP(||hzx-)V^2p#cN#%xpq0ETn z5F?E&zbiwb?p11v=zhEoSRm}Gpy`>J<r^0KsN>{ikY)PiRMs>4N(KeQJPBA?G9u?~ zJ^m8f%@#Pd=Qlg8PnYb_IFLFT9DYtWu6!*Qxu~$lm4*71VhGF|5U9G-@+(x5O--iE z<7Ox8YQ?vF`HxIDgv(x`W2Vs&=FtT}yE9<<8PNSqNlQ;2v5GV6#p~O)A)<~}iF1wU zu@-fP`NIxX()t{2^N31z>S9^hG+{95tL1-_NZmGs*Q#Qaa$B_!H=4h<s_EWM_I^&M z_DMd<WpzqlbJW8M`a*Iybn0GZHqPPVs+lL<O)#uWZTIWQZvPJ{^c(D^zfEi`aSz2# zk63g3VDi1GZWm1<ePHxsfb{0<%ooAr#`f^74WcuFPDH|@P}JCwkrhc!;UUfTm59N` zWFJk>^9|Mrxh>u0*m`m<*Bs?Hxq90>=n-3Bw=1+flb}UmP)84ps{_anDq2Y@h4?wW zop?&F=x+kn`xgOIXLmYy;^RUn6xCK%UcB<}d*eXr?E-KOMhFm648cm*tTwU#%F>eX z?6R9md*&G@z1JfyuEjAMAFnGD@~lBjKN!w$1{b6%lk#b(&w=#*2>9xObPRJHcDkI> zcuFOsqPQ`KRMBjtv^2lBh;YVTDFNCgEeF=Hw^Xuk#qRgUC^6uA22hwqweS7uU<`&Z zHx37%todD^_|I630?Cd!wx2pvox59bDPn|tG-_5Rjtg7z(nXsH^Be@r`QNfiCMylZ zV5z?3AQ)Y30j}O5O!<eo`xT08rKE2~t-xvyj1lvRgllE#7-LFF4`qBA(miqKo!>el z);#mvaE6xJ+R2w3BHctg5QvsYqHX-y_4{{s(Ljm7pxcS*N1)#dRyYA9{i1;yd+whI z%!a4W{E6vDMPRvTiv6J+Lvx|TJHgvhDSC`>;IqgQxpfXZb-$p;K8{q<2gxGi8o}7a zs3P<hQtvFGI24Isn#m;t<1}cYz=kU)fH&BvBqHq@s3CSwAz;U>y5O?Fn#3LeICP&9 z0B7^K-kUcjo99S(a`4<IVkH5rJseL%3)0^T)L~@+1PWedB^H=?(BCZK&v#F^vbuWf zl}oIZrTAUA1N&?L=HTCO9|B~<o6b-Ip+Eci)V>q`yzeJVB|-_w19jlPyNZ>h5Ek%* zpl~rtze-5A3t1KJdn{1HI@I5SO41N!(V6LogHab%!KCa6=}GE1SHh=D8B$GE9vp@S zJ)o^cGjTXV&Q)L$FP1)Ge6zgS<T(%sBHdb2h$Bn_I%~F+9=D&`Y(BsHjt2%)I$uZF zJ6wt20KlChPKj)uctCvA-(2S3CZna#tKKba`9kM*Jsm)ldYuKI3k0*42^e!D)2@?$ z8HL;=v$M>L9#<;o(PAQ~>&kus7x!h&d_jl>qVF7gn_aY%3M3Y&si~cR&L^S}ncXff z@Mil!X6g|3SSG`WtWZbGR?(*P!TRPd^mL4FP4C<x4@UV8tA$jIbIe3ibOS}lQl+!q ziQ_pv1A|VZ10|mF^vblVHtxeh0_{1Hwvd8u{Y{aDt$SbZ(UncZ3CM51uc0|sLX1`| z`fr!J<Bv1bgoNQZ%L;`jjNeIL3O_?EE8Z%`#^i<%8iQB<!mek^g8Ixjg4$<KNzRFw zjJO4#eV`LM4rYtpwI+0DkSbh|a5h*5ymZda;?n3!z2~<|5i)Fj1bo)YejBS3+8g?* zk^jp^jsOpDvuf=zbJ5YuH-aoAakyK^av$a_0v5O$nT#&Z+jwl+j}RY>P?9#V__btN z{<0Fqk3+hkljcHpY_&3ai%4ib3n^U3^)=UHM@aA?Egoe9dq<PK)62bMJjo&Y)0L<E zRQ;OTw}<_~`AJEw6gdX20WQC0Wz;jJf|>I^DGS-os&na(Nq<5YsCb+yJa!5Slf9{p zESjeMkS=aqnDZ%SH+Vt!o89076tkRWtH%|Z?{5*CR2yL1q4FE_=tMD2cR(8RsS|wq zMbLgJx5TKZSM4puR`#O8=T96O!&~CvYxu3DRH>O&&A(~%{<D(G^!Y6~kIE@L`PcBA zH08z~TRtNtjT*owj^o+!`o8yas~<D%bd{fYbA297Mbfz`t0JmV><^tk9N-Zb!#Ub< zTADSBJg^X8CWdrc*x1-WlvV5qrBGeZ`Yn7VZ)JK%#Wsdx%Nv~(Uv(;L>Y)l2-2UQe zMb-&?GY6HK>nB(-1Dhx%gRo+OqqIe_m<dtfPFf?&uI59dYt#)JJ+J*4HYOUil;u0T zjF3jv7CwKa_v0-cy)Gz-ug589#xFD4y}s$Je9|18Raw5FekUsDI`fq#>ARn^B+Xf# zj>u?@{H;N{x>L#=v{HCI77Jqja^vKPIK|CR5|B#K=a8e4lAfhJ;_jg1f|ACj)ea(d ze4E2+lsWoo!l2#jI5c=v8)lekw1vzLQGZuJ&<qbHm4;s|-mM|7<S@Q1JnnmlD${Ek zg2UD4HTgEz`y!iHM|1EoLegz#rg_LogZc`#+DfwbUQ^*MKL(<c#;Css2#Z}(91v8$ zDk_WnLtpoo<Uorf9ex$f#nJ4C6O4_nd?-`iwo)&o?L!ock4$AHw2WQyW_hC)k1E&G zqS+9<3g?CdENUQJ7|7YhdVig=Xic6B&%`pcN)=y?2t@#CU;|PeWUKpo_xZ0sk`j_` z00s&J)&;g|U|)?4@Zcq})rB&UHne6Ef(O;}R>%XSI7xbDZY~=WIDm`-Vr|%f0;~;< zFS(h2L0JHwfl5+XY2`150z)ba2)XZmiIPCh_a7Mje|`5K;|hOyysNy%KVN_|;l{yn zMTe&tR|_b!k2xXY-PNIr&LGftSRj}fl=M@E3btj>Ge1oF4TyiV#UXt|%f|LLW?If{ zQ)TRK+a|on84l!E8Ly~jwxO_7d?SphKN{&GR_bp)nsYb&=)DU4`5jZszc9R+94Qqm zT}WEFIYqQyLj@4Q^Dsj(uar-CPg<D(ZLr*IRPY;>c&op;?0?x?Yw9q>mDX>+QBp%1 zn;Gy^#C`pj>c^e*cgdE5u{i>3k7=H5=#TWvUR_V*WbX(Jnc)VwVcZJVe>*6h92}Gp ze7qYw>=QC0N^{h_0xmqS)70zQA?Pc}9~!6#Oi<KnC>fB~@3fJsx+We%7WhVGBXqO> z2eyVab~twO;Xls&8{ePV3G@+EQfN|30ZvIbeNb`F|5Er=vQ2K+rWmmcmL2T80`&aN z@NF!2V)dtQA})+5b1z>;h7oS0UHcnd(f*C+n=p=IeYZ^c%1|pl5UqAw9HtV!N)B4Y zMs{fZKB3zZH;$*FOi)ZIr{yW<Yy!{H5|g<sCHRD{unq<CW9jQahLmr7TgE(HiB34m zj#F83bdkym7nTNBuw4BrbK|6-IGbgsGHw3bI5=A<R>@LN@~gRl-iP#!;41|y-OuK* z1}6ViKGar*(ly3>L?dZz(&Ukv_c<A;{noRFU&B7XwVT*`%JV9S8W5Hs_o**kCxYUz z!ecDb-g#)#pYL$^lDrxIKG@Yp5sB$7B%bQ_%U<N_T(V1&g2MVIIlh;c$|~!*@47Um z>I3<d>Vge-%I9-fcQ(o=V;ioIyS7!a5sgIRHY2i2)ztKKTyKLv-Al5N=Md|>hS1pv z+6@D<Yuo;K@<58<O5y0fx+e6f+Pg37h%pXwG5o=j=PAcBDfaPx&Kv*X)tiS7lTcH& zsbZOpOCTt0PAvvYcB=ui+df_qQul?-C9qq~!lpE$nbiWF_^rFVzxY8VHp3)A=vS!x z@Yc=|`{!_kCW{iFBnA}=yF&gybw~g>BzYlGg5xZ$aA@el9dc$p>62Kj`{QR625qO& zXjb3in-#K&9c9A<R{A<<85tqJNya2hKz9rR*tH++U{5P~d3D>!w90YWl7@ZjNPj;T zkjDXDA9y4)D$;sVS!Fn|T-;_LB_IIHrZQwUL;xjG(9xNG$LwII0JaZ0D2*HdS81UC zqq6=N*!A#ywCXFXYL@+cW`-Xy6orENnml;3tA|()J*(kLVl|Ev8*?GaYqsyMbuJ~T z^=$dI$PlT_E8}qUV^a1Plo5*&A<G`+$8?WWd9u*yms3Y-hg{pNxmM0|#0)fD?*fNB z9-)xE#z&F~z9z5t50o3awHqz5jk}NWjPtYQWV&ZKj*a~8CM79T<t@jh5Pq}u5)Ew{ z>9sIa5}dM6XmId%(hAWRFJDd~CFvSEK~=EZ*VFy_iVzH`!o8rY2x)0v{m}FR@nsIG z7f1h;d;K(;Mg`)PmSB4gu!9@)i<0=wp*ad!rT0FrK34tM8g6bI4!e_ryX%1pXab36 zjin~_!r=C85W=+GAFFT78ixoDzp<4P&;)%>M~QC;ZR9rqKO5?OcSP3~dQfb6bjcfM zMGA$5dk3V`-d)cIHL|)>6<u|&e9827nK=91&Yy59Z7JRM;NWF)51U}Ago>$+<(-(z zD}N4~x+^}lz9kl=MM5vrX5}0&6Ie=mSNL=Fhy7yT{RCF2v(2GkhsGoAGV{|QH1PQ~ z2nDgqITvS1vHFFgjYM{q&GhifGoz&~eCoT67c<b?1bjrwR-8<a&o=c!O#ESI?+n)? z)`nkk%$DEB3b;``mE}FnmPhg_FTS@I2iL3am6)vEQjdWyj?aWbjLUX#p3HSyZ39D6 zw{|Bs=Y6g$S{-Y1UMgEIMa}Yg<~;rknzn*LLe{Wo;Nt-e9+nSPJB4WLuimNM>qaMY zM+}i&%+9wz7HQwLV|)2f<2kRPmy<|d>e)OVu$?WMHD*Q}3op?rA<Opby`>$&=|8Yc z^K7{{ky<~q?ML0x`rS%y5Ykg?nJetBS)x_%yg}8tEYz9RKWF1z3%(eXrYwJMlVX$t zvd#MAk40C<BO`^&KW}@W(6d0VUzh6FHh&4&twPt%O}pgF44(Av&PcT3R*7(wEa>C0 zi@%>eVjp_W+C2$@(ZB>EHFNa!b+b>R(ESjP>(zFq;Bu2qe80Ke_3O%6^7oAi$HpQj znp{yUhMAp~7QEyu(<Vm8OQJVzFrSJPVpkqWmR1e=zt7gY_Rl{bDU@9_{b+6Mug{ZJ z1VXh8N{%AvVTj*O78`em#P!9x8$&tHhVz-4&B=RD%EAu87RPyV$={@3hP;}eG^7k| z$}ZLq%~HU)q&rJ6aRT34yv3K+gOnFP8~ZwZSn@a;sVto)4LmoG>Bl+~aN238y>9H; z>}s?gJ?)EcVdS#oMG9r1F$ht5@#4kr1T8*3M^39>bo{ne4k|DPPpijucVN7t+a-?U zgIN_H(^GyOTBgL~he5~L(bURf^>V#BE6txmzl<{VJ!{QVxVV!@-!D+WCIYpV)Cw6+ zE-rcbYnjbCs=5#HE#C-d`L@k)-}pgFZT$RLq7g=}Z(=4pD<=Efwxcq{8NxK=pFtpu zq1^V9SgcvyG6~w|agv2H)G{-3ju{m1EY9z{$~EQE<?Ao~I|L4zE<gVI40LezaeQ>7 zVdUTvkFOiZ)ZbZ_OJ+v`nG$7{e2pc2RlUYajJQ$#gLgzcx-?T<O#32#cJSOWIwLXb zq@s;G;|3A>(v6$-Ev3z7UqnVA8axi(*t3aAP3RL8h%AoWac1!%wjGK@yV}rKB*<7v z<zR?Rd3_hDcVnerygxMCTg`obcxW^dq3lsMKk`Q|ShIkhTPrr_d{vRrm19%7t@XTa zC{#d`81H;s7sF_!?wsbmN-@nU?Wulq{ks;|>UQoR-*fcuyO?ZzHqRVDyAvv^KHcA= zxp{jy=EGz;`=p@P!aS@J5|c7mTlsUNX7rcW1VG0%8F_*LdNG3WWP19dBV*xf8kM;Z zb~CD34&iq*v)0Kr#OBZ28*fztKV*2YQE*eQ_HovbUQRbTdD};V<Lur%d(_c;YQEeJ zP^BJTo33=p-D&)qK7&-4aQG;Uo`wE>prD~MiM@KU#ke1}am(ejJ3~I~I*`l1wD7Zj zBm#qU%PfW$hQ;}(T-OW?oc2dWmt*srV0o81wzi(!y`DOeF+&n-Jr{{hKUGcHoXB0f zXgV$x74Oxe`A_}U`0Z`4bLS4g>-h1U+e7<1>K6EVT`M8-OB0J)meq?h7FT-(zsm;G ze%#7wB(W9{0{tKd>ES?~xLGB-gw`tyn_KaOGUbk<67>!TN33eVCnfGvF_}H_KQg!Z z6s6dUP&9Qge69e$n|z9hH1rEG-c)-Stu!PgM5yjcz{5?5b~E?8#d;c;7y%TlsL~g0 zPyUW%dnpce9OHWiIC7sNf1gx6HJf(z_Gs6`4Cg~KGI4dp)gTGAgH&^?<9)_JjKcCk zbB^{c@+mrh&ZpU>Ho>sk(#NH>CCq7uBngloI$O84WszfO*a+$Fyta2v{8{QS=j~+c zaQ<kD|K(!1Vq<dlT@i=hTMrMbwg?5ubhrAs@mD=1bp$dBad)>nbG|g>#yJ}*`!7L= zENmGA(+BimOlqMqu4ZH+ywO6(OS3@3=Rqxr$pswuYOy8XTz-OG=3ap`_VTz;tjIpA z;*tRy{{5DZ<7bL|lQzz95?3peAht?=PFgYb?}#d_fclsfv^D_azpC>fPU5H8Z@cxD z1NaSyeHh5Vx<mxj$#+1A2PPhXH-NqI&)bTEg|@e}w{x7kLHp(Ow*@v;-8BT~mfCJS zkVD+eS>kqgo1bMfsG%vhqZU`!Th6Q-C8T6ZKdZuZh#0t1w=Y}g4*N|gs%jRFJAD1} z@K|e}x2joPz4@Ybe_-PXb1fk%zJ^^7$GzEo8RV9Lxb0c42FiL(-z<r5yDXZZ#oebX z&*KAaF1No(-fPkLwOJ8aFQ|7P+{&Rndo7$Zr`vyRJ?OciYu3m!PBK7*Vy2>S`rMVh z>^#?KF_oTpaz5WyiQF{hY7wed*A#WFzD7t2dw(eX#CH6RhN=C42CTd<9q>fQ$3DBG z?y2Tdzj865JUCo011_&aG-Rmf%GvWxtb3FY`P@o5rlkxokbdCi56mA>LL_drQvGd- z7Ajf3s7WsEFh)q4hzii4Wy)1HvS-4Gh6%6vTHbYDeRvHRi|YOW?(|Zll3Q+pJ<i92 z4e~rAbr;%l=fI5O?T8?`yw$M<)$`IcbE*Qb;w3E#^}57nI)!&?Ix5MgG`1s-QOmVz znNQ87Zp9bw>1|q01u+k>=vh=wn|&|uP&Ckieo3iU-h{)$=|T<1L}W49{cEp!%3QbO zzCSsCJ_+kfSk)Z#wXLw?QQeef*7S7U2d6&0pNnfd45b>cb6jpf1|Myj?Nk~ckJ_1( zWM^9#$68xfdSnk}(=c_bJvkKqc0C=6jdd~MxpE)=;F%qxoz$C({aRSg;&`dniGX>0 zX?c0qsQ$bp!Mh``Q*Fkv->9)k=sB#C*CC6M!+odUvo8I<_$Ln+bx#7nP-^MKfsLl; z4`vRfZH^^-KIab^b>XeKme*W$`_-&ga%&+|zLf8wL}@@WVNJjFWnO_@Q41*Y51g98 zS1D6fxd#lcd8qixa~OrOYHoGuGTQF(H8UsW@`dcg_L;3)Oz@9JwcNtW@8V$&>Q_da zEF8o1*gu5%SJQzdJ1~3XUiwkWt9gA2t6Z^vMR8S*(u0@jsoP|m>D27eRJKN7Ao$$1 zp<_t8Z~iG}_;?pa4u=<d>9(O1?5Jkv5FxX85H22NWNe&jmw3pzTLe?iUs$(HGOB1R zpz3txH0V?hhwgzN2%XSUvKlY8z5UfHRxqbwr{YaJ|5~GPo2ncoj@HH6czGQjPW;JK zZDZAZb2H&}^AJ56UiwKoS+QKBqdB#8Ynyf>J$KoFC!n7&DIgw5qa_~jj|EPpTwEwL zx}4yj45bvDCk*jt4#m1ofpvv_s>FhFBdZd(tSj-$an(rPyoZvBH8L>hsGnI{Os+Qk zqP`CF(BsBKPVxmR^xN`dx%8X!bXz^n$B*1&ug1FL&m9)WGEMV2jJcQ)=^mXapBcdd z%KTBI4rwOw$~=}g(_Pu>&S&c9!WOFKr`CQgg4KvnfLpAC?bChBT|(KV$vIZVM<A+$ zp!UmSPir)t7A|bmAd7^V<!UY^<+W8pQNzvvKS^;_k}LGPfRy!Xpk7lUQ_%ZzFZ#jm z_Iw+t<-x$fxMYCrJ#tBzKo9FvO)|5>g#`^|Z1fQuaCk0OMQ}i1AY9wvC)ts2(pO1f zkqI%HwTCUL_}FZ}*NJg)TTf=@PEK*C@9mUnu*u2Ey}i9Z>tQn5&aOR&NnZuqh}wx2 z<SS%)c;&RxK61Tzlhxd;oj*Nj8KU@3(f4<Ecf54&<tY{h@_QRMH;uc~&3>pT>Qar$ z?BYY;U`50x#BIT6sUZcRKbS_fshp#uqn=)dr?sjo_9F`HTUwzr0fexwiHQj|-&s-u zrHRjwe;88`diuQy>DzlXum5~q-+rYtJ3lY+%xH4{>+7z63qLRKLGw^`<bBqz*3AdK z)ZeS?Tb_=#+x1XB^)HX{5P!BJGrS9sR!~TMTArJu+NK^?qFGOx&+&x<y_58~ZjNQr zZ(B*v2D-1^-`zPlI56Ob&1-==&1XLQfNWKNF7n^gsJi`Ls5{q)qhMqlbA1c!=fUpR zN(I5e!3!GC^$F{d@EubZkC{==x1LQ<9Wg99m1I0(_CPiThy%#nVp0vjr6AEjL%Hqw z;_Q^`7#oktCAeYtSx&#CZkFKb_Zm#3b4q$Yc;%!1FB-==2OBzTlk%H~3;Rooo!Rkc z_lIMldiR7aH7^f40b&?3Y`@!S`?LG>{>avSSykVb`>9IfvY#IdRF*GdnlyY%7Kj@U z+L?SDV{6VgT6dq1lLX`ztK&4}B#cNXTOWME4@^<$@n@ziw@AS5a3NEzLSk8k@Z*$E zRHEOW7Nc=)F+efuRbb4}QLVKr0z1=Sj*`(d)u`AQRewuR!TkA?SCx{_x0|J5DJLXg za^g-ch^7zU_&(*R(MNF&V);5@`gh%JaIp~{!zjIYZwL;Ygah?0)=07aTDxi^p!KOG zDzb83a~hyL=xK;NO~*MlR_}PIMiWK)`n>`jSoJ^Cv%nAa^4+AXZ0?a*LtHq5&k@x$ zC%5V2{XG7$O&aYN<Ne#p_xoF}`+N+3SG~47=Bxz%&=|-a&>!=RQ~Pk-(s%{mPv(Vi z!tLlz4I}91;W0n|(FPGU4005Kwd+Ix+!_#u#cGrDCBWbP41k0?=qCXzGqN-IV{W@2 z+?iHef;<SCgO!!6hxySjFiJ6|N9{oXb)>#|)$!_BEK6~s6%lAw#u$G-&D8#YNpLH4 z`Np427z&X9s2g{J#to~eU``#y{VCp!fpPP^txtkdnT84r4Dm=(p<RL60OR&{_sL9B zcU%CEfLP847(A##m6Eb>4;J=S8AQhX2R!^?)xeDc`B8?@pZhI7>9O+SbKWh~KTJ*s zn_%eZzXXZWpg{m~2m~oR(flenoQmy4kj|YdZh6iWu`g_7DPnIz1U8bYghSWRDly}r zfvJfcjdKz-iM-q%>y?Jd>R+ATH@a@yOTu@+oWQJgsOG%30ynF)xSmxVcevE%49r>m z=FiedyI<II(|}Nj<dT()?gIe2U&HBkPNop`3$foYCZ-kD4ip2F0mow7BH}R0qMb)+ zHJ4VPgbCN@z>V0%Du_e^1K=dQT8Fz09kTq1NsIRP<@@{lEG#T1UABxIV&#(BxCC+# z5+lt$t*ooP^XkA&>9wGBQ++EpSks2ztgNJ9iZAwCmV7AR8CHT!R=!S)NzpfGMc-9w z>K90npK#h+^NgC)re07BahAC5yxnY6kU>*VPD4m3h}=~YER}I3&NaJPL^d0X?M}$t zgl5Aaz~RD=HRVioJz98^xN_pXFl|2B_Dh^b$a=Y+@-)QNvaV=%-_81~mt%%Gml+yJ zgNCh*th^nl9sN-ppor5Rw`Avdq#o`BSI+(H5Vqz+)7;%Uq~GXGovU3FsjOy`*XOo+ zn7Ci-zSw0vZrku>Nz_@?rS6dC5Jj1{1ja#yFH~=-jAZS%R1^w-?B0);>AC{v<=K&u zp{FS$QYmWzfwW(KxWD~+9@FGA9(4PaGitUrGDuncwqUI8^>Hyrjhi^7I$K{nOb2x8 zK8<Ss{H!kVhN@=mJySc85Oq9t`HY4~ZhNH~Rve0@deEdXwJ@qk29~=pcInN$AJW0z zhdcSfEA3|XCGK)e-+nk#Ndl6rDJ#p{EDjcyv;Mj^3A9sclNN0LQJJ~2N)2Co@7K$O z$86voT<@<Blh)=fMbm8zrL(D#46<F8Ep+ED%_JrbsVr?oAY9h~i$<T`L$AEPNP%;y z?TqBY{QB;6^M?dW74}@dtIhs|lCLVY1ouT2>}3M?JWoys4TUwdZIo@mC`4*3to1W{ zm*#wqZLLGhd5{Ci+?MjjR!fRqO!9E6EBEYjxn~!u_~>QiRV|Uniug^3?*2ie3m$)9 z?pUWz;TY|1NJMTke|!2&e2e~D-`dGz-ovC-OO`mU9kl~u7C9|Oydb%|7yVzB9;OS; z(%JmVUPf$Rui{EM2jmbitzFaJ{IvOMwhS_`8MPuCU-|@2*tI`boV&B`vt{H9dKxv| zO}dA06T<$FYogmlE3!)7v#yw<9G^ax^C-Q_Q|Tv2I+AE~Tij7|h#%w|iJ-Z<7%hEP z6z>!7&4*VXo@r;Ca9(xs!qy@z$K5vhxNXhC$-8rI)oR@|+6boIvT!%98&suz<k6-p zTDzay3FpgSl3t4*z9`Yx;6GOp`3$r&>vX-BIl79iwM+~8rmVG`kj=TP4_mja+vKm` zj9NffR#?J-DHeZiolam`<zU7ZpyT7>*!`rna|arUN)8uZOgRi+?A>g8VNn&<bdYjl zJzkqx88_utRig9c-&8&%Ftu5)lb%yv!Za+jU$Tk6ICb(C{eD}sE^aj*j?kA}cDiu$ z?DVTs9JuO{+A`2iH+pxsp@o)NCZV4ycMlocaOgXse+-tCR$u9~++%NVJ3C?h)}m0) zqS*Geec@K#DFcC6+a|a2h=Wh)5xIt|#}ByWwO0(<sI%PduS||tb3GNF!VGnQw(|uA zOA8;DwHT}yCM>ZC4sfek$d@@zX4ht3BZJdBb1SCS0k~ehGWiQ--i{CiYa0-A9yCZj zy+?oKOU&1nQ#L<5-{XFvpP{B<LU+078+ku@&7fYJQg|R4NaCytFkdR3P+KHsPtuCu zUH@uBO?PdE{AU}PX5*RMlUlrziGwofb@FkK;q(Oll1ZxjxT}@QJ!S7O@1b0QwJPak z`onp+jkR2ccvI4wrF6==H~@;rdcI<y4KiiDq9Pu1aQ1z|Gd7Q^C-(au1q9C0k|VOP z#zDc5>nie&0tb{i_LZj(+z7dOZ+O(q>|aR8DLsYFl2J3?PpBI!q|Q37&?{(!R++Jz zQV`46Tawu3fk5&PBg_@-02OE=BouvLX4&`FwYuP`YtPkSkm<f;adx^amAuC5gcr}k ztFd(KlT*5miO}XjP335EGV6J06XC1ohnF59b<2-FQTzEiylKBT9OeC>nNN2<VOu<? zF3oI%c9QAp->Gt0`KTWggaqL8ReK%?V9yiP?X+i}Hqc8dZLeq7>8aoHW%p>Fw2_UE z3BGgY*!;%EMrj#XsTFr}1-6|7>l(EiU!19f<rHmfzd}I#t(^?z%`z-A6E+MCOk3{U z*jU=jS1rinsU;!BH4rLv;-alTeDk!&@fXA%8b3-8qTk-GN*9`p?MN$X`c3cthNH-J zXq-V9^rv?YBtU}5AVxU|34e_Z>mmkTwefiYhX}`I+c$-z;XgHfI*p{^2QXuAD8F8M zT3T9$5gt?lUS8>-*8#NHq0!ONnZ8fSWgT6>x!zo@qoJwOrMIt11PBkjA|c7csxZJf zXbI8eH!vLO#jl9VBqJl+(`LW`AUF{38HA-8YN?o?clL-x-5-!N$lSV(=j_G)5(PRg z!+9srey*ba5d;1m&;J=N5Ws=(E{2z-buj#b_>wVUC&<Ey+3RD+&3J5<gcB+#AUyd= zT(3Xy!BKrB$_Y-w(m|CCNiSc0%n1!5Q)L}e9sCu2N5q%?_C02t_XmH%<SOs0fuF~- z8fI4T)d+QAfvYrIxqhr9l+R$MP~GPkZ^$p{DoQc4m4F0K!T@m!&p4eUUR9;|?Gfe7 zx!l9BP4`ij{{My&sCr=lnK9AD_Ot1;bFm)VwT#CmLc))@i^7Hd0Tz-?5!7Wm`s?7k zs=ljhSW`<*uM9<oF>foUl2@<Zo#S7glc*j1ZhCX^Nv>=Dc79c?XamMGE$j@4h!&+V zQ_$r+I}45>$;9=~DH$0gSXi5k4?D^#m!UN#(UX^GfL>zyz5T?<y05K>@ZK$c)~-t4 z(@h~EuAbil|Bs+|+2sftwBV+u+g75~PZ79om2-ps&|WK(6R`=`zY-Q6`YK$CEp?R7 z<>;G?&5hvEe$6L+w=ZK*e&1M9^JCYVAN0P^tY)XDx0;yo<-~Y{3cCgUC{&l?=<`$W zGY!q^cADz^xsrOj`TvM+v&Pkn0gwHSJ+5*)6r;9XU2&H$fE%WXAIR#PW}A@6o*R_! zUKL&BwtEtzVsaaa(Bz-vky+|QujW(7s~G=5KfzZyIBwMp%}QN?ONik51~(O%2L<jz z?7s$L(RyHpTclY<(f`bwusy~cD}vEY0C5t<LiRMLAK7<X`&K7I3R-%WBgOwiTm#x| zdP9S<K9<>*CbuXXo449H<|Xsy@GV}ho^g$_>mCHm?5mOs8NLxK%(S(63}R*Fq!Ww> zLln9B{McegFpaf9<@3kV$M@IT@r%y&+vk^~8#5sf@Mg8y-qVdZ{<C)H#_EX6A2eA^ zn5%ri6K?`MGg!Vuu^IIJD-uY5{SJD4NdpfL|L`&DKNr0zwckp!j)PLmp<wc$Nv z764^iNc_s1SLf!>TZKGE=gZ91%QMc|Ja^Zn-5afT6*7teLJQDuXHiku)i6q<PoD~^ ztJwq|pH_&o4>roT0%r=qv_b&IMsZa6@|jV_q3-^p-SX%u18r)oJB!~f#iOGzHK>Cu zOff|uex4X_ZV<Y$1+{}AY5H^nfWRqy=Yc>19u%gGultvT_x}UsGD-&OTY$hnWda-k zC@pKAK%X=agWR7AFjxjZrGg78(=)%oPJCt%!v-Q{a%m<3JhOM&7evte;6LrMfDMa5 zx|`Jd*N??<k#dK{;IlYe!*`}_L2x{2YhVcV2iXph`)VXq|L`>EaXT^RYW@5ZOCAsO z4*k{B-ppP`_j>V<-Z^T7h{!7L=(jy|?yb#satq1c(&KMa#{~)-Ieg-8NW{bQzxF<B zeTX}vIda!J^X-l9US9>jlD5W=CP_v(GC7bNiVZaMK|Nl^Y=7zESdL?K^S<$=59*AU zO~Z9U!Q;;m<N7WITiK>Y<DV8iM+FJGHAj+Er!<hf&(@6O`_AsL4749!#@LkS_~GON zEi`y~$}P_bo<F`pPfL_aj|YFNwp}E+e?I0JT*zU-Z1Y5<_ptx{bG}<FvS<3?YOe?{ zQL0&MyEZFM{)eJ+&5>*#d7c;ZiVl9l<|0Y^Th0CQ&Wy>4)(=b9Be81d=f7bHs=Gt4 z15KKZWARZxITofDA4up>LN<Qk84WV~@bqx)c|HqmtR0=y!WD1x1x@bPV0$>GS_{#S zk?9#MoXC_tCn4A02okJ`%yEZ^SiJTV-0U;kUsBqK3XEZA4+J~bNmwcGxN(jbQ+BPb zuV_h(SawAY3=gh*&ha<S&^fRQp#4~>Hs2C1ubI<VkZWzMPA^98?m<vMt@A*eglKLW zQ+;`}eTQYf%H&;R5ASKwsN`B;w!<vNk8VZ6o%qNmYq-*iC`-H9yew89g@25-1jR`_ z{Y?7!U=R?(Kf)+ajo{a7kSpwM`C~C&-U1;laN~YGq)btz82kG9DqM#!$qh|-t0jA{ z?Q$zeW~29r`T3RnM23A3AmYLXIS#!Tb}2u0_gGJGQ$po}$-&bC_;P_ppR}1_eG+&F zYf#4}Pts|PVBI@Fvxf$od3jAn9HCpB^gcnzgRqjpi0AQ(Ssam1)!yKH_dEvqkNvmU zk?CsI^+n89vk2V??WDN&p{tfu;4iKGM`A2G^w^#;)C+e0*F=k#Jv@$PLX!Y<!Xg@z za^L#-sTV=PLgy-7#YeeTX6&M;I&3T7n3THMK3!h0cSo@4Ftg>N)v<94Eu7GRlNQ() zyoM`WTz0G$eyX{FKVCKRHI^>^%5ck}lGvu(E5F}TsZ`M?QkXX?By733`onT>Lhv4+ zi9%&YBb0LCn!171^BSp}d7Fz|v&U6j<{}^3w(VIquwS&WBYKb|k}?Xb;rUWB{Sd#B zzfBfHG{8nqGKmTzpH|-Bv{~8H{B59Uzy6^ALA-bmk~)&h+7y0jq(9Ft`&q!RJgcn# z!RDILT*p`Sel+BOQEuPR`^+!1)US7|v1cT5*;h_MAu1%q9?!?Ikk&(NscPWU9VAN< zTSYhqkn<vjC^GHpEC^$r;N7{G$Hy$XB=l@NTglH2DwaKqER}b+g=1iiR<i%XVs2XP z4m<(CVel9nB#@4KjAA>%)A1ut0u{h8>^ny*yniKse4=8W@;)dviDeLf*fzBYpHCMO zDyMhrc0P$a{m?;%onDhwUEFV4Ej65zv(ZfD7_-A=Xt<I94-)QAix4ghMN`e4P2A4J zCNsHNgjt@=UR#<q<X8J}Toxmc4t%WNYP|fyxr=k>B9=x*8&THYQ6yl6A-514NOF%_ z#<m^XTPNyA8pTTDn~#uG&+&!p{b8(JAf0t+o)aP7VZ@sBuw{T4tyXPa`M8m_W&3q~ zT~7^Bpz!-l&^wysb<qr7@9Hrfb=UFRi8&oJ*~K(IL5f1Gt>xh&2R5-QwL_<yv~NSj zUwYq4KYBSH3dKcNDxIM`+mLt(e}(xSY{)t4giYt;Icli1k&*E#)w`Nd-sk8J<Jda> zT4f-RS3;jwVTuR)*fB%?q;vd3hf(dnvN-VF=rg^~^$xozt<l5c?z(=B0}4|T;XWD` zrf!yUAV-@IHl;`gU^~lEO8@3nK#%zY-F8TXenAIR%@pYILP0iX=%1dP@F0UaNEt6A z=aWDYD9pmoFDnGdhjyQ6bOsgpF|t6gnZJ|p4@<SD^rxNR&;xD@AIH)c3TT?hdh8gn z(UCEM2aY~%C$>LdPOJ1~`x)E^eJG4OkG*`8OP}Br(DWzo^E0l-NDQ+T1bUC3)zAdF zSYIQ=YypL0fc-ZpWrlwN3gZ@*`kicO@MMol27-M9DJc6BL;m2)f8gey6xDye-JVj` zH{JW0`)<Ii0N4m5;Ju#t2|Pr1LGK0-Gdt_*OuL`p%a3v(LQZ79er3QvxnsK1=Uqh| z3!8Ad2u5f>N|LM@9uJjB@2uRm5_|7>JrP%EVSbWGS(%V!pybMI{mc7apx?MAL20%x zkSOCoih?S#-&Dqm=X2H>5ONjMo53L}9bC_R#UMORY3j1_Wa;7IAuAi+{3}&PZjyc~ zK}>vF2ojqaglcUBwX@V^&`xw2c}&nFYuJ?<!)EQ|RX?bjoD~@;{U1RdLVoNGSFH<n zYmM$(p-_lole2F6+_MeHu0!$DqmL~#8kgCzoK7xR3s#)w?oO&+^B?7>9;g^(rN$xX zD+bZzc<R$;AITqa<(`_6Gz^k9MZL-x5YkL|9yEDX{t}nT#4SL&x^z2e4v@>A>~eM| zyYJ76IVavi#vdo0I%P<V@3}I)oTXiu(%_X=(nY5tHoG`-dOff0?pzTpRy-%@lU-9+ ztAD?I^G5*j7X%jF%oYZa3O0V|;|O;;JvXn;d#%f1-$;58psGj6;GuM|o2vbs6&@ZD zy8H4aD9aQGB<j0+<H+4lv9*yB#sC9TJu%`)dsx`h0e{fU+Mey)sQcHF_><U_U}0wd zscmt5G_v^9`=HM~mct&W5kAS*wYju>+tc?lrCfKqOiykXaL%uD{ohTm*W9o!uIJ6G z4|aeb{oQMfp_``xU|z~#{o!r@PiF9I?tp2y4hCN)0^%31ypOb>_RM>#g17&01)@JT z23@qjSQFM<3ErJ>=~~d+E0cV6`Kq@SZv6i?Li~@(Oqz9fC<x@NeioSXPUd%8VK3ex zk(lCqnEhq+n*G1c>d|^wAY=@(!|nS#DSawrqUT!1+p?$q%lm+?etsOd45n?kXzT9= zgxc)CRtWizluT;uFvqdz(n`Zph%sSSt1r@Ejjs4l;OQ!+s;J12898croCgXOlalaV z*SQi?vekdQ4GYhMEF#JPU_u-TIlqyUW+TZ}enE$4n@m>|X;_5yHGt0hUv7m#4#z~U zC&RG*oj%8%p-{S3HcoG?#4@JH)ADAG)XMTAadIM+Am^p-DU8yuj>1LBy~V-bG5@<X z3ZD)GdSm=meXB6nszxC$lVMm$({%6K@Lj5w*gkG4y|H=tJj_G#?U9ukU8uhPH(;hG zF?X1&l%?66?23s_{F^oX*q&56(~aekx=5{HrWAmj6}N0)`iMpC$o>UteEfph^j)d$ zA9sRrG)=|h{)fA<{=!h#6Gk4j1SWMF?xHAHY?1=$;>4*`^uMewJKLf_zha33_GK-f zPja%d50#~-z`~OvV48$1ymN`-wfeWu9__|<k}6FAk`O9>NxWC}vE78Q`TIC+amA48 zr%c`z{mi3gTn*;QqFQfnTubfy+V)z?ylon6<U3f9@E`+Nt9ttmrymsa2wQki{6uvM zI1ys`)8a}`Bikowshx%Cm?-__|HF&m{ssD7LGmKaOhc-0$Wi@P^Q!{K%lPw$6p=~6 z`&<{{3+X~`2(!8{YC1#9=Z^t`BDXVHd#7V&hD4%E7dp28$oaw#Y~9afvV-W@pa7EI z4!_Ll+S2rNo>!c1I2l};Sn6+O<r`fax3b;lz3XBhrCZBHHkn{xh38gn4lQrNq^&!a z^EJil(>$OGMO?tL@X|>$CU(^<Y}v-gOiD^>2O#ty6chUg@eEUiZJ-wLeOWv37tsRq z=<*ie7er*h=Lf7>h`91U91aX(pLL^M>zAbyfdhbay4NYttqxSd4oPH!&?^8xpUq0c zdtWFNBOu-41T>PKL!{Jfc6qA{KT>^t?E*wn|Cj$o!ujVae=ceuA24orpOuvb?52Vq zmy$jWUbpAJe*Fp#M)UwG-heFrhyw7C%NvI1YE>&M23la80TpJM0~ezTHp-1P31fgO zLzKoA_-ALPH7B5vaD@g#n<X&fU`6?pi_9OtE`N4@2?z+-*)dI*->n5s`TBC?(#e5V z=<)Yv6p(xzn%DPzTwZ&cb5zsUCw**=qs2xphjVv#a+-0CHzU3g8LvGlZQ(p??jF3^ z0T0>2JlLRsIv6AhE-#(-A&>i0_OY<B85<sUESHv){Qh_LF{EXCII&qp)yc^TcodYp zeB`|j%?;2Gz;EK>C`WO9-FSJ(SSbc*hPze^eEV;97A3L(-3iE?KbCE@0SMrA&FH5R zNqMCe$g^3{v!LabVhR9gfeFx1Vn7=F?|1AEmifn`0vps}Q@RKS%l~}?=SsCDAQ?-< zKls7)tuP>tt*;w;ARx+r5fNFJrhEjZisYX_vBbs9e0jOQG&3_0jChBLSobjFvnwy^ z<|eE|)CvXa#L1!%dOjci(jS${iVFvuY?ljY3ZW0Mp!bAXz}Ws7!~amm+<repzX182 W;_)Z=<;4R>f~3UcMazT@{Qp0?_xrg3 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/admin-menu-editor/screenshot-2.png b/wp-content/plugins/admin-menu-editor/screenshot-2.png new file mode 100644 index 0000000000000000000000000000000000000000..9d16bb1366975fa92a44a370c1f67fa72dcb9ab6 GIT binary patch literal 7609 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/admin-menu-editor/screenshot-3.png b/wp-content/plugins/admin-menu-editor/screenshot-3.png new file mode 100644 index 0000000000000000000000000000000000000000..3b08e49574b0429077b0a1e3c7a0d4de71080786 GIT binary patch literal 5693 zcmbVQ3pkVi+t=xr3XN0>HRC6e!^|N=H8#vKhtMR=jD{K8oJpxP6d|WXkt9sUoaPh} zMT$jD4v}Mylf#DiPlw<8Uf277|L=9Z&$T^!p6~ZQe7^VhbKm!#C-SVhq2TVryZQL| z1d&E?D?Yw0aNZZmzl}HYAuszl@8=L1VNbRuxRU+RL@Xc7h2V?@BJpT9tQ8jR66o_9 ztHZ~)%@t>3PqsHRg<=SJCG@6@QUKnYr_INwb2`8qjq$*efzDVroR=<WwyF*U#JT8# z?9|Ov%)IrnmvKfxM67j?xeX@B1Eb{vI(-VL69DBIz+=g1U;y6Jiv$hO1^u)O<y~(M zD}#VPMaUkypkJWu&CUY#2}CSVT?wLyQ2~R28X8JqHFXUQ@Cl%*3RqQHh4;}=1gk;S zHK3}Rz~2Xm=Z)y%3ble8{PxAW(*<27lf9wJ%KrZTO8yWf0?|zwtfi&3X+u?2ktd-@ z3iKkQ0~EbT(tj+#u_O!;=S{{Dynve)(ar>4vMz{+^w$#b-ezY181^Fl4iqnB$^mF^ zWw4TpG9JIVuAkB*vK98fVEkKYl1-pDR@n+mBKQ(9y!~*M{-ex`-G6qpDab<uwIJen zn}YU)6EMDbtQQ#x*9Gxrlw5EwP=t!Ain<mIY@n{HhJb*<S}=XsNi~>0;-m)n<Vgel zKQ{iIE>94l2Zm{>su`$*!3c;JTu&9IuB8IeGSGnQ!&Lt0BE3jtv=;{Z$1jfO_qXoJ z|ELSqCt}fL0?~#*@chGovzG~E0_ifr8>nxs0hF`DdASh$N%EW9^J}$mED`62bul0k z@W7w(h2s8=e+2mdTK6wqm;X=9lzCv3H_7qe$ns~1$H2|Yf2hy9`6qd>Uc8JU@=_yF zI0nzlIKH!{HV6y5M>EzonORv7%ZHszCW)%l(8;c@uKqMUGa)WMIyySXo=Ipn{PykJ z)x1j;Z3~5EO$q6=)z#I+#KeyuKjs(YoB6b*XFMoo-fL}rGyXbdVPPSdawQ%QDS0`P znDe@?Z{|~;Gl#Rbw6sKty7}_u%eC0pH(kRSPiT~gU}RLu{QSK8ZQB~=APEcM&}gCf zN3*lDrQs^Req=KU<khRM`PAaMx!HuL*WBD(r{_7BAHR<9IgiDo!W$<0`uZ{}$LMtW zmoI~zof9?*Rg;sGsrQph8V1(Z);{)hnM2NxOmgnfm_?-pG1LhN<Vp>5qafh#xux;( z@v(4*maV-F<m?p^y>GA>H{Fpv@^zqyR>Z7M+Su68!XNR?ZFx+65m+^H7qxwUo;^M` z($~w1dDg>STzu?xIHjhW%jFIa4?`fRgvPH)sR=nxbKLWo*0<$5Su74`d7aCBlvBL0 z@IBRK@AS-+r8&gxPU*8}xp8rKr=})`$H!xe*wohk_7AVTiTL6Yx`!9;8RN6V{g<QT z!|m_eD=I2}{P@9U&#`(~OUsMP%gd!@bnn9MXa?qOSJ#UdU*ee?HH=3P2*eB$7RuPD zVb&j0wZvv^)MSO_GB-l4P*@1cj53IYK(LT7LUhCW`UZ!?fq1?MwSweQP(DTMnDkUk zI(vP6y}ENfrl@?|Ux!CV$KjAbtQDlIo5kgFUNE_371f1|PR2W~4J0rtr!XZg^Xc<C z4u@+K$-Y{|#^S?rD!;@t9$hlFuj=?Q_#(RRxogj7RxTwh)GCa{>dj@=N4+=`n)T@G z*x1U-3f2lmNDASutZ=y8&x3;-8|y3<E1o%MMtM~7B5!(n8e<GGvkLp%(>?H|uYg`d zEu?<u9gE9%Vs2xz2ETs&N-M33XVx>SDtgLz%N+bRIp&mF8=w3zrF6PBN_(K`ep74h zyOGM+?A9Oa>+#RJnp>K=E8ND{ZJ$4WGzn5!TwH9<zjF3&MP6Zf3BBm*WuO=z-(EBl z4zmg9nd;jUU_EkZ=bVP(bypW-oV>b?63y8mJX+CKuIzEoC-5WMIj=<^s`{Mg{(I<z z^G#;B{BzlYHO^a@SvD+s8dOqWlA%@J*7{)R6(wCf4eF2fe5d+gz`r(O6^SDWO(WYk zLiI>N@d?dqYf57>gaPFkeWRF@06t*~?dGSjj}e9d>Dz+-i+lV8*vYdpk9F^;^#_e9 z)yGJAT}8`8iEr1A;PAsik%l*pp4kopVD_<ThrX9ZH&!2tMFx3$It9~(-7ct_OjVXB zrAkfI(?X{^3?68jti3K7{WD*FD|pEdxi@CoV;k6A*n=5rp^X*{QFdBJq-fsv5~t&L zWN|a$&s%8sf$-Tq6yW+aMC5#$Ccd3<weg%YVWBZ{U#g&>?WBuHmigg31`^=5xF`hq z)V+o)13@QP61Oj39@Q6Mmz3C28OQxSR=RuhZK=>nq9uGFte$p37;a|ldfh<6a;@cs zpka({{#ze8KH8{5`-YRDrigg_X(5=*Rg+NRxi35NZ3`bftnlh%G;$T}3U^=USl%?Z z^C4O8_BSo!hqo07M9T%ayok_mZ2&J(x)*%6B{oSUcYe8$>?Mfkt@yBdJd?8Lc{c4X zuwQP;08%MpZM{AiHMFxu`Fj(C<eD-gF>16S7@KL~GX*dk&FXq<NVqbcIokEH%Tox} zYXs0tGv&&J1C)<ZAXS}4DR0%))h9p%`ZZFe;7Uk(*?3<g0Iqr@ex{%!`$;4)LaQ_E z`qD^S+dX!+VeAiibLVN_e8*AL$8Q5TtBSMmW~-RP8tUqiz`}(spWwm+e$X^WS;^@n zDT=(jyx=pz=mV(;VMOf0z@rF3`BJ+4@h>`T_3yTCJq~*?Dk*zly)Dur4S9Kaz((<R zL5p2>9u=#z8!3Nj%FP>4FW_*v(t7Oij&t7UGZlR--SfIoxKSO*+|qk#-=q6|>>^-o zY6nxT=?sws5%V&$(RyjaznJq{!tmx7JXoU@7n~^?Ghb1M(<(`D;nh{~gnU6Q?u>+z zx>#KAacXyu&E#++q6`4{8y3`5o2X>#mo<tcUuhFQ780NCxEx%<ZD34IS-9SU6%Z>m z@VoWaWDyd>rcQ-f^@maK#h(b?MxDq#qUqIZ700UVMCE5bc1EdWc@Iys*~lloTsGmR z_&y7rxud#))AKaMgV2enh6aa{({)8NNevDAlMgomkoshN=cGQst^GlukX_>apoMYE zml$RPP$at3YK+Io<fL2lM*5o%HfGefNl6-V;YKkbt1rJN3?&SSzie-ZCiEjNR#k_X z3O}zM=}tJdXY#;_T!n&s1$!Ug@%?*XG7(<o+Wc%(R7w**$QxLx7I?K)@RkvD^yK`h zW3^zV08`U^wX|bTyL&3?VdesHa!Vv663HHXx6ecX_FPw%(&(k<hnDPX$vA7M8U8$d z2mHE}7#je4@CpwNq8HN^2K0gJ_r*2YcN7XMKw@B8eEW16Dy?N|N-JJlGea(-&N-8^ zWz*0Oh26z_j$CZ;F*%~dkBfZZWFl(VHj>x7S4coWjpP9D&-Jc9@E0w!vrSqk3Ro;n zs7n{i7&sa>1Nhi(e5QJ})}!U@$!n%6F5cCnwN*`krswvBKfY(`-y+uRjgrb4869nZ zNGRzi?F~!|+k0f+>+>rv?XD$}QpM7c*t@RwAudLZ^ThccjE<~EKe@Q@QiBiF?BIjy zg`BS-3c4_T!(TD-wxUB>NLnmHKeW@z-0l4<{!_b6jG^Uh(T79ZYyCv8$OW&RJaw<> z*yng*HX>1g!g*u!7d#|Tc^hae<;?c1`@&klt(I|=0hj<JLXQrN*uPoHu2J}SCw@5G zg+dMV6G^Y%SvGTda25i6Syw@O4)M#b-T3>!JH!p6(jI@`JW2M>#Aps@kQE0)p}sP> z8b}+))Kc+*;$Wo>hgY!m!q9_#@;Xlz%Po>i@9MTbjFD=DF!OOI0tRnWgg+m}OKYx} ztj-*0?Z4R2g_$rOFLRM0Gu>R~>ULS+-acly#Og)>-c`)0AaqFh#y*yFFUufIDqPg~ z)7weQ=jO*1bk1l@Twxr`VU&!p*p1!|dn{1dba;3Zl$a43ns(4fs&4>U9^kevpV1s4 zq4HQMgDGmaG2Y~+7$@CXYb<*Z4V`cfwZ9yhUB64wGQilg4Bm=eX1G0ci<Ict_K8t( zN9e{nrRKmuik!~P(grc{eaMiEfM%A}yM4<&T(0f-ha-*G>7-y+w<Xad9iI+5lt3a& z-Z?}o9GG}HL^{)03i&6Vz&F<^cQc}|pK(uD1q>iILtbDYpm3ER4%{ldg?F+{rvxR~ z=BrPj|K4J$EGl)wd6*JJkT;YwxP5s(iKqrsu!7fF#k`M_h)X2i&da@&$&3@fBXZ!@ z-ZcBUn}%sbBJqNfZskOu*Y*1Mo?lGVwIzh;@Y|6o>DMUV;TLFMdJa+edA=xT;JhZ+ zaq~AC$-M4NcS&LyZ_76)j~j;I7{@NI?Bcb*iKEa2?&XW(*Fb<nS<ELNC%>ERf8BG? zu#g{q*uvaG<D@`@M1m4)I*9!@SNObo{32ezF6Qa_eQzUWZmMOs2!bMX>*W`(&JHEr zA4uAm(Q}ml8-Dl&iH~^PMpw*bJsC_^$@zy)S<DF7Jst+96O`vA1|Gv={^lj0gBdNS zdCbtt$g|VKO9Ztvxx9nT7IvSkZAdR)NfZ&r0h(m3kz(*edEFg)?qSYd-7P{GC*=V* zoN$%nu0F>C9Wl)4-pX9&Jku$_f7kvQ(O4tVJ}ome;K@1a*XG6>Uac29XHs1EP^ktR zyGH6;WJhFP(DlR+A%RhBH|1deT|sXQO$+@h`p^JuE~+_}OePLSU*Jlg`X=vS$S73V zQaZzVYZrE^sazolkTCEN;?|xvMCr`$wyeEglhNP-qv)CR_6?<B513D~r=vvRPnq0x zyPS2*XFMV5w26BcH0bDZaynk`Jmcz2@8qFb`w^(0(Ls-}L+jV27W*A?TpI6?a?D4{ z@DBS%aaQ@=tc~{{k-GLg@uUFSz*Kd=^$61%;gcLzZ%mvEu1eI=*51%gte$-~2(WPI zf@bo&e{iA|*_Yry0~FcxbJXZv@YV&_h=30K=bQ-1eLmAVZLtlb1?Nj#vm?$l-YVuL zKd&s@R)TNO>y|1NdgeRco?@?}y^Tkh&9cA`-wrU`85fG}*+;(Mv5+0|T2%D}zxY~u z#tPuc)9wzez|A(TE4ubq(x?LYNp~|)h6$-R)SYfFUaC=enfJGg5p|LtVB51$xKmu* z>GR&x!$#Ea1>A4tM?CxGtt&C|oA(Z(_C^cN4&N;ANtK$5?F*f(-|cYx+j|kKNgYbV zR9p9T^`*p8mt1$hvP&@g)Cj~0{%8-k-|54Hd2g5SwGYtj?k)d7-ej~ptno?Tobr~J z(%sS#`*$1kGHE+0@q%^YicwJrnTQK?x#Roe4ih`Fa&6%KcaLwi+&Z-WLsH_$7C0{E zf(`$1Q6CG#TSuL5%{Mn$OP{KLdc@*Tmln3}=+L?|R&IUK<3tkT2B)TZa`GXnnxHm@ zjrjBqAc%-MyY_f)Oe~==R@CS9&Yc|Dz^ehHtmL}l*#5-0oyAjY>1|^gk|Aov+U4uM zf6EnO!(!NXERqpXoW`M0I=FMX()wFT_v~Z;J;9R?gVue5j%`#5HZN*w$ZF?H{#AbJ z>BONOrr=i2>E?jo>Fk!~#%*gF;K!aO7YC6OgkpbET~bQhOm3#g%6Ib0m{`eaYHWb% zFh*&bVIi}YVwg?OhKUR<u9`Db#$7O3dIFQlxTt)$^koYq#bQMA(dUdLPPM;G8>rwZ z*00c&@=k6<V$5lop`2!;yeqChA+v*EDib7n)(buxn5B;!i}d&0pL*Z0JN;nKbnC3n znWrP$HME&mbnIqWEJ74mZaQjY1(`5h<;)gLc)HlbqE>i}VOxh`7v`@y&OC#Q((J)w z8Xc=!8Z%-*HCFBTtYzy5x{}WgqtX1%FEp<$V)8kr^efFn4@>S4R<n+RgEpDEmDi&x zPjWE8HN<`%KO5igHp|SfI=l)!XXj&v>Vn2~IpTh(m)>m5^Szc|)mb%S;lJCra4N6k zo_(p3x368TRYHw*ZbeSUMMbK+<NI%gbk`JuspkOoex@a=i}Ak8k+r)hBi`=#uE=wf zTW$RpOW|l=`z}+(&b;m&1vB5o_ucG5cR^q#d8mU$3<X?71}l{+lz#+nLruWi!@Hmt zHk0R9$=#l1O5wMm>Z`}w!{C}t;YGZv{Hx&pOs-rqd~h;wpnQSMKD9q$VF&t${u4^) z!5i3t!REJ5o{_hAd`f=b_oR5oShg~ME8sgvM<hI@17pb|7R6gnR#ViLT@9ms#?o~` z3a6SwT8e-LN1X?PefkcRD(+Nh4KG?(q~VnvY8)LEQr{E-J^4VD&j?!f$Y;JG=W_b_ z;6YCrBbVY($CyQw5B~#o_WxQ9_Rw0r%44U*M_-s0FF7uWal%nn?&(<NA3<6exWE<) zz0px1`xMfcib*xG2|q`L%sg-{U%uPT`dTNi(^5Rk!4tkozC9X!P0u{uYBHn}RG^nY zd!DRp`ueFxpythZKfR^&v!c<Zb+)K5@CvC#=1I42U=Ro^C8idAV|`DrsBzD(R9QX8 zGttW%dM9Ltc%GssmjuZtQjr23cAf1BrC*UX(Q!#~@}=$CvO;|#{=v+zJK(cM0BKBC z_6O*|)Pup-8V6vaM;4@3tY&YA>Vo4_Bm&*jXLULt+R>omc)xy^9@V-JRi92;(1E4q zIcVW$z7>9dfdIn4Yho%u*odm{?pOe<jTUnixM_b!%$C<(f7R0MSy16cS*oo^=S$<Q zSr=QkM#V`731rG`iTm?>qR;E;?w{^jnWTZ}Aj4nJ2A2ExpCChtk1ZR9=Ft11*Vbf3 zcrPoJk~4Z2yvpk@U6$1p5xTWaQ5XYqbpsCR2-}_5M6~&j?k6l~vJ@zLYzTN4bt}&| o7j^3a{%6nUO^)cV>0RBz=M*a2F%w#DzxhHJi7<y3>Rk%|7nB^P?EnA( literal 0 HcmV?d00001 diff --git a/wp-content/plugins/admin-menu-editor/uninstall.php b/wp-content/plugins/admin-menu-editor/uninstall.php new file mode 100644 index 0000000..0033b65 --- /dev/null +++ b/wp-content/plugins/admin-menu-editor/uninstall.php @@ -0,0 +1,22 @@ +<?php + +/** + * @author W-Shadow + * @copyright 2009 + * + * The uninstallation script. + */ + +if( defined( 'ABSPATH') && defined('WP_UNINSTALL_PLUGIN') ) { + + //Remove the plugin's settings + delete_option('ws_menu_editor'); + if ( function_exists('delete_site_option') ){ + delete_site_option('ws_menu_editor'); + } + + //Remove hint visibility flags + if ( function_exists('delete_metadata') ) { + delete_metadata('user', 0, 'ame_show_hints', '', true); + } +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/aam.php b/wp-content/plugins/advanced-access-manager/aam.php deleted file mode 100644 index 7973fab..0000000 --- a/wp-content/plugins/advanced-access-manager/aam.php +++ /dev/null @@ -1,1236 +0,0 @@ -<?php - -/** - Plugin Name: Advanced Access Manager - Description: Manage User and Role Access to WordPress Backend and Frontend. - Version: 2.8.3 - Author: Vasyl Martyniuk <support@wpaam.com> - 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 <support@wpaam.com> - * @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', '<strong>ERROR</strong>: 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 deleted file mode 100644 index 81c3f4414bf4711acba56091e4cd4eda85f1fc2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3673 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 diff --git a/wp-content/plugins/advanced-access-manager/application/control/object.php b/wp-content/plugins/advanced-access-manager/application/control/object.php deleted file mode 100644 index bb49243..0000000 --- a/wp-content/plugins/advanced-access-manager/application/control/object.php +++ /dev/null @@ -1,150 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * Abstract Object Class - * - * Object is any part of the WordPress that is controlled by AAM. The example of - * object is Post, Page, Metabox, Widget etc. - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index 13de4ad..0000000 --- a/wp-content/plugins/advanced-access-manager/application/control/object/capability.php +++ /dev/null @@ -1,96 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index 87c3349..0000000 --- a/wp-content/plugins/advanced-access-manager/application/control/object/event.php +++ /dev/null @@ -1,71 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index 9917a7e..0000000 --- a/wp-content/plugins/advanced-access-manager/application/control/object/menu.php +++ /dev/null @@ -1,166 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index 1564b1e..0000000 --- a/wp-content/plugins/advanced-access-manager/application/control/object/metabox.php +++ /dev/null @@ -1 +0,0 @@ -<?php /** * ====================================================================== * LICENSE: This file is subject to the terms and conditions defined in * * file 'license.txt', which is part of this source code package. * * ====================================================================== */ /** * * @package AAM * @author Vasyl Martyniuk <support@wpaam.com> * @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 deleted file mode 100644 index e8c0659..0000000 --- a/wp-content/plugins/advanced-access-manager/application/control/object/post.php +++ /dev/null @@ -1,338 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index c695408..0000000 --- a/wp-content/plugins/advanced-access-manager/application/control/object/term.php +++ /dev/null @@ -1,222 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index a2639cc..0000000 --- a/wp-content/plugins/advanced-access-manager/application/control/subject.php +++ /dev/null @@ -1,468 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * Abstract Subject Controller - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index 47d5ddc..0000000 --- a/wp-content/plugins/advanced-access-manager/application/control/subject/role.php +++ /dev/null @@ -1,289 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index d80ab47..0000000 --- a/wp-content/plugins/advanced-access-manager/application/control/subject/user.php +++ /dev/null @@ -1,395 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * User's Subject - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index 5ddeb07..0000000 --- a/wp-content/plugins/advanced-access-manager/application/control/subject/visitor.php +++ /dev/null @@ -1,201 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index 853b82a..0000000 --- a/wp-content/plugins/advanced-access-manager/application/core/api.php +++ /dev/null @@ -1,215 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index e9ca84f..0000000 --- a/wp-content/plugins/advanced-access-manager/application/core/configpress.php +++ /dev/null @@ -1,164 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * ConfigPress handler - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index 4cbaacd..0000000 --- a/wp-content/plugins/advanced-access-manager/application/core/console.php +++ /dev/null @@ -1,71 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * AAM Core Consol Panel - * - * Track and display list of all warnings that has been detected during AAM - * execution. The consol is used only when AAM interface was triggered in Admin side. - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index b8df1a1..0000000 --- a/wp-content/plugins/advanced-access-manager/application/core/extension.php +++ /dev/null @@ -1,89 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * AAM Core Extension - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index d2ebb76..0000000 --- a/wp-content/plugins/advanced-access-manager/application/core/repository.php +++ /dev/null @@ -1,393 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * Extension Repository - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index 1dc45fe..0000000 --- a/wp-content/plugins/advanced-access-manager/application/core/request.php +++ /dev/null @@ -1,110 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index 58e0c1a..0000000 --- a/wp-content/plugins/advanced-access-manager/application/core/settings.php +++ /dev/null @@ -1,89 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * Core Plugin Settings - * - * Collection of core and default settings that are used across the plugin - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index 846e775..0000000 --- a/wp-content/plugins/advanced-access-manager/application/core/update.php +++ /dev/null @@ -1,147 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * AAM Plugin Update Hook - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index e9419a4..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/abstract.php +++ /dev/null @@ -1,148 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * Abstract class for all View Models - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index 8b60200..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/capability.php +++ /dev/null @@ -1,225 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index e13f7bb..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/collection.php +++ /dev/null @@ -1,285 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * View collection - * - * Collection of features and subjects - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index 2698b4f..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/configpress.php +++ /dev/null @@ -1,30 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index 47062f4..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/event.php +++ /dev/null @@ -1,83 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index da2707d..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/extension.php +++ /dev/null @@ -1,115 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * Extension UI controller - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index 9498e25..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/help.php +++ /dev/null @@ -1,51 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index 892ffcf..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/manager.php +++ /dev/null @@ -1,873 +0,0 @@ -<?php -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * Main UI Controller - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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)){ - ?> - <div class="feature-list"> - <?php - foreach ($features as $feature) { - echo '<div class="feature-item" feature="' . $feature->uid . '">'; - echo '<span>' . $feature->title . '</span></div>'; - } - ?> - </div> - <div class="feature-content"> - <?php - foreach ($features as $feature) { - echo $feature->controller->content($this->getSubject()); - } - ?> - </div> - <br class="clear" /> - <?php - } else { - echo '<p class="feature-list-empty">'; - echo __('You are not allowed to manage any AAM Features.', 'aam'); - echo '</p>'; - } - 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 <b>%s</b> will be deleted automatically!', 'aam'), - 'Delete Role Message' => __('Are you sure that you want to delete role <b>%s</b>?', '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 <b>%s</b>?', '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 <b>%s</b>?', '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 <b>%s</b>?', 'aam'), - 'Trash Post Message' => __('Are you sure you want to move <b>%s</b> 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' => __('<h3>AAM Documentation</h3><div class="inner">Find more information about Advanced Access Manager here.</div>', '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 deleted file mode 100644 index d64f5ca..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/menu.php +++ /dev/null @@ -1,150 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index d357d70..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/metabox.php +++ /dev/null @@ -1,303 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * Metaboxes & Widgets Tab Controller - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 = '<div id="metabox_list">'; - foreach ($list as $screen => $metaboxes) { - $content .= '<div class="group">'; - switch ($screen) { - case 'dashboard': - $content .= '<h4>' . __('Dashboard Widgets', 'aam') . '</h4>'; - break; - - case 'widgets': - $content .= '<h4>' . __('Frontend Widgets', 'aam') . '</h4>'; - break; - - default: - $content .= '<h4>' . $wp_post_types[$screen]->labels->name; - $content .= '</h4>'; - break; - } - $content .= '<div>'; - $content .= '<div class="metabox-group">'; - $i = 1; - $metaboxControl = $this->getSubject()->getObject( - aam_Control_Object_Metabox::UID - ); - foreach ($metaboxes as $metabox) { - if ($i++ == 1) { - $content .= '<div class=metabox-row>'; - } - //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 .= '<div class="metabox-item">'; - $content .= sprintf( - '<label for="%s" aam-tooltip="%s">%s</label>', - $metabox_id, - esc_js($metabox['title']), - $title - ); - $content .= sprintf( - '<input type="checkbox" id="%s" name="aam[%s][%s][%s]" %s />', - $metabox_id, - aam_Control_Object_Metabox::UID, - $screen, - $metabox['id'], - $checked - ); - $content .= '<label for="' . $metabox_id . '"><span></span></label>'; - $content .= '</div>'; - if ($i > 3) { - $content .= '</div>'; - $i = 1; - } - } - if ($i != 1) { - $content .= '</div>'; - } - $content .= '</div></div></div>'; - } - $content .= '</div>'; - - 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 deleted file mode 100644 index 1f72489..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/post.php +++ /dev/null @@ -1,549 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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' => '<i>' . __('[empty]', 'aam') . '</i>', - '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 deleted file mode 100644 index 751cc16..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/role.php +++ /dev/null @@ -1,140 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index e469df8..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/tmpl/capability.phtml +++ /dev/null @@ -1,84 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ -?> -<div class="feature-content-container" id="capability_content"> - <table id="capability_list"> - <thead> - <tr> - <th>Capability ID</th> - <th>Checked</th> - <th width="35%"><?php echo __('Category', 'aam'); ?></th> - <th width="50%"><?php echo __('Capability', 'aam'); ?></th> - <th><?php echo __('Control', 'aam'); ?></th> - </tr> - </thead> - <tbody></tbody> - </table> - - <div id="filter_capability_dialog" class="aam-dialog" title="<?php echo __('Filter Capability List', 'aam'); ?>"> - <table id="capability_group_list"> - <thead> - <tr> - <th><?php echo __('Group Name', 'aam'); ?></th> - <th><?php echo __('Select', 'aam'); ?></th> - </tr> - </thead> - <tbody> - <?php foreach ($this->getGroupList() as $group) { ?> - <tr> - <td><?php echo $group; ?></td> - <td> - <div class="aam-list-row-actions"> - <a href="#" class="aam-icon aam-icon-small aam-icon-select"><span></span></a> - </div> - </td> - </tr> - <?php } ?> - </tbody> - </table> - </div> - - <div id="copy_role_dialog" class="aam-dialog" title="<?php echo __('Inherit Capabilities', 'aam'); ?>"> - <table id="copy_role_list"> - <thead> - <tr> - <th>Role ID</th> - <th>User Count</th> - <th width="80%"><?php echo __('Role Name', 'aam'); ?></th> - <th><?php echo __('Action', 'aam'); ?></th> - </tr> - </thead> - <tbody></tbody> - </table> - <div class="aam-metabox-loader"></div> - </div> - - <div id="capability_form_dialog" class="aam-dialog" title="<?php echo __('Add New Capability', 'aam'); ?>"> - <table class="dataTable"> - <tbody> - <tr> - <th class="aam-align-right"><?php echo __('Capability Name', 'aam'); ?><span class="aam-asterix">*</span>:</th> - <td><input type="text" id="capability_name" class="aam-input" /></td> - </tr> - <tr> - <th class="aam-align-right"><?php echo __('Keep Unfiltered', 'aam'); ?>:</th> - <td> - <input type="checkbox" id="capability_unfiltered" /> - <label for="capability_unfiltered"><span></span></label> - </td> - </tr> - </tbody> - </table> - <div class="aam-metabox-loader"></div> - </div> - - <div id="delete_capability" class="aam-dialog" title="<?php echo __('Delete Capability', 'aam'); ?>"> - <p class="dialog-content"></p> - </div> -</div> \ 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 deleted file mode 100644 index 43539ea..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/tmpl/configpress.phtml +++ /dev/null @@ -1,161 +0,0 @@ -<?php -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ -?> -<div class="wrap" id="aam"> - <div class="postbox-container" style="width:70%;" id="configpress_area"> - <div class="metabox-holder"> - <div class="meta-box-sortables"> - <div class="postbox"> - <div class="handlediv" title="<?php echo __('Click to toggle', 'aam'); ?>"></div> - <h3 class="hndle"> - <span> - <?php echo __('AAM ConfigPress', 'aam'); ?> - </span> - </h3> - <div class="inside"> - <textarea id="configpress" style="width:100%; height: 400px;"><?php echo aam_Core_ConfigPress::read(); ?></textarea> - </div> - </div> - </div> - </div> - </div> - - <div class="postbox-container" style="width:70%; display: none;" id="configpress_info"> - <div class="metabox-holder"> - <div class="meta-box-sortables"> - <div class="postbox"> - <div class="handlediv" title="<?php echo __('Click to toggle', 'aam'); ?>"></div> - <h3 class="hndle"> - <span> - <?php echo __('AAM ConfigPress Information', 'aam'); ?> - </span> - </h3> - <div class="inside"> - <p> - Below is the list of all possible ConfigPress settings with explanation: - <pre style="background:#fff;color:#000"> -<span style="color:#05a;font-weight: bold;">[aam]</span> -<span style="color:#00b418">#Define default access to admin menu items if it was not configured.</span> -<span style="color:#00b418">#By default it is set to</span> <span style="color:#d80800">"allow"</span>. -<span style="color:#0100b6;font-weight:700;">menu.undefined</span> = <span style="color:#d80800">"deny"</span> -<span style="color:#00b418">#Change the default access capability to AAM->Access Control screen.</span> -<span style="color:#00b418">#By default capability is <b>administrator</b>.</span> -<span style="color:#0100b6;font-weight:700;">page.access_control.capability</span> = <span style="color:#d80800">"aam_manager"</span> -<span style="color:#00b418">#Change the default access capability to AAM->ConfigPress screen.</span> -<span style="color:#00b418">#By default capability is <b>administrator</b>.</span> -<span style="color:#0100b6;font-weight:700;">page.configpress.capability</span> = <span style="color:#d80800">"configpress_guru"</span> -<span style="color:#00b418">#Change the default access capability to AAM->Extensions screen.</span> -<span style="color:#00b418">#By default capability is <b>administrator</b>.</span> -<span style="color:#0100b6;font-weight:700;">page.extensions.capability</span> = <span style="color:#d80800">"aam_extensions_manager"</span> -<span style="color:#00b418">#If there is no access defined for specific post or page, by default AAM tries to inherit</span> -<span style="color:#00b418">#settings from parent category. Below setting can change this behavior.</span> -<span style="color:#0100b6;font-weight:700;">post.inherit</span> = <span style="color:#d80800">"false"</span> -<span style="color:#00b418">#If there is no access defined for specific category, by default AAM tries to inherit</span> -<span style="color:#00b418">#settings from parent category. Below setting can change this behavior.</span> -<span style="color:#0100b6;font-weight:700;">term.inherit</span> = <span style="color:#d80800">"false"</span> -<span style="color:#00b418">#To speed up the AAM execution, the result can be cached.</span> -<span style="color:#00b418">#The cache is automatically flush during plugin update or when you hit Save button.</span> -<span style="color:#0100b6;font-weight:700;">caching</span> = <span style="color:#d80800">"true"</span> -<span style="color:#00b418">#Unlock restricted features in AAM for one administrator. By default you are not</span> -<span style="color:#00b418">#allowed to manager other administrators.</span> -<span style="color:#0100b6;font-weight:700;">super_admin</span> = <span style="color:#d80800">"true"</span> -<span style="color:#00b418">#Keep the native name for newly created roles. Each WordPress role like</span> -<span style="color:#00b418">#Editor or Contributor has internal ID (usually lowercase equivalent) and title.</span> -<span style="color:#00b418">#Each time you create new role with AAM, the ID is changed to something like aam_78koi9831933i.</span> -<span style="color:#00b418">#Setting below suppresses this behavior and keep the name in lowercase format.</span> -<span style="color:#0100b6;font-weight:700;">native_role_id</span> = <span style="color:#d80800">"true"</span> -<span style="color:#00b418">#Control access to Edit Permalink feature (Permalink block under the post or page title).</span> -<span style="color:#00b418">#If this feature is activated, make sure that you created the custom capability "Manage Permalink"</span> -<span style="color:#00b418">#By default this feature is deactivated.</span> -<span style="color:#0100b6;font-weight:700;">control_permalink</span> = <span style="color:#d80800">"false"</span> - -<span style="color:#05a;font-weight: bold;">[backend]</span> -<span style="color:#00b418">#Defines redirect behavior when access is denied to any backend resource like menu</span> -<span style="color:#00b418">#or post. It can be whether valid URL or post/page ID number.</span> -<span style="color:#00b418">#By default it will show <b>Access Denied</b> message.</span> -<span style="color:#0100b6;font-weight:700;">access.deny.redirect</span> = <span style="color:#d80800">"http://someurlhere.in"</span> -<span style="color:#00b418">#Redefine default <b>Access Denied</b> message.</span> -<span style="color:#0100b6;font-weight:700;">access.deny.message</span> = <span style="color:#d80800">"Oops. This is restricted area"</span> - -<span style="color:#05a;font-weight: bold;">[frontend]</span> -<span style="color:#00b418">#Defines redirect behavior when access is denied to any frontend resource like page</span> -<span style="color:#00b418">#or post. It can be whether valid URL or post/page ID number.</span> -<span style="color:#00b418">#By default it will show <b>Access Denied</b> message.</span> -<span style="color:#0100b6;font-weight:700;">access.deny.redirect</span> = <span style="color:#d80800">"http://someurlhere.in"</span> -<span style="color:#00b418">#Redefine default <b>Access Denied</b> message.</span> -<span style="color:#0100b6;font-weight:700;">access.deny.message</span> = <span style="color:#d80800">"Oops. This is restricted area"</span> - </pre> - </p> - </div> - </div> - </div> - </div> - </div> - - <?php if (aam_Core_Console::hasIssues()) { ?> - <div class="postbox-container" style="width:25%; margin-left: 2%;"> - <div class="metabox-holder"> - <div class="meta-box-sortables"> - <div class="postbox"> - <div class="handlediv" title="<?php echo __('Click to toggle', 'aam'); ?>"></div> - <h3 class="hndle"> - <span><?php echo __('AAM Warnings', 'aam'); ?></span> - </h3> - <div class="inside"> - <?php foreach (aam_Core_Console::getWarnings() as $warning) { ?> - <div class="aam-warning"><span><?php echo $warning; ?></span></div> - <?php } ?> - </div> - </div> - </div> - </div> - </div> - <?php } ?> - - <div class="postbox-container" style="width:25%; margin-left: 2%;"> - <div class="metabox-holder"> - <div class="meta-box-sortables"> - <div class="postbox" id="control_panel"> - <div class="handlediv" title="<?php echo __('Click to toggle', 'aam'); ?>"></div> - <h3 class="hndle"> - <span><?php echo __('Control Panel', 'aam'); ?></span> - </h3> - <div class="inside"> - <div class="large-icons-row"> - <a href="#" class="aam-icon aam-icon-large aam-icon-large-save" id="save_config" > - <span></span><?php echo __('Save', 'aam'); ?> - </a> - <a href="#" class="aam-icon aam-icon-large aam-icon-large-info" id="info_screen" > - <span></span><?php echo __('Info', 'aam'); ?> - </a> - <a href="#" class="aam-icon aam-icon-large aam-icon-large-editor" style="display: none;" id="configpress_screen" > - <span></span><?php echo __('Editor', 'aam'); ?> - </a> - </div> - <div class="medium-icons-row"> - <a href="https://twitter.com/wpaam" target="_blank" class="aam-icon aam-icon-medium aam-icon-medium-twitter" aam-tooltip="<?php echo __('Follow @wpaam', 'aam'); ?>"> - <span></span><?php echo __('Follow', 'aam'); ?> - </a> - <a href="http://wpaam.com/support" target="_blank" class="aam-icon aam-icon-medium aam-icon-medium-help" aam-tooltip="<?php echo __('Help Forum', 'aam'); ?>"> - <span></span><?php echo __('Help', 'aam'); ?> - </a> - <a href="mailto:support@wpaam.com" class="aam-icon aam-icon-medium aam-icon-medium-message" id="aam_message" aam-tooltip="<?php echo __('E-mail Us', 'aam'); ?>"> - <span></span><?php echo __('E-mail Us', 'aam'); ?> - </a> - <a href="http://wordpress.org/support/view/plugin-reviews/advanced-access-manager" target="_blank" class="aam-icon aam-icon-medium aam-icon-medium-star" aam-tooltip="<?php echo __('Rate AAM', 'aam'); ?>"> - <span></span><?php echo __('Rate Us', 'aam'); ?> - </a> - </div> - </div> - </div> - </div> - </div> - </div> -</div> - - 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 deleted file mode 100644 index fb13209..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/tmpl/control_area.phtml +++ /dev/null @@ -1,242 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ -global $wp_taxonomies; - -if (aam_Core_Request::post('type') === aam_Control_Object_Term::UID) { - $object = $this->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'){ -?> - <div class="attachment-access-block"> - Get better access control over your media files with - <b><a href="http://wpaam.com/aam-extensions/aam-media-manager/" target="_blank">AAM Media Manager</a></b> - extension. - </div> -<?php -} -if ($object->getUID() == aam_Control_Object_Term::UID) { ?> - <div id="term_access"> - <table class="dataTable" id="term_access_frontend"> - <thead> - <tr> - <th colspan="2" class="term-access-title"> - <?php echo $this->getObjectTitle('term', $object->getTerm()->taxonomy) . ' ' . __('Access', 'aam'); ?> - </th> - </tr> - <tr> - <th><?php echo __('Capability', 'aam'); ?></th> - <th><?php echo __('Restrict', 'aam'); ?></th> - </tr> - </thead> - <tbody> - <?php - $term_fcaps = aam_Core_ConfigPress::getParam( - 'aam.term.' . $object->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) { - ?> - <tr class="<?php echo ($i % 2 ? 'event' : 'odd'); ?>"> - <td> - <div class="post-access"> - <?php echo __($action, 'aam'); ?> - </div> - </td> - <td> - <div class="aam-list-row-actions"> - <div class="post-action"> - <input type="checkbox" id="term_frontend_<?php echo $action; ?>" name="access[term][frontend][<?php echo $action; ?>]" <?php echo ($object->has('frontend', $action) ? 'checked="checked"' : ''); ?> /> - <label for="term_frontend_<?php echo $action; ?>"> - <span></span> - </label> - </div> - </div> - </td> - </tr> - <?php } ?> - </tbody> - </table> - - <table class="dataTable" id="term_access_backend"> - <thead> - <tr> - <th colspan="2" class="term-access-title"> - <?php echo $this->getObjectTitle('term', $object->getTerm()->taxonomy) . ' ' . __('Access', 'aam'); ?> - </th> - </tr> - <tr> - <th><?php echo __('Capability', 'aam'); ?></th> - <th><?php echo __('Restrict', 'aam'); ?></th> - </tr> - </thead> - <tbody> - <?php - $term_bcaps = aam_Core_ConfigPress::getParam( - 'aam.term.' . $object->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) { - ?> - <tr class="<?php echo ($i % 2 ? 'event' : 'odd'); ?>"> - <td> - <div class="post-access"> - <?php echo __($action, 'aam'); ?> - </div> - </td> - <td> - <div class="aam-list-row-actions"> - <div class="post-action"> - <input type="checkbox" id="term_backend_<?php echo $action ?>" name="access[term][backend][<?php echo $action; ?>]" <?php echo ($object->has('backend', $action) ? 'checked="checked"' : ''); ?> /> - <label for="term_backend_<?php echo $action ?>"> - <span></span> - </label> - </div> - </div> - </td> - </tr> - <?php } ?> - </tbody> - </table> - </div> -<?php } ?> -<div id="post_access" class="post-access-list"> - <table class="dataTable" id="post_access_frontend"> - <thead> - <tr> - <th colspan="2" class="post-access-title"> - <?php if (($object->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'); - } - ?> - </th> - </tr> - <tr> - <th><?php echo __('Capability', 'aam'); ?></th> - <th><?php echo __('Restrict', 'aam'); ?></th> - </tr> - </thead> - <tbody> - <?php - $post_fcaps = aam_Core_ConfigPress::getParam( - 'aam.post.' . $post_type . '.caps.frontend', - apply_filters( - 'aam_post_access_list', - aam_Core_Settings::get('post_frontend_restrictions'), - 'frontend', - $object, - $post_type - ) - ); - foreach ($post_fcaps as $i => $action) { - ?> - <tr class="<?php echo ($i % 2 ? 'event' : 'odd'); ?>"> - <td> - <div class="post-access"> - <?php echo __($action, 'aam'); ?> - </div> - </td> - <td> - <div class="aam-list-row-actions"> - <div class="post-action post-action-check"> - <input type="checkbox" id="post_frontend_<?php echo $action ?>" name="access[post][frontend][<?php echo $action; ?>]" <?php echo ($object->has('frontend', $action) ? 'checked="checked"' : ''); ?> /> - <label for="post_frontend_<?php echo $action ?>"> - <span></span> - </label> - </div> - </div> - </td> - </tr> - <?php } ?> - </tbody> - </table> - <table class="dataTable" id="post_access_backend"> - <thead> - <tr> - <th colspan="2" class="post-access-title"> - <?php if (($object->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'); - } - ?> - </th> - </tr> - <tr> - <th><?php echo __('Capability', 'aam'); ?></th> - <th><?php echo __('Restrict', 'aam'); ?></th> - </tr> - </thead> - <tbody> - <?php - $post_bcaps = aam_Core_ConfigPress::getParam( - 'aam.post.' . $post_type . '.caps.backend', - apply_filters( - 'aam_post_access_list', - aam_Core_Settings::get('post_backend_restrictions'), - 'backend', - $object, - $post_type - ) - ); - foreach ($post_bcaps as $i => $action) { - ?> - <tr class="<?php echo ($i % 2 ? 'event' : 'odd'); ?>"> - <td> - <div class="post-access"> - <?php echo __($action, 'aam'); ?> - </div> - </td> - <td> - <div class="aam-list-row-actions"> - <div class="post-action post-action-check"> - <input type="checkbox" id="post_backend_<?php echo $action ?>" name="access[post][backend][<?php echo $action; ?>]" <?php echo ($object->has('backend', $action) ? 'checked="checked"' : ''); ?> /> - <label for="post_backend_<?php echo $action ?>"> - <span></span> - </label> - </div> - </div> - </td> - </tr> - <?php } ?> - </tbody> - </table> - <div class="post-access-block"> - <a href="#" class="aam-lock-big"> - <span><?php echo __('Get AAM Plus Package', 'aam'); ?></span> - </a> - </div> -</div> \ 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 deleted file mode 100644 index a994ea3..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/tmpl/event.phtml +++ /dev/null @@ -1,109 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ -?> -<div class="feature-content-container" id="event_manager_content"> - <table id="event_list"> - <thead> - <tr> - <th width="30%"><?php echo __('Event', 'aam'); ?></th> - <th><?php echo __('Event Specifier', 'aam'); ?></th> - <th width="25%"><?php echo __('Bind Post Type', 'aam'); ?></th> - <th width="30%"><?php echo __('Action', 'aam'); ?></th> - <th><?php echo __('Action Specifier', 'aam'); ?></th> - <th><?php echo __('Control', 'aam'); ?></th> - </tr> - </thead> - <tbody></tbody> - </table> - <div id="manage_event_dialog" class="aam-dialog" title="<?php echo __('Manager Event'); ?>"> - <table class="aam-form-table"> - <tbody> - <tr> - <th width="40%"><?php echo __('Event', 'aam'); ?><span class="aam-asterix">*</span>:</th> - <td> - <select id="event_event"> - <option value="status_change"><?php echo __('Post Status Change', 'aam'); ?></option> - <option value="content_change"><?php echo __('Post Content Change', 'aam'); ?></option> - </select> - </td> - </tr> - <tr id="status_changed" style="display: none;"> - <th><?php echo __('Status Changed To', 'aam'); ?><span class="aam-asterix">*</span>:</th> - <td> - <select id="event_specifier"> - <?php - foreach ($this->getPostStatuses() as $status => $config) { - if ($config->show_in_admin_status_list) { - echo '<option value="' . $status . '">'; - echo $config->label . '</option>'; - } - } - ?> - </select> - </td> - </tr> - <tr> - <th><?php echo __('Bind to Post Type', 'aam'); ?><span class="aam-asterix">*</span>:</th> - <td> - <select id="event_bind"> - <?php - foreach ($this->getPostTypes() as $post => $config) { - echo '<option value="' . $post . '">'; - echo $config->labels->name . '</option>'; - } - ?> - </select> - </td> - </tr> - <tr> - <th><?php echo __('Action', 'aam'); ?><span class="aam-asterix">*</span>:</th> - <td> - <select id="event_action"> - <option value="notify"><?php echo __('Email Notification', 'aam'); ?></option> - <option value="change_status"><?php echo __('Change Status', 'aam'); ?></option> - <option value="callback"><?php echo __('Callback', 'aam'); ?></option> - </select> - </td> - </tr> - <tr id="event_specifier_notify_holder" class="event-specifier"> - <th><?php echo __('Email Address', 'aam'); ?><span class="aam-asterix">*</span>:</th> - <td> - <input type="text" id="event_specifier_notify" /> - </td> - </tr> - <tr id="event_specifier_change_status_holder" class="event-specifier"> - <th><?php echo __('Change Status To', 'aam'); ?><span class="aam-asterix">*</span>:</th> - <td> - <select id="event_specifier_change_status"> - <?php - foreach ($this->getPostStatuses() as $status => $config) { - if ($config->show_in_admin_status_list) { - echo '<option value="' . $status . '">'; - echo $config->label . '</option>'; - } - } - ?> - </select> - </td> - </tr> - <tr id="event_specifier_callback_holder" class="event-specifier"> - <th><?php echo __('Callback Function', 'aam'); ?><span class="aam-asterix">*</span>:</th> - <td> - <input type="text" id="event_specifier_callback" /> - </td> - </tr> - </tbody> - </table> - </div> - - <div id="delete_event" class="aam-dialog" title="<?php echo __('Delete Event', 'aam'); ?>"> - <p class="dialog-content"><?php echo __('Are you sure you want to delete selected Event?', 'aam'); ?></p> - </div> - -</div> \ 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 deleted file mode 100644 index fe93ee6..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/tmpl/extension.phtml +++ /dev/null @@ -1,234 +0,0 @@ -<?php -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ -?> -<div class="wrap" id="aam"> - <div class="postbox-container" style="width:70%;"> - <div class="metabox-holder"> - <div class="meta-box-sortables"> - <div class="postbox"> - <div class="handlediv" title="<?php echo __('Click to toggle', 'aam'); ?>"></div> - <h3 class="hndle"> - <span> - <?php echo __('Extension List', 'aam'); ?> - </span> - </h3> - <div class="inside"> - <table id="extension_list"> - <thead> - <tr> - <th width="25%"><?php echo __('Name', 'aam'); ?></th> - <th width="50%"><?php echo __('Description', 'aam'); ?></th> - <th width="10%"><?php echo __('Price', 'aam'); ?></th> - <th><?php echo __('Actions', 'aam'); ?></th> - </tr> - </thead> - <tbody> - <tr> - <td> - <span class="extension-name">AAM Plus Package</span> - </td> - <td class="extension-description"> - This Extension extends default AAM basic features and unlock some limitations. - Add custom taxonomy <b>Page Category</b> to ground pages into categories; - Unlock the limitation for Post Access control; - Add additional Capability Group <b>Comments</b> with the set of capabilities to control default comment - actions like <b>Reply</b>, <b>Mark Spam</b>, <b>Trash</b>, <b>Delete</b> etc; - Add possibility to setup default post or page access. - For more details, please visit our forum. - </td> - <td class="extension-price payed">$30.00</td> - <td> - <div class="extension-actions"> - <a href="http://wpaam.com/aam-extensions/aam-plus-package/" target="_blank" class="extension-action extension-action-forum" aam-tooltip="Visit Our Website"></a> - <?php if ($this->getRepository()->hasExtension('AAM Plus Package')) { ?> - <a href="#" extension="AAM Plus Package" license="<?php echo $this->getRepository()->getLicense('AAM Plus Package'); ?>" class="extension-action extension-action-ok view-license-btn" aam-tooltip="Installed Successfully"></a> - <?php } else { ?> - <a href="#" extension="AAM Plus Package" link="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=UEM8U65HFEG4Q" class="extension-action extension-action-purchase add-license-btn" aam-tooltip="Get it Today"></a> - <?php } ?> - </div> - </td> - </tr> - <tr> - <td> - <span class="extension-name">AAM Activities</span> - </td> - <td class="extension-description"> - Extend the list of activities that AAM can track. By default AAM logs only user <i>login</i> and <i>logout</i>. - 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 <a href="http://wpaam.com/aam-extensions/aam-activities/" traget="_blank">our website</a> for more details. - </td> - <td class="extension-price payed">$20.00</td> - <td> - <div class="extension-actions"> - <a href="http://wpaam.com/aam-extensions/aam-activities/" target="_blank" class="extension-action extension-action-forum" aam-tooltip="Visit Our Website"></a> - <?php if ($this->getRepository()->hasExtension('AAM Activities')) { ?> - <a href="#" extension="AAM Activities" license="<?php echo $this->getRepository()->getLicense('AAM Activities'); ?>" class="extension-action extension-action-ok view-license-btn" aam-tooltip="Installed Successfully"></a> - <?php } else { ?> - <a href="#" extension="AAM Activities" link="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=HME9DTSFSJH4W" class="extension-action extension-action-purchase add-license-btn" aam-tooltip="Get it Today"></a> - <?php } ?> - </div> - </td> - </tr> - <tr> - <td> - <span class="extension-name">AAM Media Manager</span> - </td> - <td class="extension-description"> - It is the first official prototype that allows you to group your media files in Categories. - Visit our <a href="http://wpaam.com/aam-extensions/aam-media-manager/" target="_blank">website</a> - to find out more about current functionality and future development plans. - </td> - <td class="extension-price payed">$10.00</td> - <td> - <div class="extension-actions"> - <a href="http://wpaam.com/aam-extensions/aam-media-manager/" target="_blank" class="extension-action extension-action-forum" aam-tooltip="Visit Our Website"></a> - <?php if ($this->getRepository()->hasExtension('AAM Media Manager')) { ?> - <a href="#" extension="AAM Media Manager" license="<?php echo $this->getRepository()->getLicense('AAM Media Manager'); ?>" class="extension-action extension-action-ok view-license-btn" aam-tooltip="Installed Successfully"></a> - <?php } else { ?> - <a href="#" extension="AAM Media Manager" link="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=WJ48A7Z6EFZJ4" class="extension-action extension-action-purchase add-license-btn" aam-tooltip="Get it Today"></a> - <?php } ?> - </div> - </td> - </tr> - <tr> - <td> - <span class="extension-name">AAM Content Filter</span> - </td> - <td class="extension-description"> - 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 <a href="http://wpaam.com/aam-extensions/aam-content-filter/" target="_blank">website</a> for more information. - </td> - <td class="extension-price payed">$15.00</td> - <td> - - <div class="extension-actions"> - <a href="http://wpaam.com/aam-extensions/aam-content-filter/" target="_blank" class="extension-action extension-action-forum" aam-tooltip="Visit Our Website"></a> - <?php if ($this->getRepository()->hasExtension('AAM Content Filter')) { ?> - <a href="#" extension="AAM Content Filter" license="<?php echo $this->getRepository()->getLicense('AAM Content Filter'); ?>" class="extension-action extension-action-ok view-license-btn" aam-tooltip="Installed Successfully"></a> - <?php } else { ?> - <a href="#" extension="AAM Content Filter" link="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=X7NZ7QF8A9CVS" class="extension-action extension-action-purchase add-license-btn" aam-tooltip="Get it Today"></a> - <?php } ?> - </div> - </td> - </tr> - <tr> - <td> - <span class="extension-name">AAM Plugin Manager</span> - </td> - <td class="extension-description"> - 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 <a href="http://wpaam.com/aam-development/aam-plugin-manager/" target="_blank">website</a> for more information. - </td> - <td class="extension-price payed">$10.00</td> - <td> - <div class="extension-actions"> - <a href="http://wpaam.com/aam-development/aam-plugin-manager/" target="_blank" class="extension-action extension-action-forum" aam-tooltip="Visit Our Website"></a> - <?php if ($this->getRepository()->hasExtension('AAM Plugin Manager')) { ?> - <a href="#" extension="AAM Plugin Manager" license="<?php echo $this->getRepository()->getLicense('AAM Content Filter'); ?>" class="extension-action extension-action-ok view-license-btn" aam-tooltip="Installed Successfully"></a> - <?php } else { ?> - <a href="#" extension="AAM Plugin Manager" link="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QJ2H2J483VXPL" class="extension-action extension-action-purchase add-license-btn" aam-tooltip="Get it Today"></a> - <?php } ?> - </div> - </td> - </tr> - </tbody> - </table> - <div id="install_license" class="aam-dialog" title="<?php echo __('Install License', 'aam'); ?>"> - <p class="dialog-content"> - <?php echo __('If you already have license key, just enter it below. Othewise click <b>Purchase</b> button to checkout your order.', 'aam'); ?> - <input type="text" class="license-input" id="license_key" placeholder="License Key" /> - </p> - <ul class="license-error-list"></ul> - </div> - <div id="update_license" class="aam-dialog" title="<?php echo __('Update License', 'aam'); ?>"> - <p class="dialog-content" style="text-align: center;"> - <?php echo __('Your license key: ', 'aam'); ?><br/> - <b><span id="installed_license_key"></span></b> - </p> - <ul class="license-error-list"></ul> - </div> - </div> - </div> - </div> - </div> - </div> - - <?php if (aam_Core_Console::hasIssues()) { ?> - <div class="postbox-container" style="width:25%; margin-left: 2%;"> - <div class="metabox-holder"> - <div class="meta-box-sortables"> - <div class="postbox"> - <div class="handlediv" title="<?php echo __('Click to toggle', 'aam'); ?>"></div> - <h3 class="hndle"> - <span><?php echo __('AAM Warnings', 'aam'); ?></span> - </h3> - <div class="inside"> - <?php foreach (aam_Core_Console::getWarnings() as $warning) { ?> - <div class="aam-warning"><span><?php echo $warning; ?></span></div> - <?php } ?> - </div> - </div> - </div> - </div> - </div> - <?php } ?> - - <div class="postbox-container" style="width:25%; margin-left: 2%;"> - <div class="metabox-holder"> - <div class="meta-box-sortables"> - <div class="postbox"> - <div class="handlediv" title="<?php echo __('Click to toggle', 'aam'); ?>"></div> - <h3 class="hndle"> - <span><?php echo __('Connect with AAM', 'aam'); ?></span> - </h3> - <div class="inside"> - <div class="large-icons-row"> - <a href="https://twitter.com/wpaam" class="aam-icon aam-icon-large aam-icon-large-twitter" aam-tooltip="Follow @wpaam" target="_blank"> - <span></span><?php echo __('Follow Us', 'aam'); ?> - </a> - <a href="mailto:support@wpaam.com" class="aam-icon aam-icon-large aam-icon-large-message" aam-tooltip="Send Us Email"> - <span></span><?php echo __('Send Message', 'aam'); ?> - </a> - <a href="http://wpaam.com" class="aam-icon aam-icon-large aam-icon-large-link" aam-tooltip="Visit Us" target="_blank"> - <span></span><?php echo __('Website', 'aam'); ?> - </a> - </div> - </div> - </div> - </div> - </div> - </div> - - <div class="postbox-container" style="width:25%; margin-left: 2%;"> - <div class="metabox-holder"> - <div class="meta-box-sortables"> - <div class="postbox"> - <div class="handlediv" title="<?php echo __('Click to toggle', 'aam'); ?>"></div> - <h3 class="hndle"> - <span style="color:#FF0000;"><?php echo __('Development License', 'aam'); ?></span> - </h3> - <div class="inside"> - <p> - <?php echo __('Get <b>Development License</b> for $119 and receive access to all extensions that are available today and will be developed within a year.', 'aam'); ?> - <a href="http://wpaam.com/aam-development/aam-development-license/" target="_blank"><?php echo __('Read More', 'aam'); ?></a> - </p> - <div style="text-align: center;"> - <?php if ($this->getRepository()->hasLicense('AAM Development License')) { ?> - <a href="#" extension="AAM Development License" license="<?php echo $this->getRepository()->getLicense('AAM Development License'); ?>" class="button button-primary button-large view-license-btn"><?php echo __('View License', 'aam'); ?></a> - <?php } else { ?> - <a href="#" extension="AAM Development License" link="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3Q6UDARTR532U" class="button button-primary button-large add-license-btn"><?php echo __('Add License', 'aam'); ?></a> - <?php } ?> - - </div> - </div> - </div> - </div> - </div> - </div> -</div> \ 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 deleted file mode 100644 index a0696ed..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/tmpl/help_developers.phtml +++ /dev/null @@ -1,29 +0,0 @@ -<h2>AAM Development Framework</h2> - -<p> - Are you passionate about WordPress development? We are too! Become a member of - the AAM community and obtain our - <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3Q6UDARTR532U" target="_blank">Exclusive Development License</a> - where you can profit from your own ideas and have access to all AAM extensions. -</p> - -<p> - 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. -</p> - -<p> - You can download the sample extension from our official - <a href="https://github.com/wpaam/AAM-Feature-Example" target="_blank">GitHub Repository</a> - and customize it to your special need. -</p> - -<p> - Additionally the - <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3Q6UDARTR532U" target="_blank">AAM Development License</a> - gives you an opportunity to download <b>ALL</b> AAM extensions that are available - now and all new extensions that will be developed within a year from the time of purchase. -</p> \ 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 deleted file mode 100644 index 4583b98..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/tmpl/help_extensions.phtml +++ /dev/null @@ -1,16 +0,0 @@ -<h2>AAM Extensions</h2> - -<p> - 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. -</p> -<p> - 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. -</p> -<p> - In case of any issues with license key, we guaranty to resolve the issue within one business day. - Otherwise your money back. -</p> \ 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 deleted file mode 100644 index 06830dd..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/tmpl/help_faq.phtml +++ /dev/null @@ -1,38 +0,0 @@ -<h2>Frequently Asked Questions</h2> - -<h4>What is Advanced Access Manager?</h4> -<p> - 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. -</p> - -<h4>What should I know to understand how AAM works?</h4> -<p> - Best way to learn more about AAM is to check our - <a href="http://wpaam.com/tutorials/" target="_blank">collection of tutorials</a>. - From here you'll get the basic understanding about most important aspects of AAM - functionality. It is also very important to understand how WordPress - <a href="https://codex.wordpress.org/Roles_and_Capabilities" target="_blank">Roles & Capabilities</a> - are organized. -</p> - -<h4>I'm not able to manage Administrator Role. What am I missing?</h4> -<p> - 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 <a href="http://wpaam.com/tutorials/aam-super-admin/" target="_blank">AAM Super Admin</a>. - You can make one user in your system as AAM Super Administrator that is able to manager other - administrators.<br/> - <span style="color:#FF0000; font-weight: bold;">Warning!</span> Do not limit capabilities for Administrator - Role, because even if you are AAM Super Administrator, you still remain WordPress Administrator. -</p> - -<h4>What is ConfigPress?</h4> -<p> - Think about ConfigPress as a settings page but instead of dozens of checkboxes, drop-downs and input fields - you use configuration script based on <a href="http://en.wikipedia.org/wiki/INI_file" target="_blank">INI Standard</a>. - 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. -</p> \ 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 deleted file mode 100644 index f8817cb..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/tmpl/help_overview.phtml +++ /dev/null @@ -1,48 +0,0 @@ -<h2>General Overview</h2> -<p> - 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 <i>role</i> or individual <i>user</i>. -</p> -<p> - 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. -</p> -<p> - Below you can find some of the major feature that are available in current AAM version: -</p> - -<b>Control access to backend menu (including submenu).</b> As example you can restrict -access for <i>role</i> Editor to Menu "Pages" or does not allow any <i>user</i> to -manage Post's Categories.<br/> -<br/> -<b>Filter <i>widgets</i> & <i>metaboxes</i>.</b> Filter the list of metaboxes that any <i>role</i> -or <i>user</i> can see during Post/Page editing. At the same time you can filter the -list of Dashboard and Frontend widgets.<br/> -<br/> -<b>Control access to any <i>post</i>, <i>page</i>, <i>custom post type</i> or <i>category</i>.</b> -You can restrict access to page or post for any <i>user</i> or <i>role</i> as well as -restrict access to entire <i>category</i> 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 <a href="http://wpaam.com/aam-extensions/aam-plus-package/" target="_blank">AAM Plus Package</a>.<br/> -<br/> -<b>Filter Post or Page content.</b> You can filter Post's or Page's content for -currently logged in user or visitor. This feature is available with extension -<a href="http://wpaam.com/aam-extensions/aam-content-filter/" target="_blank">AAM Content Manager</a>.<br/> -<br/> -<b>Manage capabilities for any <i>role</i> or <i>user</i>.</b> -AAM, with simple interface, allows you to grand or remove capabilities for any <i>role</i> or <i>user</i>. -You can also create new custom capability or remove existing.<br/> -<br/> -<b>Create custom actions for system events.</b> 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.<br/> -<br/> -<b>Track <i>user</i> activities.</b> 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 -<a href="http://wpaam.com/aam-extensions/aam-activities/" target="_blank">AAM Activities</a> -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 deleted file mode 100644 index 923d6b6..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/tmpl/manager.phtml +++ /dev/null @@ -1,111 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ -?> -<div class="wrap" id="aam"> - <form action="" method="post" id="aam_form"> - <?php do_action('aam_cmanager_hierarchy'); ?> - <div class="postbox-container" style="width:70%;"> - <div class="metabox-holder"> - <div class="meta-box-sortables"> - <div class="postbox"> - <div class="handlediv" title="<?php echo __('Click to toggle', 'aam'); ?>"></div> - <h3 class="hndle"> - <?php if (aam_Core_API::isNetworkPanel()) { ?> - <span class="current-site"></span> - <?php } ?> - <span class="current-subject"></span> - </h3> - <div class="inside main-inside"> - <div class="aam-main-loader"></div> - <div class="aam-main-content"></div> - </div> - </div> - </div> - </div> - </div> - - <?php if (aam_Core_Console::hasIssues()) { ?> - <div class="postbox-container" style="width:25%; margin-left: 2%;"> - <div class="metabox-holder"> - <div class="meta-box-sortables"> - <div class="postbox"> - <div class="handlediv" title="<?php echo __('Click to toggle', 'aam'); ?>"></div> - <h3 class="hndle"> - <span><?php echo __('AAM Warnings', 'aam'); ?></span> - </h3> - <div class="inside"> - <?php foreach (aam_Core_Console::getWarnings() as $warning) { ?> - <div class="aam-warning"><span><?php echo $warning; ?></span></div> - <?php } ?> - </div> - </div> - </div> - </div> - </div> - <?php } ?> - - <div class="postbox-container" style="width:25%; margin-left: 2%;"> - <div class="metabox-holder" id="control_panel"> - <div class="meta-box-sortables"> - <div class="postbox"> - <div class="handlediv" title="<?php echo __('Click to toggle', 'aam'); ?>"></div> - <h3 class="hndle"> - <span><?php echo __('Control Panel', 'aam'); ?></span> - </h3> - <div class="inside"> - <div class="large-icons-row" id="cpanel_major"> - </div> - <div class="medium-icons-row" id="cpanel_minor"></div> - <div class="aam-metabox-loader"></div> - </div> - <div id="restore_dialog" class="aam-dialog" title="<?php echo __('Undo Change', 'aam'); ?>"> - <p class="dialog-content"><?php echo __('Would your like to role back current settings?', 'aam'); ?></p> - </div> - <div id="message_dialog" class="aam-dialog" title="<?php echo __('E-mail Us', 'aam'); ?>"> - <p class="dialog-content"><?php echo __('Our E-mail address is <b>support@wpaam.com</b>', 'aam'); ?></p> - </div> - </div> - </div> - </div> - - <div class="metabox-holder" id="control_manager"> - <div class="meta-box-sortables"> - <div class="postbox"> - <div class="handlediv" title="<?php echo __('Click to toggle', 'aam'); ?>"></div> - <h3 class="hndle"> - <span><?php echo __('Control Manager', 'aam'); ?></span> - </h3> - <div class="inside"> - <div id="minor-publishing"> - <div id="misc-publishing-actions" class="control-manager"> - <?php - $subjects = aam_View_Collection::retrieveSubjects(); - foreach ($subjects as $subject) { - echo '<a href="#" class="', $subject->class, '" '; - echo 'aam-tooltip="', $subject->title, '" segment="' . $subject->segment . '">'; - echo $subject->label, '</a>'; - } - ?> - </div> - </div> - <div class="control-manager-content"> - <?php - foreach ($subjects as $subject) { - echo $subject->controller->content(); - } - ?> - </div> - </div> - </div> - </div> - </div> - </div> - <br class="clear" /> - </form> -</div> \ 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 deleted file mode 100644 index 0acc32e..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/tmpl/menu.phtml +++ /dev/null @@ -1,76 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ -$menu = $this->getMenu(); -?> -<div class="feature-content-container" id="admin_menu_content"> - <?php if (count($menu)) { ?> - <div class="menu-top-actions"> - <!-- - <div class="menu-top-action-sort-description"> - <span>Drag & Drop the Menu Item to change the order.</span> - </div> - <a href="#" class="menu-top-action-item menu-top-action-sort" tooltip="Sort the Admin Menu"></a> - --> - </div> - <?php } ?> - <div id="main_menu_list"> - <?php - if (count($menu)) { - $menuControl = $this->getSubject()->getObject(aam_Control_Object_Menu::UID); - foreach ($menu as $i => $menu) { - $menu_id = $i . uniqid(); - ?> - <div class="group"> - <h4><?php echo $menu['name']; ?></h4> - <div> - <div class="whole-menu"> - <label for="m<?php echo $menu_id; ?>"><?php echo __('Restrict All', 'aam'); ?></label> - <input type="checkbox" id="m<?php echo $menu_id; ?>" name="aam[<?php echo aam_Control_Object_Menu::UID; ?>][<?php echo $menu['id']; ?>]" <?php echo ($this->hasRestrictedAll($menu) ? 'checked="checked"' : ''); ?> class="whole_menu" /> - <label for="m<?php echo $menu_id; ?>"><span></span></label> - </div> - <?php if (isset($menu['submenu'])) { ?> - <div class="menu-submenu-list" id="submenu_m<?php echo $menu_id; ?>"> - <?php - $c = 1; - foreach ($menu['submenu'] as $j => $submenu) { - if ($c++ === 1) { - echo '<div class="menu-submenu-row">'; - } - ?> - <div class="menu-submenu-item"> - <label for="m<?php echo $menu_id . $j; ?>" aam-tooltip="<?php echo $submenu['name']; ?>" ><?php echo $submenu['short']; ?></label> - <input type="checkbox" id="m<?php echo $menu_id . $j; ?>" name="aam[<?php echo aam_Control_Object_Menu::UID; ?>][<?php echo $submenu['id']; ?>]" <?php echo ($menuControl->has($submenu['id']) ? 'checked="checked"' : ''); ?> /> - <label for="m<?php echo $menu_id . $j; ?>"><span></span></label> - </div> - <?php - if ($c > 3) { - $c = 1; - echo '</div>'; - } - } - if ($c !== 1) { - echo '</div>'; - } - ?> - </div> - <?php } ?> - </div> - </div> - <?php - } - } else { - ?> - <div class="menu-empty-list"> - <span><?php echo __('There is no single menu item allowed for current Role or User', 'aam'); ?></span> - </div> - <?php - } - ?> - </div> -</div> \ 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 deleted file mode 100644 index 56b67df..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/tmpl/metabox.phtml +++ /dev/null @@ -1,21 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ -?> -<div class="feature-content-container" id="metabox_content"> - <div class="metabox-top-actions"> - <div class="metabox-top-action-link"> - <input type="text" class="link-text" id="metabox_link" /> - </div> - <a href="#" class="aam-icon aam-icon-medium aam-icon-medium-add" id="retrieve_url" aam-tooltip="<?php echo __('Retrieve Metaboxes From Link', 'aam') ;?>"><span></span></a> - <a href="#" class="aam-icon aam-icon-medium aam-icon-medium-refresh" id="refresh_metaboxes" aam-tooltip="<?php echo __('Refresh the List', 'aam') ;?>"><span></span></a> - <br class="clear" /> - </div> - <div class="aam-metabox-loader"></div> - <div id="metabox_list_container"></div> -</div> \ 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 deleted file mode 100644 index 2bcbdd0..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/tmpl/post.phtml +++ /dev/null @@ -1,57 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ -?> -<div class="feature-content-container" id="post_access_content"> - <table id="post_list"> - <thead> - <tr> - <th>Post ID</th> - <th>Post Status</th> - <th>Post Link</th> - <th width="60%"><?php echo __('Name', 'aam'); ?></th> - <th width="20%"><?php echo __('Status', 'aam'); ?></th> - <th><?php echo __('Control', 'aam'); ?></th> - <th>Restriction Status</th> - </tr> - </thead> - <tbody> - </tbody> - </table> - - <div id="delete_post_dialog" class="aam-dialog" title="<?php echo __('Delete Post', 'aam'); ?>"> - <p class="dialog-content"></p> - </div> - - <div id="filter_post_dialog" class="aam-dialog" title="<?php echo __('Filter Posts by Type', 'aam'); ?>"> - <div class="tree-holder postbox"> - <div id="sidetreecontrol"> - <a href="#"><?php echo __('Collapse All', 'aam'); ?></a> |  - <a href="#"><?php echo __('Expand All', 'aam'); ?></a> |  - <span><?php echo __('Refresh', 'aam'); ?></span></div> - <br class="clear" /> - <ul id="tree" class="filetree"></ul> - </div> - <div class="aam-main-loader"></div> - </div> - - <div id="access_dialog" class="aam-dialog"> - <div class="aam-lock-message"> - <span><?php echo __('You reached the limit. Get <a href="' . admin_url('admin.php?page=aam-ext') . '" target="_blank">AAM Plus Package</a> to unlock the feature.'); ?></span> - </div> - <div class="post-access-inherited"></div> - <?php if ($this->getSubject()->getUID() != 'visitor') { ?> - <div class="post-access-area"> - <input type="radio" id="post_area_frontend" value="frontend" checked="checked" name="access_area" /><label for="post_area_frontend"><?php echo __('Frontend', 'aam'); ?></label> - <input type="radio" id="post_area_backend" value="backend" name="access_area" /><label for="post_area_backend"><?php echo __('Backend', 'aam'); ?></label> - </div> - <?php } ?> - <div id="access_control_area"></div> - <div class="aam-main-loader"></div> - </div> -</div> 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 deleted file mode 100644 index b7bfab4..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/tmpl/role.phtml +++ /dev/null @@ -1,61 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ -?> -<div id="role_manager_wrap"> - <table id="role_list"> - <thead> - <tr> - <th>Role ID</th> - <th>User Count</th> - <th width="60%"><?php echo __('Role', 'aam'); ?></th> - <th><?php echo __('Action', 'aam'); ?></th> - </tr> - </thead> - <tbody></tbody> - </table> - - <div id="manage_role_dialog" class="aam-dialog"> - <table class="dataTable"> - <tbody> - <tr> - <th><?php echo __('Role Name', 'aam'); ?><span class="aam-asterix">*</span>:</th> - <td><input type="text" id="role_name" class="aam-input" /></td> - </tr> - <tr id="parent_cap_role_holder"> - <th><?php echo __('Inherit Caps', 'aam'); ?>:</th> - <td><select class="aam-input" id="parent_cap_role"></select></td> - </tr> - </tbody> - </table> - </div> - - <div id="duplicate_role_dialog" class="aam-dialog" title="<?php echo __('Duplicate Role', 'aam'); ?>"> - <table class="dataTable"> - <tbody> - <tr> - <th><?php echo __('Duplicate Role', 'aam'); ?>:</th> - <td><span style="font-weight: bold;" id="duplicate_role_name"></span></td> - </tr> - <tr> - <th><?php echo __('Role Name', 'aam'); ?><span class="aam-asterix">*</span>:</th> - <td><input type="text" id="duplicate_role_name" class="aam-input" /></td> - </tr> - </tbody> - </table> - </div> - - <div id="delete_role_dialog" class="aam-dialog" title="<?php echo __('Delete Role', 'aam'); ?>"> - <p class="dialog-content"></p> - </div> - <div id="delete_admin_role_dialog" class="aam-dialog" title="<?php echo __('Notice', 'aam'); ?>"> - <p class="dialog-content"> - <?php echo __('You can not delete <b>Administrator</b> Role', 'aam'); ?> - </p> - </div> -</div> \ 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 deleted file mode 100644 index 673c8cd..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/tmpl/user.phtml +++ /dev/null @@ -1,42 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ -?> -<div id="user_manager_wrap"> - <table id="user_list"> - <thead> - <tr> - <th>User ID</th> - <th>User Login</th> - <th width="60%"><?php echo __('Username', 'aam'); ?></th> - <th><?php echo __('Action', 'aam'); ?></th> - <th>Status</th> - <th>Managable</th> - </tr> - </thead> - <tbody></tbody> - </table> - - <div id="filter_user_dialog" class="aam-dialog" title="<?php echo __('Filter Users by Role', 'aam'); ?>"> - <table id="filter_role_list"> - <thead> - <tr> - <th>Role ID</th> - <th>User Count</th> - <th width="80%"><?php echo __('Role Name', 'aam'); ?></th> - <th><?php echo __('Action', 'aam'); ?></th> - </tr> - </thead> - <tbody></tbody> - </table> - </div> - - <div id="delete_user_dialog" class="aam-dialog" title="<?php echo __('Delete User', 'aam'); ?>"> - <span class="dialog-content"></span> - </div> -</div> \ 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 deleted file mode 100644 index 0f6edfa..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/tmpl/visitor.phtml +++ /dev/null @@ -1,12 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ -?> -<div id="visitor_manager_wrap" class="control-manager-visitor"> - <?php echo __('Control Access to your blog for visitor (any user that is not logged in)', 'aam'); ?>. -</div> \ 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 deleted file mode 100644 index fd2f87d..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/user.php +++ /dev/null @@ -1,156 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index 3e023b7..0000000 --- a/wp-content/plugins/advanced-access-manager/application/view/visitor.php +++ /dev/null @@ -1,32 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index b853293..0000000 --- a/wp-content/plugins/advanced-access-manager/config.php +++ /dev/null @@ -1,68 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -//AAM Version for Update purpose -define('AAM_VERSION', '2.8.1'); - -define('AAM_BASE_DIR', dirname(__FILE__) . DIRECTORY_SEPARATOR); - -$base_url = WP_PLUGIN_URL . '/' . basename(AAM_BASE_DIR) . '/'; -if (force_ssl_admin() && (strpos($base_url, 'https') !== 0)) { - $base_url = str_replace('http', 'https', $base_url); -} -define('AAM_BASE_URL', $base_url); - -define('AAM_TEMPLATE_DIR', AAM_BASE_DIR . 'view/html/'); -define('AAM_LIBRARY_DIR', AAM_BASE_DIR . 'library/'); -define('AAM_TEMP_DIR', WP_CONTENT_DIR . '/aam/'); -define('AAM_MEDIA_URL', AAM_BASE_URL . 'media/'); - -define('AAM_APPL_ENV', (getenv('APPL_ENV') ? getenv('APPL_ENV') : 'production')); -//Rest API -if (AAM_APPL_ENV === 'production') { - define('WPAAM_REST_API', 'http://rest.wpaam.com'); -} else { - define('WPAAM_REST_API', 'http://wpaam.localhost/'); -} - -/** - * Autoloader for project Advanced Access Manager - * - * Try to load a class if prefix is mvb_ - * - * @param string $class_name - */ -function aam_autoload($class_name) { - $chunks = explode('_', strtolower($class_name)); - $prefix = array_shift($chunks); - - if ($prefix === 'aam') { - $base_path = AAM_BASE_DIR . '/application'; - $path = $base_path . '/' . implode('/', $chunks) . '.php'; - if (file_exists($path)) { - require($path); - } - } -} - -spl_autoload_register('aam_autoload'); - -//make sure that we have always content dir -if (!file_exists(AAM_TEMP_DIR)) { - if (@mkdir(AAM_TEMP_DIR)) { - //silence the directory - file_put_contents(AAM_TEMP_DIR . '/index.php', ''); - } else { - aam_Core_Console::add(__('Failed to create wp-content/aam folder', 'aam')); - } -} elseif(!is_writable(AAM_TEMP_DIR)){ - aam_Core_Console::add(__('Folder wp-content/aam is not writable', 'aam')); -} - -load_plugin_textdomain('aam', false, basename(AAM_BASE_DIR) . '/lang'); \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/activity.css b/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/activity.css deleted file mode 100644 index e9922ee..0000000 --- a/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/activity.css +++ /dev/null @@ -1,46 +0,0 @@ -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ -.activity-top-actions{ - float: right; - display: inline-table; - width: auto; - text-align: right; -} - -.activity-top-action{ - width: 24px; - height: 24px; - display: table-cell; - text-indent: -9999px; - padding-right: 10px; - background-repeat: no-repeat; - background-position: center; -} - -.activity-top-action-clear{ - background-image: url('images/trash.png'); -} - -.activity-top-action-clear:hover{ - background-image: url('images/trash-active.png'); -} - -.activity-top-action-clear-active{ - background-image: url('images/trash-active.png'); -} - -.activity-top-action-info{ - background-image: url('images/info.png'); -} - -.activity-top-action-info:hover{ - background-image: url('images/info-active.png'); -} - -.activity-top-action-info-active{ - background-image: url('images/info-active.png'); -} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/activity.js b/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/activity.js deleted file mode 100644 index 620eeee..0000000 --- a/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/activity.js +++ /dev/null @@ -1,185 +0,0 @@ -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * Activity List - * - * @type object - */ -AAM.prototype.blogTables.activityList = null; - -/** - * Initialize and load activity tab - * - * @returns void - */ -AAM.prototype.loadActivityTab = function() { - var _this = this; - - if (this.blogTables.activityList === null) { - this.blogTables.activityList = jQuery('#activity_list').dataTable({ - sDom: "<'top'lf<'activity-top-actions'><'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('<a/>', { - '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('<a/>', { - '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('<a/>', { - 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 deleted file mode 100644 index ade8914..0000000 --- a/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/activity.php +++ /dev/null @@ -1,214 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index 7d87076..0000000 --- a/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/extension.php +++ /dev/null @@ -1,279 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * Activity Log Controller - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index 2c3a25c1e4ed1b8030d762100477079b701f183a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 342 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM3?#3wJbMaANtU=qlmzFem6RtIr7}3C<R_&n zc;+Uirv{}arc@T5Otk?jG7j(wajo8dId8-HkVVHVC+~Heb?DQN-<|t!?7jUmapmdj zFF#E^dgs)mw;QfJU3BKb(~sYDdUpQ*|3B-JWf@SrU`dc)Fp!G^7*yBJOae;I@pN$v zskl`V6fMN8$l+WfpZm1%|K)2dS1)-xOTR6n!|@Z})FWwgT-LLFHM_}@DPStCaNRNF zx8vI*@&6A`czwmv+<*EkGo@!;zYS$9GC4MA^+$QW5p&AC_LSv%=dq_sv-4F`9-ch; zmy@wZ&|07;FHoz^KBn-;mgqaIZ_fqmno6t?JlV(M*zxn~q9l$&$=_9hudlANKYaIl cCAR@Xa<)7>qwkS4pgS2nUHx3vIVCg!00{e@9{>OV 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 deleted file mode 100644 index e582316089891e0b18c1d977b2de10e806699056..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 342 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM3?#3wJbMaANtU=qlmzFem6RtIr7}3C<R_&n zc;+Uirv{}arc@T5Otk?jG7j(waV;(`ZfIzTjEr<}aPal@{q*V6{{8!VdwbK;(q_(_ zdGqGYGiS~$UAlDBrcF<uJ~cKr{{R2~ykExNK<$DhL4LtNE(%~!T{|-gC^^T|#WAGf zR!PupvBL^HhrF-nbx-{N|JJuPp*O=SjT|`_J>WDy5~X}*J=?jm6|x7}1A|1DT<Qp_ z5Ab`m{(qvwd#l?{F<Es2$?GQeKWq4)C~!A9+Ir2sLk;`R&ECOw>tPP}bej~#*(a8V z#2?WL4cV?`+PCM0)t=jDm#n<IPdmWLLhr`v&`t%#W#0uurwA<HcwRp1-<Hqk3%=Ku bF|sivWXiKA%5&cZx|6}v)z4*}Q$iB}MEIL_ diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/images/trash-active.png b/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/images/trash-active.png deleted file mode 100644 index 39961e76cb09da86c3911a5fd468c450b5922bc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 529 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM3?#3wJbMaANtU=qlmzFem6RtIr7}3C<R_&n zc;+Uirv{}arc@T5Otk?jS`^?D;%YH@Z}7rn`hB~SR-V@D-DNdp--(BBJN8|_{rYp+ z)=OKjJu{!Q_s!Rz2kyQ)a{tZt8_&ZQAK!NUxy7Wtt$VK<_V0f2>HC%EA8e=YUvc44 z@~YE^@4vqA^!?c<?=L?4FyZj658r>i{_<n?iMtQpef|08@8l!5=bX3~wD4H=x^u=8 zb}u{ssB8a?taazsTzcX?_pr~rBZ(_dzx@1T^~J|KZaklR@}5r5&j0`aGl{J@4s@+q zNswPKkV`sXSlI7p2sGiar;B4q#jPuoGWnVe1l*#tPOEh=aWN@%H|>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 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 deleted file mode 100644 index 42570a1f98c248cfe3a8af815d7899cea2712ac4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 524 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM3?#3wJbMaANtU=qlmzFem6RtIr7}3C<R_&n zc;+Uirv{}arc@T5Otk?jnjhd3;%aYiZ)Rp@YHI4}=$Mg_5g8eopPzs7<jI{ocOE@@ z^zGZXE-o&sSFetUh*-ID<;Ra7j~zR<cJ12E&d&Ag*W23K_V)I^eEIUwp+k0db`};E zSFc{Js;ZhhckaA-^DbVzXlZGA>C&aCQ>Sj<zWw&?+mk0xe)Hx{PfySJ^XJpk(;qx| z5FH);^XJc?prF9Oz*nzcty{Nl*REaj=g&_|OEWe${{R2~kC&@X0-b7F666;Q<dO^+ zYPMbgh14NW7srr_TURbc@--O<usu-9)#O^VNncA(p-ahV@Bf=R0m3hM|HNAv$6xZC zrDV74-ph|4C0_52;+tTzy`dvlnB_KSjM=eXr_7dxflPZPXP;(heCjBltGI}FX*w&@ zwPfS&ZDJGR{pD4cXWPBmk^cK-#r(TZKW(nM9O<;$$(r%MLxZ6LdpzUx<On^+;_ycE z_X{!?Jbqu_&eg@VO41<E{*q__*Xl2dQfdc7<S$Nnu;<z5<)446a$Zwb5q@d$GCiJ= ajiGp9@}!hYcT9l3VeoYIb6Mw<&;$T(@CjM~ diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/index.php b/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/index.php deleted file mode 100644 index 911e638..0000000 --- a/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/index.php +++ /dev/null @@ -1,15 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -$dirname = basename(dirname(__FILE__)); -define('AAM_ACTIVITY_LOG_BASE_URL', AAM_BASE_URL . 'extension/' . $dirname); - -require_once dirname(__FILE__) . '/extension.php'; - -return new AAM_Extension_ActivityLog($this->getParent()); \ 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 deleted file mode 100644 index a499b0a..0000000 --- a/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/ui.phtml +++ /dev/null @@ -1,33 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ -?> -<div class="feature-content-container" id="activity_log_content"> - <table id="activity_list"> - <thead> - <tr> - <th>User ID</th> - <th style="width:25%;"><?php echo __('Username', 'aam'); ?></th> - <th><?php echo __('Activity', 'aam'); ?></th> - <th style="width:30%;"><?php echo __('Time', 'aam'); ?></th> - </tr> - </thead> - <tbody></tbody> - </table> - - <div id="clear_activity_dialog" class="aam-dialog" title="<?php echo __('Clear Activity Log', 'aam'); ?>"> - <p class="dialog-content"> - <?php echo __('Are you sure you want to clear activity log?', 'aam'); ?> - </p> - </div> - <div id="info_activity_dialog" class="aam-dialog" title="<?php echo __('Activity Log Info', 'aam'); ?>"> - <p> - <?php echo sprintf(__('Basic version of Activity Log tracks only user\'s login and logout. Consider to purchase the <b>%s</b> Extension today to get access to advanced list of activities as well as we can develop additional activities on demand.', 'aam'), '<a href="http://wpaam.com/forum/viewtopic.php?f=7&t=91" target="_blank">AAM Activities</a>'); ?> - </p> - </div> -</div> \ 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 deleted file mode 100644 index bc68795..0000000 --- a/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/extension.php +++ /dev/null @@ -1,253 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * AAM Multisite Support Extension - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index a17cc4ad52ecf931b9c7e71311b62dd0bc34c9a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3185 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 Xi#dNJ{M#I}00000NkvXXu0mjft*Z4c diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/add.png b/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/add.png deleted file mode 100644 index ef21b41a0559d9ef1ead62a77ad27592e5716bd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3191 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 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 deleted file mode 100644 index 17506cff92b28282c54fc6b35f32f0550db4a4f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3219 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 FV1mLh0L}ma 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 deleted file mode 100644 index 03fcd8053842fc469733e8004cb8c976718dd3bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3298 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 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 deleted file mode 100644 index ad1aa62b0b56d5a68da1bc5a91e8d2ce9a47c6ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3197 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 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 deleted file mode 100644 index 6a1aec37126e17cbd96a25e26f9f47f04b23ff2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3141 zcmV-L47&4)P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00009a7bBm000XU z000XU0RWnu7ytkYPiaF#P*7-ZbZ>KLZ*U+<Lqi~Na&Km7Y-Iodc-oy)XH-+^7Crag z^g>IBfRsybQWXdwQbLP>6p<z>Aqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uh<iVD~V z<RPMtgQJLw%KPDaqifc@_vX$1wbwr9tn;0-&j-K=43<bUQ8j=JsX`tR;Dg7+#^K~H zK!FM*Z~zbpvt%K2{UZSY_<lS*D<Z%Lz5oGu(+dayz)hRLFdT>f59&ghTmgWD0l;*T zI7<kC6aYYajzXpYKt=(8otP$50H6c_V9R4-;{Z@C0AMG7=F<Rxo%or10RUT+Ar%3j zkpLhQWr#!oXgdI`&sK^>09Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-<?i z0%4j!F2Z@488U%158(66005wo6%pWr^Zj_v4zAA5HjcIqUoGmt2LB>rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_<lS*MWK+n+1cgf z<k(8YLR(?VSAG6x!e78w{cQPuJpA|d;J)G{fihizM+Erb!p!tcr5w+a34~(Y=8s4G zw+sLL9n&JjNn*KJDiq^U5^;`1nvC-@r6P$!k}1U{(*I=Q-z@tBKHoI}uxdU5dyy@u zU1J0GOD7Ombim^G008p4Z^6_k2m^p<gW=D2|L;HjN1!DDfM!XOaR2~bL?kX$%CkSm z2mk;?pn)o|K^yeJ7%adB9Ki+L!3+FgHiSYX#KJ-lLJDMn9CBbOtb#%)hRv`YDqt_v zKpix|QD}yfa1JiQRk#j4a1Z)n2%f<xynzV>LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_Ifq<Ex{*7`05XF7hP+2Hl!3BQJ=6@fL%FCo z8iYoo3(#bAF`ADSpqtQgv>H8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ<AYmRsNLWl*PS{AOARHt#5!wki2?K;t z!Y3k=s7tgax)J%r7-BLphge7~Bi0g+6E6^Zh(p9TBoc{3GAFr^0!gu?RMHaCM$&Fl zBk3%un>0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 z<uv66WtcKSRim0x-Ke2d5jBrmLam{;Qm;{ms1r1GnmNsb7D-E`t)i9F8fX`2_i3-_ zbh;7Ul^#x)&{xvS=|||7=mYe33=M`AgU5(xC>fg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vF<Q0r40Q)j6=sE4X&sBct1q<&fbi3VB2Ov6t@q*0);U*o*SAPZv|vv@2aYYnT0 zb%8a+Cb7-ge0D0knEf5Qi#@8Tp*ce{N;6lpQuCB%KL_KOarm5cP6_8Ir<e17iry6O zDdH&`rZh~sF=bq9s+O0QSgS~@QL9Jmy*94xr=6y~MY~!1fet~(N+(<=M`w@D1)b+p z*;C!83a1uLJv#NSE~;y#8=<>IcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a<fJbF^|4I#xQ~n$Dc= zKYhjYmgz5NSkDm8*fZm{6U!;YX`NG>(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-k<Mujg;0Lz*3buG=3$G&ehepthlN*$KaOySSQ^nWmo<0M+(UEUMEXRQ zMBbZcF;6+KElM>iKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BK<z=<L*0kfKU@CX*zeqbYQT4(^U>T#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot<a{81DF0~rvGr5Xr~8u`lav1h z1DNytV>2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0004SNkl<Zc-oB9KS<S46bJCn`}x2MDZ(6lghDwq7!41_2tx@ZEkp!2$-&7S9K<Dv zc4rqi2?rshKp~ox2bq&NND(a+F5)0+lz-^yavuDMm;4S~IQO1=zUQ3p{oY)$Sd`Hw z@et#f!F$Z+GbGlc0e8@k2dKwS+(<G2Okfkk*vDraViYS`0N&yUF5wxvV~i`<%>s~* z1t<86vvlxZYeg?!V+W6L9Y<KeI_~2S8Y&&Mpfmh2OrtOM-|#e&ub~ZBF^le+LZOhy zB3_~cJuzP!9^+NCy%i)5M!^z3=0XP}m`jcE3w7cD#uKcj;<;Gm1kKTsm}>;>n8GQN z0BcMEoS|GHaVu4ADaeB_7zp7k;cEaNq!~{zAD7`aE{A_JRdpTja9r(;$KnM_DB=S) z(1lyU#}Kxwi6lWyfK;qA<a;mnb$I?il_f#Q_xN4?Sc}-3;NTPXE|O^(FH&bsxEo)# fgyqmdRXZO5GNw!qS`L1Y00000NkvXXu0mjfm4VAg diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/multisite-active.png b/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/multisite-active.png deleted file mode 100644 index 7bb38ec0c2d0fe829938a7b976a32e0c2e894aa1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3453 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 diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/multisite.png b/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/multisite.png deleted file mode 100644 index c852e940b446c3a0785201cbf2e7fb51f7f89b19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1050 zcmV+#1m*jQP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F800004b3#c}2nYxW zd<bNS00009a7bBm000pQ000pQ0l?*=7ytkO8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H11D8oeK~z|U?N>2t97h!X-rGG+GRSTuC7qSR%@s*bGeTP&Zc+sk z6G&wu8Dj`B4x|wHR~S?T5@HM{L=H|92sWxhAQ%-VG%H~j*SLt(DUut<;PY~`^HON` z*gNl@Z|w_d@>RR<&Aji;%$xV#kcglPmX?;TipX~W>O-o8h_3JK?A)nhk1MeQ5Rp#` z$N`}4b(Ii~QfjSFIp-Qd5Hzf{5BK)=_5sj{DFgt^%ggUM=b|)CpD=UB81tf%16u1@ z5m_gq&zYG;1VIoy0`TGM*94?#`U`+2GXsEAO8rDcYsQ$T!((4Lg2lzfj{tOtXf>xl z5Ru#CkbC?9;2`7hwmRN+xdU43S!TWmU=F~Mh^&TTc*YpB5XbSi<FXrLzA?rugkg9_ zL{<SD0hnXvds^$+{Mdmb@Y_BI;3y2k_uK9EU&F>l<dCR13`FEG|KD!6{|0b3ilX1F zwT}VJi^w{F%h?#puA$cY6oBUdSVUIiIKEp%(rUG4k|ep{oSVwanfYbCUf<l>+In6z zPbsxRL>mAcfSD{X`#a#AYp{=+TCH}!aESms!Ovy-GSq6d`_@_jVCP%|fB|wb5Cp+F z|9RlIZldru4?I^RllL89<~D#m0PB+`&mbZ<0X(wSKFnlPH5E@9q_w{4Q|Lfwi^$>h z^z@Cgpc)sgR%@o)?cOA!cZXC$L=VD}!U7^fk|clN4FWEYBuOq1(U(O!5&4*l$TJLI zwKu_QY}6}P!%5?R2N*z7s$_oo)&!$%Bq0%9FS~|QQ&XF7>p;C;-|Tj~x5}>Jf1Zf? z#i-eAE(AgFtBBmLQv0hwYyCBVD?t!^w!OXmCy)!mFbvNF_<)FR{2SyRYXF+gxhNC# z9Z1u(<3G<vQFMCJ%--f%&-Eme_m6;?J2+_;xYz4l1TfKtq}S_R^qrLRTmXiup;GEc z-$0hOWJ;;;N96WfaU5SOSp7S>mTV)A<9<svkcfzA4Ztygd28)srPRvsaTHvqQe6~9 zr<GDG899Js&(X(#1IC!A&bdpO6GXIOt$n7o-uDqa7L-z7X|4CIwa<JXI1k|1Id^IJ zZSYDe-re2(9Y8}wvIY`337#wCIzU8U_&EUJysd_}J%GZOk@xbl*7}-%nw|44+gM1` z^wTg5&!=hHVdhR8$JL%@IY(aLq<b|v@u<`(0N~${`{OuUxf&AD0~8mq#Oo^I9~gS2 U_T$gt&Hw-a07*qoM6N<$g6z%do&W#< diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/pin-active.png b/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/pin-active.png deleted file mode 100644 index 25d027b923a1ef83b5bf99e1700e988082ae1886..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3305 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 diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/pin.png b/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/pin.png deleted file mode 100644 index 4dcafd1211ef9b60091bd9bf8b3551ee34330a87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3263 zcmV;w3_$aVP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00009a7bBm000pQ z000pQ0l?*=7ytkYPiaF#P*7-ZbZ>KLZ*U+<Lqi~Na&Km7Y-Iodc-oy)XH-+^7Crag z^g>IBfRsybQWXdwQbLP>6p<z>Aqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uh<iVD~V z<RPMtgQJLw%KPDaqifc@_vX$1wbwr9tn;0-&j-K=43<bUQ8j=JsX`tR;Dg7+#^K~H zK!FM*Z~zbpvt%K2{UZSY_<lS*D<Z%Lz5oGu(+dayz)hRLFdT>f59&ghTmgWD0l;*T zI7<kC6aYYajzXpYKt=(8otP$50H6c_V9R4-;{Z@C0AMG7=F<Rxo%or10RUT+Ar%3j zkpLhQWr#!oXgdI`&sK^>09Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-<?i z0%4j!F2Z@488U%158(66005wo6%pWr^Zj_v4zAA5HjcIqUoGmt2LB>rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_<lS*MWK+n+1cgf z<k(8YLR(?VSAG6x!e78w{cQPuJpA|d;J)G{fihizM+Erb!p!tcr5w+a34~(Y=8s4G zw+sLL9n&JjNn*KJDiq^U5^;`1nvC-@r6P$!k}1U{(*I=Q-z@tBKHoI}uxdU5dyy@u zU1J0GOD7Ombim^G008p4Z^6_k2m^p<gW=D2|L;HjN1!DDfM!XOaR2~bL?kX$%CkSm z2mk;?pn)o|K^yeJ7%adB9Ki+L!3+FgHiSYX#KJ-lLJDMn9CBbOtb#%)hRv`YDqt_v zKpix|QD}yfa1JiQRk#j4a1Z)n2%f<xynzV>LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_Ifq<Ex{*7`05XF7hP+2Hl!3BQJ=6@fL%FCo z8iYoo3(#bAF`ADSpqtQgv>H8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ<AYmRsNLWl*PS{AOARHt#5!wki2?K;t z!Y3k=s7tgax)J%r7-BLphge7~Bi0g+6E6^Zh(p9TBoc{3GAFr^0!gu?RMHaCM$&Fl zBk3%un>0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 z<uv66WtcKSRim0x-Ke2d5jBrmLam{;Qm;{ms1r1GnmNsb7D-E`t)i9F8fX`2_i3-_ zbh;7Ul^#x)&{xvS=|||7=mYe33=M`AgU5(xC>fg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vF<Q0r40Q)j6=sE4X&sBct1q<&fbi3VB2Ov6t@q*0);U*o*SAPZv|vv@2aYYnT0 zb%8a+Cb7-ge0D0knEf5Qi#@8Tp*ce{N;6lpQuCB%KL_KOarm5cP6_8Ir<e17iry6O zDdH&`rZh~sF=bq9s+O0QSgS~@QL9Jmy*94xr=6y~MY~!1fet~(N+(<=M`w@D1)b+p z*;C!83a1uLJv#NSE~;y#8=<>IcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a<fJbF^|4I#xQ~n$Dc= zKYhjYmgz5NSkDm8*fZm{6U!;YX`NG>(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-k<Mujg;0Lz*3buG=3$G&ehepthlN*$KaOySSQ^nWmo<0M+(UEUMEXRQ zMBbZcF;6+KElM>iKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BK<z=<L*0kfKU@CX*zeqbYQT4(^U>T#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot<a{81DF0~rvGr5Xr~8u`lav1h z1DNytV>2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0005%Nkl<Zc-m~!OQ_9J6bA6$`rp5MyiyW_Ya)_N3|va`=BB&`h?4S5kz}BdjC7Mn zW+n<r5v3>-2@!duWQH;^prk18d+zyfgR{@+kX^g>UVH7ezVGW>(c9bWpEV6zumEFo z>@yzW0v>lJmmTLW^kWZR<2v4;fk{|_2RM(t_|aLQ#1$;YwtTKgh*pE6`TZiMU>Uv_ z`SA#rVj(U!Ka<LuR2vQxa?v-KiK#dZMZWCA4!i)-?3&7MspzUn=?vE49)@8xHep_Y zt(o)Xzod*1g9D=eyPxRG(MdRlhq!~CWrlr2lW<GSUTlcLf$>sW+eDNQw{a-vUBmto z<1&I~QqqkRnAfJ0QazPJPDNE6ma2L#@D`(rHsq9~u5PI|;wP~gA36x#P?QHm)H`CS zCE_PcZmC`k9ZAG=jKX_R6dz*nH>v7WX(GNA*&HiHh^nFZ^>qfRKf7@b?u+7*DE@Wq z8ayp=7Q3-B27cU?()v^zzA+m0=c)$uHK8Y}md<9Q4@<gwdU`%$G!Bb+iE|>}MM^E2 zO-EL3_&vCl_wg34gV{u9M9hsw{cpah-FbfYz{hO7_ALCuDxAbk;#nT1SJ~E+u^fwV x6}#{S;y>d&3)?XlWAZe8#uJ>w-Ol7c0|1_wnFclsAr1fl002ovPDHLkV1fcn8N>hp 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 deleted file mode 100644 index a2d280e949adb3b2b6f496408deeff872e2dab64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3654 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 Y01j76|5D>!g#Z8m07*qoM6N<$f+hXf_5c6? 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 deleted file mode 100644 index 6b43550d072094a9304ac2445e72dc70a88e14e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3621 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 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 deleted file mode 100644 index c48aaa3938f08fb0f3d4bcdaeb2af31593659443..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1393 zcmV-%1&;cOP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F800004b3#c}2nYxW zd<bNS00009a7bBm000pQ000pQ0l?*=7ytkO8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H11nx;hK~z|UotJBfRaF##zkOx~b;_VHOMFCuk(Gnqv+l)AGB8au z%*2Wk8zL3#0h-xZWKNVCmZAMJAC*5Wkt`jB#zIK^;S6`3I}j6Q5u#aRS>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%09bKcO<aAO?DUjc&(KJ`GTss)w+ z-MF9E>LkGPzHC?3-TBsq5OEwg7dkh_1a)<FJAm7Z!2v7M>GV<$aSYhz^^c3lO@WAv zruWEwTG%>@qSiQ$XIg6y8DlmVeh<TNl`&>U3FiP<Yp+XGxB9XMm}$Z=d=+>fu)uIt z?JCz<CX*S7Tdw*zj>iBS0aL>KBCteNlY0XZIf47F@2<t|N`Rx~oKKuManPkpm)-)F z0d?gdy&SjJJ`qJxROH)1;5p#lT401%{#L3d5g7us19w#67;9}y9LJ3v9UW&&nB)W0 zumBfClFB}!s(;hFOy#887}J!?<z|<04)CWhZwPRk0bG<TDXO~37_+zn#Nuo=yUtcl zGJ1RkxR46HGf`5q+3d&G+MQ(}PFCu}%Pqb<-!FhvDs`VRW-e|7eISA$xL74XKELP+ zfTO;0kKb%XMMQ=KL9h#V0xa-F0YtYkrrH^J(3i&opv6~efSJXtjWGeR19xIh#c@1Y zRp%LF7A7Dzwzsz*7m>y=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(^Bh1B1kIEP<svcy7x(}UsOsrFz=yyY|GrK{>HsE8 zm@vXxyTKUqNEAhHTWjNDGn9nNX0zXw3FT{nfqwLFKq4g*k(Yswyy0fxC16c$ZSBUk zwzfXWWF-m1aJn&O4=}*PZ1H^pe6FhV3IS?x2}6Df)&i?k^>Tlmmw?F22_UViXCRT1 zsp=KrDO^Sb@H#HFs^J<XilSC}!!Njd!mPY=D4v$zg`0`nyy`HpR8@;bwUQztqi`AV z(+THuRP{j8uGGckX5dTU0k5*aE<c(>rIy9trc%H&zzety2kw~9Qq|7FHs!8nb+~0% z4qTu3bQU;7@vGS+uKuN8!5#6Y!sA;JAOSKIm(ex?gUcHC%4J|buu@fjEN55|AOSJ} zn1Z{WkHd}hR@_EDgPV<?aM$y1RJB|_&?El?PYnDfJt|!+00000NkvXXu0mjf8C`B# diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/index.php b/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/index.php deleted file mode 100644 index 3f64528..0000000 --- a/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/index.php +++ /dev/null @@ -1,15 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -$dirname = basename(dirname(__FILE__)); -define('AAM_MULTISITE_BASE_URL', AAM_BASE_URL . 'extension/' . $dirname); - -require_once dirname(__FILE__) . '/extension.php'; - -return new AAM_Extension_Multisite($this->getParent()); \ 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 deleted file mode 100644 index 7668ed4..0000000 --- a/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/multisite.css +++ /dev/null @@ -1,98 +0,0 @@ -/** - * ====================================================================== - * 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 deleted file mode 100644 index c1acd21..0000000 --- a/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/multisite.js +++ /dev/null @@ -1,228 +0,0 @@ -/** - * ====================================================================== - * 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('<a/>', { - '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('<a/>', { - '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('<div/>', { - '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('<a/>', { - '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('<a/>', { - '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('<a/>', { - '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 deleted file mode 100644 index 781a4b8..0000000 --- a/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/ui.phtml +++ /dev/null @@ -1,32 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ -?> -<div id="multisite_manager_wrap"> - <table id="site_list"> - <thead> - <tr> - <th>Site ID</th> - <th>Site URL</th> - <th>Site Ajax URL</th> - <th width="65%"><?php echo __('Site', 'aam'); ?></th> - <th><?php echo __('Action', 'aam'); ?></th> - <th>Default</th> - </tr> - </thead> - <tbody></tbody> - </table> - <div id="tap_default_site" class="aam-dialog" title="<?php echo __('Set Default Site', 'aam'); ?>"> - <p class="dialog-content"> - <?php echo __('Would you like to set the site', 'aam'); ?> <b><span id="default_site"></span></b> <?php echo __('as default?', 'aam'); ?> - </p> - <p class="dialog-note"> - <?php echo __('All newly created sites will inherit list of Roles & Capabilities.', 'aam'); ?> - </p> - </div> -</div> \ 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 deleted file mode 100644 index 7f80219..0000000 --- a/wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/extension.php +++ /dev/null @@ -1,113 +0,0 @@ -<?php - -/** - * ====================================================================== - * 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 View Controller - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index 8fb52cf1302db61f8ab18126ce63f43ec61c6a8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2561 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 XO{RvujSL5S00000NkvXXu0mjf2wtv0 diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/index.php b/wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/index.php deleted file mode 100644 index 862b842..0000000 --- a/wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/index.php +++ /dev/null @@ -1,15 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -$dirname = basename(dirname(__FILE__)); -define('AAM_MY_FEATURE_BASE_URL', AAM_BASE_URL . 'extension/' . $dirname); - -require_once dirname(__FILE__) . '/extension.php'; - -return new AAM_Extension_MyFeature($this->getParent()); \ 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 deleted file mode 100644 index 83e3f5d..0000000 --- a/wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/my_feature.css +++ /dev/null @@ -1,22 +0,0 @@ -/** - * ====================================================================== - * 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 deleted file mode 100644 index 90f373a..0000000 --- a/wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/my_feature.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * ====================================================================== - * 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 deleted file mode 100644 index 52d552c..0000000 --- a/wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/ui.phtml +++ /dev/null @@ -1,19 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ -?> -<div class="feature-content-container" id="my_feature_content"> - <div class="my-feature-banner"> - <p class="banner-style"> - <?php echo __('Do you need a custom feature?', 'aam'); ?> - <a href="https://github.com/wpaam/AAM-Feature-Example" target="_blank"> - <?php echo __('Create your own extension ', 'aam'); ?> - </a> <?php echo __('or ask us and we will develop it for you.', 'aam'); ?> - </p> - </div> -</div> \ 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 deleted file mode 100644 index 5ff6f2a..0000000 --- a/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/extension.php +++ /dev/null @@ -1,384 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * Feature Secure - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 '<script type="text/javascript">'; - echo file_get_contents(__DIR__ . '/javascript/loader.js'); - echo '</script>'; - } - } - - /** - * - * @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 deleted file mode 100644 index 5d34567..0000000 --- a/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/geoip/freegeoip.php +++ /dev/null @@ -1,31 +0,0 @@ -<?php -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== -*/ - -require_once(dirname(__FILE__) . '/geoip.php'); - -class FreeGeoIP extends GeoIP { - - public static function query($ip) { - $response = aam_Core_API::cURL('http://freegeoip.net/xml/' . $ip, false, true); - if ($response['status'] == 'success') { - $data = simplexml_load_string($response['content']); - $geodata = (object) array( - 'countryCode' => (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 deleted file mode 100644 index a93b0c9..0000000 --- a/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/geoip/geoip.php +++ /dev/null @@ -1,15 +0,0 @@ -<?php -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== -*/ - -abstract class GeoIP { - - public static function query($ip) { - - } - -} diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/index.php b/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/index.php deleted file mode 100644 index a225517..0000000 --- a/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/index.php +++ /dev/null @@ -1,17 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== -*/ - -$dirname = basename(dirname(__FILE__)); -define('AAM_SECURITY_BASE_URL', AAM_BASE_URL . 'extension/' . $dirname); - - -//load the Extension Controller -require_once dirname(__FILE__) . '/extension.php'; - -return new AAM_Secure($this->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 deleted file mode 100644 index 2e9886f..0000000 --- a/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/javascript/loader.js +++ /dev/null @@ -1,41 +0,0 @@ -/** - * ====================================================================== - * 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 deleted file mode 100644 index 06db4fc..0000000 --- a/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/javascript/security.js +++ /dev/null @@ -1,48 +0,0 @@ -/** - * ====================================================================== - * 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 deleted file mode 100644 index efa0ead..0000000 --- a/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/security.php +++ /dev/null @@ -1,85 +0,0 @@ -<?php - -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -/** - * - * @package AAM - * @author Vasyl Martyniuk <support@wpaam.com> - * @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 deleted file mode 100644 index f1e8fa1..0000000 --- a/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/flags32.css +++ /dev/null @@ -1,260 +0,0 @@ -.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 deleted file mode 100644 index 17bdb15243a01a0e67c9704aee99fbeac9cb8026..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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`<jAm(=3qqRfJl%=|nBkco*&`K2Yc zN<f!FypUS}H#V;r8ce_d)2~P@&^OdG0C@?f(AO8g(%f9Q>f(~1RD^r68eAMwS&*t9 zlv<o$T9gcoxHM&uRRvbgMX8A;`9&f5`8lvq49LhY$uG{xFHmp}HdD~>O-#<r0|{t? zb@=*PdFB<DB<3Zjdb-#u0nO0M%uKN|Ffns-ax*YCHgk3~G;}p`GP87bH83|aurPHo zHgGkD>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;<BX{d&GpP5OBB|zM*Zl_=x&&n!MO6Q!y1<)j=RiB@e5L~b40Oh zeWD=HJwZ}7zu|^lnq*k_f`g^=c;+X3o~fuIk@(Dbp=QRiCRLsQ<5?S*SqTdZ2fV8C za5*B(?ZD~s@61f&^A~GHyj{H|7Ni|LWN|`l=VgWYht8%r3Yi>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# 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 deleted file mode 100644 index 66a0d151599c5c44a2fad11e6977bcd7e49e3b01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174758 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⪚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Πr@6eIvl$!T+ zBnsWjA_5{9S!=tl<fTlgD6A0CYDsJ}#%9$JPCNJa06u&k4?*%BY|>?@!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=bygYrbOVT<YF&PAl)?ByY7fV>nz!<Tdm}@(P5_b z3VKYFS@6~^imqi82Vvsq+93VSLw4P!3`htZlqp<v*yO0Z+%vd-&64?Jz28RI%x)!u zG++X|Ne!`S>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<W{`v20Z<_dv3YjggK< zV6FLif7ed_INchRg{LQB)@0MP@yM7mv`rS&l_2J9Xm?!4Cf4qW5yX=}1(w4_b+7sJ zdX}+d^2%2xz+%7?&);drdD7}q<&`@EcsToDY~Hj7ee%4-Qs(gZnvgWv=5ZyYl-v-S z+0hm?s6$>{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 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⪼%YaKJhXV6 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%0DbYqsMc_Q6erS;M7>laU53C0 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�&d)kq8#~CQhKCMUU8t*^Bd%<j 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 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 deleted file mode 100644 index e66c4e248850df2c26e51ab518d79550e4e4596a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8010 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 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 deleted file mode 100644 index 61325d67aca812b79a32a919308da7186724a382..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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$OmImpPA<wUD9OyvQvjKmn3P{y zVygsnDZ~r81#n~YilM;-3^4tQ!~%UoJp+)JU<!SG@hi>Eg{v+u2}(t{7puX=A(aKG z`a!A1`K3k4z=%sz23b{L<y@4SSdw29lAoUg3&ntp{F40QjQj!x=U`I>-^Aq1JP;qO z-q+X4Gq1QLF)umQ)5TT^Xo6m5W{Q=Yp@EZ`g_DJ&fu(_=p{t>zqmiqttDAwDlcSlj zp_wI2uS<S%X>Mv>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*05i<KEY z*tKr`g`Hm?x6ksEoO$w;Y3OD_$8RZtvyNLS{MY{?TW(mldG;Q^wbxi*{b#uH|8<vM zQ2r`0q1bn^fo4^%H+<h7xxaGxj8mn3TNH9v3M|=KoO0@zn!o~~CckfI*DvZa|93=H zG$%68xy0l4CB0Sagi0PT9hjC9bJ)6I>ci;c4ihF=buGMcC6af&)XZI5?=m#YifuSG zi+{<bhBdLW)3SwcpK!i2$$vxD{cX&X7flsN`?vWMug1Y+>Mg8_i}<n+_RW)(YUy}p ob^OOyukGj8eLQ8JSIcR@pzv;a!ZN=YVNfyT>FVdQ&MBb@05NL8^#A|> 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 deleted file mode 100644 index fe5dd48..0000000 --- a/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/security.css +++ /dev/null @@ -1,84 +0,0 @@ -/** - * ====================================================================== - * 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 deleted file mode 100644 index d52efff..0000000 --- a/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/view/security.phtml +++ /dev/null @@ -1,156 +0,0 @@ -<?php -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ -?> -<div class="wrap"> - <div class="postbox-container" style="width:70%;"> - <div class="metabox-holder"> - <div class="meta-box-sortables"> - <div class="postbox"> - <div class="handlediv" title="<?php echo __('Click to toggle', 'aam'); ?>"></div> - <h3 class="hndle"> - <?php echo __('AAM Security', 'aam'); ?> - </h3> - <div class="inside main-inside"> - <div class="mode-container" id="map_mode"> - <?php if ($this->isGeoLookupOn()) { ?> - <div id="geo_map" style="width: 100%; height: 500px;"></div> - <?php } else { ?> - <p class="feature-off-notice"> - The Geo Lookup feature is off. Turn it on with ConfigPress.<br/> - For more information check <a href="#" id="setting_trigger_inline">Settings</a> tab. - </p> - <?php } ?> - </div> - <div class="mode-container" id="settings_mode" style="display: none;"> - <p> - In current version of AAM Security you have to utilize ConfigPress to trigger - certain features. Please find out below the list of all possible ConfigPress - settings: - <pre style="background:#fff;color:#000"> -<span style="color:#05a;font-weight: bold;">[security]</span> -<span style="color:#00b418">#Geo Lookup feature monitors the location of the user based on IP address.</span> -<span style="color:#00b418">#By default this feature is deactivated and can be activated by changing.</span> -<span style="color:#00b418">#the <b>false</b> to <b>true</b>.</span> -<span style="color:#0100b6;font-weight:700;">login.geo_lookup</span> = <span style="color:#d80800">"false"</span> -<span style="color:#00b418">#We are using FreeGeoIP.net webservice to retrieve the geo location based on</span> -<span style="color:#00b418">#IP address. Currently this is the only option but we will extend the list of</span> -<span style="color:#00b418">#possible options in future releases.</span> -<span style="color:#0100b6;font-weight:700">login.geoip.service</span> = <span style="color:#d80800">"FreeGeoIP"</span> -<span style="color:#00b418">#Login lockout feature control the admin login process. This prevent your</span> -<span style="color:#00b418">#website from being hacked by trying different password combinations.</span> -<span style="color:#0100b6;font-weight:700">login.lockout</span> = <span style="color:#d80800">"false"</span> -<span style="color:#00b418">#This setting defines how many attempts user has for entering correct password</span> -<span style="color:#00b418">#before the <b>attempt failure</b> procedure fires.</span> -<span style="color:#0100b6;font-weight:700">login.attempts</span> = <span style="color:#d80800">"10"</span> -<span style="color:#00b418">#Attempt failure procedure is fired after user excided the number of attempts</span> -<span style="color:#00b418">#to enter correct password. By default the server starts slowdown the each </span> -<span style="color:#00b418">#new request for 5 seconds. Another possible procedure is <b>die</b>.</span> -<span style="color:#00b418">#In this case the login process is completely locked for user's IP address.</span> -<span style="color:#0100b6;font-weight:700">login.attempt_failure</span> = <span style="color:#d80800">"slowdown"</span> -<span style="color:#00b418">#By default every new login request slows down for 5 seconds.</span> -<span style="color:#0100b6;font-weight:700">login.slowdown_time</span> = <span style="color:#d80800">"5"</span> -<span style="color:#00b418">#If <b>attempt failure</b> procedure is <b>die</b>, you can define your own</span> -<span style="color:#00b418">#custom message that will be shown for locked user.</span> -<span style="color:#0100b6;font-weight:700">login.die_message</span> = <span style="color:#d80800">"You are not allowed to login"</span> -<span style="color:#00b418">#To speedup the lookup and lockout feature, all IP addresses are cached to database.</span> -<span style="color:#00b418">#By default AAM caches up to 1000 records.</span> -<span style="color:#0100b6;font-weight:700">login.cache_limit</span> = <span style="color:#d80800">"1000"</span> - </pre> - </p> - <p style="font-size: 0.9em;"> - AAM Security is very new but expecting to be one of the biggest features - in AAM plugin. Currently it can be considered on development stage so some of - the features might not work the way you expect.<br/> - We are expecting feedback and recommendations from you how to expend and improve - AAM Security feature. Please send your thoughts to our email box - <a href="mailto:support@wpaam.com">support@wpaam.com</a>. - </p> - </div> - </div> - </div> - </div> - </div> - </div> - - <?php if (aam_Core_Console::hasIssues()) { ?> - <div class="postbox-container" style="width:25%; margin-left: 2%;"> - <div class="metabox-holder"> - <div class="meta-box-sortables"> - <div class="postbox"> - <div class="handlediv" title="<?php echo __('Click to toggle', 'aam'); ?>"></div> - <h3 class="hndle"> - <span><?php echo __('AAM Warnings', 'aam'); ?></span> - </h3> - <div class="inside"> - <?php foreach (aam_Core_Console::getWarnings() as $warning) { ?> - <div class="aam-warning"><span><?php echo $warning; ?></span></div> - <?php } ?> - </div> - </div> - </div> - </div> - </div> - <?php } ?> - - <div class="postbox-container" style="width:25%; margin-left: 2%;"> - <div class="metabox-holder" id="control_panel"> - <div class="meta-box-sortables"> - <div class="postbox"> - <div class="handlediv" title="<?php echo __('Click to toggle', 'aam'); ?>"></div> - <h3 class="hndle"> - <span><?php echo __('Control Panel', 'aam'); ?></span> - </h3> - <div class="inside"> - <div class="large-icons-row"> - <a href="#" class="aam-icon aam-icon-large aam-icon-large-glob" mode="map"> - <span></span><?php echo __('Map', 'aam'); ?> - </a> - <!--<a href="#" class="cpanel-item cpanel-item-graph" ><?php echo __('Graph', 'aam'); ?></a>--> - <a href="#" class="aam-icon aam-icon-large aam-icon-large-settings" mode="settings" > - <span></span><?php echo __('Settings', 'aam'); ?> - </a> - </div> - <div class="medium-icons-row"> - <a href="https://twitter.com/wpaam" target="_blank" class="aam-icon aam-icon-medium aam-icon-medium-twitter" aam-tooltip="<?php echo __('Follow @wpaam', 'aam'); ?>"><span></span><?php echo __('Follow', 'aam'); ?></a> - <a href="http://wpaam.com/support" target="_blank" class="aam-icon aam-icon-medium aam-icon-medium-help" aam-tooltip="<?php echo __('Help Forum', 'aam'); ?>"><span></span><?php echo __('Help', 'aam'); ?></a> - <a href="#" class="aam-icon aam-icon-medium aam-icon-medium-message" id="aam_message" aam-tooltip="<?php echo __('E-mail Us', 'aam'); ?>"><span></span><?php echo __('E-mail Us', 'aam'); ?></a> - <a href="http://wordpress.org/support/view/plugin-reviews/advanced-access-manager" target="_blank" class="aam-icon aam-icon-medium aam-icon-medium-star" aam-tooltip="<?php echo __('Rate AAM', 'aam'); ?>"><span></span><?php echo __('Rate Us', 'aam'); ?></a> - </div> - </div> - </div> - </div> - </div> - </div> - <?php if (false && $this->isGeoLookupOn()) { ?> - <div class="postbox-container" style="width:25%; margin-left: 2%;"> - <div class="metabox-holder"> - <div class="meta-box-sortables"> - <div class="postbox"> - <div class="handlediv" title="<?php echo __('Click to toggle', 'aam'); ?>"></div> - <h3 class="hndle"> - <span><?php echo __('Country Impact List', 'aam'); ?></span> - </h3> - <div class="inside"> - <table class="dataTable" id="country_list"> - <thead> - <tr> - <th width="80%">Country</th> - <th>Action</th> - </tr> - </thead> - <tbody> - </tbody> - </table> - </div> - </div> - </div> - </div> - </div> - <?php } ?> - <br class="clear" /> -</div> \ 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 deleted file mode 100644 index 3b5ab274bbc8dc5ee9151d3580c3dda35d2c2e69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6948 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 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 deleted file mode 100644 index 010feff..0000000 --- a/wp-content/plugins/advanced-access-manager/lang/aam-de_DE.po +++ /dev/null @@ -1,336 +0,0 @@ -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 <scarab.regit@gmail.com>\n" -"Language-Team: WPAAM <support@wpaam.com>\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. " -"<b>Notice</b>, 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 . <b>Anmerkung</b>, 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 <b>Refresh the List</b> button " -"or Copy & Paste direct link to page where specific metabox or widget is " -"shown and hit <b>Retrieve Metaboxes from Link</b> 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 <b>Refresh the List</b> oder kopiere den direkten Link zu der Site wo " -"die Metabox oder das Widget angezeigt werden und klicke <b>Retrieve " -"Metaboxes from Link</b> ." - -#: 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. <b>Notice</b>, " -"list of user's capabilities are inherited from user's Role.<br/><b>Warning!</" -"b> 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. " -"<b>Anmerkung</b>, die Eigenschafen der Benutzer werden von der Benutzerrolle " -"vererbt.<br/><b>Achtung!</b>, 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 <b>Post</b> or <b>Term</b>. Notice, under " -"<b>Post</b>, we assume any post, page or custom post type. And under " -"<b>Term</b> - any term like Post Categories." -msgstr "" -"Verwalte den Zugang zu einzelnen <b>Artikeln</b> oder <b>Ebenen<b/> Unter " -"<b>Artikeln</b> werden alle Artikel, Seiten oder custom post type und unter " -"<b>Ebenen<b/> 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 <b>AAM</b> behavior with ConfigPress. For more details please check " -"<b>ConfigPress tutorial</b>." -msgstr "" -"Kontrolliere das Verhalten von <b>AAM</b> mit ConfigPress Für mehr Details " -"schaue bitte ins <b>ConfigPress Tutorial</b>." - -#: 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 <b>%s</b> " -"will be deleted automatically!" -msgstr "" -"Das System hat %d Benutzer mit dieser Rolle identifiziert. Alle Benutzer mit " -"der Rolle <b>%s</b> werden automatisch gelöscht." - -#: application/view/manager.php:354 -#, php-format -msgid "Are you sure that you want to delete role <b>%s</b>?" -msgstr "Bist du sicher, dass du die Rolle <b>%s</b> 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 <b>%s</b>?" -msgstr "Bist du sicher, dass du den Benutzer <b>%s</b> 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 <b>%s</b>?" -msgstr "Bist du sicher, dass du die Eigenschaft <b>%s</b> 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 deleted file mode 100644 index be7d7e8da61405c1ddd818aa5b30d0fa9ef9ce07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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_H<XK%Pj+B0SQUZhvmQ9!nr&5l5;g*WLsh51B*Ll<2Kf zVusDC6bU-NGJ5$bE}I-3&O=9q_Jg8AU52@>u7e4hVu=MoMp!BFoN_+4mvwEOAAHw{ z)mlu($!Oam3T1F(jVHr<S2Y*#^y81~61BMy`8&FX{M9tOgZ|cQ^SzOSk;&~sn?i~H fT>DJ~CCI!^pMn>-Cqr&sB(=2AUPR$(*bO@WqpWVM 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 deleted file mode 100644 index 26aab65..0000000 --- a/wp-content/plugins/advanced-access-manager/lang/aam-en_US.po +++ /dev/null @@ -1,310 +0,0 @@ -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 <scarab.regit@gmail.com>\n" -"Language-Team: WPAAM <support@wpaam.com>\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. " -"<b>Notice</b>, 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 <b>Refresh the List</b> button " -"or Copy & Paste direct link to page where specific metabox or widget is " -"shown and hit <b>Retrieve Metaboxes from Link</b> 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. <b>Notice</b>, " -"list of user's capabilities are inherited from user's Role.<br/><b>Warning!</" -"b> 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 <b>Post</b> or <b>Term</b>. Notice, under " -"<b>Post</b>, we assume any post, page or custom post type. And under " -"<b>Term</b> - 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 <b>AAM</b> behavior with ConfigPress. For more details please check " -"<b>ConfigPress tutorial</b>." -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 <b>%s</b> " -"will be deleted automatically!" -msgstr "" - -#: application/view/manager.php:354 -#, php-format -msgid "Are you sure that you want to delete role <b>%s</b>?" -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 <b>%s</b>?" -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 <b>%s</b>?" -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 deleted file mode 100644 index 12a27085514d5444b10e8ca947bab704b964b56d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6940 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 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 deleted file mode 100644 index 0935c9f..0000000 --- a/wp-content/plugins/advanced-access-manager/lang/aam-es_ES.po +++ /dev/null @@ -1,998 +0,0 @@ -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 <esteban@netmdp.com>\n" -"Language-Team: Vasyl Martyniuk <whimba@gmail.com>\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. " -"<b>Notice</b>, 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ú. <b>Nota</b>, 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 <b>Refresh the List</b> button " -"or Copy & Paste direct link to page where specific metabox or widget is " -"shown and hit <b>Retrieve Metaboxes from Link</b> 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 " -"<b>Actualizar Lista</b> o Copie & Pegue el link directo a la página donde se " -"muestra el metabox o widget y toque el botón <b>Recuperar Metaboxes desde " -"link</b>." - -#: 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. <b>Notice</b>, " -"list of user's capabilities are inherited from user's Role.<br/><b>Warning!</" -"b> 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. " -"<b>Nota</b>, la lista de capacidades se heredan del Rol de usuario. <br/" -"><b>Cuidado!</b> 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 <b>Post</b> or <b>Term</b>. Notice, under " -"<b>Post</b>, we assume any post, page or custom post type. And under " -"<b>Term</b> - any term like Post Categories." -msgstr "" -"Administrar acceso sobre <b>Entrada</b> o <b>Taxonomía</b> individual. Nota, " -"bajo <b>Entrada</b>, se asume cualquier post, página o custom post type. Y " -"bajo <b>Taxonomía</b>, 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 <b>AAM</b> behavior with ConfigPress. For more details please check " -"<b>ConfigPress tutorial</b>." -msgstr "" -"Controle el comportamiento de <b>AAM</b> con ConfigPress. Para mas detalles " -"mire <b>ConfigPress tutorial</b>." - -#: 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 <b>%s</b> " -"will be deleted automatically!" -msgstr "" -"El sistema ha detectado %d usuario(s) con este rol. ¡Todos los Usuarios con " -"Rol <b>%s</b> serán borrados automáticamente!" - -#: application/view/manager.php:354 -#, php-format -msgid "Are you sure that you want to delete role <b>%s</b>?" -msgstr "Está seguro de borrar el rol <b>%s</b>?" - -#: 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 <b>%s</b>?" -msgstr "Está seguro de borrar el usuario <b>%s</b>?" - -#: 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 <b>%s</b>?" -msgstr "Por favor confirme el borrado de Capability - <b>%s</b>" - -#: 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 <b>Save Order</b>" -#~ msgstr "" -#~ "Para Reorganizar el menu sólo arrastre y suelte Items en la lista y " -#~ "clickee <b>Salvar Orden</b>" - -#~ 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 <b>ONLY</b> for Role %s?" -#~ msgstr "Le gustaría salvar el orden del Menú <b>SOLO</b> 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 <b>ALL</b> Roles?" -#~ msgstr "" -#~ "Realmente quiere aplicar estos valores para <b>TODOS</b> 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. <a href=\"http://" -#~ "codex.wordpress.org/Upgrading_WordPress\">Update now!</a>" -#~ msgstr "" -#~ "Advanced Access Manager requiere WordPress 3.1 o mayor. <a href=\"http://" -#~ "codex.wordpress.org/Upgrading_WordPress\">Update now!</a>" - -#~ 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 <a href=\"#\" " -#~ "id=\"add-user-toblog\">here</a> to add yourself to current blog as " -#~ "Administrator" -#~ msgstr "" -#~ "No es un usuario activo para el blog Actual. Por favor clickea <a href=" -#~ "\"#\" id=\"add-user-toblog\">aquí</a> 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 <b>Whole Branch</b> to restrict " -#~ "whole menu." -#~ msgstr "" -#~ "Marque Menú o Sub-menú para restringir el acceso o <b>Toda la Rama</b> " -#~ "para restringir el acceso a todo el menú." - -#~ msgid "" -#~ "Only Latin letters, numbers and space are allowed. All other symbols will " -#~ "be filtered.<br/>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." -#~ "<br/>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 <b>Super Admin</b> Role to get access to ALL " -#~ "features?" -#~ msgstr "" -#~ "Quiere crear el Rol <b>Super Admin</b> 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 <i>Import</i> 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 " -#~ "<i>Importar</i>" - -#~ 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 "" -#~ "<b>Since 2.0</b><br/>\n" -#~ " <b>Note:</b> No longer used." -#~ msgstr "" -#~ "<b>Since 2.0</b><br/>\n" -#~ " <b>Nota:</b> No usado mas." - -#~ msgid "<b>Description does not exist</b>" -#~ msgstr "<b>Descripción no existe</b>" - -#~ msgid "<p>You do not have sufficient permissions to perform this action</p>" -#~ msgstr "<p>No tienes los permisos suficientes para realizar esta acción</p>" - -#~ msgid "" -#~ "<p><h3>General Information</h3></p>\n" -#~ " <p>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:</p>\n" -#~ "<ul>\n" -#~ "<li>Filter Admin Menu for specific User Role</li>\n" -#~ "<li>Filter Dashboard Widgets for specific User Role</li>\n" -#~ "<li>Filter List of Metaboxes in Edit Post page for specific User Role</" -#~ "li>\n" -#~ "<li>Add new User Capabilities</li>\n" -#~ "<li>Delete created User Capabilities</li>\n" -#~ "<li>Create new User Roles</li>\n" -#~ "<li>Delete any User Role</li>\n" -#~ "<li>Save current User Roles settings and restore later</li>\n" -#~ "<li>View the list of Posts Pages and Categories in a nice hierarchical " -#~ "tree</li>\n" -#~ "<li>Filter Posts and Post Categories</li>\n" -#~ "<li>Filter Pages and Sub Pages</li>\n" -#~ "<li>Set expiration Date for specific Posts, Pages or even Categories</" -#~ "li>\n" -#~ "<li>Reorganize Order of Main Menu for specific User Role</li>\n" -#~ "</ul>\n" -#~ " <p><h3>Main Menu</h3></p>\n" -#~ " <p>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.</p>\n" -#~ " <p><h3>Metabox & Widgets</h3></p>\n" -#~ " <p>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.</p>\n" -#~ " <p><h3>Capabilities</h3></p>\n" -#~ " <p>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 <a href=\"http://codex.wordpress." -#~ "org/Roles_and_Capabilities\" target=\"_blank\">Roles and Capabilities</a>." -#~ "</p>\n" -#~ " <p><h3>Posts & Pages</h3></p>\n" -#~ " <p>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." -#~ "</p>\n" -#~ msgstr "" -#~ "<p><h3>Información General</h3></p>\n" -#~ " <p>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:</p>\n" -#~ "<ul>\n" -#~ "<li>Filter Admin Menu for specific User Role</li>\n" -#~ "<li>Filter Dashboard Widgets for specific User Role</li>\n" -#~ "<li>Filter List of Metaboxes in Edit Post page for specific User Role</" -#~ "li>\n" -#~ "<li>Add new User Capabilities</li>\n" -#~ "<li>Delete created User Capabilities</li>\n" -#~ "<li>Create new User Roles</li>\n" -#~ "<li>Delete any User Role</li>\n" -#~ "<li>Save current User Roles settings and restore later</li>\n" -#~ "<li>View the list of Posts Pages and Categories in a nice hierarchical " -#~ "tree</li>\n" -#~ "<li>Filter Posts and Post Categories</li>\n" -#~ "<li>Filter Pages and Sub Pages</li>\n" -#~ "<li>Set expiration Date for specific Posts, Pages or even Categories</" -#~ "li>\n" -#~ "<li>Reorganize Order of Main Menu for specific User Role</li>\n" -#~ "</ul>\n" -#~ " <p><h3>Main Menu</h3></p>\n" -#~ " <p>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.</p>\n" -#~ " <p><h3>Metabox & Widgets</h3></p>\n" -#~ " <p>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.</p>\n" -#~ " <p><h3>Capabilities</h3></p>\n" -#~ " <p>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 <a href=\"http://codex.wordpress." -#~ "org/Roles_and_Capabilities\" target=\"_blank\">Roles and Capabilities</a>." -#~ "</p>\n" -#~ " <p><h3>Posts & Pages</h3></p>\n" -#~ " <p>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." -#~ "</p>\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 deleted file mode 100644 index 78c8e383f5d3756d090e484a0f08037c2868ac66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10259 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 E1HC`G-~a#s 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 deleted file mode 100644 index 19f9f1a..0000000 --- a/wp-content/plugins/advanced-access-manager/lang/aam-fa_IR.po +++ /dev/null @@ -1,606 +0,0 @@ -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 <ghaemomidi@yahoo.com>\n" -"Language-Team: WP-Parsi <ghaemomidi@yahoo.com>\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. " -"<b>Notice</b>, the menu is rendered based on Role's or User's capabilities." -msgstr "" -"<b>کنترل دسترسی به منوی مدیریت. محدود کردن دسترسی به منو یا زیر منو. توجه، " -"منو بر اساس قابلیت های کاربران یا قوانین ارائه شده است.</b>" - -#: 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 <b>Refresh the List</b> button " -"or Copy & Paste direct link to page where specific metabox or widget is " -"shown and hit <b>Retrieve Metaboxes from Link</b> button." -msgstr "" -"<b>فیلترکردن متاباکس ها یا ابزارک ها برای قانون یا کاربر انتخاب شده. اگر " -"متاباکس یا ابزارک فهرست نشده است، روی ((تازه کردن فهرست)) کلیک کنید یا لینک " -"مستقیم را کپی کنید و قرار دهید.</b>" - -#: 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. <b>Notice</b>, " -"list of user's capabilities are inherited from user's Role.<br/><b>Warning!</" -"b> Be very careful with capabilities. Deleting or unchecking any capability " -"may cause temporary or permanent constrol lost over some features or " -"WordPress dashboard." -msgstr "" -"مدیریت فهرست قابلیت ها برای کاربر یا قانون انتخاب شده. <b>توجه</b>، با " -"قابلیت ها خیلی با دقت باشید. پاک کردن یا برداشتن هر قابلیتی ممکن است باعث " -"شوذ کنترل موقت یا دائم برخی از ویژگی ها یا پیشخوان وردپرس را از دست داد." - -#: 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 <b>Post</b> or <b>Term</b>. Notice, under " -"<b>Post</b>, we assume any post, page or custom post type. And under " -"<b>Term</b> - any term like Post Categories." -msgstr "" -"<b>مدیریت دسترسی یه نوشته یا دوره فردی. توجه، ما فرض می کنیم هر نوشته، برگه " -"یا پست تایپ دلخواه بر اساس نوشته است. و هر دوره ای شبیه دسته های نوشته بر " -"اساس دوره است.</b>" - -#: 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 "" -"<b>هنگامی که تعدادی رویداد در سایت وردپرسی شما ظاهر می شوند عمل خود را تعریف " -"کنید. این بخش ها به شما اجازه می دهند تا باعث یک عمل در رویداد شبیه تغییر " -"محتوای نوشته یا بروزرسانی وضعیت برگه شوید. شما می توانید تنظیم کنید تا تغییر " -"وضعیت نوشته یا نوشتن یک رویداد دلخواه به عنوان یک اطلاعیه به ایمیل شما ارسال " -"شوند.</b>" - -#: 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 <b>%s</b> " -"will be deleted automatically!" -msgstr "" -"سیستم %d کاربر را با این قانون شناسایی کرده است. همه کاربران با قانون <b>%s</" -"b> به طور خودکار پاک خواهند شد." - -#: 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 <b>%s</b>?" -msgstr "آیا شما مطمئنید که می خواهید قانون <b>%s</b> را پاک کنید؟" - -#: 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 <b>%s</b>?" -msgstr "آیا شما مطمئنید که می خواهید <b>%s</b> را پاک کنید؟" - -#: 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 <b>%s</b>?" -msgstr "آیا شما مطمئنید که می خواهید قابلیت <b>%s</b> را پاک کنید؟" - -#: 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 <b>%s</b>?" -msgstr "آیا شما مطمئنید که می خواهید <b>%s</b> را پاک کنید؟" - -#: 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 <b>%s</b> to trash?" -msgstr "آیا شما مطمئنید که می خواهید <b>%s</b> را به زباله دان انتقال دهید؟" - -#: 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 <b>AAM " -"Activities</b> Extension to get advanced list of possible activities." -msgstr "" -"<b>ردیابی فعالیت های کاربر مانند ورود و خروج کاربر یا تغییرات کاربر. افزودنی " -"فعالیت های افزونه کنترل دسترسی پیشرفته را بررسی کنید تا فهرست پیشرفته از " -"فعالیت های ممکن را دریافت کنید.</b>" - -#: 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 "<b>ویژگی دلخواه توسعه یافته من</b>" 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 deleted file mode 100644 index 8203e57a527397fcbbb503c74c06f8fa60564338..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7281 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 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 deleted file mode 100644 index 1a906ef..0000000 --- a/wp-content/plugins/advanced-access-manager/lang/aam-fr_FR.po +++ /dev/null @@ -1,337 +0,0 @@ -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 <moskito7@wanadoo.fr>\n" -"Language-Team: WPAAM <support@wpaam.com>\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. " -"<b>Notice</b>, 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. <b>Note</b>, 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 <b>Refresh the List</b> button " -"or Copy & Paste direct link to page where specific metabox or widget is " -"shown and hit <b>Retrieve Metaboxes from Link</b> 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 <b>Rafraîchir la liste</b> ou copier et coller directement le " -"lien vers la page où la métabox ou le widget est affiché et cliquez sur le " -"bouton <b>Récupérer une métabox à partir d'un lien</b>." - -#: 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. <b>Notice</b>, " -"list of user's capabilities are inherited from user's Role.<br/><b>Warning!</" -"b> 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é. " -"<b>Note</b>, la liste des capacités de l'utilisateur est héritée du rôle de " -"l'utilisateur.</br><b>Attention !</b> 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 <b>Post</b> or <b>Term</b>. Notice, under " -"<b>Post</b>, we assume any post, page or custom post type. And under " -"<b>Term</b> - any term like Post Categories." -msgstr "" -"Gérer l'accès individuellement aux <b>articles</b> ou <b>termes</b>. Note, " -"on entend par <b>article</b> n'importe quel article, page ou type d'article. " -"Et par <b>terme</b> 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 <b>AAM</b> behavior with ConfigPress. For more details please check " -"<b>ConfigPress tutorial</b>." -msgstr "" -"Contrôler le comportement de <b>AAM</b> avec ConfigPress. Pour plus de " -"détails regardez le <b>tutoriel ConfigPress</b>." - -#: 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 <b>%s</b> " -"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 <b>%s</b> seront automatiquement supprimés !" - -#: application/view/manager.php:354 -#, php-format -msgid "Are you sure that you want to delete role <b>%s</b>?" -msgstr "Êtes-vous certain de vouloir supprimer <b>%s</b> ?" - -#: 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 <b>%s</b>?" -msgstr "Êtes-vous certain de vouloir supprimer l'utilisateur <b>%s</b> ?" - -#: 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 <b>%s</b>?" -msgstr "Êtes-vous certain de vouloir supprimer la capacité <b>%s</b> ?" - -#: 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 deleted file mode 100644 index 32608a49eb5b848d9a1cb1080d3bac95b56cea8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7698 zcmb7|U5q4Gb;mEp#ANwM0uCR>iSLrwUc+?n%<kH2#=C3J&dl12XLpC4*>xhvg6gi@ zJ+)n3)vBtVaZ8biP+rJWkgyQK4-v?bB3=?HB0wY(w2B0g%tItl0s;gQBF+m!Bnna_ z!tZ}?Rdvr86jGYo|GKyC$GPYH&$;K$ciwX63x;Q#axdk@JB%6W{dN5CeC5}SIS+mn zd@Xp_UB<i_d;|C<@SeJU0{nIAXTi6CYv3EfUGVi_1Reu#ftqIuYKa-R3Vs+o1AY-a z3H}KDE$}`DtKSNU2<9xPc`nrLm%-npeyy&52z&$e0k{Vi;K#vlftqiEknebnF&_an z-=~;N?VkoE@85zN|7Gw_@MVxc^Dq2pf8Vb0hoJWVV~{`dzx><>9%Jx3!S{fgZv(uW z^*#V1f*H^#d2{e?@J~R=@dEgF;EUin`tLHi^!zb?)c-HQv*6!=TK5%D>;5<RJK!C^ z5#+X@^uGk^`{N)}n)ieJnP>QsoriV%pMuiw$3W@f6LtGvfg1lg5Yf$-YkaxJe*;<C z`~cMa{|RcI*C4F+a~C)S-wggPxDQJ17eMv@45<Ep4Pt8ZIglyLm+Jc0z|W$GZ-5tR z{|K8BZ~h6S$$S;m`ria4_bWC24=BC9>8+vt-Js?@Q`a{@+4Ux<^`8Z$*9bffeiD2b zd>Q1=yq3u%-`hd$>poC=c>vV-6_7u3mLJW#1xjBZ0RI?#4tx>(CWvU};J1zGvade_ zHU0~43;Xzo8ovf={I@}Uf2D5!QQiJCQ2ROdc4PwY;YaeE0*`~|LGkZ{p!&_g8?5(H zQ2hJuJ3{-v*Z5OV>%E>quYh-h&(Z&9p!EDl?+SVxgHKTZFerWeBdGbm0*d$l3d$Zo z1=*^(3zBKQdqK6|4@$l>p!jeTlzyk6^!ico9`MgW&HGtU<NhAh{{9)1oL>iJ@9%+< z?<XKzGk4+y>US@w`5pvQunWE${1mA9z646XmqG30`=G}C2Z(CTe}U5b8xayUnBSx5 zQQs33J{wHupDli6b3GfBvy>G|m!jtsWu5W_<!OrctvyH%J=&*y0+o4PZG(EWzsvqD z{Hy_zQO_01Ny>Xw;gL?Ihtm{Gk*_>OkxjHuJ@27BN_kQhp5LdO_ix6$54=E;4$stW z9Z)_Xy~!qv&owHWl=~_2W9Z}c4VXtLOBC_^5~X>hSLoC}57uvr`{yVRQ0|~SM$z;B z0OoOUnSzNuS7aAGiUWEcq9`U`Rpngo!oj4|&$G&9)wz?s3wDsFu`6s++AOc^L6KBZ zFLgFAY@EB$=$=o?s_a^`wsys=_4}?Y?K)EwdD>KCmnAMXYjJGXqe;|D(xjUC>gGNx z`M0a?;OIv+UC&eJzuzcb!OJ+w>=l<y&05OzlS#@vg|oAKYRf4v)m~Kj+Ch|6w#sen zQdc?KZ`ZZ#^8Ql0d;C`$%0}ET9i)YiEHy>a#r_wg{>Wvqy^LCmLDYBVVw(3yW<ARK zE(KbRtfww2%zB#iM-u%?GAyFX(U6z?=Gh<_ZWriR@6xYULF?X9J+~L_Cm7}+srF=m zrgPU`qII03oY+-Sl9qPDIwd;Ub1cLh3%zYMt@0v?Qcc=z7pm=wP;(P>?R8gHMbfWq z6wJ<N%$cx~OeB`<OnYNqyISRHUL}2}d6zJgv-%)r6)49QF19^{ifx{Gqd!<`ysXY! zYrVvkU9%CDd%Zj=V*5-I4_#H74L3+K&w|3{2O08I3G*E6xy+XN*jXo@*=RCB!K?v^ zFkE4u$&1)))b`SR*tNTR$WuB$y0lT6<_D!`6FXz4!y%T9+UZ##%$p`7XD4}C*?#aH zR2yYOx1=phqM@^86;;#HPA4%2?b<(tHGL*3T{WG^)TIdG##l#=mJE`9q#Z2P6M234 z1?q{ISI)Sw<^Hs+@^LK?tH-G;P?cwY4U7I2KG@)Yb;bMIW}H+;KlL~N+J3RSt{59X z%3g^wwpN(U=Lr`j(w62@lEU%%I+)A$X4ES;%!^s`eH&Hz4|=h?vx#fI$lmQVB1uYc zvH1W(5qa|GnUAg4W+yroXfDNG*i<q$l<C^b1Nh~KsO`Y>qzPl1)5Vamm`V42?{5(F zx*OnKdtTXF^a*}7ttt%7B<uNPW*@NI5u<Gk%OQT6WZqT1k)a#ZFDI@q1ODRm%RSFe zti6Yd{h|;H8ZGQ_P+-U{W?m4WTWg3gda3Xvo3sCN#=^|jMiSI+f^}+GaL^=+ll>%~ zMm~DT0DcwrhcL3Ps$CnLb;(ZUoBGuBT(SqwMrAq0tD<b?X}=Um&KxxhC$ejWUAuOT zt+tai^V^Oe3s=Ud5a;nksA=MTJc#d2(NJJ<dxuRg*2qGlz^g({GhAW$NGP!c17d;K z9t`q&ue<rF&h?6u7ufqVQIRFt@VM91MQ8UN%;__DFik_eJrtm<_a_EOrfKHGtZGtM z+i_;ck*cg`D>t6xMZ}~Gn4pv>Q@A3S5MK%N#DAQCRYNcvID!dGRquHOi<_v}t&LvT z5VcM1J8(BRj;Rlp5Cb{kEr*C=QH7MHTtc3gar&x#l13GdHs*xCl9ZfSDbnRr7&fz) zf+TtkmQQCKGW#ygC(>vA)f-oiGjvApC6df-ZLYg0_UBWV*WiKjJ}N{s3`B5`rs=Ed zhw1LUzllhyl!o85$JuLl>YbUL2tQl*p}7o|5dU_34Ds|aJBq}c9fe}vt9Et0N9DY# z;M=UXLxl-v1cq@9I%`8*x*z^Sy%Xg_fhv{G7_2JaNK=2pmEnuu19S`732l7t>C{#R z6WfTBdCalU=Ukc{H#ah65sg5#t>>xNjSPb}U(F49NF%N)rMa1u3HoiY{rW6qtY*)d z?IOR$4my|P&Q1Cg-&e(lW82quJL?6erKPh$WM8$XmRHVnmRCBbPV>6@@FSh&hnJV> z*tzcZS>;H-)18&mcKPh;@}uuvUZLL>0kyMRL|F;b@?sS`^zx0oZ_gFH#CiXT8oQaR zF3>$2PN7m~*G1!1H0k^3+y60O)n>g9UcGkg%H=DY^DV7(myePEDC6zuBwEEApRZ2B z`XqZy$8Uii&)?X+)OmE?Pr?pd(b>%Ud5qJn+DCgyb?gs1PrA&JvuPLGxzj1S(tV_R zhA*Moxk!#PiK@L-+da0OPKzk*ke-c8gq!$kdH&R6_?*6+Kattv=k3ZvkIl#Lkhb(4 z9F|zCHppcl&5^`?tXzlugpe^Rl6}{6<!Dw_C<zCq)s0G>f(5V1Xym#+d*4mcA=)iR zA-zmZ-9RiDG1P3i;m}s(C~nA!KZ+*v7BVe(N}AgCA=tgT8;ww(l)mlOE2blo2%lCW zkyjp>A!)tu77Yt$Ho0z)-%C*9<L#F$IX(^hNK)b(cw(~>TW%fb@n2z_7v}#tCP;jE zr8>v&AT54ZW=T~k%a_1rZNFE{$f;_b(Xu0<&C{HGBY%*wqcOQY)-YSs5jTT*_HLf8 zZNbjjS(ELTN_X2$lim{_7Dm-Mzl@tHc1PtcC6gq<S(*$vOv+o1wV7~X5TBFO#X9L+ z=Cgps#WB0M;msfE8n$RGmv!w$=QpnoZO1)Am-74>k_6uQR3NnYllt1l9WAx08^a8p z5-&K|WYZ!rrBe^AwcaYRYjy&$N#Q#oziaLR<N}k)kXT>%D@9Rx&iI^IdqXLtZ`u6l z>?rvkb_tdlS}k!6w1q6}gos4{*bOZ<3O4|*IL-Wv)6?4cz><z>JLob|m)>!~sy5ok z7Fj9}3YtJhT?U$uWfF5DY)tJa+zTKzJwobKNFO*C+KH@Fa<$~=Rr2De?1XE9!^UCq z;Pif*Vo57nxp(`eEDo!pLC-_~+mb0Xwgc*FaN14wf;Z}S-XT;MI#}$Y6(IUkE<}ZL z&KT*|+^9%FwWGqPwTeOuWDeFJg-b)y_Rzl7(Q`w|W&5S(Mq5|PCo72o;TAB``4?0Z zxI$I82YT&C>97i1J4CgveF`$p#}iC_<gCYMK5i<&(yM|}VbLW`Ti*WsNQ4>5!~Opb z8e@lEVti+m)gju?I?5*~jKnBS#<HrvU=Vaum+{X7?{#7bmfS~dy>QPcxo2pBc8{-; zu@;Yu=rBmbP|qeGO(1MFAB;wdi1ow0qmeIMJg`t@IH)8;>uqZV>D1hA^B9g<+jx!y zixHu@en^*!KQ)1UW*ziPV@n_(g)A|GldidlER0w}c(^#^%*6^YV-JgCi{KQvA=1`X zLxu^r7S6x=YZ<O5*M{@k$)RPrqBQe0?cS}$!cN0YU9lH;x=6gaVm#9V%>q+vnY_;& zj)I$6U`XI@bJ7qH+qfsjMJT@V)|&TdCkt1WwRm4CLK^NYH*fzX8gglz3_U-SQN^1M zjrqh~>jQyeRWL-f?@x(3c)_@)uMbfS9^C#sfnc2IUkz2Fxx>Ku4W^1F3VcmI5q340 zW<J73{1>pzN7{Q#r_NUh>#piH8OS^(3746X?hwHf{cQ%N5Yn9;Mq_xzDcQlyr2=?} z_`G?i;f(QLb*b^U8cr^=L4Jg;n1~q~>EN)hYts#RVAK3_*IcgS`2(J43)MM2$a54z zpvkp5+z0!bCvUlopdeq=KZmlIe`g&M`4{$REP!y=l|~&2tG<m-Q!Wn3+>3|}hbP@q zKGmE_%o6I&!DVi`bXX^7^*u;**F6X+Inx?R{mtl5!&SNvbmOCuzG-KzL-!-`SO1~q zb`&^#!ad{(Nod0gp3Ni`N&=5`2%qL@9-hxNDNX8BkXu@PPbx>p&DQOgxF&OsHj+2N pXilh0w_HIqt!-c~`h4_=VnZYUxOEEcI@Fri;z-YDxuZR2eh#M($5sFU 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 deleted file mode 100644 index ef9a35688f7733e23f735fcfd50612da89f34a5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7697 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 NVcd&D?Crl`{s$tnBa;9C 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 deleted file mode 100644 index b8cfb98..0000000 --- a/wp-content/plugins/advanced-access-manager/lang/aam-pl_PL.po +++ /dev/null @@ -1,385 +0,0 @@ -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 <biuro@servitium.pl>\n" -"Language-Team: Servitium <biuro@servitium.pl>\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 "<b>wp-content</b> folder is not writable or does not exists. " -msgstr "<b>wp-content</b> 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. " -"<b>Notice</b>, 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. <b>Wskazówka</b> 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 <b>Refresh the List</b> button " -"or Copy & Paste direct link to page where specific metabox or widget is " -"shown and hit <b>Retrieve Metaboxes from Link</b> 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ę <b>Odśwież " -"listę</b> 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 " -"<b>Wczytaj elementy ze strony</b>" - -#: 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. <b>Notice</b>, " -"list of user's capabilities are inherited from user's Role.<br/><b>Warning!</" -"b> 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. <b>Wskazówka</" -"b> Lista uprawnień jest dziedziczona z roli/ról uzytkownika. <b>Ostrzeżenie!" -"</b> 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 <b>Post</b> or <b>Term</b>. Notice, under " -"<b>Post</b>, we assume any post, page or custom post type. And under " -"<b>Term</b> - any term like Post Categories." -msgstr "" -"Zarządzaj dostępen do poszczególnych <b>Wpisów</b> i/lub <b>Typów</b>. " -"Wyjaśnienie, <b>Wpisy</b> rozumiane jako dowolne strony, wpisy lub " -"niestandardowe typy wpisów. <b>Typy</b> 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 <b>AAM</b> behavior with ConfigPress. For more details please check " -"<b>ConfigPress tutorial</b>." -msgstr "" -"Konfiguruj <b>AAM</b> przez ConfigPress. Aby uzyskać więcej informacji " -"zapoznaj się <b>poradnikiem ConfigPress</b>." - -#: 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 <b>%s</b> " -"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 <b>%s</b>?" -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 <b>%s</b>?" -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 <b>%s</b>?" -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 deleted file mode 100644 index d3a567a29c5757a00d54838825223f5e054d061e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8881 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 Q&yv)mDjBnW?UTX(0)2u^#Q*>R 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 deleted file mode 100644 index 68f992c..0000000 --- a/wp-content/plugins/advanced-access-manager/lang/aam-ru_RU.po +++ /dev/null @@ -1,334 +0,0 @@ -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 <maxim@aeromultimedia.com>\n" -"Language-Team: WPAAM <support@wpaam.com>\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. " -"<b>Notice</b>, the menu is rendered based on Role's or User's capabilities." -msgstr "" -"Контроль доступа к меню Администратора. Запретить доступ ко всему меню или в " -"подменю. <b>Внимание</b>, меню отображается основываясь на Роли или доступе " -"пользователя." - -#: 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 <b>Refresh the List</b> button " -"or Copy & Paste direct link to page where specific metabox or widget is " -"shown and hit <b>Retrieve Metaboxes from Link</b> button." -msgstr "" -"Фильтрует лист Виджетов или Метабоксов для выбранной Роли Пользователя. Если " -"метабокс или виджет не в списке попробуйте нажать кнопку <b>Обновить список</" -"b> или скопировать и вставить прямую ссылку на страницу, где показан " -"метабокс или виджет и нажать кнопку <b>Извлеч Метабоксы из ссылки</b>" - -#: application/view/manager.php:111 -msgid "Capability" -msgstr "Возможность" - -#: application/view/manager.php:114 -msgid "" -"Manage the list of Capabilities for selected User or Role. <b>Notice</b>, " -"list of user's capabilities are inherited from user's Role.<br/><b>Warning!</" -"b> Be very careful with capabilities. Deleting or unchecking any capability " -"may cause temporary or permanent constrol lost over some features or " -"WordPress dashboard." -msgstr "" -"Управляйте листом возможностей для выбранных Пользователя или Роли. " -"<b>Внимание</b>, лист пользовательских возможностей унаследован от Роли " -"пользователя.<br/> <b>ВНИМАНИЕ!</b> будьте осторожны с возможностями. " -"Удаление или снятие некоторых возможностей пользователя может привести к " -"временной, либо постоянной потере контроля над некоторыми функциями " -"Wordpress." - -#: application/view/manager.php:119 -msgid "Posts & Categories" -msgstr "Посты и Категории" - -#: application/view/manager.php:122 -msgid "" -"Manage access to individual <b>Post</b> or <b>Term</b>. Notice, under " -"<b>Post</b>, we assume any post, page or custom post type. And under " -"<b>Term</b> - any term like Post Categories." -msgstr "" -"Управляйте доступом к индивидуальным <b>Постам</b> или <b>Терминам</b>. " -"Понятие <b>Пост</b> в данном случае - любой пост, страница или Собственный " -"тип поста. А под <b>Термином</b> - любой термин типа Категории поста." - -#: 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 <b>AAM</b> behavior with ConfigPress. For more details please check " -"<b>ConfigPress tutorial</b>." -msgstr "" -"Контролируйте поведение <b>AAM</b> с ConfigPress. Для подробностей " -"посмотрите <b>ConfigPress туториал</b>." - -#: 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 <b>%s</b> " -"will be deleted automatically!" -msgstr "" -"Система определила %d пользователя(лей) с этой ролью. Все Пользователи с " -"Ролью <b>%s</b> будут удалены автоматически!" - -#: application/view/manager.php:354 -#, php-format -msgid "Are you sure that you want to delete role <b>%s</b>?" -msgstr "Вы уверены, что хотите удалить роль <b>%s</b>?" - -#: 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 <b>%s</b>?" -msgstr "Вы уверены, что хотите удалить пользователя <b>%s</b>?" - -#: 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 <b>%s</b>?" -msgstr "Вы уверены, что хотите удалить возможность <b>%s</b>?" - -#: 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 deleted file mode 100644 index b0cc144cce1aa5fae2a07f73da754040ff9ce216..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 543 zcmaJ-O-}+b5XI<ekDfh@i3d&Wx=X-75hLP9h!8h|ABRmy-5p^K+cs?x_#ys1Z~hNw zT?02KdFgcKy_wg3?e2V5D7FZDgag7h;h0cFgYZqwCY=Rm9g$J*m^ju;*%KO@DaoPJ z8F<nCh;<DLM-_G@9CD}zVT}cK7SteY@>)oF5D<|);73*{|9D<sSjR?2NIMfw84k}8 zjf68h*IF5OvCu-~exmYoqRPo!OpuLG<OQ)<{x6dQN^j5`TyOk_e&BVLbSP=<N|RNG zOLwAYB9kphrovcs?Z?p#YixLhy*D)MS|%#Z<b*@xHFMqzyG4nn^c^WoGY6r6>esz! 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 diff --git a/wp-content/plugins/advanced-access-manager/lang/aam.pot b/wp-content/plugins/advanced-access-manager/lang/aam.pot deleted file mode 100644 index d031cee..0000000 --- a/wp-content/plugins/advanced-access-manager/lang/aam.pot +++ /dev/null @@ -1,850 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: AAM\n" -"POT-Creation-Date: 2014-05-04 19:41-0500\n" -"PO-Revision-Date: \n" -"Last-Translator: WPAAM <support@wpaam.com>\n" -"Language-Team: WP AAM <support@wpaam.com>\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 <b>%s</b> " -"will be deleted automatically!" -msgstr "" - -#: application/view/manager.php:832 -#, php-format -msgid "Are you sure that you want to delete role <b>%s</b>?" -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 <b>%s</b>?" -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 <b>%s</b>?" -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 <b>%s</b>?" -msgstr "" - -#: application/view/manager.php:862 -#, php-format -msgid "Are you sure you want to move <b>%s</b> 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 "" -"<h3>AAM Documentation</h3><div class=\"inner\">Find more information about " -"Advanced Access Manager here.</div>" -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 <b>Purchase</b> 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 <b>AAM Community</b>. Obtain <b>Development License</b> " -"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 <b>support@wpaam.com</b>" -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 <a href=\"" -msgstr "" - -#: application/view/tmpl/post.phtml:50 -msgid "Frontend" -msgstr "" - -#: application/view/tmpl/post.phtml:51 -msgid "Backend" -msgstr "" - -#: application/view/tmpl/role.phtml:16 -msgid "Role" -msgstr "" - -#: application/view/tmpl/role.phtml:31 -msgid "Inherit Caps" -msgstr "" - -#: application/view/tmpl/role.phtml:38 application/view/tmpl/role.phtml:42 -msgid "Duplicate Role" -msgstr "" - -#: application/view/tmpl/role.phtml:56 -msgid "Notice" -msgstr "" - -#: application/view/tmpl/role.phtml:58 -msgid "You can not delete <b>Administrator</b> 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 <b>%s</b> 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 deleted file mode 100644 index 0368d5e..0000000 --- a/wp-content/plugins/advanced-access-manager/library/Zend/Config.php +++ /dev/null @@ -1,485 +0,0 @@ -<?php -/** - * Zend Framework - * - * LICENSE - * - * This source file is subject to the new BSD license that is bundled - * with this package in the file LICENSE.txt. - * It is also available through the world-wide-web at this URL: - * http://framework.zend.com/license/new-bsd - * If you did not receive a copy of the license and are unable to - * obtain it through the world-wide-web, please send an email - * to license@zend.com so we can send you a copy immediately. - * - * @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 - * @version $Id: Config.php 23775 2011-03-01 17:25:24Z ralph $ - */ - -/** - * File has been modified by Vasyl Martyniuk <martyniuk.vasyl@gmail.com> 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 deleted file mode 100644 index df0c842..0000000 --- a/wp-content/plugins/advanced-access-manager/library/Zend/Config/Exception.php +++ /dev/null @@ -1,33 +0,0 @@ -<?php -/** - * Zend Framework - * - * LICENSE - * - * This source file is subject to the new BSD license that is bundled - * with this package in the file LICENSE.txt. - * It is also available through the world-wide-web at this URL: - * http://framework.zend.com/license/new-bsd - * If you did not receive a copy of the license and are unable to - * obtain it through the world-wide-web, please send an email - * to license@zend.com so we can send you a copy immediately. - * - * @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 - * @version $Id: Exception.php 23775 2011-03-01 17:25:24Z ralph $ - */ - -/** - * File has been modified by Vasyl Martyniuk <martyniuk.vasyl@gmail.com> 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 deleted file mode 100644 index f4717c5..0000000 --- a/wp-content/plugins/advanced-access-manager/library/Zend/Config/Ini.php +++ /dev/null @@ -1,301 +0,0 @@ -<?php -/** - * Zend Framework - * - * LICENSE - * - * This source file is subject to the new BSD license that is bundled - * with this package in the file LICENSE.txt. - * It is also available through the world-wide-web at this URL: - * http://framework.zend.com/license/new-bsd - * If you did not receive a copy of the license and are unable to - * obtain it through the world-wide-web, please send an email - * to license@zend.com so we can send you a copy immediately. - * - * @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 - * @version $Id: Ini.php 24045 2011-05-23 12:45:11Z rob $ - */ - -/** - * File has been modified by Vasyl Martyniuk <martyniuk.vasyl@gmail.com> 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 deleted file mode 100644 index 4089913..0000000 --- a/wp-content/plugins/advanced-access-manager/library/Zend/Exception.php +++ /dev/null @@ -1,101 +0,0 @@ -<?php -/** - * Zend Framework - * - * LICENSE - * - * This source file is subject to the new BSD license that is bundled - * with this package in the file LICENSE.txt. - * It is also available through the world-wide-web at this URL: - * http://framework.zend.com/license/new-bsd - * If you did not receive a copy of the license and are unable to - * obtain it through the world-wide-web, please send an email - * to license@zend.com so we can send you a copy immediately. - * - * @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 - * @version $Id: Exception.php 23775 2011-03-01 17:25:24Z ralph $ - */ - -/** - * File has been modified by Vasyl Martyniuk <martyniuk.vasyl@gmail.com> 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 deleted file mode 100644 index e79a228..0000000 --- a/wp-content/plugins/advanced-access-manager/license.txt +++ /dev/null @@ -1,14 +0,0 @@ -Copyright (C) <2013> Vasyl Martyniuk <support@wpaam.com> - -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 <http://www.gnu.org/licenses/>. \ 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 deleted file mode 100644 index 313e410..0000000 --- a/wp-content/plugins/advanced-access-manager/media/css/aam.css +++ /dev/null @@ -1,856 +0,0 @@ -/** - * ====================================================================== - * 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 deleted file mode 100644 index b3958a9..0000000 --- a/wp-content/plugins/advanced-access-manager/media/css/codemirror.css +++ /dev/null @@ -1,262 +0,0 @@ -/* 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 deleted file mode 100644 index b15afcf..0000000 --- a/wp-content/plugins/advanced-access-manager/media/css/common.css +++ /dev/null @@ -1,369 +0,0 @@ -/** - * ====================================================================== - * 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 deleted file mode 100644 index f45f516..0000000 --- a/wp-content/plugins/advanced-access-manager/media/css/configpress.css +++ /dev/null @@ -1,4 +0,0 @@ -#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 deleted file mode 100644 index 08d3fc5..0000000 --- a/wp-content/plugins/advanced-access-manager/media/css/extension.css +++ /dev/null @@ -1,155 +0,0 @@ -.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/capability/checked.png b/wp-content/plugins/advanced-access-manager/media/css/images/capability/checked.png deleted file mode 100644 index a9c3352e6fa428cd573a22dc533776c3dfa9af9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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<+<fB(K<!Gibi-zOv_`1<-z zojUdR@86!Dp08iOe)jCy-@kv496564%o!siqg}gp1qB5~L`0aFm^3vttzNzQ=+UG0 z_V&ic#{d8SpKbqgE6@wJB|(0{KrY#Ufm44?JkX#yo-U3d6}Mu}yNVq);9&`9l{|Ik z%$-{k-_@^E+j#d|Y1uF7vki-PPdM4I+BzZX%mXFI13JPvZd$vA4W(^-?{=5j@Ef1l z(WI;N{%=FrK`qI6kM<q;Lgyd)c+PUxJtRH#f&BZscCl*L#W`R22wvaJo);!$p(`jY zvGoPBiBnCVr&DB3L!nY#^`@%73iF;{J-Xw9{x!*?JO2O7XJliz^FU|vVkON#KzA~D My85}Sb4q9e0IiD<L;wH) diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/capability/delete-active.png b/wp-content/plugins/advanced-access-manager/media/css/images/capability/delete-active.png deleted file mode 100644 index f22a8e3511d5d1feeee2457b89fee33575abcf9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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*cU7<a{LG5d|LRfXlTv9{-jv<4{?3iv5tkQ{e$?^IMvh0**^&FVWiHprfbU zoiZhBl7ZaT2DRg7Iv-4`>gDd_^49TBur!TlmwmJ@V7Bv{*Qe+3o&KH4WOmlJN<L!Q s_sFZtwZEF*#`-;F+y4GnJtG?fa}2+6zx0(SKnE~*y85}Sb4q9e0F5hz8~^|S diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/capability/delete.png b/wp-content/plugins/advanced-access-manager/media/css/images/capability/delete.png deleted file mode 100644 index bec37f9843474f5db92e73971b5755239e7ac12c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 313 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!fon*g5>S8HqQ4I4JBUAxxG%4+rM)iyRZ7cX91zka=miAiE& z;-yQME?l?}8yjn9XJ>D3fByXW%a<?P+S(c$8~^|Re{b`&HlR5oB|(0{KrT99@b`Z% z2$V1Oba4!+xaD&`n(v4Lk8|MnyFpeCd;ag;#_1;Y@10-=%ben+ekX+sXZ%$u-(2jp zO)-9U>J+ukJk}|1E}9?I<J~K}YXx(JSpFNC3EOrAurFC|-+6!GJu%LRz4J|;HO@+& tCvi8rDDiL9>78dD{M!HTV0Z%~!+d`MoA71aQ-Rhqc)I$ztaD0e0s#MbhVK9X 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 deleted file mode 100644 index 66f709a09be8a341fe7daee9f96152b824d59e10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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<E06!F3*YVyf|B@blR3aMQa6S*1$WNQmwc2Cmsr_vig3{o{5Ly X%WrPeB5qqrpkWN2u6{1-oD!M<AtGFJ diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/cmanager/field-loader.gif b/wp-content/plugins/advanced-access-manager/media/css/images/cmanager/field-loader.gif deleted file mode 100644 index 575332b0d365daebd5dc713ad0978ba00ab85f40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 404 zcmZ?wbhEHb)Mnsj_{hNU|Nnp0+GSJrUj~wj|GE8KLxP<h16+;t444@i7#I})NjVp# zCYGe8D3oWGWGEzNC069*C#L9S=B4E`DE?&O<N~VF0b&M_fecJWEqxrPr`^2K{P`%C z^u4gpr&}MGwM9fOOjEDDH*4Q=o^)N$>+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{aX<C)(@da=E7oB((E;k!8B=z#OV@4uwKLUcg~@z(xj?NF^`q-n{^r|gHhb&b m{=b_ZPfT%+efvz?tL%iUu)v-KrE>zJznDZA7_33z1_l7Q2A8G) 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 deleted file mode 100644 index a95a90687e0d235aa2ae03b911676d1c220fa991..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 424 zcmV;Z0ayNsP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUzN=ZaPRCwBy(lJZJKor37%cX*gN<j=- ztAm4sh)Wg+L7YY1MNklT$AX9sf*?4#iMps?z+H!~89FEq?j3^YP!z=E;{W7Q+N){o zgI_M>?%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(`RmHS<RUD)|SBYyvr~Q$Jp}*D@yAE*;{TfW-tBlBftOvtyq6@ Swi%QF0000<MNUMnLSTZ?@VAWs diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/cmanager/role-active.png b/wp-content/plugins/advanced-access-manager/media/css/images/cmanager/role-active.png deleted file mode 100644 index 53003c65d6c30dd62e2abe9e3ac1ce04b4eff466..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 957 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+7*hj$LR^3R{=4DI(?5Uz8Bf^#_uoI)SqF7{b|$Ynz3bMC zTdzMyEj{u3@4ws)=Y8iLiCuoOVb|4{pMQAGIoxyLX6WMMPd|Q}d+Pq}*Pk=ip7on| zM89v>y30@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@k<bgX3a#eH{P>GbUU|NsA# zX@>E@SSc?F@(TuX2LLdvoWCR$80XoZE{-7;w^}ZzRv$7DV0f@)i-^QKGl?^I!9ex< zZ}-`4Dr;<Z>+g(<%Q#WU@sBel@OAf&>61lM8|}Nlo^U(O@Kj=Q#>*{it7jbR;ZP~x zrFJc@;<Guc6#p;Npf#n3dXKYo+pJhDzuKiBeVG~GACdT;<qq2>=Cm{W^3*Wy@ObvP zVR~bxWR&N%gN^KL8|1I`m~KAbXuHjx<wK&1Q2pdewmS^Xziz30Sv0Yc!@(hbKFft- zr|-djH%uoPZk#Q|>e%31<ePrpN&j89_|K%}=8^Kx4x}8?Fl!J>dS3Ze@tW_YMcOkC z)U5duv>>JDkeb8PZgFq53Hm2KPh?UG<W*3=yhY%~wf}1?s{&;786saj+8;7k|B8&} z=S&92A0pFRUa@dU*?%c!4#?yC-+437A^&yXoH~V)Ze6FxYNyj!-z?^liD+bz7B@*^ zZTtDKw8DG)dez7|?^b+?yDM|wDn7t=;f<${cNlc-XX0Tn6kK5amsRi|Fy<LNUHx3v IIVCg!05f1da{vGU diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/cmanager/role.png b/wp-content/plugins/advanced-access-manager/media/css/images/cmanager/role.png deleted file mode 100644 index f5eff2ad48d88ceb78853a5ace61dabed16f74e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 920 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+7`*~~LR|m+`D1Bm`S<VNpFe+kdwXx*y!rO++k5x!Eh;Md z{rh)9LPBtGu!)JurcIj`E?l^D=~7cu)2UOZMn*<PL_|0`IyN>oZrr%>*|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>Ccfhetz0Lt<j$+O=y}tXL5i7B+wW{F^s# zu359j#l>aPq)C$}Pd<3?pp})Cxw-kvmoJ-|nm&E{<mTpf;lc$UAD__B(9X`z_wV0( zd3n8i_ip9Nl{GarPoF+*Z*RYP_3E29Z=#~2E?v6h?CgB&)~(dk)U#*L+S}Xj*|R4w zFwof8`2YX^a{Cv^0E0fSB*-rq$fX}(Siovy42;h#PZ!6Kid!w0Q>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@<sGR;+x19u3J7U#?SrIy8e(%g+|s<{|TRS z?A;56U#n$a)U8RjbMw=jpdF>iX^`>!=sdm)Haq)HDhRnUYlJLny))z2cC#05g$sEn zWVh9?D7yYna&6q-ELq1NLglSVj2#*JyQVRPL?5hwlr3^<wQsiXU4dQ4*#e*XO-o^! z<H^?Kwjd(yKst-xkHgt#OZ<PI^{}~{`T1YLwt|hnmsx!3Jld)LP~#t$0fVMn!+Ogr STiAi|&EV<k=d#Wzp$Pyx>g|sJ 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 deleted file mode 100644 index 5a1dc92ac3e231c6d2ccfebc0f12ea6e8888cd81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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<KW#_dv3j)as2M%58v#k?f?Gk&*kSI%qH%cdE%}?->$#~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=VW<LGwDQpcu<?WrC6Haju;HmH3)9I>A1 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 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 deleted file mode 100644 index 67c20525f904363f947a90d819768534ac3b01f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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<f0?CR?J>({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>=%<jIq7-n<D43d+pP{P5vJ zR#w*c@8AFY`Saw-ld!O`uV26Z{Q2|Nty@>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<z<~^FcZvT`1QKfA=B=~jp0>?l;lt1G z9vSapcdS_bum61kuiP$~v!8A<n)*EnX>fOA+?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-_ 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 deleted file mode 100644 index d94efef56c5d5f41d61687dc225f543df9ef1233..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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+y<bcVC4sK5jd8pXZ#z zVT+GHc=y$O(%!T+XY_h^ZN2_Hcf<KTw_cuq`o4YN^+)f&o_q3s;h6^?zyDf#?qT)z z%PFhRxXn8B_Ulj6iF<6O?)&uPch7;F#~!@dboJ@tvkzmIom_YMNyL&9Wm_+WEIKyf z@U1x~@69`P|H+4Mi_SdI>Dl@J|9_*}7u$eApH~v(7YyXm4=^lXwJ`?9XM(4TV@SoV zk|{@v4m$|Aq@GkTHnu)yQ2fZi*todt-+!s8VyrVSmwng1s?(#AAZpPy<<z@dQ?<>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}_j9<P%xH z^Rda6HB}$<+=R}2O4}T#_Nw;Fg1WdjR(DQ)R#(@J{G7V~$EwGi#rukr=X7^Tu9(55 zKF#Qv=S`a`_0>snbGMvPJM-mJO~oy%J-2pS2A?#oKbgRuVc$@&>!we8>c!u}2@K6U Wn`T{m!ngt$%M6~belF{r5}E+-svYG3 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 deleted file mode 100644 index ee08c36fe0d7f69725a2cd1beaea49516fa6926f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 872 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+7>xpaLR^3T{Q39q-_+F9rluxaTU%FG*VnIK&z(EBva+(T zukX*FKWo;k`TF&%hlhumnc1&jzkdJz?c(AR92`7t+O&7?-Z?lpEM2<P-QE4cg9k5O zyjZw!p`D#wVq)UQj~~~rT^kS((ACwIo}OM%P~hq585<kx<>i%=lVfdd{r&s*Z{NPz z*w{oyMqa#l@#V{xK0ZG6_4RMxzJ2)c;r#jYO-)Umot+&W9qa1qCQO)c<Hn85%*?ZA z&u-kf@%{VvCr+I3_xBGB3|zNv-LhrN9zTA(b?a7dZ|^BnrtH|Uqo}ATIXO8dCdS0X zBs)9%`Sa(WK7IP|;X`+K_tB$AFI>2A`0!zKbMqA|R#aD4|M>Ca>C>k>ckbM~ckiZ6 zn+_g4_~_B2D_5@U+qbX3zrV1saP#KPRaI3^PEN+g#{d8SuWYMj2L^FkNswPKkV|{O zVA{80J21YYJY5_^DsGibzB;YNfybp$Fs-4me0ym*5WM{JUth;rd(+n|p*!0r^T~3~ zSh6u|??eur_WjdS6qmMFY;B#9wR@8=$F_;SUPt+!Sf5z<WCzC)w~5|eIt;&0IJ@#m z*y<}RG)$P9ro1orud(M{US>bfOBy_LYuw+cFn=o$*vW9A?V#$nT&|4G7AKhYoJqgN zcyHtXr3WN`J~2HY==A;B6^{gghF^yRG`cQ`9bn{SW9jIezIyh|rvB|~Jnh%lGtQZ8 z#TBq%{zC_WOF4Xv7K}A}_Av%L$rEJ0?8IJtH?L{;<R(^|h4o)^7*|dB5v;i|c}diP z)e~A64>kSW&~T8&zh>JsWww1sy*gb3vuC*M)wWu3d{cP)@ydTsp0JkxRoC11s^nzk zcmJE;ol2QjB^UnEt={|jLCoH{z8mAJi{Gk+h{Wly-#PtyjrmQEpJ$DQDj1htoV_z9 fczbF+6A#0t4Jm)`&f8rBj8_IvS3j3^P6<r_NI2ln diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/common/large-iconset.png b/wp-content/plugins/advanced-access-manager/media/css/images/common/large-iconset.png deleted file mode 100644 index 027710a67fdbe3449f5aaa631df7ee5e6a0d95de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14735 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 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 deleted file mode 100644 index d3d8593ef4953d81b1cf7197d7d640689b3bbfcd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8883 zcmV;kB23+hP)<h;3K|Lk000e1NJLTq007tk001xu1^@s6b2qdC0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBV9RY^oaRCwC#od=i{Rkp`(!OW0zW(Wfe zIU`6A$s#5cSb47K!YY^r6`zVZt)i$P26SCr-9^`k0TsnHOOh;-bC^Nm5QZ=W?>oQC z)L30z)m<G1^?jc2>vibvd%No16aMFa&aJhy*2+(I?%b)r{PIin_19mkZQHh~oSYo< zeuWAZRQ2lBRrl`QRnMM1Ri#RmEL8|HYt}5iW5*8Fzkh$<`KL{rrYB9Br1tIGm(<@b zTehsa`s%CIS!bPP&6_t*zw*i}YT2@7>d>J>Vc)G%rHUFjaG?70pZ~1V($WfLE&h<- zr&wMFwt4er{me7Zs4u?wLjC;n&k-jmQlyCL)vK4f_S$Pz?b@}Is$7pg`l$Z!!w=OP zZ@i&u)TrS(w-|si!om;?=iYnoRkz%7i#l-NfJ#qKSEWjoQqDEAEKB9)=Bi`Ij;X7z zx+<bGh)2Y+=@lzhsIFbRs-i`Uo;2e<di1DXvu2IjzJ0rKsP*dAQ)SAO3Hg1wXPuIg z;(JZvjP&>4f3IfGo~<@*+N5^x-fiBmSh1q2Q>TvV)Txs?_0&^Ui4rA#7f$Jc2OcmR zf7e}iS#cYf7?r-~o_jn!btEZSvZT8I{`*yr9zEh-EHP${qROVJ<HwJyOE0}tvB|xA z_g0TQ@`&fWufP7fe*E#rRisE9m*)|~89jQm`tG~$jDn0AGe(_v-g(BMI0Xeec<`WJ zw{D$LM%Kap4%fuJWM*cna^=d!ye{H6^g|Clq<;MINA5Fjq>z`Fr;8OU7I^HQJ$v*& z{_zj>?YG|=qY%SV?b@|dmtA(5s$ajpCHJZ4%$Z}*OX<?3J?9n2sQ>-%f2*}?*GBxU z1`QgReLnZxbAQuDCVHT6xZwu#_k;-(aClbC2KMT!uWAOztE?y%7jf~$7YAM}fp(fm z`NI!Cs0|x7m}mezOHEBx^XJbmh@cqn*=L{aIq$R2KC54P>7}GDD9UurHP=`YowX>D z`rv~PJb!!j>eYJOxN&OX!i8qtFiiLQ)vQ@l-FDk;s!NwHf!Ag6;>DVK#`CkTZ@&4a zs#~{iTuL~3@??#oi|1voh;xWR>Fch$POVzC$}^%jYu1cwGm!X-E3Q!P2*!Tm6#o0) z|HgEUefsoKx8Hs{dmnavq8l0~w|DQ}Fb5Zh6UW)9jvYIy)~#CyUQa=2#;G8T6@(XP zY>NHI^y$+RGA{e#$B!S+M(8unI3wx>2=vop)G9kWJL=pMCr(uD+qc(Mt5yx07ehcX z-hco7gd-USa{l?}n>qQnL?@GPN<`Ieh(?Y|l>6zYpSU(4a>(!VH?Ob0`pUpefty+s zDeAh&eVD!2zkk0SB@<FCoY&`{e@=d=Zo28Fh|!F7_A;*gh-&ij=FOX{!-o%(BdgO- zKRv{_WPY`1(W02I5rdTVR8KtdgmxO4<h}a7`|eX4H*QR-1O4QaPt=1CKB&cEMBR@W zGiDSR7sB7XciL&ES%D0UkS{-$6qv;v%+<DSTV1(wWzP#Za^#5d&fH{BVev8EhaY~} z^K&8udD3T}eU{Mm<4Kvz8I^5A@lpzm>zs4WQ39)d7h58re(kl_Oa$TH{UR}+J^l34 zitoCO9_X1sK4s>3`|Y=l@r)cfQp^5?T|-Vzjv=+8$@1mPO)ffo`0#@Fa6s(4pK%Ga zRNcCDGjJ2K2;(FTajq+4nM3xtz?nVu)Kf_}E(B!2+z?~|0)gjyVqnox9sk3R;He`C zaA4lNc`#}ge@7A&{ki9!^Zgtn`SjCI&Ek^q%4P%q%muR%lJt6x!+54lnd0dMfGQ|3 zNprlySmub7xI4w(c#JX{BWWwTB+59JuzT3DWsAQ4`s>4tE1yi@zD-^uMvXVs67{u2 zkw6|1LIDHgwPeW>qO(cZ7c5wyF$@Qx5>*eFgQ!J>bw(PTB~ahX;a+gT1?uIOUpD(I zFxTYM<aj`5w=jp(@sfiJYBA9_S;Ab*$=uOIpsAiYb7t84yvJuzBN!X?(MKO8-9t#u zqDG7up{rG^7NV^0yz`FcGn9GIpg{)D;tlQG051-t0*||eMM2pj5G@vAA4Ofca%D`{ z+qiLK<2{)pmdF4sj<)&E2*?<sw~Wz}-&y&PL;vk>fAfXP-1GC#KOgd5@#4iHJyfGc zjeshqWKy9*1<z{-^1k=pd&cqE*8rTJI(4easZKfN6kV%UEfZ0Q*bq#Sq(g@eA>{~2 zo)=$y(N~!%cd)LKpKGo`j7zs^)5aPyWQZ0>7`CU()w5?$&6vErJOh#Y_U&s>47pe$ z0&^+I%D_D4_E~Rposd>I20!65*#puRqr+Z~IR#~oM#aaQj{!F>y6B>U_kg0XVWUQk zQh)i&Uo4*uv3Bj+rEPDCV!|{H7%)JcdFGkEN@R;fL`yuRW>dFr-5TgxYt*QLS2bf} z&DU%LiZ;JMo&v=cCt@OH`SRrr1rJm~>0=RcpscJcW0d4YAcnz%2Wwf^kc}onp`fD7 zidvpisn{bJN?z`JisURHeVihw#y~DF;hurgsi~>jj*ciU(xgcfPu*iK<^)n=@Z^3( zwo5L##K7_Y{O3Q4bqlJu%)xI_r`)`GGo+7+)Z7P*DUcO{4Siuvd2x+=Cz7+_8o4Im zJ4TkCo~|k7u-_RO8OC{~fQ1W72%}B|BVW1m&O4*BH#XF0*|Mej)1UriX!=-aX7R?B zL<9}7fY*y8cr&60V+v~>&N}NX1Jl?rlmci8#NtIx6031}MMv)Q*=L_s)Sd3W`))1p z%iIsSj2NE=8e(XEUfVfeG$C?2#Yq5oIa*j&r?LYR^I@^CkuWC)=7^H&?|=WhNhL@z z(A$6g>t9g`GGHi9r*r4d1_gZl@yB7&5`&FbFhIyCUha|v2AzVndI>PgDPj~Mxr!)! z$me)rx43V<RjXD}l^BnL2f*Xzd$70^pWhNFrim1Udpt9nOC$ld0898ca4pDnB_iAd z&cYTpn_LnYJ8jxDn6sD&pGbmNg>`%K$tShINXy>4>C>ktWq$HWfu$kutzW-BaKvXF z8a8ZbiqODTKk=KB^&;Zn6k(vLwMp7xD14_t#gl?iV?z%?O<rV4j~+dg<f1XB6hTrB z=1%eR@I!|V^;J6Xv%K5}7UueFC=lxgiqa=V;l&YHZ@&4awml7-fJ1?{1{RTb@EvuM zCBFm07(1|(+)rSz#zT8WGZd4k!9Cy@_zscCFWOL(Bbq^(BajS`O5As%0!8mGc-t*> z(S+J2ijHv4D7K&Y&B;9j=Ptkea&_~~H=A<Gz<~qxKmYkpllLS2`}bFW{p(*TuUKNl z`mx6zGmzR#B>%L=j~}m@3&Tx@01f#~N=hlo?tn-jXVZB4cq3M%TxIUuxoYXsrKUiN zf!WDE@a)$T_qvNhSmO0ekrpWJCJI0Zz#SWskS~x=;CX>dP9y^Cg18z!e7LD80k6l7 z9cu^$AY>wao3zEnD|CK<7H+-uR!v<l5y8noEZF-vX3Q8%9En-frcIk#vd89cz7q|C zV+hpWNGTF^LUMn!_$j+Yl|psiD?xQfB-lRN+sh{DNVwY;=8h)0xw)p_5RY}m6<6qJ z{dTq?2EAc{O1|(YT0(!ag-(x2lO~yZ5?w4Vh7@J7>?lt%O>sNliRc+KW~dilc%guL z7N~6^1Te+UHDUjF9~c>rP)LVpatpnRLB~@>4`N)A=EUI;A%I~pldD&+CZ*B+`t`H& zO9rN%n3<WWB_B2QQz8`PQiNRGk~y^)zd-=;2<0X>S(d^^c^MdtlT*mK>>3jVLHFlg z!rXoWqe#L@Sm*a?l#OIu7#8^3E>^|>$JFmhXqcWjabiKi*>(bv*er4_h#=V?69MgF zJ4R|77=m|>*SHY!8Lu)1jle|4XhQ8Ps4%C`y_#Ag5E~e1=lPIl^b6)2SOKXvY}hcv z*pjpHok%1PhJlgMcN*k=T<M4*U)(*XMVzfJ$rdLI<VapM(Gd~@CBnGKMZCW2AWJme z`Y4CHqdN#in<$h!*^v%NH+uAFQ#dDbp%g)`fwjS7OI~5V?}UOxecHMtO2&LW%mut7 zm-7<PO^`YGZK7xp@tPA_onBYEQ7D$XNi+=0O&0MToHq;~V{KUJCm4v|eMS<-cr|pV za14TQo9tQ`itRRDj-L>*C}=trhKR(!DKgsyOkfW*E(K8{7sAnzlPwrO7(QrsM>0h= z&C1BgFmRlH$RNVe4^b#RV#J8BJdb>A!h{J1IZ#63q(HRJ4TRGGcy&K$4pgNK;a3Yo zD0WK(G2=f74@pD>pVf9-p~xF|LQ_al)be#T9=5{`#Ci10L(`|%G!>!(4+q);!B zo7eBY`)*Q|gKleg7Y8j+kPdEdjHiVaLWyeBs6mdUIQ{{{32p`skW0DeI~hXFhHIhe z)ZG|b7zO$ujBS8iz@o#$3l3o<efsp#c7ZwwBNnX)4{VhEGsm3#P=K>`X19*{3A$iI zQ5>9|lhL>kl(F<OG7J+2vV8gS#=z{k-NJsyDt=>3voGEb8aI+RgF=>9Aj;9*2x`lf zS6*rI0%zxdt*HDq7wNuGHs+2y?ueUCPn0F4&<%dS@x~h|c+<XP<|MZvANZ{b^(NR- zI^1nX1tK7UM^U4dP`F2my4-h=4wruY`Wb`u>PJMmIc@_gA(xCqa==nDmn{$(u)r{; z$q>%B*#|$F+bwjy1g-12QXkI~7b!MP349wla%93@8L!}^DP8Q3b;~Wc82A#cqkyOd zX6Kp&CjDx3-+%!FERLl>>YyY}SZf#CW6ja*#@oV-fV7tZZFvC+={rQRqB$J)uSJU% z#zA)O+}Vm@-z|ZFn&0s1sHe0*$AsU>g#2i2hzO^W((phon(U5xV5qy9BA?YZj>t>w z0=w679>y@10(Y2!A)PvPvcSfP9=N2CC<&?+0diPFhYmGGRXakF&~kC)Wv&C~5b zJtNVDq$ey<qCy;k)xUp#LkHXKPADNA1V|+M*H0NKPb6{#C7Q5~z$%Ku9H10OVe%fB zL==SnKB5Ux7|29Pg?l1z1{TIsk0i&Vp5%AnGLl2_J8+4<2=pwJ1D9TB!HAT0oz%&O z({o53iNFic&*-c@GKR6f28Ik7GQ=VWD(puFh=G{|o8m8hdN<r~L!m{e3opFTU~jM5 zMl6nm{12sdMF}$jkxiU|j+R^48%#7I2comPu!Lhk)SVnkVhtWVm}Xf`LQbS1x<MWQ z>A7~V!>sWb+1RmTllsU2iqjNuPlk}9*d-C14*i7i3C>3&pi?{xh9g8oW!qUX7AF;g zR=kvqen1w7!O^@kML#ZrMG{XKc!M|w4t)xo4ElV7c!lE>bn!#sI&(az=W*l4#r@m# z(-E;TU=-ACfL_oLPlxA2sk!$^(LNEOlL1mG*_|=5uFvo7p*QFy4gz)^y^eNzgF~v= z3Fv?#wY#s?3i{YK!k_*0CM=r;O7yX9^oddbiuIUCyu!m@Xe)yD=Tt6vMxsxF!Wq#A z$FZLvPq#wpfnY@O_U+sM@rbwo=MvGtb{xplpReAozFfOq{j~3}$~kl*npG%~rfQTe zu6kxxRlVg^xm2-2QIr`QcIh3tht&lw(tYRuaQRmK^o%uX@8P3K{q1taQ`L2+WvX+V z*0APp$<Z%<zg{igx>p@O8s1S+wRABxsAVm6=_z$pv6Lcz7|kCN*}yjKIjEofcD4Gi z7}w8H@{}S1d-^o2sz#mOP}M14GO5b-(C5qb2g|mqDMLG}nq|FVMDORn*4uOQ3T1IH zoJY@TrLKHuzRElHv#M3DgesMmqMR$jMeWZ!rjAK&b-fs5Bxewh{IvhDUcPOg>Q=vs zDq7^^wUit^{<B`SGgocfe^^y4nWh?4Dy_;C3oW)E6Xi&Wa7~Af9@n!s?ou=5wK3<Q z+I8@RgRUg=)vZucb*WoPb&^+!)S|x&r*zNsrDp5z>)Sm3=OTW#dYisu+K((wY$Qi& zQT6cIEmg0~_!DK>FD-kbSZ~>1^*@tmtJSi}XEdy)p6Ks=NOSUnP5O~9R}{*E-rBQ? z`fmLWBB{FjjAp8TvzjP*C`%*?cHqb{y>{0DwOyhu255gnpZHugtXxKwFOeGia}jg% z^nIT#Q$I-Ld`Fy2l{k@tI0qd|WX(BrRKGB1o%(Xkc4HJ`Sn8Bo71TAI8>ozmr7Ur1 zdgg|m;#jMx(#5<xT;5-rtzVwIL9N-98}YX?#c+pp$WZ4uulbucvTxSy(AU0uf+%}t zKwBJMY>#b2{xyH2e(bB2Djt&lpcv$hA1qckcW<NxDg}Qo;^CwEGl`UoviGPByAPOX zP_B527+Dd8(&ihznz}4opVusW6E102$J%q~h<<+dx}+}Xm7VIFxhKt9tJ5WNUD(R| z#Pg~h`}IR#tWXQK<oK?eL|=8+8BKN9jLN}DpzIud_ovI$T3Hi}`hcv97+75Q^2XxL zYQ^^b`oVt9K^&2vi+J#eCSuF?osmdQTk(?;sH~b-FQ*q~<)|TT>!{+X;hhiy)%E@2 z6sE7*7U<eAz&k(r(I_xZOrUw#^)1fcqj7Si0f_=|@!JOecgd)v+SCkA%84Tn`5QzL zlYz+s#%)}V2&Bfz90INMnT@MQz4+G`ZPx!3FPFV9dP!jXH>=gDwJYjsWr~N*E4h+| z*L`zwa;p7<Th}&o8pm<um>5WLBC2*nG;-AI-&<s^zeDYcDnnq8d;N&SpGzdb`8;@L z^FZq|Wl5GECs8>!A4L#+5~<@Y%GzU`lteLgThAsDquCSRtO_wMrvSyb%e}O$UQQi2 za$J48ZimUkoz8OPdkfV9`Mp>LgWP!_Pd#-(TV2*+WJ|a0(|3Nl)HvT{%Ev3Vsz=Ug zrJGkP8+Bp7TfbA!5}0cXfAe0~dX<Ac7g2Dwfg;H`ddVF3PG6?l)vBQVAk7icx_e~N zK3pEWsZx|#jr)3)dhA^9ddQewO_W5kz@F1j`ZlU&=5pqkcs;MRnZ9zHF|Lcno68t0 z0%4+Gp0`1b5$JtX3>D(U56X=f1%Gv6XwxjlRVuA${OsxR69wM4f7n9ARinE#(y~9{ z&qWj@0I3yCMCpNs>he?TIUR{+-~Eh>9IktVDypoETPEX0K@IA03S*gL+_|j^oY@ny z=gBrMgq)DMUmV;%>UUpVu*vg1F|ep(O<DY@8EeENMLsumwczh1qx)LC_&bv1%3ROP z@PFnU5W+St5@^|M*gA8;VDb{F-pcgp%AZgY@8=@QhTMN<bJej<#kd!pvCNSYkW5&g zzwtdAREf$+<`W0%ZgDIhFW(w=51aQK)YnW|5N2G4OptMJiE)tEhy%f!>g>IT^x>n& z1Np>y6@NLRK|VM9?fIg}OEv81aR-Y9QyfhX%>8CoA<~58mFy=`(n|)kNLQ~7>8QHN z{&FpkpV!)&d~ruev9Rwlhtu(rgF`kEeUl~3#hlC?O=fP`rN7${{#Xs(<Flv{Ogylj zx@>FGJ;b{|W~-|@H_+8xkWTUeEs6r%Q-fO7Qm4zJ<DKo?fanH$dFw~vN4EtY5&?XF zvs7A&McBW}l|uxPCRNJ-8O$6(#~jOV{fP$Ojys4XjO;Ekvb2;Ux=+Isrvun15QHC8 zmcXW-of+B@LH<)&oKv%^Wpuatl~uO}RVklX-U?n*0iSK+ifedhNtW587S+o_U}%(` zlv|2eYWbd<ew!c2)oh7|FVG|8n$cFlwYv#xu0p~m^Xa?z=}U3z)zica-4`IlRm z>x@R#G-L9P9hZDOMfGc3-9S_)REtMC*R5oXi+PyaXT5c<<h+npFU|FD{N=OCrP6fO z(#1_g_j1fBL8$n6^D*GYkal$n-UEsfTK~64WAzswB1AUC5-c8aL7A0Hn>y1uO{@DV zku8-<rddy%*IEyMYkr{I&L$ybj2RotJqCR)A~{@9hvJG8F>q0G4ZTtv!T4`i8>Np$ zsK;&Dd&s<i#Z^kLRTs6btuO0PFJz;S8!Eks8qu-7dT!QQ^V`lnBBJqfmK~xp#%Uqk zn3}U`w}D)K&VlPoEm}m|(Glt&A!j`S!F3pXV@{9(29IIcy41gUO*MJ`Mgvo05y`dG zC8yLia1$NG&@l>f_odtRs&%^#sI8(eS+bs+<;67uVIw&ku5s|>*@i*K`PVL2!VqFL zM4#$cDkZ;JPNmG;u(QypO~R<tz_JB`+}F3cYMUOJy@3=!<a_FWTGuvoa4a-)?eZn9 z@%>v%BwJ8W9QPB7=JH)Lrm)uG9D%=eE0i+ui~ZV|b3i>N`2TTv0Uu*EE)PpLIqFm2 ztx<C}?gr+v(I?JRi3UG2bB$giMnp6@66LpoxZ27tHgi@49m04X{$fQ)PK)v(oAw;^ zb?(gRgx(kgOfjj1Kun|D{5zTx#d*RA1OI7AaOeGhpS?DOA&gZpK$!3SdAVwh3vyl} zx}Smv^pYD-Zy56LHtD}SgoNT?aTg}W3%e!DHFq?_vTHCk#TyJ0jNe_LPmwt3vu4%G z3S4ZdZ<k2H<}gW7nTkk)q5<#NY-)GS0x(I52=~yc#xGsgr)5+kr_w8T>{nl0*<C&Q z)k^iz^5nqu?>FyOw@+K5p1+_~!E+JY%HBb<CqpFas>W49pX|Fn=V0LRIL(HFNGL+T zy(G&&zxA0D16d*K_K57;TbFiHugu$M$`I~O9vm0Wd1(8(6zkP>?=1{70HjxDRW)x* zPRuDqkd%YDQ+D`tL0oofJzu2*Kg-K)VA_k;ja8_DiP9%U;RSD7?+xo>5FB|Bo3KT^ zCN(!;kwh)?9d(igjBkuxUKItFjumBTRJoLXYQ|avslozOe$?Qzqv9C&Z=S#xzi2~E z?)f<z)Tr(!*wBG3(v1Nx&fb&owYQX<&D|Qe`(Uu+Iyg4lao;<Asku%+i8LpMa`9_( z)a|{Rs_VOET7z1p>leS@AUS1L0jYBNsTrpGhmyxbUo1DBI9}4Bc17!%0qyjt_ZO)j zf7+Xr{cTaboO<&7HspF%%5USTh$p%@@bpEJ{Dc`2ci_ZQS-gd!U|aSaG7-(m?)@5~ z!yH<Dt5MamrbxSWU+6<J(*!L%H>jPeDfk{pLIR#8&}fr*c|7k7fm0z!gcHO|vemGT z4K#&Y;5B(E9WSg!B7K{{_4vnDRjq55w?<E0tP?G#;AF_5?5KKIpQhHJmg(9?FS5tx zZ@zOZ3TcBOOuV3trdFA#6O#KgDTiI6N`X=FN>JSqsk30%PWj$`_QqX$)~4N2f2>OB z=$!|mEc(5r*`|hdb>{{;TECrbh(T|d!fCSLQDF<69{;$oy{RY7-Ml-DSSX#(aN-z9 zreR|92@n0v`kiXhthEI&XrCD2Jei|+zClzjm1gpgJ%^4O7#WWc@z0hV$Ssswf{rJm z1Tn5ia}o)O5Wui&-(9Fz@7%9$=-N=9onK$14DzJpqnVXUYsxN9OS(aXij;q15EIXD zqi>qJ*mSJKBeau2mQ{3+WhpeUdKuVD--ptZ#pI^Qy$l4&+7tG<moT@V(9bq?S+)u5 z{Qk9F8boYn#jr3GX#KJ=M4n^Ewfa2?4bzhbw$(U>*A{LLNv8dzcxq9L0=d9lL-$iJ zMCNYJDKIc(QTE=rjmt#Y4jG1ScfVh+LP?x%)bX*jvoWX7y{fTiwKT1CLtgv7faJLK z<0b0r^*eRGf#s8GhvYkR46!EpxVlZg;|CS<joO;fzm2~6!^I}j$09hd$IfjX)^l2< zd%&Kmc%+9%0e0=KTs`iqm3r{MXQ>I_t~SO6LD<XDa^pdk=n-$tH{rW%@zfZp^u(du z$xhOWr4+Ts^lECM7*N0{MUeZT+x-FY*zIebAf#ZooJ7m5JsSt=KJXF@cwkHK2g!EM zh(0Hmk8=##2;em*aBp<CMr!%?eQNky^THTJ4C`YTSp?C>cUSJnRinE%1_ea?T?~Yh zP^`ijuZHdv+E>PYxiaasFoKcWcsYLZuE0U}nJT)qQ%_LHIxW9l9oR!&F;y09%91UH z-X42S%aa~axEwHiN|BTQoNZBPE2Bb51IMeE3HAglj(%KsTBaWM#@w(xk9_Qz0c}lV z0eRau>vjg}+<^7FqjytZMi-;u_{qiyY~uMX(v=v$8Gp@`1^V0d{?tBm6&Rxa#keRo z6P@S90pX|t(l6StNp<y!%t0RO#}Z}jJrwi&eq&N#T4W<NeQL>+3tQDv?k)~mpu7$& zk{4Y3>Ks+QY;ndIhHc&M1E$yqZpQc~4Qv<pag9U-s6to&vTggco6bKO|Hm2h47RIP zA*L~s3s{Y-l+j+D3K+?mjjCxB;)|c7_Z`BBJ$_!Rki5bzz{U|By}L3BB7+0gM}znj z#ce2RKk=Yqi8NDej#k%<B;>V%piJ!(1M_>D!umLRAN|IdczIQ)`i2OI<jqK+Il2+# z#|Xn$cCH`x{xw}PjrVbO4%ki#W{(8jU8^A3y|=IFG5l4|3(;9mUUT)71q#J1C7zUM z%1Q3xsYTUqRiM*hP&qzA5&EdWOga=6WaX&OR&5JZLZPTj*G<I$9WH$L>$N+4`w`z3 z6e2dGfxDkYAUQbucdmm-X;P(($r~w3CqtnB?GgZUyM@k|b#WLNW4umW7z5)72sAEA zlqggLQa$0IDMNFMB9dD)G4Lf)vS}_%<^i*hJiQ?ez`xpIyg#+7WpOO!rMVl_e-`~h zI+PPbgZMd-=f(J3L=#C=p|q&k(sa+#6VF9F-dKGoknjV6<``O#{Ud78{cw7{;OEy+ ztb6-5)4LAld3MwjF<zJxnHZzCDszO8T{m@aWXOqRchmzzncFSot($#}xpBTh(jed# z#xPd$u<!_mbjhe>jqctkp)+Bu3rT3C;;n3+by<gcnuwTBj~aF|H}9zF{UX<>BRAhw zlH6o;Sk$eM__GJE?%co{&>~%P)Pr+SK*N?b%BeRNpMcdzVr+Fnfn+mu$tVeTB4R%m zk)rSo;-m(*uBE@0oC~6e+8JlB$St9~Il@m#g>DlL64C%1PdyR>YT^ZLV>)o@BvCkU z=_au_uf;jK!Z>j0bry_Bnd?Gwu;D}7XB3b;Q<h|@SLSU9sXa1=vE@rdcrGFhxHZZa zFZ4$SaE^#1m&!Rw=Pf-N7g~h6s7)Q?QRA&`*g`((CK@F9H@@g~iEQEwbdbU|bo&R( zvQ1J<%T!^B`?-kZ+JA0STlH^N!{lFhTlSc|n4E}nT3&})V-<)LdIgjD$N-Ad6mU<5 ztdr}tOCr>WFKJiT@CnXGBU~iwC@@xYglO`DjRtNrhOy3;ID=Na5_S3kIUx9|42}ln zI9oGBE@GHic!e0AJFzHxkA^;_cF?0imBM{4;?d)#i=TF(wT=z%-LR^f(7#Rm&qb7Z zIm1O>iIPTR`uHL8Ts$A^_WYnz3?We%_xzi9F5>U-p*QH|-#%Ziy49<qE;*%6)YBUr zQk^`1lLU+%>h|7E!yZEr__1xY<=BZamdyes`q;L2mSkyaWw9O;iB~u=3_XpZaomAC zV?csWfpR_|CJ1o=G16MR98tWmjO!2i?a2QLFaX<vEMHq8?gRh;002ovPDHLkV1kdi BXnX(w diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/common/medium-loader.gif b/wp-content/plugins/advanced-access-manager/media/css/images/common/medium-loader.gif deleted file mode 100644 index 263e9b7d494ac08653cb1dca8bb946027cc18499..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2545 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 T42~7-In@{J2Ie{jsJH9iH~S%7 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 deleted file mode 100644 index e5d7a609d360279a97b3ebceb549d7f48ffcaa94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6045 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 XgvRT}d|^N300000NkvXXu0mjfrf|M* 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 deleted file mode 100644 index 26d0c8e3a9e275d53db08d5e366928f0aa49e013..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 356 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI13?%1G+4BcTNtU=qlmzFem6RtIr7}3C<R_&n zc;+Uirv{}arc@T5Otk?jG7j(wasA)i{J*mDe?h_j^XLEHy!n5@g8w}||5vX3ziHF| zH*fwwdh~zVwEuhd{6Bj1|JSeo)6)L`|9?>KWdu;WU`dc)Fp!G^7*yBJOae--@^o<w zskl{gDN^XL0tZ8Y$o8BWzvpk$6%9!K;S_hwkl~J0^cTClGB!_*@ID{oh3j=~_(X!< zDzPpMSm4K~YH&5xC*+iN@6YK8t_P-sO_}kj%jj~d%d9w`-GLWM{+A!NKe^q_RWrwH zqu{IVul51AUO$oAc`Nhz`7nhn`MF+e7d<)gto3p04ga4no)_|PJKQyCJa*SW_@x<_ rn&Ga_*+MUOw(l>uYQOtY`2d4qjcUM!mKh&_u4eFb^>bP0l+XkK8D^?3 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 deleted file mode 100644 index 507c6dfdfd8c985b7792c6a59a398f74e58645ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3951 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 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 deleted file mode 100644 index f22a8e3511d5d1feeee2457b89fee33575abcf9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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*cU7<a{LG5d|LRfXlTv9{-jv<4{?3iv5tkQ{e$?^IMvh0**^&FVWiHprfbU zoiZhBl7ZaT2DRg7Iv-4`>gDd_^49TBur!TlmwmJ@V7Bv{*Qe+3o&KH4WOmlJN<L!Q s_sFZtwZEF*#`-;F+y4GnJtG?fa}2+6zx0(SKnE~*y85}Sb4q9e0F5hz8~^|S diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/event/delete.png b/wp-content/plugins/advanced-access-manager/media/css/images/event/delete.png deleted file mode 100644 index bec37f9843474f5db92e73971b5755239e7ac12c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 313 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!fon*g5>S8HqQ4I4JBUAxxG%4+rM)iyRZ7cX91zka=miAiE& z;-yQME?l?}8yjn9XJ>D3fByXW%a<?P+S(c$8~^|Re{b`&HlR5oB|(0{KrT99@b`Z% z2$V1Oba4!+xaD&`n(v4Lk8|MnyFpeCd;ag;#_1;Y@10-=%ben+ekX+sXZ%$u-(2jp zO)-9U>J+ukJk}|1E}9?I<J~K}YXx(JSpFNC3EOrAurFC|-+6!GJu%LRz4J|;HO@+& tCvi8rDDiL9>78dD{M!HTV0Z%~!+d`MoA71aQ-Rhqc)I$ztaD0e0s#MbhVK9X 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 deleted file mode 100644 index b853566927b3aaad78a7fbb2f59fbfd0b6e7e5ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 618 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8&jCImuCB8V`p-Z5<M&^yDf?c2{_*0|_o{7|XPvlr=gsG| zHD|v3{GGh&^tWGs?!EnT^VO%Xzy5sw`8#37DZ6R=XB@w~^xVUJcV0dF`2F|ae-TSg zWUM(m^TgfHKYky3@aE~qZxvfFg)csS|LvD|-+pen_U!qm?`tkSnSc6z?)r1R2X9_^ z@iBePnb_qgkKTV%y!qmvzyA_fo=#nTrfAazgT7sN-+l?0f7Gyl_s>6n|Ni^uHtSIT zp<Ca7{qdfA_{OVGmD?`ItvD68{A9zfs}_^@-hTbrX6nAIb?5x%9hr3a_JY&*n|5DI zS$!sc#i@V=NA0KWUvl>0k^666efgo&v-AJ||DR`RC<DD8SQ6wH4CGQ3Fl4-0aS&+u z22U5qkcwMA6OM`<a^P{jEV*Q9t5(3ByLa!FKKsAF?Qn>~?rL%UO2$`y-umsDtkajC znET~ZebVAjYLacTilUQeO)x!qRcx_DyV&n2d*SUYUA#(XPy0nLUF4(C`1#if%?lA) zIwGa}-st<xo3eIpXOC?_z463?inRf1TKsl@pGG%4JzSBur{f*t)g-Qkxf8;gFHC#O zy|ATtPowL}Oa`WdKP;x+^}1j?$NA!Y{uk~Ij0`+`OgFqT2tEyTJA<dIpUXO@geCyp CTzP~5 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/event/edit.png b/wp-content/plugins/advanced-access-manager/media/css/images/event/edit.png deleted file mode 100644 index 7fcb23c42374222950642b86214d65fa0ada0eca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 577 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8+W|fyu3x`?_4f9@ckkY-SFc{ae3_k{J#XH;`uciDN5|OM z*wob2tgNhW-@g6)`P0qK?e5*X<>lq~@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|&FVJ<E%+qP}1 ztE>C<>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<EjHgki~v^TOJ`Rf<yB+UEK9pb?oEI8dJQCP9QYT7PwL-`|4Y0lBJ6H-g; z0~Ny$)lA$ov9cs{g{oW34!&0o*U!nGvV3N?Y|$|_o8rc<_NL{6+=X^k^Y*H78nLBJ zDT#RLW4%`(cjvTMYh^Wa8zK%BK71O^nfbTx;@`gv`<Qqb%C;H2=L?bqB@zZtS3j3^ HP6<r_aThm> 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 deleted file mode 100644 index 44be4d8649c95a38538771a1fdb7031a1ca1576d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI13?%1G+4BcTNtU=qlmzFem6RtIr7}3C<R_&n zc;+Uirv{}arc@T5Otk?jk_hk#aZOx#dg{?Tc^l4m?!OVT=-8(pzjb<c{{R2KhVPR) zPz^^(kY6y63jz%Hn)gNm#j-qI978H@J-HYwbU=WI<-t<3clF7uI)AKu$+*k^nE4IC z6kbK$1#cJVyEOMMdCo7Aa(d~JEnbUacSH%-W^Z#}b1Xw^@50%g)6KnqYg~<a_pt9- y(DAoZBp1)0nR!aQRXpKuxC0+!g~0|60|pBtfy2rT-<JYyW$<+Mb6Mw<&;$UZU~3fs diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/extension/download.png b/wp-content/plugins/advanced-access-manager/media/css/images/extension/download.png deleted file mode 100644 index 0512241b505c2029d1bd2b3ddf023097b1d2b1bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI13?%1G+4BcTNtU=qlmzFem6RtIr7}3C<R_&n zc;+Uirv{}arc@T5Otk?jk_hk#ah*AHW^r+GZ*Om8WaOt$pVHFOjE#-||Noz?5fuYe z!%-6C7YyWr0K>iJy^%n%OivfbkcwMRE(Qu65a40Cu)_Dw|6^Xlf>~7!@1~!WUgPM> zJWa06_k@_%_FNU^dWA{4(}g~1NtQjxiv6-Kqd%heW{8`!xv+lzwD0RfiZk<PopnuF u)HJ2Wf5`;>MdA*#H_IGqX*OKNz|7#dMqpo*Yv4bir3{{~elF{r5}E)$vSJSa 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 deleted file mode 100644 index f673a8d8ac9affe710b96e3d8410be40d95c3c4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI13?%1G+4BcTNtU=qlmzFem6RtIr7}3C<R_&n zc;+Uirv{}arc@T5Otk?jG6?VqaSd5?Y{QkOmXr4`I`bfJ!};p%mp}dZJ@x3FQ;*(W zfBDI6)}g((UnZ_R{q*BEot~Zl|NlRH_1kiwUV)MzzhEF288AFhj+F$;t?+bl45_$P zGwG(7lOl)f+^=B={{Me_l*v{5{Ny!fb^89DddZwr)S>5kLm)-wRKi6543R%Ba^{t; z@lOs*G^TKW)$+|^t5ANsVB`78tG-+k%n-`znA#O_Ktt<Qaj4QprNt?y-FID?IB~PE zXw}KdjJl4g&mtyjs~w%SA?)$C?S@lxKCfORJJb7MvP6RT)#tKDKW&QZ(~?qsZCi8d nrM5qNfz|BG8~<L?J;1PNqmr2D#gjLHZf5Xw^>bP0l+XkK!-%BL 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 deleted file mode 100644 index ff122b95338bbe48ceb76947e987bb546c8c1dc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI13?%1G+4BcTNtU=qlmzFem6RtIr7}3C<R_&n zc;+Uirv{}arc@T5Otk?jG6?VqagB_O+_Y(vgM&kHaq-fnOB)&*K7IOh=FFL!H*fm- z`lh9&?ccxu>C>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 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 deleted file mode 100644 index f82727320689b632c860c28dab75accaf635f1fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 351 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI13?%1G+4BcTNtU=qlmzFem6RtIr7}3C<R_&n zc;+Uirv{}arc@T5Otk?j(hcwlarO1}?d|QodGlsNL&MXjPm7C-_wV2D;NTD$8Tskc zr!!~H%$zwhEiKL1*!chd|Lm8zzXCP#mjw9*1Gz|m;mVyE3xQH=JzX3_DsI(GdM(td zz|r#YlBMQ@-}ZTv9xX6?H(zRBR3W3+ba$pSg`TL!Zzqm8PvQ0IQ{TBn<L;gpe!Op& zZ0wS$Kf!tG&&n7<-K`g5Ryf3PENOb*&3>n67e7<(@$dbd33<EJmYp+Bj6bzw>7xJs zUKVf8<i|M~mN`{PJ2Gu9+sbRo@m}Ffs6bn@fpnCKW9uZJ{U%4NW4-sZFP!668PRb0 l)|_d+BBic-!{iv*7+eY!EOr`RlLb1Q!PC{xWt~$(696$<m@xnV diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/extension/ok.png b/wp-content/plugins/advanced-access-manager/media/css/images/extension/ok.png deleted file mode 100644 index cb0e74d2ef1b559cc426a536f96b8ae197ce0d94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI13?%1G+4BcTNtU=qlmzFem6RtIr7}3C<R_&n zc;+Uirv{}arc@T5Otk?j(hcwlajoB2uTZYA|Hl4;6$R%XollsTaR1HyfT;oN&#f28 z6EJ8rc>ndiL$?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-LVPD<A%x^Lt8Gt$mQw z@ssTr?|W-7`!%fXRcP$pajA{TX>Z5>jSlJ^=51o_3!MB8tC$?Ej`iNt?rj<SG?CFS lyEw`$@QUcys7e+IhNCX>52r7*5CFQI!PC{xWt~$(695Nelwbe= 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 deleted file mode 100644 index 7352ffa152fd94c24cd3b4b9b3ba639d04b7ed44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 342 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI13?%1G+4BcTNtU=qlmzFem6RtIr7}3C<R_&n zc;+Uirv{}arc@T5Otk?jvJCJEacyjDtgWs6{{4GwY-~kEg{7tCi4!MIo;-Q*;K66l zo~>KA?)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@~~; 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 deleted file mode 100644 index 7352ffa152fd94c24cd3b4b9b3ba639d04b7ed44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 342 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI13?%1G+4BcTNtU=qlmzFem6RtIr7}3C<R_&n zc;+Uirv{}arc@T5Otk?jvJCJEacyjDtgWs6{{4GwY-~kEg{7tCi4!MIo;-Q*;K66l zo~>KA?)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@~~; 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 deleted file mode 100644 index 04dbd9c50fabcd8456f71357f173cd45887df6f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 385 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI13?%1G+4BcTNtU=qlmzFem6RtIr7}3C<R_&n zc;+Uirv{}arc@T5Otk?jG7j(waSd5?%x%`8rysv{?!R&U<);l-p5|>h|LMo?>g|^o zoq1q6dGFraFQ*>8bL!FC#FeLYdUpQ*|Np>Q&09e2f+azI!9XqwU{GB<GYKep+|$J| zq~g|`ix>G0D{!y|1Z0~#=>7k{^>SJCt6ga)-!-ev$q>=l7P5w|S941~_m<b;UMGUQ zOL?PbEmdaae8=b3Bz?=JT;b=6c`F+pH8K6u?_BKgWU@^=SJ9mvRWo1CaeSp`;c}-` z{pj=;Zbz;iUi@IY_)oXw*XJczv)?CMGro<i5;}k7O0&+=dmFc&&scQre~xPV>Sq&- zdzb3o)z{eSCZ3WbFMjQNt6a?z)u81O;pdV!SPMF^EVL6+dvsBl@$ajLq0i-+co+(| Ws7ScXpBf4D5`(9!pUXO@geCwdxwWPM 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 deleted file mode 100644 index 9791d343a98d992400067ec01f065a43101fa748..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 385 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI13?%1G+4BcTNtU=qlmzFem6RtIr7}3C<R_&n zc;+Uirv{}arc@T5Otk?jG7j(wagB_O^!4?9`t<3|n>TxVdy9*UH*MPV>C>l%hK8j} zmpV8&?BBnC=FFLA&YVe0OEWe${{R2~-c1idmI{^x`2_>HD1bqA?aU;g<Z(|I$B>F! zb1uH-JEXwF`e54WWw|e3{<dGcVWs4`qenh7PpWHl@ZPvI$uz@fVQut+*!@9H6KAc? zzHv!MR@0-P+(78g1+`twC*8mLNQ#Jye5m)7kyM)hL^UMf(Xp$aeV+3Kl^;}mw9Z;{ zpNqNDHaR)g{d-TCOGVco(}<{+zs;F({?g=%Wy|DJG{5$(t#uRL`Y-*oYRuM_Ihi`S zFY6pvn(k6a{=H+vKK(BblyxUs9o<zV*?hN?L5bt*L<7P8c^ogo`PW<h7f4{pc2|)| TyY@i==p_bES3j3^P6<r_1ZAwP diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/feature-active.png b/wp-content/plugins/advanced-access-manager/media/css/images/feature-active.png deleted file mode 100644 index e8c5719e875dca369bb333ab95837a700a7c85d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 323 zcmV-J0lfZ+P)<h;3K|Lk000e1NJLTq000^Q000^Y1^@s6sY*=F0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUy<w-<ARCwBA{Qv(y13dr}1D(LAMWYrC zV~beuNiwD~$^)qmAhw4J9R%Wv|Fi!;#G!sYkP-pnP@tL@C~~+;2B;+$ftVjn>LU>A zW3vpX=LC>42jUw*?1*d`zM$*CVhICOtOJLh0H`GzK)fGlu>>(bdIqE<aTxdmh&k{$ z@(U320P$I%uS_UO42%TiVXps9Okw~<d;|`;^+1<KVhIIMQ0<2X9ViGxiHV~MXv8yM zNemS@^sGj*gt){2O;!3pyaI@yL-7h+DGmzW0P#t5OYkO!(IRNnqEU+mpG5!x1^|3W VPfz}ltTO-r002ovPDHLkV1iu-b-e%p diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/feature.png b/wp-content/plugins/advanced-access-manager/media/css/images/feature.png deleted file mode 100644 index e1d9daf43dd5b1901652b0bfd1de3ae3a4eb8ce7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 407 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI11|(N{`J4k%EX7WqAsj$Z!;#Vf<Z~8yL>2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4<ivthz5Jr|+3#$C#xja{x;Tb- zbiSRsF^kDjz~Mg6%iN%h)NFN~)1izf<!^92^Z&zQ@9L2_IZj9UPUGCQQ#CJfG?o}= zzI$Mi@9Uwca%altvP$dChu7_}-p;YNbE$CYqW`+PcC$HiI15I0onSd|cl*128eNZW zY_mJIgY8{t>9*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 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 deleted file mode 100644 index acccc8e2bebfd41b1e1b1619ee6bd65abbb69e36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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%^<S=CyHj3%tElMhu3guXlYc&cet?JPh^*{ML&HCxKVJ$8`upwM zIY-A2M~?ja^XG!6=f7XS-XA`EOj-Hm>eZ)=j1Egmo_BM*=<9nqH1wd5(5Lg~A9i(p zzHs5Bp5C2`ipwD(-yb~q{qf_ArAsdb2cI@GJMZp(SX_KRC+GkF|Id2(l><HKUJ~RN z4CGP)FdUx~mJc*?lBbJfNX4y?v)6^19C%nSu(E7Se$QL|elPdQ|Mip74o=<6@A=F} zEzx7;3i0b2pC<-Z8dw|=-ND6ia9#6cj*$8dt;)}P_?zz?`?bwXrMBa$|KgW2-D{V# z_tqZjoRxNOM(<VYMz;S;I1e!va7g&x%F=DzbYRM!i);3#N=)No`f+jTUC|F*H75mA je(!qix_|CR<pT_pax8W|{v@*i=sE^ZS3j3^P6<r_D?u)H diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/main-loader.gif b/wp-content/plugins/advanced-access-manager/media/css/images/main-loader.gif deleted file mode 100644 index f5c9e526c048b46ee01c95be0b05d64ea1b16cf1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8238 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 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 deleted file mode 100644 index 39cc5417da713ebe908e8f36e2b315048f473023..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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;Q<PrxMj8=Sz0qUCI>EaktaVzD#yI8XU4@<yIzGdw~9{O_8-}fgp z%y5sJG54R7)I{N9^EQ5bbYY=N(8_I|p;IQT|Dk?rxx(X^Yo7~biq0_^%~Ivl`@FL; zB{xk%U*q?52kWQ@P7NHP2ek{-87_Wi>*rdrPI``4K=<z5PQDtuYi@nsRuFwojJHj4 rS<<`D(LQ=d%dVE6|GWRcU;@L;zp~L+4N@(EZe#Ft^>bP0l+XkKdV$!a 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 deleted file mode 100644 index 66f709a09be8a341fe7daee9f96152b824d59e10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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<E06!F3*YVyf|B@blR3aMQa6S*1$WNQmwc2Cmsr_vig3{o{5Ly X%WrPeB5qqrpkWN2u6{1-oD!M<AtGFJ diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/metabox-loader.gif b/wp-content/plugins/advanced-access-manager/media/css/images/metabox-loader.gif deleted file mode 100644 index f5c9e526c048b46ee01c95be0b05d64ea1b16cf1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8238 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 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 deleted file mode 100644 index 39cc5417da713ebe908e8f36e2b315048f473023..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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;Q<PrxMj8=Sz0qUCI>EaktaVzD#yI8XU4@<yIzGdw~9{O_8-}fgp z%y5sJG54R7)I{N9^EQ5bbYY=N(8_I|p;IQT|Dk?rxx(X^Yo7~biq0_^%~Ivl`@FL; zB{xk%U*q?52kWQ@P7NHP2ek{-87_Wi>*rdrPI``4K=<z5PQDtuYi@nsRuFwojJHj4 rS<<`D(LQ=d%dVE6|GWRcU;@L;zp~L+4N@(EZe#Ft^>bP0l+XkKdV$!a 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 deleted file mode 100644 index c0f76821b1b25c1acd8a45ba0cb0f416567f80a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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?M<G79M-|?bq+W|NQ44z4r2x zZqLp~@4r6%`0eoh*L6FuTz&Cz%F#Q88!y!FymI&Lm)mbXn@-&0HtSIKx^ug4y)c=$ z=i~QZt$VLudGYbvuRoWcf4KMdOWWS-Uw{2cTXW{qkKgXI59##m{Qv)dL`eHzpli)a zg8YJkT+#u<!hSzPpa~m2T^vIyZrSwT6lyZyaphjRsbkTml`9_X%YS?J|NmKu3!bS? zHl93N#&KKA^t5cxL+5U>hb!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=~&oQ<wg~ T?&MjZ;~6|%{an^LB{Ts5uCyt6 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/metabox/link.png b/wp-content/plugins/advanced-access-manager/media/css/images/metabox/link.png deleted file mode 100644 index 65d55be0d0559391c59b38f7598f770ad282f9e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 516 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8r2#%6uD-s$g@uLJu3bw{Pj6^w`1|+o%9SgNii+;uy&Dh^ zU}|a_78dsL<HwekmgC2dM?^&I*|TTj#EEzA+*!SP_3quf_wL=Bm6er~ljG;-_xtzn zd-v|WfB*i*jT>HGUZJ6(6%`fP+1ZaDKmPprv!$hFMn*<zYO1%l_t&pqzkK-;7#R5A z!2=^Bqn@4~Gc&WNPoH*ocUxImJ$drv!-o%#9zFW>>65Xs@&Et-g&+H$2RhiiB*-rq z$Rz_X2t>~91{$%+)5S5Q;+D;X>tam~0?z3#6BctfCB3gT|NMXcvqcGUMMd#Ol8@rH zCHv`|ypsOZDO;~P;OT-h0voJ8<T<3L@i+6Wu!_y(PONL3n<Kt>Mx|Rpl!3^OJ5A3W ze+evQ%j!(}(<OI|Gk9rs>9^kO5_#ce*=bs=HI;W*7$3Yk^Q0l|%*Tw4-fy-w_@vwl z%UoN>et}`0-3kZeHw~<bE!9s#w>Li7Bl~n!oyx{7YRi)U@Bbi}z;M7`oq4*}3~!+8 O89ZJ6T-G@yGywp*W(+0( 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 deleted file mode 100644 index 66f709a09be8a341fe7daee9f96152b824d59e10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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<E06!F3*YVyf|B@blR3aMQa6S*1$WNQmwc2Cmsr_vig3{o{5Ly X%WrPeB5qqrpkWN2u6{1-oD!M<AtGFJ diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/post/checked.png b/wp-content/plugins/advanced-access-manager/media/css/images/post/checked.png deleted file mode 100644 index 39cc5417da713ebe908e8f36e2b315048f473023..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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;Q<PrxMj8=Sz0qUCI>EaktaVzD#yI8XU4@<yIzGdw~9{O_8-}fgp z%y5sJG54R7)I{N9^EQ5bbYY=N(8_I|p;IQT|Dk?rxx(X^Yo7~biq0_^%~Ivl`@FL; zB{xk%U*q?52kWQ@P7NHP2ek{-87_Wi>*rdrPI``4K=<z5PQDtuYi@nsRuFwojJHj4 rS<<`D(LQ=d%dVE6|GWRcU;@L;zp~L+4N@(EZe#Ft^>bP0l+XkKdV$!a 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 deleted file mode 100644 index 8ca8989f68d5bf035ec7dd1b375da14a2f5c6f59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 414 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8iU6Mw*C!voRc^Z+x8hX!)=S&2KmYpc&)<Llo__qc{l@d? zWhYH0?wNS_mgVHV&AYEvY`ygE+s_%t@4C!9XwbLIX~u!{HD|V5d$#%7v)JV)b$fQc z{rYp)trx%l{xhGnH-5z_zj;SYC+?})aiw9`)rci0W}UcaJYo0N>(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<gDaT!Gr>@V`JeF?hQAxvX<aXaWFyM%Wqv diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/post/info.png b/wp-content/plugins/advanced-access-manager/media/css/images/post/info.png deleted file mode 100644 index 7c6dbcb9ed58e9cdecd5284171682022d3929a2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 400 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8`~aU2*C$V&BqSu%)YN?a`t{$xf62+oJ9g}N`t+%#rKOdX zm5GUowY9aat*wKD!`7`^+uPfxPM!Mp?c0!$5DyQJy1F`FU*C7{-le9d{{H=Y_Uzf_ z=H_v6aXC3TO-)U`y}ixN&9$|)^XARlxpSwnvGM=^|E(6ED*{@rS`y?J4CE374EE=p z{DB(UJY5_^DsH9py9*sQ;BcL|TlTo$dsn7+^~VC%xE|AKsN|W?zkw~mi{oC_p<U{) zvSS=1Gdm-+R&c%D{=WIiBB2XECM<XKI(&hR`LVhNhi-!U*N?N#AG2;r;rh&L<~E60 zO7AyMPU||Gr=sF}Kc8&q_;pkE@#H^iq@^E!pV7N^&HDMj>;J1CV0idiMoG&_%@XJ$ N22WQ%mvv4FO#qrPy#fFL 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 deleted file mode 100644 index 575332b0d365daebd5dc713ad0978ba00ab85f40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 404 zcmZ?wbhEHb)Mnsj_{hNU|Nnp0+GSJrUj~wj|GE8KLxP<h16+;t444@i7#I})NjVp# zCYGe8D3oWGWGEzNC069*C#L9S=B4E`DE?&O<N~VF0b&M_fecJWEqxrPr`^2K{P`%C z^u4gpr&}MGwM9fOOjEDDH*4Q=o^)N$>+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{aX<C)(@da=E7oB((E;k!8B=z#OV@4uwKLUcg~@z(xj?NF^`q-n{^r|gHhb&b m{=b_ZPfT%+efvz?tL%iUu)v-KrE>zJznDZA7_33z1_l7Q2A8G) 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 deleted file mode 100644 index 61d9f61f550fc67a8f529bf3e01b9818294630cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1191 zcmc(d`8(SO0LH(<+*eSyNV@9gR)#)Wv6v%dq75}{9>+xMW+*c(tdu>>YEK^1IZ`~# z@s#yp@<b;=G=d<`L_*?NU6Cb-2*K>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>k<mvT8pTU#!X&>bB`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<eS3Ek;L^)zq%8u1FZKf$Is&vN7n8>-zr-VAn-j0077&zy}eU zx3aY)i`GLJ02v#hX-Y69s-n^h7qD}6U&y3g`g~fou<s2DWlOu_#6Y^HriIg*mgi&A z&F|8O&e;uL`{%YA2kmBbTS?jvTF6p-#2={k&|bfTom&`LBAh@@@sWVT9WnqE>{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<W6Ns3RSS}7tsLJOfW}4Bq9`zc5 zlornq<J3@t70TxEx>;OeutE{65jhDY+Zy%e)GEo#9nX*is+t^%<J505b3jCj1|dr+ z+!VCpVNQ1Eu}h1C*OCqxB&hE1sU*h|N_Z;%<uVob(Hy!#Us2nN5TaR*B0ptD?36SI z8>p^y_CMaxux>pCRpMS@=9<!>5!S0oTla}aJ)g{~iriu$kVJuxv%JTJNxuh20=9l= zO3<YlITHlY6J>(j^h7^pRFUn-uPTqYPMQuAR{JuW^P{MRFC$_1GV!sOTnMKFK?7+5 X3>te>HvX*f`nEuTFWTp|cTCB@yn361 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 deleted file mode 100644 index acccc8e2bebfd41b1e1b1619ee6bd65abbb69e36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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%^<S=CyHj3%tElMhu3guXlYc&cet?JPh^*{ML&HCxKVJ$8`upwM zIY-A2M~?ja^XG!6=f7XS-XA`EOj-Hm>eZ)=j1Egmo_BM*=<9nqH1wd5(5Lg~A9i(p zzHs5Bp5C2`ipwD(-yb~q{qf_ArAsdb2cI@GJMZp(SX_KRC+GkF|Id2(l><HKUJ~RN z4CGP)FdUx~mJc*?lBbJfNX4y?v)6^19C%nSu(E7Se$QL|elPdQ|Mip74o=<6@A=F} zEzx7;3i0b2pC<-Z8dw|=-ND6ia9#6cj*$8dt;)}P_?zz?`?bwXrMBa$|KgW2-D{V# z_tqZjoRxNOM(<VYMz;S;I1e!va7g&x%F=DzbYRM!i);3#N=)No`f+jTUC|F*H75mA je(!qix_|CR<pT_pax8W|{v@*i=sE^ZS3j3^P6<r_D?u)H diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/post/post.png b/wp-content/plugins/advanced-access-manager/media/css/images/post/post.png deleted file mode 100644 index 818705c94cc868d6aefb14911ba112377b70ce9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 564 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8GXXv!u3NWmUA=m>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)#ffByXG<m9w|{dylCpX0}mdw6*K{rlJ4+<f=$-OrytKXc~H+qZ9j|NcE;!i0>B 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%GkCiCxvX<aXaWGr C?J6(; diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/post/unchecked.png b/wp-content/plugins/advanced-access-manager/media/css/images/post/unchecked.png deleted file mode 100644 index 66f709a09be8a341fe7daee9f96152b824d59e10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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<E06!F3*YVyf|B@blR3aMQa6S*1$WNQmwc2Cmsr_vig3{o{5Ly X%WrPeB5qqrpkWN2u6{1-oD!M<AtGFJ diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/search-active.png b/wp-content/plugins/advanced-access-manager/media/css/images/search-active.png deleted file mode 100644 index 51c73f908b48817c911ccd5c75f917b196920c1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 636 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8KLI`=t`FaTZP<0SaN`Aw$$QJTT>Sm_-=Dw#{{H(Hy7+k4 z{u|$a{c)dtsBza-w^@g-z4*B9@{`CVCxR9pbDVy_W#+-&gEtqQd9e8G!>_;ooOt;5 z>Bny!`>szoe5>!!t;6?Tmu<ad*uOh>!}--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|$<N4Xg@BHT<O<Z|8e#NQ!omYPS`TO|8H=UlH|NsAI;dT)LhC@h6kY6y6 zOKrdq{JrQR(EM$lE{-7;w|ve$<vZjc!17@A_6tEWUAuvx`1il}PVf5!o?U-(I%P8l z!=dwQZy7bRHZI}p%(8y8XaD{MlDt7}n*O~``P);XZ(d$nAmo@9bi$Wo&F_a+&8^~s z0nZQeG<TIdH1zLc5pUfisFd(aW|u(B&DbX|12d0#PoJ3PXw`i~e%h<P_s7FOPPoIO z(V$$G{cFziOu^(>Ml0=wev%3ehR;%1_V2NX{!`D;rTea);pl&hIu;2A;fK}=&gMT2 QfIeXGboFyt=akR{0CdZTY5)KL 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 deleted file mode 100644 index d02dcc14ce5946ec96921a0c1d2270bfb3c16d54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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|Mu<M(xpo)Dk>5a6aW7Gd-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 zPMmo1<jJ#V&u-kf@$=`;&z?P7xpL+6=g%D+9701w8yXto;^NZN)8D*#bMWB7?(XhO zmo8noa^>gGpG{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<r_*qwAO diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/sort_asc.png b/wp-content/plugins/advanced-access-manager/media/css/images/sort_asc.png deleted file mode 100644 index 9a4f67a7152cca3d3416633dd7b2c2bc110c57a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S3?yCqj{O5tk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5X`~rMJT<coy)i&R2Y`ed9<Evl4{{8s*cmCpM7cYPA?0fj< z&%Xx`zyJR8uXoa;Gv_}wcigXSx_9X4`?v3Y9Y6JP%l0>$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 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 deleted file mode 100644 index 9a4f67a7152cca3d3416633dd7b2c2bc110c57a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S3?yCqj{O5tk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5X`~rMJT<coy)i&R2Y`ed9<Evl4{{8s*cmCpM7cYPA?0fj< z&%Xx`zyJR8uXoa;Gv_}wcigXSx_9X4`?v3Y9Y6JP%l0>$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 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 deleted file mode 100644 index 41d51c519b097bdebfa940d9d751f6b503e83ff6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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<vxw@CD8H|&}Kw2r~k)z4*}Q$iB}Pal{g diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/sort_desc.png b/wp-content/plugins/advanced-access-manager/media/css/images/sort_desc.png deleted file mode 100644 index fee12d52216f3ed6052b0e1b287df2d3ef662e9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S3?yCqj{O5tk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5X`~rMJT<coy)i&R2Y`ed9<Evl4{{8s*cmCpM7cYPA?0fj< z&%Xx`zyJR8uXoa;Gv_}wcigXSx_9X4`?v3Y9Y6JP%l0>$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 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 deleted file mode 100644 index 4f74db3937fa8bfcef8c6367b2997a099c2dc0ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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(@ 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 deleted file mode 100644 index 0bdd87c9c6af80d9cc9de6337f70dc348331c8ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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#2P<u6{1-oD!M<#U07P diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/treeview/ajax-loader.gif b/wp-content/plugins/advanced-access-manager/media/css/images/treeview/ajax-loader.gif deleted file mode 100644 index c10645d649728ccf591596fafb489b33d5c0b47b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 847 zcmZ?wbhEHb6krfw_`<;O|Nnp0+GRg}{SKMAbLxT1S`8~)Cv3j`^23%(56nB(cJ4S= zv*G0P4_}s@x^?d1tE7ed@>U#XAO$G?=k{|A33hf2a5d61U}gmBRs1LAT$GwvlA5AW zo>`KikeHQNk&~a8qL-PMmd~L0lZBHDs7eQ93&@cStN{uNeJPpqmKuoUC~CDNtXexm z<k&<h(}oXhH#-`lds%FlGFt;C3bZnIwl3;hqp8#28TDh4O45g29+M_mw5%{yldb49 z%~r4x7Wq^ud-Q$36E;gS6coDLFZE<-NgaK#Vugc>Ywdvp2d^Dv;^>*ukeVSP#B=a~ zf`cHJ&w+*y$${?8Oio*#ZVND-p<uJhG&Ch}oAwK(eT&nl7_1Omw`gI%W46F~Wk&{X zn*ehIb{kHX1_QoGHVZ9Y&UR%*Y?dbgeW?6-g2pWo4=t`E0V15bOWF<J8#i)UIiEK4 z-r~{H^pMR%Z-&avjg<@>0{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<nVVvw2SY^g435TJ(<NIO zlUzKuuraLKnV6)*)u-A}U@Vq=M0tby58gLQ>?UUB0cu(i`VAUAy((BOjfYz50rVKh zG6xfeLz|8{DtS)i*f48h0*75*E32o0N{2+RoVWQVUJo7igPpo1&00;(u2LcbOAhN^ rOjyy8aDeHjfMF+x#D?h({d~^m865hCENQGUn%zBWiVW7E<Ov1<82t?| diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/treeview/file.gif b/wp-content/plugins/advanced-access-manager/media/css/images/treeview/file.gif deleted file mode 100644 index 7e6216798f8e5abfc81a2fe2e5cb32b7a2d82e10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110 zcmZ?wbhEHb<Y(YxXkuW@%1P?kzHnua<CVQNmYpU4fgrb_z9wFW0SG{9n3%02RPU?_ z=v;AZi8)_)=1mzB$t8lR-RkpPAIPyPY|P?1m{Q2FN$#NO0w%KpR*sg3>!0m5Y~9sd L;uWgGz+epk&R;19 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 deleted file mode 100644 index fd2e9d2b875d6840c09f077b71f2ece2b17c5373..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 359 zcmV-t0hs=YP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00006VoOIv0RI60 z0RN!9r;`8x0USw0K~y-6#m_NI!$24Y;P=`yh~gA*ZZTLQn86CVnbpxhk^TaIfpdOA zM#05VbkW5@kRpl-4hn{Xh|r}PXfL_%dM<J#rBDtL-{s)myXWHr{yPi+q9|J7obQ$k zDdl65B$u-Q4gf(A?6+21oiu$lh39!$v(Y#jd}isik4njtIF6q<063iMc6$T<nr|Ms zuDi4oh8?XnlCvwkjm8xqy}#Q7u+0JByq9hEE*>UkyZ`{+hZ=``3*;<R+V%NC)2wh) z_ZE*SoW7*<b5iwsDColgM7j?N9~P0s`UYU6#N>ooVWe^c)C!eD{sLgC5Vk-~Q3)W* ztyhpGfRhkhWL7|(Muh>EzpfA5Zuis*m>b_dTaEmyd;?VYZOCAtx)lHb002ovPDHLk FV1k|Un5qB( 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 deleted file mode 100644 index 541107888e6739a7b367ad3d208e1efa933f877d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105 zcmZ?wbhEHb6ky<EIK<2_Jxcz;u8RMU=B+K({SO3}n&)Sz9Bwz!VE_V<8U|)Fk6m~E zy+6TxJwaUVpf|_lBLSi-b7EF8&3MH%(`ZkYkA&;G_iW5>4lrdiO0bk3ZcRLy6E?4f Hg~1vCyv-@{ 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 deleted file mode 100644 index 30974575f61b21e1ccf74dfab1293710900a792b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 400 zcmV;B0dM|^P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00006VoOIv0RI60 z0RN!9r;`8x0YynfK~y-6#gM;CLSYn!pX>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)0000<MNUMnLSTYa>aCOj 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 deleted file mode 100644 index 2b31631ca2bfec3a8afb1bfdd4f8ed4c5bcc3a18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106 zcmZ?wbhEHb6ky<EXkuWT9wq-^SH=HF^VSyY{s)3f&GR!<4!4`=FaQBa4HL7u$F4j7 z-k)H;o**uF(3@lOkpR(^IWeo4W?1bh@Zr&1yX<JHh~@kLk`C|LV;I<uC>=hKW2GJ7 I#Kd3?0MGg<m;e9( diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/treeview/minus.gif b/wp-content/plugins/advanced-access-manager/media/css/images/treeview/minus.gif deleted file mode 100644 index 47fb7b767c4e4659c2b42130a2dd7f46dd9a74eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 837 zcmZ?wbhEHb<YeGv_|5<V4Gj%odXyLqfe{x1ia%Kx85sUE=zx3<$`cG6N({^#G9Dl1 hA8h{5qGYq8An_1T-eby-3yH4nyy8N4Boq`FtN|0o6bk?V diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/treeview/plus.gif b/wp-content/plugins/advanced-access-manager/media/css/images/treeview/plus.gif deleted file mode 100644 index 6906621627d48e3008a71dd6de6e4f9763da59f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 841 zcmZ?wbhEHb<YeGv_|5<V4Gj%odXyLqfe{x1ia%Kx85sUE=zx3<$`cG6Y7ERAG9Dl1 mA8h{5BF9n?u+XuMO_XVdg<)btE3dxYnGOSG$0kNb25SH}krMC# diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-black-line.gif b/wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-black-line.gif deleted file mode 100644 index e5496877a07487f2f7437a9f87e07c590b51160a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1877 zcmeIx30D#Z0Kjo(<}nqItuk#MsLSiMvh1nI%OmGJp7=74Cmsc<ffJi}5GXVS&(u6x zId8}-L{yfdfGFOmuvy+G%_B7r%+wNPug|gmAK~}j-_`AB8{4}YfE|Scz}LPC{I3NJ zKgoXs0LTEAUlhJP0Z@_wWXcx~)d5{8N@}2>fG1)nGEmv+vFQVlOP1ypyEg+GkNR`< z^=}p0#2C2dndnyA7hSFr<Xfuu8Mlotdlp>BjL$0jL_o`oqW$*H7rt|$p3g(yp3XB9 zlzV5%LF}xNV^#je;YsG!=DrNSF8CSRQ_BfP@M}u2u3r?a1u@r0hWVj`+ang%OW6nL z1y16rqcf`5MlnAfhW7pSkEXdEt5Ul@@Tcf7{xkK6R8Qt_OTFcg1Olfm_Wo#%SxpN^ z2NOBMu>Dsa5*QaX-Wt4`%7yKFPcvN<UFT+EC6j$=Gk!V6ZRk}_<q^Scw(8@?Br|eB z$i?q1@VoqF=XfQFm=B_Vh&3T)#}5zI#Ef(1M7!go{Jf1D!cbhy$Nl9A{YSDfe*;3N zCaavNVs2CMyPDIXL9*CwV38yjQd^m#8#o|N(@XtDj0J@&y-nY&JS@wUG})AAnEa@X zAYW22MPw`T(-9;v981k{I59QOcGR*p&Va-}U&?R+P2J0cHfV=s`E+273;o@TOrF95 zkxS3K;*mzr1M=&tih?L>Vb4)HgDb^h{D;*g$kDd&60EQ&q7*-0w_2Vkw;oYJ0-|b* zlR)OR6tWfWeh%Dey81=D9m=dK1KwU+ogMSpG}kxeTht4xS0JjYEOVV&N2B0S)eN*u zC$fe~m^QC(75r&IXHUPpS6in5qrK$iPg^v3>cA{%L+!ZwMiEdYipjb~qrKw5HzJ#d zV>aqr284(7*0Fp%y={uZrn8ot@eS-XK6@*FH`QaC+v!e={!5w+rnm2}%>2|T8;4!) z5NL52JQWN3#x6By>1F<$`|wVWTxfk$w=Qg0(yy21DPe&kRCfn9Dbfakq}iS^Xmara zruUMfC1ymi`!S{mj7Ve(9b}f*MjXF`TpNTWl<W<<7|q2Bpo|M~Lq5F3Yj6BLO0CCW zu&BKWuY{<plK}<vS5raM&A3Ta?#TX3Sa(v(Eb=useikb#O_;+k$mj<PiKn&_7D?)8 z)=ZMoCDvQ=RRUHBcb;!qiU*@@mopF@td(rciH*oN6o^}*LPK!NWm#LyH5!$GTVX`& z;a8c&dAs+mLuKGi_Dn<UyE?^C_ByX%9xU<H4Yl7GViPz!B6ano4=f)B`y&Ujjo%%{ zY;*PpL{jd-SOJmyX^P6@9xgM99Y<^3ypz%0G^p&j(}O|WlcwC@e%>Dnl>rWUpU-Fz z1xAY}(pHDlz`q}<krq#BPC}He9wf_gDinTTIjY3$r0A&{p6<WMS51CE+H@8l-PXQw zRwyEwc-~R9c*h3_8dDWXhCm~hv+BHenuD}b!wRW=69mj7LEhidf(G0)zJ7%a4Z8b1 i%%=C8o@S<hA^dC|%f&)RlI8WDqJ~t`dLl0m0RIOzVnCAs diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-black.gif b/wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-black.gif deleted file mode 100644 index d549b9fc56ced0c90bb7ed01c77be78b67fd8d67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1216 zcmZ?wbhEHbOkikb_|7m2Mnhmkhk)Ww7Dfh!{|q{yPypo#29Ey>|2btmHY_;U%pt55 zbK--1Lpy_rQ;x^RMMt|?l#}k9*tpoWSI)UhgtKVL$;leQt86$oK0Q3uz*9~~a`Us} zjS88!?(8&B_nYS+=~nV`L+XXalJ#6yI=`$qztnfJlj(_&SANso)<&&eC8~LSo#Xzd zr<!GJ&TdLeUgRr1>1EV5*}I31S_D4wURA8W&vl1+{{1}-%-n3<Ti+#2F5*|7x3a?U z-Z7(2q1HWyhEI3&=qJ~$*;({(|6I%VX_i$gFD@+#EVfx2m6^S8X8iXa*;@wpce6&$ zzWP?cH2>y-W^VC6Kh0B4A1>Z)cJD{#`zIBu>8<bP?0od<La_hYzR$+r-#<9qJy(AJ z>^<MET~2?*);Fj6_nY@CFPr_JQ&afy<K$%i{qlbT7EeC8eQs&{*YB})hwr-IZ{jg~ zkx<JmbYo`A?zPM1T9Xq!X0{!-eetlJ>zBEFjWX8?nR-`Wkp*?Cn=0mYtN(g_x83Ag zMshA+(TzEEV$ZHE?i75ck<x6%CibXNS8c|U0uG~@kG!?DelD6~sAQ=++4$ayr_*A} OUOt_kASEKeU=09$irB#b diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-default-line.gif b/wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-default-line.gif deleted file mode 100644 index 37114d3068e0a787dd44a39430a8fc44d1963dcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1993 zcmeH`{W}u~0LLe9$&r@`(ZXFlO>r4TVtHG0JrO$Enq6XbCo|$|a&v@;)39R3X0LXK z=4C5;$$F8ukhcpHt9h#|Z}G%v+dcJfT;CtQ-=9C9=lPxpf_ivHn*f&d)&O6Uk&*Fr zztuMb|2qTrN*yf#Km$1Nh5XAW09!Qxje#w!f##d3Weh^%ezb4RHMH}qgq?N>%r^k5 zhj5M29R-#U*YEa+*>{!bg)r&_S7N*KTu!yGdhlq^%Z{9zMGDQ)eI<}UJ(UMPCbY;M zvllJg5gpD6Azb)FR9y4#tw{Tec)?5bncDM@@-br;v!iS@ntF;{x>wqO9T|?VFmpzT z<CkB&^dfS@gm`89YPTC#F3!+5Y!{xr6hkH8p?XK*zoHps|HR39gy4}Lm^s*Tp5zug zR1z8<fhl*tI0E$z$+6o=M2+z<i*1EJU&YE0czu0!xgc^Pv#=tNdsc{;Wzx$^)5+K4 z6t#`b!)kI`{M!W6G)?_M$>;fHVecYTQ=v*+Ym);btB~p|8@=<84j@I7qIs!>qhv@; z1(eJQ`*ljXoWj|YY77;~vfc-s1?J30uTyU>CwWxmC{uC3JXP^})h#WC2Q6Q>2}dh1 zcq*XfZFX&yXCIEpo4UPomP9A)+9IVF0Y6$f6g%3$872E%%Nax`KPlsmOPDqDF4zI? zSbF4BC;K+)X6keqq{Nz4?$3a;NGF@5tcsAQ*6hmgK{%TdIa$so2hB-mNa;5W-qA2- z8`bnAhoc<E@2=N5%v3+oB^o;HdNupE3!-Y)pO$m)=~a7e<`~Swh&d()N}gj?ZWG0E zXzdzMO&x16uIAp~lQlKmI>{WUzTpKZ{$8sL5zp;dAjj7~R*T{ro<T3y@jJt6>+bjX zC=NX64_09Azeep!crc#emC*dA+KDTgre1ayzvDV##Y++|?88;rWvt}$q+(H`i5RPS zEHN9edot#L<UU<+Mb@`&_>H?f-f_})iLD)jY-ra{u59Qq%o=a#+)lJ@>@q)xJoJ3$ zC30i;uGaC!9^jB|Q?KI`vgyUXl}gucr_J$?)rZWzc?0f_c;28VxP>?5?XTkX`=0bp zsd70N<vtvkjOUL8Wwr1}PZ3poX(-eC{xGQ7i2v$LYwxF5DIHO3<5%AnuF2wl(X_Cu z@mSTh;mq!+^@&^s#p89>wTbl+Lav>1lvoy}l$LQQ%CUlL65(s3k4oViy0(u<&T*uQ zCTqc{qw;%cYS9$WA0?h{4yTG|#4$4Q?4#t}n@dl!P&;uQVA8R|HlpNVX)kkk%iItT z)uQMtNN@Qdt&n&xPqeC4>+&I#Wd7|GRkEO1kx3R8wSkY8rZwz`s-8aVF?GLU@t9_8 zrD|0N=Dh{cmochMTQlkO*3BnmzDcGjzt8j8R?~OmLo035Z7an1d0*CQ)_K)7BE)2Y zkgWpCHK(nPTNwA}=w{2c(4^y*&P6wk_;T$eD_^_d{#*;4N!{uklCMKTf1X{yr2bti zzumVJ_he@>5-)Z>GylmnHFyWzlGoV=;x6T{txOuWS^2w$nf~>ITa3{F$<KYZsPJG) z%yv1>-_yqw6wR74o)-lATn!~abYe|(Jp=qK2Z~Mv#F|+M1E7Zo2t_F@i)9itD80A@ z!=JWtheLy@ro^PxX&YboiBL)Loiw)@+fZv*gz@0roa`BUbU6&+Jh<Pc3w9g;@cIvN CM1`3E diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-default.gif b/wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-default.gif deleted file mode 100644 index a12ac52ffe4d085657aaf45db3cf5717c751230c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1222 zcmZ?wbhEHbOkikb_|5<V4Gj%odXyLqfe{x1ia%Kx85sUE=zx3<$`cG6{~7*s%6M#8 zaIl#}SS#kl2l<9}1`($mkBy6tcC#oa-8r#wv1_lKbC(Eb(UOysHG)^!NG@3FJzYDw zi>F}1vNN-#bFE}n2rob1X65+pkEe*DZwLSXi!o7KG!HJYnd?<+74YK9YG>B8y}v#$ z4PTdVxGU6Z+nUJb(dSpiS{vy`Ps;C})+4q3p-ZRd>!LZ`7uVifRnN>VcjoGA??Z~) zf4QCsFnrwCC;z;pV~S4jNfG7bZ7V8^pUs+QDV-;|Ys;0R%YxUttlhQM^V+hXyW%vY z%kJ#vEL=V9>`mkMHxD#(_gl~UQm~6Px4muESBs+6=T0j1o(TDw{48a0^7ef@KYw_1 zXL0vpdH;QTD!cYCUVc2rvi#n)*ZtSU<m-R@`TS$5nE3nHA7%d<Oqa{13Wt7=ZMbRq z{eA;mtGZ;xPgjkHE$6PP&uKlF=rJRYy-*^$Me3ZGQme`~HpS+Xj5ii^Y4TajP32^| z9$#R5iepyU@2M*u_u2e2RjN^7dY<U^{_Bca&2C0*DU<5wu6WSvzpg_mR4*)TL4AN+ Z_~V@DUC&e|C$wokn~^fjGTMQ`8UP!b*<Ant diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-famfamfam-line.gif b/wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-famfamfam-line.gif deleted file mode 100644 index 6e289cecc51b59a01c1278ce95653badf4e643de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 807 xcmZ?wbhEHbWMp7u_|7m2Mnhmkhk)Ww7Dfh!{|q{yPypo#1`Za6|Ew$w)&O`M20Z`( diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-famfamfam.gif b/wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-famfamfam.gif deleted file mode 100644 index 0cb178e89925dde14c2ea46ede7ed0152d6fde00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1280 zcmZ?wbhEHbOkikb_|5<VhS?I9#fnbFia{-g#dDJPIx+0^Vz?H?aV$#lUbf=*VutV4 z5-nSkd-f(z*;@U+#p(On;wf8umhPRi_1cuJ$JXw=wB+8>mgj4Go^PG<e(RKL&-ebn zwDtf0|6sF6iO~=k)FGhwlZBCi;Xi{8$d#Zx!NBpK;XkL0$A$$5n>mEFVorRJZ)j%_ zamw-7xaep%i*nMP6B`%1_R2YTiEtJzIXPJ)cvZ~FO-oNtH%LA;NArSHBNL0-g*!7h zI5Bfc%Lr5)*sS5mB%)DL@W7$r;&KmbkEH?+R$gS}lPbx$a3w2{lSL*#!0U>(KPNL2 z&xC|+Yj1BaczkNE_jbLrlggqWosBMBbfmq;{2gykk-@{m9m3jiXLfA7&BMu~vg5&w zWHweQ3zvWi3yqGkNGTX3Feo-Y?`E^`czfW$fy{1BC4-0!42>_Zix{fR=zYMDdPhXj z`ycO~9UmW`n5;d0$DD-^Pt^&#vH#n%^T4ZXo3rnq+q*k-wnb^t-S3=Jbjp`_&9u5J zSDJP8ZN%21*!8k&B0k@_xGMGa-u=L=&1NA`c2;nQgv(Xm_Suc63}?(~KH;eGphZNE zJ<jj$MDZ&D&sDdEgul^zDp&q7mo=$2vG-_VUFO=*husFpDrU4CyBIO2w?;E#Lf`U- zI}{r1PH8-u;POf3PRiZbX*bj6=CaSqSaNq+Y}V?n$6|9fUsX#j+x78T^rVT3kxyo% zOj{W=!Inu<G2zn2%xAL;j%hxh(<AFSr_3ws*v+X6d&8v4L%dR#PTq7eO}aex+Benm UvP&;tES}(|^>PV2D+_})00hY#ivR!s 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 deleted file mode 100644 index 37600447dc002bbc0dd16e1391b711360aae2e34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1877 zcmeH``8OK|0LL@bF~qSc#n50?JXNI+k>{#)#go3O<B6k9iY6vZ9BD#g#9dlPSLROY zYDAEgkVFVof@ITb-K29A)rz`WA$#_3tluBL-=9C9_r6!J{bcWOTOF_^zYjP`YHI3# z`?bCr_}>{g`&sTA06+?`JRv{%1VB*=kSggPTmbZ?E2@Hm10RaqGJr~M_swEK9(fuU z9bXMur@nY#Xn3Q<KF;WBp{ZWIQ<-%gzsOQ;(4=d8*}M2M=Jl+SZzQzJIL3eHOvyVB z%9%p+&FRAP{Oap@G7v{Q<V0OSc|?l2ow*;~zYnfOePsED9`ceLqURqC>p;v6X2AT> zA>EM+>y@m1^a49s_E1X&+bZH^!_a=e{N6S<U{mQh2>u)s&U>sDnd!~=b?JFEB#FT8 zioZMFaK52~t&52oqdWW~2MJ1ue%%?en#qCfU7u!nC|sSJi5E`}X3h8)ly{+5*|mp+ zYqNE`8<UKv1px=Yv%u>MkZN-)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!0A<hyD*nB+hbOP6vyKvQ>ep)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%XgkyEBd6Ds8uO<l4NU9a zTba4gD}4>K?%`{)>0D(Cr`A4IcZoG`&U18YKqjoYtzQo|Dt=**<t=7{B2~7BHp!9} zzPR0qK5TkUAM@Nw!4fm3(0?B@07fJ;1TIob+cDSgAhyGhq>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*)mQYPC<rCAF z&e~-oKH|4WF(27`LqZ8>f1;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 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 deleted file mode 100644 index cfb8a2f0961b880d9ecc9e59f831d0c0bf9d06db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1230 zcmZ?wbhEHbOkikb_|5<V4Gj%odXyLqfe{x1ia%Kx85sUE=zx3<$`cG6{~7*s%6M#8 zaIl#}SS#kl2l<9}1`($mkBy6tcC#oa-8r#wv1_lKbC(Eb(UOysHG)^!NG@3FJzYDw zi>F}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??#<K=5@E59tvH4i9#UK_4ZCY-50 zxAB>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%mqtvOXdV<HSLl7}no5p;*SGtP7IqO!8^ZU^ hkWKS!bAMVIUp4b_qTRI2XEQUFt$a3%gO!EB8UR~(+I#>2 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 deleted file mode 100644 index df9e749a8f1f58862588efc64988003efad01d51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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=f6<lb38SBkneC^Yzi)GZaL;db957UYqw zcMklz&+gvKyi=#H7CFV8_RKdos&Of{s}>d5==7Sk4KMl>Ucik`YxtvJ<)$%#TPKR% zdeBegW3Nr-TZ$_DvX!7<NAyT_P|2+%D@UsUR$v$6DC42c7%S`*EzBq|8s37O=}m<P zV#C@|bE{?CUF;k$QTgDg7NJQh%z$G9e)+w5rpLYv+zZ){i4;E4L8bYye_eP{0ZkzD z+Tw2y*IL%L@C<QLLoDZiRG=YuqDNc9mecs~9luGohnnZiRJ?4wH+?EFx1<fb%&R&e zdrenwuZ^>#=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`x<L}vSU z5X_2#yo=2r!b8vtk9_fH)5pOD_0`3pw3W!mnB4xQl1Sm*no{&|+pSW9xENJNnyp{1 zNK{%yRZ@YNx{@T2RUIwWo_ISK;Wk<G1P{hoR%asG>uPf1K3U`ignx^9LiY{9RF`M1 z((4&CBBq9gRTxIqvdNQH4XvU-teM=&r#I{BRpE@Mf`UowW*<Yi4P&64*w7>aYDTj; zR~d}wJj7bmv%$EvhL%3@9<z0%fW&N@pmCX;#b=~O?uwB6zF;%$$_IX@HzVdxc`}6A zzOyuSwo@?*x9bq;^H>5+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<CwgmovFy~q?T#)D?WajASp|jA<Ze6 zyK{-k?-S;!I#|wBlBq4{P3n0vL5y&pZCSuWu+EE_$PUg@4(`xN5)c6-F3@4&#KrRL z_v{r0olIO}#Tb*8*_2uEyVikn$U1kbG5&46S_F4hP&f;b`4~mGtPOC<ybXztPSQt? zKa0D~Lw+D_4&pxWcKRf8{_aR2g}*;R7x4EM*_4ihm2Sb|@Mbzp@wxK~i?St8xyb*t zGZ3Kw><K;{)uo6`=MUwru1A1>-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 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 deleted file mode 100644 index 3bbb3a157f1568d59d6db02b55a3b3fe9a1ff7a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1230 zcmZ?wbhEHbOkikb_|5<VU(3qC^e8bJ0wXR26o0ZXGBEsS&;j`zlqVQC{xkgNl=0ZG z;9xU{uvW~85AqG|3?fcB9vc@O?PgI<x^rUVV%J_d=PnV>q9rFMYXq;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<<BsaNTV9pcj>7PRm>?O4!tnstX#kf7!b zrS20uEgqNfF3Nb+XY*}_WalNuopUBkE{&Kl(L5+ZuF(6`HI*Fyu5b4nE$kweHiYk+ hA)Dse=Ki!azG~*<M7wF3&t_&UTls7j2P+GMH2^2F+T8#E diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_flat_0_aaaaaa_40x100.png b/wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_flat_0_aaaaaa_40x100.png deleted file mode 100644 index e97ed12dcbb4a622caaa7e0a2733c510f840db52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F1SA+{?>A)!QcOwS?k)_>#w|r1Kptm-M`SUO z_5fqIli7AahM1>|V~EA+<Oo)Fp2cSZpJ^0N@zfJ$;PRZI9~D01F;InSiEBhjN@7W> zRdP`(kYX@0Ff`URu+%j)3^6jcGBmI<wbV5*w=yu;A8^S4MMG|WN@iLmZVl&nvwDCU O7(8A5T-G@yGywpSOfz-> 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 deleted file mode 100644 index 9c371ee1c9ce43938b01446c9e83e823435b40ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 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 deleted file mode 100644 index 3fce4a10da7340e48e30740bfd223c8d0bca0fea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 335 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&fC<Rju*&f~kYY>nc6a#?2AmP!?*K(O3p^r= zfwTu0yPeFo12TF&T^vI^j=w#x$i?I+((tf;UXnmgbH|3oY>pC!)f}(GR!16S-u+#{ ze6YEqRkW=8vGl=5qArKM<9}TC-}iEvB{zdaTcX5$wyRTK&AL<j?Oogl7O%t;J!=h; z-jz8yK2Z_Txf?iR!y=`46O)gZPw?Ar2`)?)dsFGUcbn%2mT)d+n{3Ay7yfr=9yaKa z|HNjKs1n@qrcw{+Fx3**h?11Vl2ohYqEsNoU}RuutZQJYYiJl^WNc+<U}b8lYhZ3= kV6Z>nk^zc_-29Zxv`X9>&hcjT05vdpy85}Sb4q9e07k)eQvd(} 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 deleted file mode 100644 index a75596bb1c1e14d9fa0f154fa38fba1313cfc35d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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_V<hxhNG# zF&G&b8tWQZ>KYn`7#Uj`8d#Yc=^B_@85ryhZ##veAvZrIGp!Q0hBI7tAQv)ty85}S Ib4q9e01o6c6aWAK 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 deleted file mode 100644 index fdef16fabb5dab0357b193e6b726887cf4ebfbaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 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 deleted file mode 100644 index 385c0a3c989042cdfa6ce7272b6b5d977b37ac5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&0LWmFTHNUZq?nSt-Ch3w7g=q17Rci)@Q5r1 z(jH*!b~4)z#PD=+46!(!TrvH)L6@80)r*_cdCvDr%)6ghVL16=s@mbz7H!uRdGeDa z?kzLg)16i!f8fKx84s0>4<FykGyjQ%on+slKo=e+hF*tnDhzt2`9L#OOI#yLQW8s2 zt&)pUffR$0fuXUkfu*jYVTh5jm7#%^sim%gxs`#z{(wscC>nC}Q!>*kaceloo7Dr< Oz~JfX=d#Wzp$Pz`OHOM5 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 deleted file mode 100644 index 14f3ba7cf9929e19af4b0888c8bff8cfe70ef68b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 332 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&fC<Rju*&f~kYY>nc6a#?2AmP!?*K(O3p^r= zfwTu0yPeFo12VciT^vI^j=w#>k(V)1qW$CZ|6)SVV-&*#dav<$DMuV&n0Dbpw@a<C zL<6s0+7G*vvYqejST{BX?76zWVpaQ=iZkzonHi23$~?b)VOyyz)5%$db0%#{6W6}< z!ED#MUb*PGy)jD<wKpxEbn*J^@Wmk}MQ?XX%rvu-j19ArkbS1Zt0D2{=$6M8=lCm` z+;uflX3ggWIZw63HKHUXu_V<hxhNG#F&G&b8tWQZ>KYn`7#Uj`8d#ZH>Kd3^85ryj gxMYB$AvZrIGp!Q0hI71GJwOc%p00i_>zopr0Ji6IQUCw| 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 deleted file mode 100644 index af6b6aa6c547c1a1abe354a763403e2f49834cf9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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(zTc<N)G>E%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 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 deleted file mode 100644 index 2259983b9069d452d1c0a777d5441a933f344ec8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4429 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 BYZ?Fm 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 deleted file mode 100644 index 017a02bad548093de7e8c3748e6fb280dfb9d597..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4421 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 E0NJNtJ^%m! 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 deleted file mode 100644 index c2b6c708bdf6c53b3dd4c17ae5e701359598bc5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4368 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 C)_hR_ 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 deleted file mode 100644 index d5464c5..0000000 --- a/wp-content/plugins/advanced-access-manager/media/css/jquery-ui.css +++ /dev/null @@ -1,7 +0,0 @@ -/*! 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 deleted file mode 100644 index 494fb1a..0000000 --- a/wp-content/plugins/advanced-access-manager/media/css/jquery.dt.css +++ /dev/null @@ -1,242 +0,0 @@ -.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 deleted file mode 100644 index f6b1be6..0000000 --- a/wp-content/plugins/advanced-access-manager/media/css/jquery.treeview.css +++ /dev/null @@ -1,117 +0,0 @@ -.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 deleted file mode 100644 index ae853de..0000000 --- a/wp-content/plugins/advanced-access-manager/media/js/aam.js +++ /dev/null @@ -1,3034 +0,0 @@ -/** - * ====================================================================== - * 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('<div/>', { - '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('<option/>', {value : ''}) - ); - for(var i in response){ - jQuery('#parent_cap_role').append( - jQuery('<option/>', { - 'value' : i - }).html(response[i].name) - ); - } - }, - complete: function(){ - jQuery('#parent_cap_role').removeClass( - 'input-dynamic' - ); - } - }); - _this.launchAddRoleDialog(this); - }); - jQuery('#role_list_wrapper .aam-list-top-actions').append(add); - _this.initTooltip( - jQuery('#role_list_wrapper .aam-list-top-actions') - ); - }, - fnDrawCallback: function() { - jQuery('#role_list_wrapper .clear-table-filter').bind( - 'click', function(event) { - event.preventDefault(); - jQuery('#role_list_filter input').val(''); - _this.segmentTables.roleList.fnFilter(''); - } - ); - }, - 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('<div/>', { - '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 = '<div class="table-filtered">'; - info += aamLocal.labels['Filtered'] + '. '; - info += '<a href="#" class="clear-table-filter">'; - info += aamLocal.labels['Clear'] + '.</a></div>'; - - 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('<div/>', { - '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('<a/>', { - '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('<div/>', { - '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('<div/>', { - 'class': 'capability-actions' - })); - var actions = jQuery('.capability-actions', nRow); - //add capability checkbox - jQuery(actions).append(jQuery('<div/>', { - 'class': 'capability-action' - })); - jQuery('.capability-action', actions).append(jQuery('<input/>', { - 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( - '<label for="' + aData[0] + '"><span></span></label>' - ); - //add capability delete - jQuery(actions).append(jQuery('<a/>', { - '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('<div/>', { - '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('<div/>', { - 'class': 'event-actions' - })); - } - jQuery('.event-actions', nRow).append(jQuery('<a/>', { - '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('<a/>', { - '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('<ul id="tree" class="filetree"></ul>'); - _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('<a/>', { - '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('<div/>', { - '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('<div/>', { - 'class': 'post-breadcrumb-line' - })); - - for (var i in response.breadcrumb) { - jQuery('.post-breadcrumb-line').append(jQuery('<a/>', { - 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('<span/>', { - '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('<div/>', { - '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('<a/>', { - '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('<a/>', { - 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('<a/>', { - 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('<span/>')); - - 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 deleted file mode 100644 index f94c403..0000000 --- a/wp-content/plugins/advanced-access-manager/media/js/codemirror.js +++ /dev/null @@ -1 +0,0 @@ -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;a<Wb.length;++a)Wb[a](this)})()}function Td(a,b){var c={},d=c.input=p("textarea",null,null,"position: absolute; padding: 0; width: 1px; height: 1em; outline: none; font-size: 4px;"); K?d.style.width="1000px":d.setAttribute("wrap","off");Ia&&(d.style.border="1px solid black");d.setAttribute("autocorrect","off");d.setAttribute("autocapitalize","off");d.setAttribute("spellcheck","false");c.inputDiv=p("div",[d],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");c.scrollbarH=p("div",[p("div",null,null,"height: 1px")],"CodeMirror-hscrollbar");c.scrollbarV=p("div",[p("div",null,null,"width: 1px")],"CodeMirror-vscrollbar");c.scrollbarFiller=p("div",null,"CodeMirror-scrollbar-filler"); c.gutterFiller=p("div",null,"CodeMirror-gutter-filler");c.lineDiv=p("div",null,"CodeMirror-code");c.selectionDiv=p("div",null,null,"position: relative; z-index: 1");c.cursor=p("div","\u00a0","CodeMirror-cursor");c.otherCursor=p("div","\u00a0","CodeMirror-cursor CodeMirror-secondarycursor");c.measure=p("div",null,"CodeMirror-measure");c.lineSpace=p("div",[c.measure,c.selectionDiv,c.lineDiv,c.cursor,c.otherCursor],null,"position: relative; outline: none");c.mover=p("div",[p("div",[c.lineSpace],"CodeMirror-lines")], null,"position: relative");c.sizer=p("div",[c.mover],"CodeMirror-sizer");c.heightForcer=p("div",null,null,"position: absolute; height: "+qa+"px; width: 1px;");c.gutters=p("div",null,"CodeMirror-gutters");c.lineGutter=null;c.scroller=p("div",[c.sizer,c.heightForcer,c.gutters],"CodeMirror-scroll");c.scroller.setAttribute("tabIndex","-1");c.wrapper=p("div",[c.inputDiv,c.scrollbarH,c.scrollbarV,c.scrollbarFiller,c.gutterFiller,c.scroller],"CodeMirror");ra&&(c.gutters.style.zIndex=-1,c.scroller.style.paddingRight= 0);a.appendChild?a.appendChild(c.wrapper):a(c.wrapper);Ia&&(d.style.width="0px");K||(c.scroller.draggable=!0);Xb?(c.inputDiv.style.height="1px",c.inputDiv.style.position="absolute"):ra&&(c.scrollbarH.style.minWidth=c.scrollbarV.style.minWidth="18px");c.viewOffset=c.lastSizeC=0;c.showingFrom=c.showingTo=b;c.lineNumWidth=c.lineNumInnerWidth=c.lineNumChars=null;c.prevInput="";c.alignWidgets=!1;c.pollingFast=!1;c.poll=new Ub;c.cachedCharWidth=c.cachedTextHeight=null;c.measureLineCache=[];c.measureLineCachePos= 0;c.inaccurateSelection=!1;c.maxLine=null;c.maxLineLength=0;c.maxLineChanged=!1;c.wheelDX=c.wheelDY=c.wheelStartX=c.wheelStartY=null;return c}function Ja(a){a.doc.mode=m.getMode(a.options,a.doc.modeOption);a.doc.iter(function(a){a.stateAfter&&(a.stateAfter=null);a.styles&&(a.styles=null)});a.doc.frontier=a.doc.first;Ka(a,100);a.state.modeGen++;a.curOp&&D(a)}function Rc(a){var b=sa(a.display),c=a.options.lineWrapping,d=c&&Math.max(5,a.display.scroller.clientWidth/Sc(a.display)-3);return function(e){return ia(a.doc, e)?0:c?(Math.ceil(e.text.length/d)||1)*b:b}}function Tc(a){var b=a.doc,c=Rc(a);b.iter(function(a){var b=c(a);b!=a.height&&R(a,b)})}function Uc(a){var b=Z[a.options.keyMap],c=b.style;a.display.wrapper.className=a.display.wrapper.className.replace(/\s*cm-keymap-\S+/g,"")+(c?" cm-keymap-"+c:"");a.state.disableInput=b.disableInput}function Oc(a){a.display.wrapper.className=a.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+a.options.theme.replace(/(^|\s)\s*/g," cm-s-");ta(a)}function La(a){Nc(a); D(a);setTimeout(function(){Yb(a)},20)}function Nc(a){var b=a.display.gutters,c=a.options.gutters;Ma(b);for(var d=0;d<c.length;++d){var e=c[d],f=b.appendChild(p("div",null,"CodeMirror-gutter "+e));"CodeMirror-linenumbers"==e&&(a.display.lineGutter=f,f.style.width=(a.display.lineNumWidth||1)+"px")}b.style.display=d?"":"none"}function mb(a,b){if(0==b.height)return 0;for(var c=b.text.length,d,e=b;d=ua(e,-1);)d=d.find(),e=u(a,d.from.line),c+=d.from.ch-d.to.ch;for(e=b;d=nb(e);)d=d.find(),c-=e.text.length- d.from.ch,e=u(a,d.to.line),c+=e.text.length-d.to.ch;return c}function Zb(a){var b=a.display,c=a.doc;b.maxLine=u(c,c.first);b.maxLineLength=mb(c,b.maxLine);b.maxLineChanged=!0;c.iter(function(a){var e=mb(c,a);e>b.maxLineLength&&(b.maxLineLength=e,b.maxLine=a)})}function Sb(a){for(var b=!1,c=0;c<a.gutters.length;++c)"CodeMirror-linenumbers"==a.gutters[c]&&(a.lineNumbers?b=!0:a.gutters.splice(c--,1));!b&&a.lineNumbers&&a.gutters.push("CodeMirror-linenumbers")}function $b(a){var b=a.display,c=a.doc.height+ (b.mover.offsetHeight-b.lineSpace.offsetHeight);b.sizer.style.minHeight=b.heightForcer.style.top=c+"px";b.gutters.style.height=Math.max(c,b.scroller.clientHeight-qa)+"px";var c=Math.max(c,b.scroller.scrollHeight),d=b.scroller.scrollWidth>b.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<h.length;++g)h[g].style.left=e;a.options.fixedGutter&&(b.gutters.style.left=c+d+"px")}}function Xd(a){if(!a.options.lineNumbers)return!1;var b=a.doc,b=cc(a.options,b.first+b.size-1);a=a.display;if(b.length!=a.lineNumChars){var c=a.measure.appendChild(p("div", [p("div",b)],"CodeMirror-linenumber CodeMirror-gutter-elt")),d=c.firstChild.offsetWidth,c=c.offsetWidth-d;a.lineGutter.style.width="";a.lineNumInnerWidth=Math.max(d,a.lineGutter.offsetWidth-c);a.lineNumWidth=a.lineNumInnerWidth+c;a.lineNumChars=a.lineNumInnerWidth?b.length:-1;a.lineGutter.style.width=a.lineNumWidth+"px";return!0}return!1}function cc(a,b){return String(a.lineNumberFormatter(b+a.firstLineNumber))}function bc(a){return y(a.scroller).left-y(a.sizer).left}function ob(a,b,c,d){for(var e= a.display.showingFrom,f=a.display.showingTo,g,h=ac(a.display,a.doc,c);Yd(a,b,h,d);){d=!1;g=!0;dc(a);$b(a);c&&(c=Math.min(a.display.scroller.scrollHeight-a.display.scroller.clientHeight,"number"==typeof c?c:c.top));h=ac(a.display,a.doc,c);if(h.from>=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.to<e.showingTo)){Xd(a)&&(b=[{from:f.first,to:f.first+f.size}]);var g=e.sizer.style.marginLeft=e.gutters.offsetWidth+"px";e.scrollbarH.style.left=a.options.fixedGutter?g:"0";g=Infinity;if(a.options.lineNumbers)for(var h=0;h<b.length;++h)b[h].diff&&b[h].from<g&&(g=b[h].from);var h=f.first+f.size,k=Math.max(c.from-a.options.viewportMargin,f.first);c=Math.min(h,c.to+a.options.viewportMargin);e.showingFrom<k&&20>k-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<h&&ia(f,u(f,c));)++c;var l=[{from:Math.max(e.showingFrom,f.first),to:Math.min(e.showingTo,h)}],l=l[0].from>=l[0].to?[]:Zd(l,b);if(Pa)for(h=0;h<l.length;++h){b=l[h];for(var n;n=nb(u(f,b.to-1));)if(n=n.find().from.line,n>b.from)b.to=n;else{l.splice(h--,1);break}}for(h=f=0;h<l.length;++h)b=l[h],b.from<k&&(b.from=k),b.to>c&&(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.001<e||-0.001>e)if(R(c.lineObj,d),d=c.lineObj.widgets)for(e=0;e<d.length;++e)d[e].height=d[e].node.offsetHeight}}function Vc(a){var b=a.display.viewOffset=Qa(a,u(a.doc,a.display.showingFrom));a.display.mover.style.top=b+"px"}function Zd(a,b){for(var c=0,d=b.length||0;c<d;++c){for(var e=b[c],f=[],g=e.diff||0,h=0,k=a.length;h< k;++h){var l=a[h];e.to<=l.from&&e.diff?f.push({from:l.from+g,to:l.to+g}):e.to<=l.from||e.from>=l.to?f.push(l):(e.from>l.from&&f.push({from:l.from,to:e.from}),e.to<l.to&&f.push({from:e.to+g,to:l.to+g}))}a=f}return a}function be(a){for(var b=a.display,c={},d={},e=b.gutters.firstChild,f=0;e;e=e.nextSibling,++f)c[a.options.gutters[f]]=e.offsetLeft,d[a.options.gutters[f]]=e.offsetWidth;return{fixedPos:bc(b),gutterTotalWidth:b.gutters.offsetWidth,gutterLeft:c,gutterWidth:d,wrapperWidth:b.wrapper.clientWidth}} function $d(a,b,c,d,e){function f(b){var c=b.nextSibling;K&&va&&a.display.currentWheelTarget==b?(b.style.display="none",b.lineObj=null):b.parentNode.removeChild(b);return c}var g=be(a),h=a.display,k=a.options.lineNumbers;d.length||K&&a.display.currentWheelTarget||Ma(h.lineDiv);var l=h.lineDiv,n=l.firstChild,E=d.shift(),q=b;for(a.doc.iter(b,c,function(b){E&&E.to==q&&(E=d.shift());if(ia(a.doc,b)){if(0!=b.height&&R(b,0),b.widgets&&n&&n.previousSibling)for(var c=0;c<b.widgets.length;++c){var h=b.widgets[c]; if(h.showIfHidden){var m=n.previousSibling;if(/pre/i.test(m.nodeName)){var C=p("div",null,null,"position: relative");m.parentNode.replaceChild(C,m);C.appendChild(m);m=C}C=m.appendChild(p("div",[h.node],"CodeMirror-linewidget"));h.handleMouseEvents||(C.ignoreEvents=!0);ec(h,C,m,g)}}}else if(E&&E.from<=q&&E.to>q){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;y<b.widgets.length;++y){var B=b.widgets[y];if(B.node==x.firstChild){B.above||w||(w=x);ec(B,x,H,g);++v;break}}if(y==b.widgets.length){t=!1;break}}else H.removeChild(x);H.insertBefore(r,w);t&&v==b.widgets.length&&(h=H,H.className= b.wrapClass||"")}h||(h=p("div",null,b.wrapClass,"position: relative"),h.appendChild(r));b.bgClass&&h.insertBefore(p("div",null,b.bgClass+" CodeMirror-linebackground"),h.firstChild);if(C.options.lineNumbers||G)if(m=h.insertBefore(p("div",null,null,"position: absolute; left: "+(C.options.fixedGutter?g.fixedPos:-g.gutterTotalWidth)+"px"),h.firstChild),C.options.fixedGutter&&(h.alignable||(h.alignable=[])).push(m),!C.options.lineNumbers||G&&G["CodeMirror-linenumbers"]||(h.lineNumber=m.appendChild(p("div", cc(C.options,u),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+g.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+s.lineNumInnerWidth+"px"))),G)for(y=0;y<C.options.gutters.length;++y)B=C.options.gutters[y],(u=G.hasOwnProperty(B)&&G[B])&&m.appendChild(p("div",[u],"CodeMirror-gutter-elt","left: "+g.gutterLeft[B]+"px; width: "+g.gutterWidth[B]+"px"));ra&&(h.style.zIndex=2);if(b.widgets&&h!=H)for(y=0,H=b.widgets;y<H.length;++y)B=H[y],G=p("div",[B.node],"CodeMirror-linewidget"),B.handleMouseEvents|| (G.ignoreEvents=!0),ec(B,G,h,g),B.above?h.insertBefore(G,C.options.lineNumbers&&0!=b.height?m:r):h.appendChild(G),M(B,"redraw")}else h=r;if(h!=c)l.insertBefore(h,n);else{for(;n!=c;)n=f(n);n=n.nextSibling}h.lineObj=b}++q});n;)n=f(n)}function ec(a,b,c,d){a.noHScroll&&((c.alignable||(c.alignable=[])).push(b),c=d.wrapperWidth,b.style.left=d.fixedPos+"px",a.coverGutter||(c-=d.gutterTotalWidth,b.style.paddingLeft=d.gutterTotalWidth+"px"),b.style.width=c+"px");a.coverGutter&&(b.style.zIndex=5,b.style.position= "relative",a.noHScroll||(b.style.marginLeft=-d.gutterTotalWidth+"px"))}function dc(a){var b=a.display,c=x(a.doc.sel.from,a.doc.sel.to);if(c||a.options.showCursorWhenSelecting){var d=a.display,e=U(a,a.doc.sel.head,"div");d.cursor.style.left=e.left+"px";d.cursor.style.top=e.top+"px";d.cursor.style.height=Math.max(0,e.bottom-e.top)*a.options.cursorHeight+"px";d.cursor.style.display="";e.other?(d.otherCursor.style.display="",d.otherCursor.style.left=e.other.left+"px",d.otherCursor.style.top=e.other.top+ "px",d.otherCursor.style.height=0.85*(e.other.bottom-e.other.top)+"px"):d.otherCursor.style.display="none"}else b.cursor.style.display=b.otherCursor.style.display="none";c?b.selectionDiv.style.display="none":ce(a);a.options.moveInputWithCursor&&(a=U(a,a.doc.sel.head,"div"),c=y(b.wrapper),d=y(b.lineDiv),b.inputDiv.style.top=Math.max(0,Math.min(b.wrapper.clientHeight-10,a.top+d.top-c.top))+"px",b.inputDiv.style.left=Math.max(0,Math.min(b.wrapper.clientWidth-10,a.left+d.left-c.left))+"px")}function ce(a){function b(a, b,c,d){0>b&&(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);3<s.top-p.top&&(b(H,p.top,null,p.bottom),H=k,p.bottom<s.top&&b(H,p.bottom,null,s.top)); null==f&&u==l&&(t=h);if(!n||p.top<n.top||p.top==n.top&&p.left<n.left)n=p;if(!m||s.bottom>m.bottom||s.bottom==m.bottom&&s.right>m.right)m=s;H<k+1&&(H=k);b(H,s.top,t-H,s.bottom)});return{start:n,end:m}}var d=a.display,e=a.doc,f=a.doc.sel,g=document.createDocumentFragment(),h=d.lineSpace.offsetWidth,k=W(a.display.measure,p("pre",null,null,"text-align: left")).appendChild(p("span","x")).offsetLeft;if(f.from.line==f.to.line)c(f.from.line,f.from.ch,f.to.ch);else{var l=u(e,f.from.line),n=u(e,f.to.line), n=$(e,l)==$(e,n),l=c(f.from.line,f.from.ch,n?l.text.length:null).end,f=c(f.to.line,n?0:null,f.to.ch).start;n&&(l.top<f.top-2?(b(l.right,l.top,null,l.bottom),b(k,f.top,f.left,f.bottom)):b(l.right,l.top,f.left-l.right,l.bottom));l.bottom<f.top&&b(k,l.bottom,null,f.top)}W(d.selectionDiv,g);d.selectionDiv.style.display=""}function sb(a){if(a.state.focused){var b=a.display;clearInterval(b.blinker);var c=!0;b.cursor.style.visibility=b.otherCursor.style.visibility="";0<a.options.cursorBlinkRate&&(b.blinker= setInterval(function(){b.cursor.style.visibility=b.otherCursor.style.visibility=(c=!c)?"":"hidden"},a.options.cursorBlinkRate))}}function Ka(a,b){a.doc.mode.startState&&a.doc.frontier<a.display.showingTo&&a.state.highlight.set(b,O(ee,a))}function ee(a){var b=a.doc;b.frontier<b.first&&(b.frontier=b.first);if(!(b.frontier>=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&&l<h.length;++l)k=h[l]!=g.styles[l];k&&(f&&f.end==b.frontier?f.end++:e.push(f={start:b.frontier,end:b.frontier+1}));g.stateAfter=wa(b.mode,d)}else Yc(a,g,d),g.stateAfter=0==b.frontier%5?wa(b.mode,d):null;++b.frontier;if(+new Date>c)return Ka(a,a.options.workDelay),!0});e.length&&t(a,function(){for(var a=0;a<e.length;++a)D(this,e[a].start,e[a].end)})()}}function fe(a,b,c){var d,e,f=a.doc,g=b;for(b-= a.doc.mode.innerMode?1E3:100;g>b;--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&&f<e.showingTo?wa(d.mode,g):null;++f});return g}function gc(a,b,c,d,e){var f= -1;d=d||hc(a,b);for(a=c;;a+=f){var g=d[a];if(g)break;0>f&&0==a&&(f=1)}e=a>c?"left":a<c?"right":e;"left"==e&&g.leftSide?g=g.leftSide:"right"==e&&g.rightSide&&(g=g.rightSide);return{left:a<c?g.right:g.left,right:a>c?g.left:g.right,top:g.top,bottom:g.bottom}}function ic(a,b){for(var c=a.display.measureLineCache,d=0;d<c.length;++d){var e=c[d];if(e.text==b.text&&e.markedSpans==b.markedSpans&&a.display.scroller.clientWidth==e.width&&e.classes==b.textClass+"|"+b.bgClass+"|"+b.wrapClass)return e}}function ge(a, b){var c=ic(a,b);c&&(c.text=c.measure=c.markedSpans=null)}function hc(a,b){var c=ic(a,b);if(c)return c.measure;var c=he(a,b),d=a.display.measureLineCache,e={text:b.text,width:a.display.scroller.clientWidth,markedSpans:b.markedSpans,measure:c,classes:b.textClass+"|"+b.bgClass+"|"+b.wrapClass};16==d.length?d[++a.display.measureLineCachePos%16]=e:d.push(e);return c}function he(a,b){function c(a){var b=a.top-pb.top,c=a.bottom-pb.top;c>r&&(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<b)&&(e<=b&&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&&100<g.childNodes.length){for(var h=document.createDocumentFragment(),k=g.childNodes.length,l=0,n=Math.ceil(k/10);l<n;++l){for(var E=p("div", null,null,"display: inline-block"),q=0;10>q&&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;l<f.length;++l)if(e=f[l])g=e,k=null,/\bCodeMirror-widget\b/.test(e.className)&&e.getClientRects&&(1==e.firstChild.nodeType&&(g=e.firstChild),n=g.getClientRects(),1<n.length&&(k=h[l]=c(n[0]),k.rightSide=c(n[n.length-1]))),k||(k=h[l]=c(y(g))),e.measureRight&&(k.right= y(e.measureRight).left),e.leftSide&&(k.leftSide=c(y(e.leftSide)));Ma(a.display.measure);for(l=0;l<h.length;++l)if(e=h[l])d(e),e.leftSide&&d(e.leftSide),e.rightSide&&d(e.rightSide);return h}function ta(a){a.display.measureLineCache.length=a.display.measureLineCachePos=0;a.display.cachedCharWidth=a.display.cachedTextHeight=null;a.options.lineWrapping||(a.display.maxLineChanged=!0);a.display.lineNumChars=null}function jc(a,b,c,d){if(b.widgets)for(var e=0;e<b.widgets.length;++e)if(b.widgets[e].above){var f= tb(b.widgets[e]);c.top+=f;c.bottom+=f}if("line"==d)return c;d||(d="local");b=Qa(a,b);b="local"==d?b+a.display.lineSpace.offsetTop:b-a.display.viewOffset;if("page"==d||"window"==d)a=y(a.display.lineSpace),b+=a.top+("window"==d?0:window.pageYOffset||(document.documentElement||document.body).scrollTop),d=a.left+("window"==d?0:window.pageXOffset||(document.documentElement||document.body).scrollLeft),c.left+=d,c.right+=d;c.top+=b;c.bottom+=b;return c}function ad(a,b,c){if("div"==c)return b;var d=b.left; b=b.top;"page"==c?(d-=window.pageXOffset||(document.documentElement||document.body).scrollLeft,b-=window.pageYOffset||(document.documentElement||document.body).scrollTop):"local"!=c&&c||(c=y(a.display.sizer),d+=c.left,b+=c.top);a=y(a.display.lineSpace);return{left:d-a.left,top:b-a.top}}function rb(a,b,c,d,e){d||(d=u(a.doc,b.line));return jc(a,d,gc(a,d,b.ch,null,e),c)}function U(a,b,c,d,e){function f(b,f){var g=gc(a,d,b,e,f?"right":"left");f?g.left=g.right:g.right=g.left;return jc(a,d,g,c)}function g(a, b){var c=h[b],d=c.level%2;a==kc(c)&&b&&c.level<h[b-1].level?(c=h[--b],a=lc(c)-(c.level%2?0:1),d=!0):a==lc(c)&&b<h.length-1&&c.level<h[b+1].level&&(c=h[++b],a=kc(c)-c.level%2,d=!1);return d&&a==c.to&&a>c.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&&0<e.xRel))e=g.to.line;else return e}}function ie(a,b,c,d,e){function f(d){d=U(a,r(c,d),"line",b,l);h=!0;if(g>d.bottom)return d.left-k;if(g<d.top)return d.left+k;h=!1;return d.left}var g=e-Qa(a,b),h=!1,k=2*a.display.wrapper.clientWidth,l=hc(a,b),n=V(b),E=b.text.length;e=vb(b);var q=wb(b),m=f(e), p=h,s=f(q),u=h;if(d>s)return ub(c,q,u,1);for(;;){if(n?q==e||q==oc(b,e,1):1>=q-e){n=d<m||d-m<=s-d?e:q;for(d-=n==e?m:s;pc.test(b.text.charAt(n));)++n;return ub(c,n,n==e?p:u,0>d?-1:d?1:0)}var C=Math.ceil(E/2),t=e+C;if(n)for(var t=e,v=0;v<C;++v)t=oc(b,t,1);v=f(t);if(v>d){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;3<b&&(a.cachedTextHeight=b);Ma(a.measure);return b||1}function Sc(a){if(null!=a.cachedCharWidth)return a.cachedCharWidth;var b=p("span","x"),c=p("pre",[b]);W(a.measure,c);b=b.offsetWidth;2<b&&(a.cachedCharWidth=b);return b||10}function za(a){a.curOp={changes:[],forceUpdate:!1,updateInput:null,userSelChange:null,textChanged:null,selectionChanged:!1,cursorActivity:!1,updateMaxLine:!1,updateScrollPos:!1,id:++je};xb++|| (da=[])}function Aa(a){var b=a.curOp,c=a.doc,d=a.display;a.curOp=null;b.updateMaxLine&&Zb(a);if(d.maxLineChanged&&!a.options.lineWrapping&&d.maxLine){var e;e=d.maxLine;var f=!1;if(e.markedSpans)for(var g=0;g<e.markedSpans;++g){var h=e.markedSpans[g];!h.collapsed||null!=h.to&&h.to!=e.text.length||(f=!0)}(f=!f&&ic(a,e))?e=gc(a,e,e.text.length,f.measure,"right").right:(e=fc(a,e,null,!0),f=e.appendChild(Sa(a.display.measure)),W(a.display.measure,e),e=y(f).right-y(a.display.lineDiv).left);d.sizer.style.minWidth= Math.max(0,e+3+qa)+"px";d.maxLineChanged=!1;e=Math.max(0,d.sizer.offsetLeft+d.sizer.offsetWidth-d.scroller.clientWidth);e<c.scrollLeft&&!b.updateScrollPos&&Ba(a,Math.min(d.scroller.scrollLeft,e),!0)}var k,l;b.updateScrollPos?k=b.updateScrollPos:b.selectionChanged&&d.scroller.clientHeight&&(k=U(a,c.sel.head),k=yb(a,k.left,k.top,k.left,k.bottom));if(b.changes.length||b.forceUpdate||k&&null!=k.scrollTop)l=ob(a,b.changes,k&&k.scrollTop,b.forceUpdate),a.display.scroller.offsetHeight&&(a.doc.scrollTop= a.display.scroller.scrollTop);!l&&b.selectionChanged&&dc(a);if(b.updateScrollPos)d.scroller.scrollTop=d.scrollbarV.scrollTop=c.scrollTop=k.scrollTop,d.scroller.scrollLeft=d.scrollbarH.scrollLeft=c.scrollLeft=k.scrollLeft,Yb(a),b.scrollToPos&&bd(a,s(a.doc,b.scrollToPos),b.scrollToPosMargin);else if(k&&(c=bd(a,a.doc.sel.head,a.options.cursorScrollMargin),a.state.focused&&(d=a.display,k=y(d.sizer),l=null,0>c.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<c.length;++l)c[l].lines.length||J(c[l],"hide");if(d)for(l=0;l<d.length;++l)d[l].lines.length&&J(d[l],"unhide");var n;--xb||(n=da,da=null);b.textChanged&& J(a,"change",a,b.textChanged);b.cursorActivity&&J(a,"cursorActivity",a);if(n)for(l=0;l<n.length;++l)n[l]()}function t(a,b){return function(){var c=a||this,d=!c.curOp;d&&za(c);try{var e=b.apply(c,arguments)}finally{d&&Aa(c)}return e}}function Ta(a){return function(){var b=this.cm&&!this.cm.curOp,c;b&&za(this.cm);try{c=a.apply(this,arguments)}finally{b&&Aa(this.cm)}return c}}function qc(a,b){var c=!a.curOp,d;c&&za(a);try{d=b()}finally{c&&Aa(a)}return d}function D(a,b,c,d){null==b&&(b=a.doc.first);null== c&&(c=a.doc.first+a.doc.size);a.curOp.changes.push({from:b,to:c,diff:d})}function zb(a){a.display.pollingFast||a.display.poll.set(a.options.pollInterval,function(){rc(a);a.state.focused&&zb(a)})}function Ua(a){function b(){rc(a)||c?(a.display.pollingFast=!1,zb(a)):(c=!0,a.display.poll.set(60,b))}var c=!1;a.display.pollingFast=!0;a.display.poll.set(20,b)}function rc(a){var b=a.display.input,c=a.display.prevInput,d=a.doc,e=d.sel;if(!a.state.focused||le(b)||Va(a)||a.state.disableInput)return!1;a.state.pasteIncoming&& a.state.fakedLastChar&&(b.value=b.value.substring(0,b.value.length-1),a.state.fakedLastChar=!1);var f=b.value;if(f==c&&x(e.from,e.to))return!1;if(B&&!Q&&a.display.inputHasSelection===f)return Y(a,!0),!1;var g=!a.curOp;g&&za(a);e.shift=!1;for(var h=0,k=Math.min(c.length,f.length);h<k&&c.charCodeAt(h)==f.charCodeAt(h);)++h;k=e.from;e=e.to;h<c.length?k=r(k.line,k.ch-(c.length-h)):a.state.overwrite&&x(k,e)&&!a.state.pasteIncoming&&(e=r(e.line,Math.min(u(d,e.line).text.length,e.ch+(f.length-h))));c=a.curOp.updateInput; h={from:k,to:e,text:ka(f.slice(h)),origin:a.state.pasteIncoming?"paste":"+input"};Ca(a.doc,h,"end");a.curOp.updateInput=c;M(a,"inputRead",a,h);1E3<f.length||-1<f.indexOf("\n")?b.value=a.display.prevInput="":a.display.prevInput=f;g&&Aa(a);a.state.pasteIncoming=!1;return!0}function Y(a,b){var c,d,e=a.doc;x(e.sel.from,e.sel.to)?b&&(a.display.prevInput=a.display.input.value="",B&&!Q&&(a.display.inputHasSelection=null)):(a.display.prevInput="",d=(c=cd&&(100<e.sel.to.line-e.sel.from.line||1E3<(d=a.getSelection()).length))? "-":d||a.getSelection(),a.display.input.value=d,a.state.focused&&dd(a.display.input),B&&!Q&&(a.display.inputHasSelection=d));a.display.inaccurateSelection=c}function N(a){"nocursor"==a.options.readOnly||Tb&&document.activeElement==a.display.input||a.display.input.focus()}function Va(a){return a.options.readOnly||a.doc.cantEdit}function Ud(a){function b(){a.state.focused&&setTimeout(O(N,a),0)}function c(){null==h&&(h=setTimeout(function(){h=null;g.cachedCharWidth=g.cachedTextHeight=Wa=null;ta(a);qc(a, O(D,a))},100))}function d(){for(var a=g.wrapper.parentNode;a&&a!=document.body;a=a.parentNode);a?setTimeout(d,5E3):aa(window,"resize",c)}function e(b){X(a,b)||a.options.onDragEvent&&a.options.onDragEvent(a,Xa(b))||Ya(b)}function f(){g.inaccurateSelection&&(g.prevInput="",g.inaccurateSelection=!1,g.input.value=a.getSelection(),dd(g.input))}var g=a.display;v(g.scroller,"mousedown",t(a,me));B?v(g.scroller,"dblclick",t(a,function(b){if(!X(a,b)){var c=Za(a,b);!c||ed(a,b)||la(a.display,b)||(A(b),b=sc(u(a.doc, c.line).text,c),F(a.doc,b.from,b.to))}})):v(g.scroller,"dblclick",function(b){X(a,b)||A(b)});v(g.lineSpace,"selectstart",function(a){la(g,a)||A(a)});tc||v(g.scroller,"contextmenu",function(b){fd(a,b)});v(g.scroller,"scroll",function(){g.scroller.clientHeight&&($a(a,g.scroller.scrollTop),Ba(a,g.scroller.scrollLeft,!0),J(a,"scroll",a))});v(g.scrollbarV,"scroll",function(){g.scroller.clientHeight&&$a(a,g.scrollbarV.scrollTop)});v(g.scrollbarH,"scroll",function(){g.scroller.clientHeight&&Ba(a,g.scrollbarH.scrollLeft)}); v(g.scroller,"mousewheel",function(b){gd(a,b)});v(g.scroller,"DOMMouseScroll",function(b){gd(a,b)});v(g.scrollbarH,"mousedown",b);v(g.scrollbarV,"mousedown",b);v(g.wrapper,"scroll",function(){g.wrapper.scrollTop=g.wrapper.scrollLeft=0});var h;v(window,"resize",c);setTimeout(d,5E3);v(g.input,"keyup",t(a,function(b){X(a,b)||a.options.onKeyEvent&&a.options.onKeyEvent(a,Xa(b))||16!=b.keyCode||(a.doc.sel.shift=!1)}));v(g.input,"input",O(Ua,a));v(g.input,"keydown",t(a,hd));v(g.input,"keypress",t(a,ne)); v(g.input,"focus",O(ha,a));v(g.input,"blur",O(Vb,a));a.options.dragDrop&&(v(g.scroller,"dragstart",function(b){var c=a;if(B&&(!c.state.draggingText||100>+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.clientY<w.top?-20:a.clientY>w.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.line<l.from)&&setTimeout(t(e, function(){qb==d&&c(a)}),150)}}function d(a){qb=Infinity;A(a);N(e);aa(document,"mousemove",C);aa(document,"mouseup",D)}if(!X(this,a)){var e=this,f=e.display,g=e.doc,h=g.sel;h.shift=a.shiftKey;if(la(f,a))K||(f.scroller.draggable=!1,setTimeout(function(){f.scroller.draggable=!0},100));else if(!ed(e,a)){var k=Za(e,a);switch(jd(a)){case 3:tc&&fd.call(e,e,a);return;case 2:K&&(e.state.lastMiddleDown=+new Date);k&&F(e.doc,k);setTimeout(O(N,e),20);A(a);return}if(k){e.state.focused||ha(e);var l=+new Date, n="single";Ab&&Ab.time>l-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<a.options.gutters.length;++g){var h=c.gutters.childNodes[g];if(h&&y(h).right>=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;h<e;++h)a(d[h],h)}else if(!b.state.draggingText||z(c,b.doc.sel.from)||z(b.doc.sel.to,c))try{if(f=a.dataTransfer.getData("Text")){var h=b.doc.sel.from,k=b.doc.sel.to;ea(b.doc,c,c);b.state.draggingText&&fa(b.doc,"",h,k,"paste");b.replaceSelection(f,null,"paste");N(b);ha(b)}}catch(l){}else b.state.draggingText(a), setTimeout(O(N,b),20)}}function $a(a,b){2>Math.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)&&-1<this.doc.mode.electricChars.indexOf(c)&&setTimeout(t(b,function(){Eb(b,b.doc.sel.to.line,"smart")}),75),re(b,a,c)||(B&&!Q&&(b.display.inputHasSelection=null),Ua(b)))}}function ha(a){"nocursor"!= a.options.readOnly&&(a.state.focused||(J(a,"focus",a),a.state.focused=!0,-1==a.display.wrapper.className.search(/\bCodeMirror-focused\b/)&&(a.display.wrapper.className+=" CodeMirror-focused"),a.curOp||(Y(a,!0),K&&setTimeout(O(Y,a,!0),0))),zb(a),sb(a))}function Vb(a){a.state.focused&&(J(a,"blur",a),a.state.focused=!1,a.display.wrapper.className=a.display.wrapper.className.replace(" CodeMirror-focused",""));clearInterval(a.display.blinker);setTimeout(function(){a.state.focused||(a.doc.sel.shift=!1)}, 150)}function fd(a,b){function c(){if(null!=e.input.selectionStart){var a=e.input.value=" "+(x(f.from,f.to)?"":e.input.value);e.prevInput=" ";e.input.selectionStart=1;e.input.selectionEnd=a.length}}function d(){e.inputDiv.style.position="relative";e.input.style.cssText=k;Q&&(e.scrollbarV.scrollTop=e.scroller.scrollTop=h);zb(a);if(null!=e.input.selectionStart){B&&!Q||c();clearTimeout(yc);var b=0,d=function(){" "==e.prevInput&&0==e.input.selectionStart?t(a,vc.selectAll)(a):10>b++?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.line<a.first)xd(a,b.text.length-1-(b.to.line-b.from.line)); else if(!(b.from.line>a.lastLine())){if(b.from.line<a.first){var e=b.text.length-1-(a.first-b.from.line);xd(a,e);b={from:r(a.first,0),to:r(b.to.line+e,b.to.ch),text:[L(b.text)],origin:b.origin}}e=a.lastLine();b.to.line>e&&(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.line<b.line||a.line==b.line&&a.ch<b.ch}function ma(a){return r(a.line,a.ch)}function s(a,b){if(b.line< a.first)return r(a.first,0);var c=a.first+a.size-1;return b.line>c?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<a.first+a.size}function F(a,b,c,d){if(a.sel.shift||a.sel.extend){var e=a.sel.anchor;if(c){var f=z(b,e);f!=z(c,e)?(e=b,b=c):f!=z(b,c)&&(b=c)}ea(a,e,b,d)}else ea(a,b,c||b,d);a.cm&&(a.cm.curOp.userSelChange=!0)}function ea(a,b,c,d,e){if(!e&&ba(a,"beforeSelectionChange")|| a.cm&&ba(a.cm,"beforeSelectionChange"))b={anchor:b,head:c},J(a,"beforeSelectionChange",a,b),a.cm&&J(a.cm,"beforeSelectionChange",a.cm,b),b.anchor=s(a,b.anchor),b.head=s(a,b.head),c=b.head,b=b.anchor;var f=a.sel;f.goalColumn=null;if(e||!x(b,f.anchor))b=Gb(a,b,d,"push"!=e);if(e||!x(c,f.head))c=Gb(a,c,d,"push"!=e);x(f.anchor,b)&&x(f.head,c)||(f.anchor=b,f.head=c,d=z(c,b),f.from=d?c:b,f.to=d?b:c,a.cm&&(a.cm.curOp.updateInput=a.cm.curOp.selectionChanged=a.cm.curOp.cursorActivity=!0),M(a,"cursorActivity", a))}function yd(a){ea(a.doc,a.doc.sel.from,a.doc.sel.to,null,"push")}function Gb(a,b,c,d){var e=!1,f=b,g=c||1;a.cantEdit=!1;a:for(;;){var h=u(a,f.line);if(h.markedSpans)for(var k=0;k<h.markedSpans.length;++k){var l=h.markedSpans[k],n=l.marker;if((null==l.from||(n.inclusiveLeft?l.from<=f.ch:l.from<f.ch))&&(null==l.to||(n.inclusiveRight?l.to>=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.line<a.first+a.size-1?r(k.line+1,0):null),!k)){if(e){if(!d)return Gb(a,b,c,!0);a.cantEdit=!0;return r(a.first,0)}e=!0;k=b;g=-g}f=k;continue a}}}return f}}function bd(a,b,c){for(null==c&&(c=0);;){var d=!1,e=U(a,b),f=yb(a,e.left,e.top-c,e.left,e.bottom+c),g=a.doc.scrollTop,h=a.doc.scrollLeft;null!=f.scrollTop&&($a(a,f.scrollTop),1<Math.abs(a.doc.scrollTop-g)&&(d=!0));null!=f.scrollLeft&&(Ba(a,f.scrollLeft),1<Math.abs(a.doc.scrollLeft- h)&&(d=!0));if(!d)return e}}function yb(a,b,c,d,e){var f=a.display,g=sa(a.display);0>c&&(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=c<g,g=e>a-g;c<k?l.scrollTop=n?0:c:e>k+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<f+10;b<c+f||e?(e&&(b=0),l.scrollLeft=Math.max(0,b-10-f)):d> 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||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&&!f(!E))break}}b=Gb(a,r(g,h),b,!0);l||(b.hitSide=!0);return b}function Bd(a,b,c,d){var e=a.doc,f=b.left,g;"page"==d?(d=Math.min(a.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),g=b.top+c*(d-(0> c?1.5:0.5)*sa(a.display))):"line"==d&&(g=0<c?b.bottom+3:b.top-3);for(;;){var h=nc(a,f,g);if(!h.outside)break;if(0>c?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<c&&e(a.charAt(c-1));)--c;for(;d<a.length&&e(a.charAt(d));)++d}return{from:r(b.line,c),to:r(b.line,d)}}function pe(a,b){F(a.doc,r(b,0),s(a.doc, r(b+1,0)))}function w(a,b,c,d){m.defaults[a]=b;c&&(pa[a]=d?function(a,b,d){d!=Qc&&c(a,b,d)}:c)}function wa(a,b){if(!0===b)return b;if(a.copyState)return a.copyState(b);var c={},d;for(d in b){var e=b[d];e instanceof Array&&(e=e.concat([]));c[d]=e}return c}function Zc(a,b,c){return a.startState?a.startState(b,c):!0}function wc(a){return"string"==typeof a?Z[a]:a}function ab(a,b,c){function d(b){b=wc(b);var e=b[a];if(!1===e)return"stop";if(null!=e&&c(e))return!0;if(b.nofallthrough)return"stop";b=b.fallthrough; if(null==b)return!1;if("[object Array]"!=Object.prototype.toString.call(b))return d(b);for(var e=0,f=b.length;e<f;++e){var l=d(b[e]);if(l)return l}return!1}for(var e=0;e<b.length;++e){var f=d(b[e]);if(f)return"stop"!=f}}function od(a){a=na[a.keyCode];return"Ctrl"==a||"Alt"==a||"Shift"==a||"Mod"==a}function pd(a,b){if(S&&34==a.keyCode&&a["char"])return!1;var c=na[a.keyCode];if(null==c||a.altGraphKey)return!1;a.altKey&&(c="Alt-"+c);if(Cd?a.metaKey:a.ctrlKey)c="Ctrl-"+c;if(Cd?a.ctrlKey:a.metaKey)c="Cmd-"+ c;!b&&a.shiftKey&&(c="Shift-"+c);return c}function db(a,b){this.pos=this.start=0;this.string=a;this.tabSize=b||8;this.lastColumnPos=this.lastColumnValue=0}function ga(a,b){this.lines=[];this.type=b;this.doc=a}function eb(a,b,c,d,e){if(d&&d.shared)return ue(a,b,c,d,e);if(a.cm&&!a.cm.curOp)return t(a.cm,eb)(a,b,c,d,e);var f=new ga(a,e);if("range"==e&&!z(b,c))return f;d&&Jb(d,f);f.replacedWith&&(f.collapsed=!0,f.replacedWith=p("span",[f.replacedWith],"CodeMirror-widget"),d.handleMouseEvents||(f.replacedWith.ignoreEvents= !0));f.collapsed&&(Pa=!0);f.addToHistory&&td(a,{from:b,to:c,origin:"markText"},{head:a.sel.head,anchor:a.sel.anchor},NaN);var g=b.line,h=0,k,l,n=a.cm,E;a.iter(g,c.line+1,function(d){n&&f.collapsed&&!n.options.lineWrapping&&$(a,d)==n.display.maxLine&&(E=!0);var e={from:null,to:null,marker:f};h+=d.text.length;g==b.line&&(e.from=b.ch,h-=b.ch);g==c.line&&(e.to=c.ch,h-=d.text.length-c.ch);f.collapsed&&(g==c.line&&(l=ua(d,c.ch)),g==b.line?k=ua(d,b.ch):R(d,0));d.markedSpans=d.markedSpans?d.markedSpans.concat([e]): [e];e.marker.attachLine(d);++g});f.collapsed&&a.iter(b.line,c.line+1,function(b){ia(a,b)&&R(b,0)});f.clearOnEnter&&v(f,"beforeCursorEnter",function(){f.clear()});f.readOnly&&(sd=!0,(a.history.done.length||a.history.undone.length)&&a.clearHistory());if(f.collapsed){if(k!=l)throw Error("Inserting collapsed marker overlapping an existing one");f.size=h;f.atomic=!0}n&&(E&&(n.curOp.updateMaxLine=!0),(f.className||f.title||f.startStyle||f.endStyle||f.collapsed)&&D(n,b.line,c.line+1),f.atomic&&yd(n));return f} function fb(a,b){this.markers=a;this.primary=b;for(var c=0,d=this;c<a.length;++c)a[c].parent=this,v(a[c],"clear",function(){d.clear()})}function ue(a,b,c,d,e){d=Jb(d);d.shared=!1;var f=[eb(a,b,c,d,e)],g=f[0],h=d.replacedWith;Ea(a,function(a){h&&(d.replacedWith=h.cloneNode(!0));f.push(eb(a,s(a,b),s(a,c),d,e));for(var l=0;l<a.linked.length;++l)if(a.linked[l].isParent)return;g=L(f)});return new fb(f,g)}function gb(a,b){if(a)for(var c=0;c<a.length;++c){var d=a[c];if(d.marker==b)return d}}function Cc(a, b){var c=Fa(a,b.from.line)&&u(a,b.from.line).markedSpans,d=Fa(a,b.to.line)&&u(a,b.to.line).markedSpans;if(!c&&!d)return null;var e=b.from.ch,f=b.to.ch,g=x(b.from,b.to);if(c)for(var h=0,k;h<c.length;++h){var l=c[h],n=l.marker;if(null==l.from||(n.inclusiveLeft?l.from<=e:l.from<e)||"bookmark"==n.type&&!(l.from!=e||g&&l.marker.insertLeft)){var E=null==l.to||(n.inclusiveRight?l.to>=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<d.length;++h)if(k=d[h],l=k.marker, null==k.to||(l.inclusiveRight?k.to>=f:k.to>f)||"bookmark"==l.type&&k.from==f&&(!g||k.marker.insertLeft))n=null==k.from||(l.inclusiveLeft?k.from<=f:k.from<f),(m||(m=[])).push({from:n?null:k.from-f,to:null==k.to?null:k.to-f,marker:l});d=m;g=1==b.text.length;m=L(b.text).length+(g?e:0);if(c)for(f=0;f<c.length;++f)if(h=c[f],null==h.to)(k=gb(d,h.marker),k)?g&&(h.to=null==k.to?null:k.to+m):h.to=e;if(d)for(f=0;f<d.length;++f)h=d[f],null!=h.to&&(h.to+=m),null==h.from?(k=gb(c,h.marker),k||(h.from=m,g&&(c|| (c=[])).push(h))):(h.from+=m,g&&(c||(c=[])).push(h));if(g&&c){for(f=0;f<c.length;++f)null!=c[f].from&&c[f].from==c[f].to&&"bookmark"!=c[f].marker.type&&c.splice(f--,1);c.length||(c=null)}e=[c];if(!g){var g=b.text.length-2,p;if(0<g&&c)for(f=0;f<c.length;++f)null==c[f].to&&(p||(p=[])).push({from:null,to:null,marker:c[f].marker});for(f=0;f<g;++f)e.push(p);e.push(d)}return e}function wd(a,b){var c;if(c=b["spans_"+a.id]){for(var d=0,e=[];d<b.text.length;++d)e.push(ve(c[d]));c=e}else c=null;d=Cc(a,b);if(!c)return d; if(!d)return c;for(e=0;e<c.length;++e){var f=c[e],g=d[e];if(f&&g){var h=0;a:for(;h<g.length;++h){for(var k=g[h],l=0;l<f.length;++l)if(f[l].marker==k.marker)continue a;f.push(k)}}else g&&(c[e]=g)}return c}function se(a,b,c){var d=null;a.iter(b.line,c.line+1,function(a){if(a.markedSpans)for(var b=0;b<a.markedSpans.length;++b){var c=a.markedSpans[b].marker;!c.readOnly||d&&-1!=ca(d,c)||(d||(d=[])).push(c)}});if(!d)return null;a=[{from:b,to:c}];for(b=0;b<d.length;++b){c=d[b];for(var e=c.find(),f=0;f<a.length;++f){var g= a[f];if(!z(g.to,e.from)&&!z(e.to,g.from)){var h=[f,1];(z(g.from,e.from)||!c.inclusiveLeft&&x(g.from,e.from))&&h.push({from:g.from,to:e.from});(z(e.to,g.to)||!c.inclusiveRight&&x(g.to,e.to))&&h.push({from:e.to,to:g.to});a.splice.apply(a,h);f+=h.length-1}}}return a}function ua(a,b){var c=Pa&&a.markedSpans,d;if(c)for(var e,f=0;f<c.length;++f)e=c[f],e.marker.collapsed&&(null==e.from||e.from<b)&&(null==e.to||e.to>b)&&(!d||d.width<e.marker.width)&&(d=e.marker);return d}function nb(a){return ua(a,a.text.length+ 1)}function $(a,b){for(var c;c=ua(b,-1);)b=u(a,c.find().from.line);return b}function ia(a,b){var c=Pa&&b.markedSpans;if(c)for(var d,e=0;e<c.length;++e)if(d=c[e],d.marker.collapsed&&(null==d.from||!d.marker.replacedWith&&0==d.from&&d.marker.inclusiveLeft&&Ic(a,b,d)))return!0}function Ic(a,b,c){if(null==c.to)return b=c.marker.find().to,b=u(a,b.line),Ic(a,b,gb(b.markedSpans,c.marker));if(c.marker.inclusiveRight&&c.to==b.text.length)return!0;for(var d,e=0;e<b.markedSpans.length;++e)if(d=b.markedSpans[e], d.marker.collapsed&&!d.marker.replacedWith&&d.from==c.to&&(d.marker.inclusiveLeft||c.marker.inclusiveRight)&&Ic(a,b,d))return!0}function Dd(a){var b=a.markedSpans;if(b){for(var c=0;c<b.length;++c)b[c].marker.detachLine(a);a.markedSpans=null}}function Ed(a,b){if(b){for(var c=0;c<b.length;++c)b[c].marker.attachLine(a);a.markedSpans=b}}function Fd(a){return function(){var b=!this.cm.curOp;b&&za(this.cm);try{var c=a.apply(this,arguments)}finally{b&&Aa(this.cm)}return c}}function tb(a){if(null!=a.height)return a.height; a.node.parentNode&&1==a.node.parentNode.nodeType||W(a.cm.display.measure,p("div",[a.node],null,"position: relative"));return a.height=a.node.offsetHeight}function we(a,b,c,d){var e=new Kb(a,c,d);e.noHScroll&&(a.display.alignWidgets=!0);Ib(a,b,function(b){var c=b.widgets||(b.widgets=[]);null==e.insertAt?c.push(e):c.splice(Math.min(c.length-1,Math.max(0,e.insertAt)),0,e);e.line=b;if(!ia(a.doc,b)||e.showIfHidden)c=Qa(a,b)<a.doc.scrollTop,R(b,b.height+tb(e)),c&&Gc(a,0,e.height);return!0});return e}function Gd(a, b,c,d,e){var f=c.flattenSpans;null==f&&(f=a.options.flattenSpans);var g=0,h=null,k=new db(b,a.options.tabSize),l;for(""==b&&c.blankLine&&c.blankLine(d);!k.eol();)k.pos>a.options.maxHighlightLength?(f=!1,k.pos=Math.min(b.length,k.start+5E4),l=null):l=c.token(k,d),f&&h==l||(g<k.start&&e(k.start,h),g=k.start,h=l),k.start=k.pos;g<k.pos&&e(k.pos,h)}function Xc(a,b,c){var d=[a.state.modeGen];Gd(a,b.text,a.doc.mode,c,function(a,b){d.push(a,b)});for(c=0;c<a.state.overlays.length;++c){var e=a.state.overlays[c], f=1,g=0;Gd(a,b.text,e.mode,!0,function(a,b){for(var c=f;g<a;){var n=d[f];n>a&&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(;c<f;c+=2)n=d[c+1],d[c+1]=n?n+" "+b:b})}return d}function Hd(a,b){b.styles&&b.styles[0]==a.state.modeGen||(b.styles=Xc(a,b,b.stateAfter=Ra(a,P(b))));return b.styles}function Yc(a,b,c){var d=a.doc.mode,e=new db(b.text,a.options.tabSize);for(""==b.text&&d.blankLine&&d.blankLine(c);!e.eol()&&e.pos<=a.options.maxHighlightLength;)d.token(e, c),e.start=e.pos}function Id(a){return a?Jd[a]||(Jd[a]="cm-"+a.replace(/ +/g," cm-")):null}function fc(a,b,c,d){for(var e,f=b,g=!0;e=ua(f,-1);)f=u(a.doc,e.find().from.line);d={pre:p("pre"),col:0,pos:0,measure:null,measuredSomething:!1,cm:a,copyWidgets:d};f.textClass&&(d.pre.className=f.textClass);do{f.text&&(g=!1);d.measure=f==b&&c;d.pos=0;d.addToken=d.measure?xe:Kd;(B||K)&&a.getOption("lineWrapping")&&(d.addToken=ye(d.addToken));a:{e=d;var h=Hd(a,f),k=f.markedSpans,l=f.text,n=0;if(k)for(var m=l.length, q=0,r=1,s="",t=void 0,v=0,C=void 0,w=void 0,x=void 0,y=void 0,G=void 0;;){if(v==q){for(var C=w=x=y="",G=null,v=Infinity,z=[],D=0;D<k.length;++D){var A=k[D],F=A.marker;A.from<=q&&(null==A.to||A.to>q)?(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.size<F.size)&&(G=A)):A.from>q&&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<z.length;++D)Ld(e,0,z[D])}if(q>=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;r<h.length;r+=2)e.addToken(e,l.slice(n,n=h[r]),Id(h[r+1]));e=void 0}c&&f==b&&!d.measuredSomething&&(c[0]= d.pre.appendChild(Sa(a.display.measure)),d.measuredSomething=!0);e&&(f=u(a.doc,e.to.line))}while(e);!c||d.measuredSomething||c[0]||(c[0]=d.pre.appendChild(g?p("span","\u00a0"):Sa(a.display.measure)));d.pre.firstChild||ia(a.doc,b)||d.pre.appendChild(document.createTextNode("\u00a0"));var I;c&&B&&(I=V(f))&&(g=I.length-1,I[g].from==I[g].to&&--g,f=I[g],I=I[g-1],f.from+1==f.to&&I&&f.level<I.level&&(c=c[d.pos-1])&&c.parentNode.insertBefore(c.measureRight=Sa(a.display.measure),c.nextSibling));J(a,"renderLine", a,b,d.pre);return d.pre}function Kd(a,b,c,d,e,f){if(b){if(Jc.test(b))for(var g=document.createDocumentFragment(),h=0;;){Jc.lastIndex=h;var k=Jc.exec(b),l=k?k.index-h:b.length-h;l&&(g.appendChild(document.createTextNode(b.slice(h,h+l))),a.col+=l);if(!k)break;h+=l+1;"\t"==k[0]?(k=a.cm.options.tabSize,k-=a.col%k,g.appendChild(p("span",zd(k),"cm-tab")),a.col+=k):(l=p("span","\u2022","cm-invalidchar"),l.title="\\u"+k[0].charCodeAt(0).toString(16),g.appendChild(l),a.col+=1)}else{a.col+=b.length;var g=document.createTextNode(b)}if(c|| d||e||a.measure)return b=c||"",d&&(b+=d),e&&(b+=e),l=p("span",[g],b),f&&(l.title=f),a.pre.appendChild(l);a.pre.appendChild(g)}}function xe(a,b,c,d,e){for(var f=a.cm.options.lineWrapping,g=0;g<b.length;++g){var h=b.charAt(g),k=0==g;"\ud800"<=h&&"\udbff">h&&g<b.length-1?(h=b.slice(g,g+2),++g):g&&f&&Lb(b,g)&&a.pre.appendChild(p("wbr"));var l=a.measure[a.pos],k=a.measure[a.pos]=Kd(a,h,c,k&&d,g==b.length-1&&e);l&&(k.leftSide=l.leftSide||l);B&&f&&" "==h&&g&&!/\s/.test(b.charAt(g-1))&&g<b.length-1&&!/\s/.test(b.charAt(g+ 1))&&(k.style.whiteSpace="normal");a.pos+=h.length}b.length&&(a.measuredSomething=!0)}function ye(a){function b(a){for(var b=" ",e=0;e<a.length-2;++e)b+=e%2?" ":"\u00a0";return b+" "}return function(c,d,e,f,g,h){return a(c,d.replace(/ {3,}/,b),e,f,g,h)}}function Ld(a,b,c,d){if(d=!d&&c.replacedWith)if(a.copyWidgets&&(d=d.cloneNode(!0)),a.pre.appendChild(d),a.measure){if(b)a.measure[a.pos]=d;else{var e=Sa(a.cm.display.measure);if("bookmark"!=c.type||c.insertLeft){if(a.measure[a.pos])return;a.measure[a.pos]= a.pre.insertBefore(e,d)}else a.measure[a.pos]=a.pre.appendChild(e)}a.measuredSomething=!0}a.pos+=b}function Fc(a,b,c,d,e){function f(a,c,d){var f=e;a.text=c;a.stateAfter&&(a.stateAfter=null);a.styles&&(a.styles=null);null!=a.order&&(a.order=null);Dd(a);Ed(a,d);c=f?f(a):1;c!=a.height&&R(a,c);M(a,"change",a,b)}var g=b.from,h=b.to,k=b.text,l=u(a,g.line),n=u(a,h.line),m=L(k),q=c?c[k.length-1]:null,r=h.line-g.line;if(0==g.ch&&0==h.ch&&""==m){for(var p=0,s=k.length-1,t=[];p<s;++p)t.push(new Ga(k[p],c?c[p]: null,e));f(n,n.text,q);r&&a.remove(g.line,r);t.length&&a.insert(g.line,t)}else if(l==n)if(1==k.length)f(l,l.text.slice(0,g.ch)+m+l.text.slice(h.ch),q);else{t=[];p=1;for(s=k.length-1;p<s;++p)t.push(new Ga(k[p],c?c[p]:null,e));t.push(new Ga(m+l.text.slice(h.ch),q,e));f(l,l.text.slice(0,g.ch)+k[0],c?c[0]:null);a.insert(g.line+1,t)}else if(1==k.length)f(l,l.text.slice(0,g.ch)+k[0]+n.text.slice(h.ch),c?c[0]:null),a.remove(g.line+1,r);else{f(l,l.text.slice(0,g.ch)+k[0],c?c[0]:null);f(n,m+n.text.slice(h.ch), q);p=1;s=k.length-1;for(t=[];p<s;++p)t.push(new Ga(k[p],c?c[p]:null,e));1<r&&a.remove(g.line+1,r-1);a.insert(g.line+1,t)}M(a,"change",a,b);ea(a,d.anchor,d.head,null,!0)}function Mb(a){this.lines=a;this.parent=null;for(var b=0,c=a.length,d=0;b<c;++b)a[b].parent=this,d+=a[b].height;this.height=d}function hb(a){this.children=a;for(var b=0,c=0,d=0,e=a.length;d<e;++d){var f=a[d],b=b+f.chunkSize(),c=c+f.height;f.parent=this}this.size=b;this.height=c;this.parent=null}function Ea(a,b,c){function d(a,f,g){if(a.linked)for(var h= 0;h<a.linked.length;++h){var k=a.linked[h];if(k.doc!=f){var l=g&&k.sharedHist;if(!c||l)b(k.doc,l),d(k.doc,a,l)}}}d(a,null,!0)}function Pc(a,b){if(b.cm)throw Error("This document is already in use.");a.doc=b;b.cm=a;Tc(a);Ja(a);a.options.lineWrapping||Zb(a);a.options.mode=b.modeOption;D(a)}function u(a,b){for(b-=a.first;!a.lines;)for(var c=0;;++c){var d=a.children[c],e=d.chunkSize();if(b<e){a=d;break}b-=e}return a.lines[b]}function Ec(a,b,c){var d=[],e=b.line;a.iter(b.line,c.line+1,function(a){a=a.text; e==c.line&&(a=a.slice(0,c.ch));e==b.line&&(a=a.slice(b.ch));d.push(a);++e});return d}function Kc(a,b,c){var d=[];a.iter(b,c,function(a){d.push(a.text)});return d}function R(a,b){for(var c=b-a.height,d=a;d;d=d.parent)d.height+=c}function P(a){if(null==a.parent)return null;var b=a.parent;a=ca(b.lines,a);for(var c=b.parent;c;b=c,c=c.parent)for(var d=0;c.children[d]!=b;++d)a+=c.children[d].chunkSize();return a+b.first}function Oa(a,b){var c=a.first;a:do{for(var d=0,e=a.children.length;d<e;++d){var f= a.children[d],g=f.height;if(b<g){a=f;continue a}b-=g;c+=f.chunkSize()}return c}while(!a.lines);d=0;for(e=a.lines.length;d<e;++d){f=a.lines[d].height;if(b<f)break;b-=f}return c+d}function Qa(a,b){b=$(a.doc,b);for(var c=0,d=b.parent,e=0;e<d.lines.length;++e){var f=d.lines[e];if(f==b)break;else c+=f.height}for(f=d.parent;f;d=f,f=d.parent)for(e=0;e<f.children.length;++e){var g=f.children[e];if(g==d)break;else c+=g.height}return c}function V(a){var b=a.order;null==b&&(b=a.order=ze(a.text));return b}function Nb(a){return{done:[], undone:[],undoDepth:Infinity,lastTime:0,lastOp:null,lastOrigin:null,generation:a||1,maxGeneration:a||1}}function Md(a,b,c,d){var e=b["spans_"+a.id],f=0;a.iter(Math.max(a.first,c),Math.min(a.first+a.size,d),function(c){c.markedSpans&&((e||(e=b["spans_"+a.id]={}))[f]=c.markedSpans);++f})}function Dc(a,b){var c={from:{line:b.from.line,ch:b.from.ch},to:Ac(b),text:Ec(a,b.from,b.to)};Md(a,c,b.from.line,b.to.line+1);Ea(a,function(a){Md(a,c,b.from.line,b.to.line+1)},!0);return c}function td(a,b,c,d){var e= a.history;e.undone.length=0;var f=+new Date,g=L(e.done);if(g&&(e.lastOp==d||e.lastOrigin==b.origin&&b.origin&&("+"==b.origin.charAt(0)&&a.cm&&e.lastTime>f-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<a.length;++b)a[b].marker.explicitlyCleared?c||(c=a.slice(0,b)):c&&c.push(a[b]);return c?c.length?c:null:a}function Ob(a,b){for(var c=0,d=[];c<a.length;++c){var e=a[c],f=e.changes,g=[];d.push({changes:g,anchorBefore:e.anchorBefore,headBefore:e.headBefore,anchorAfter:e.anchorAfter,headAfter:e.headAfter});for(e=0;e<f.length;++e){var h=f[e],k;g.push({from:h.from, to:h.to,text:h.text});if(b)for(var l in h)(k=l.match(/^spans_(\d+)$/))&&-1<ca(b,Number(k[1]))&&(L(g)[l]=h[l],delete h[l])}}return d}function Pb(a,b,c,d){c<a.line?a.line+=d:b<a.line&&(a.line=b,a.ch=0)}function Nd(a,b,c,d){for(var e=0;e<a.length;++e){for(var f=a[e],g=!0,h=0;h<f.changes.length;++h){var k=f.changes[h];f.copied||(k.from=ma(k.from),k.to=ma(k.to));if(c<k.from.line)k.from.line+=d,k.to.line+=d;else if(b<=k.to.line){g=!1;break}}f.copied||(f.anchorBefore=ma(f.anchorBefore),f.headBefore=ma(f.headBefore), f.anchorAfter=ma(f.anchorAfter),f.readAfter=ma(f.headAfter),f.copied=!0);g?(Pb(f.anchorBefore),Pb(f.headBefore),Pb(f.anchorAfter),Pb(f.headAfter)):(a.splice(0,e+1),e=0)}}function ud(a,b){var c=b.from.line,d=b.to.line,e=b.text.length-(d-c)-1;Nd(a.done,c,d,e);Nd(a.undone,c,d,e)}function Ae(){Ya(this)}function Xa(a){a.stop||(a.stop=Ae);return a}function A(a){a.preventDefault?a.preventDefault():a.returnValue=!1}function Od(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}function Ya(a){A(a); Od(a)}function jd(a){var b=a.which;null==b&&(a.button&1?b=1:a.button&2?b=3:a.button&4&&(b=2));va&&a.ctrlKey&&1==b&&(b=3);return b}function v(a,b,c){a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent?a.attachEvent("on"+b,c):(a=a._handlers||(a._handlers={}),(a[b]||(a[b]=[])).push(c))}function aa(a,b,c){if(a.removeEventListener)a.removeEventListener(b,c,!1);else if(a.detachEvent)a.detachEvent("on"+b,c);else if(a=a._handlers&&a._handlers[b])for(b=0;b<a.length;++b)if(a[b]==c){a.splice(b,1);break}} function J(a,b){var c=a._handlers&&a._handlers[b];if(c)for(var d=Array.prototype.slice.call(arguments,2),e=0;e<c.length;++e)c[e].apply(null,d)}function M(a,b){function c(a){return function(){a.apply(null,e)}}var d=a._handlers&&a._handlers[b];if(d){var e=Array.prototype.slice.call(arguments,2);da||(++xb,da=[],setTimeout(Be,0));for(var f=0;f<d.length;++f)da.push(c(d[f]))}}function X(a,b,c){J(a,c||b.type,a,b);return(null!=b.defaultPrevented?b.defaultPrevented:!1==b.returnValue)||b.codemirrorIgnore}function Be(){--xb; var a=da;da=null;for(var b=0;b<a.length;++b)a[b]()}function ba(a,b){var c=a._handlers&&a._handlers[b];return c&&0<c.length}function Ha(a){a.prototype.on=function(a,c){v(this,a,c)};a.prototype.off=function(a,c){aa(this,a,c)}}function Ub(){this.id=null}function xa(a,b,c,d,e){null==b&&(b=a.search(/[^\s\u00a0]/),-1==b&&(b=a.length));d=d||0;for(e=e||0;d<b;++d)"\t"==a.charAt(d)?e+=c-e%c:++e;return e}function zd(a){for(;Qb.length<=a;)Qb.push(L(Qb)+" ");return Qb[a]}function L(a){return a[a.length-1]}function dd(a){if(Ia)a.selectionStart= 0,a.selectionEnd=a.value.length;else try{a.select()}catch(b){}}function ca(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0,d=a.length;c<d;++c)if(a[c]==b)return c;return-1}function Pd(a,b){function c(){}c.prototype=a;var d=new c;b&&Jb(b,d);return d}function Jb(a,b){b||(b={});for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function $c(a){for(var b=[],c=0;c<a;++c)b.push(void 0);return b}function O(a){var b=Array.prototype.slice.call(arguments,1);return function(){return a.apply(null,b)}}function cb(a){return/\w/.test(a)|| "\u0080"<a&&(a.toUpperCase()!=a.toLowerCase()||Ce.test(a))}function Qd(a){for(var b in a)if(a.hasOwnProperty(b)&&a[b])return!1;return!0}function p(a,b,c,d){a=document.createElement(a);c&&(a.className=c);d&&(a.style.cssText=d);if("string"==typeof b)Wc(a,b);else if(b)for(c=0;c<b.length;++c)a.appendChild(b[c]);return a}function Ma(a){for(var b=a.childNodes.length;0<b;--b)a.removeChild(a.firstChild);return a}function W(a,b){return Ma(a).appendChild(b)}function Wc(a,b){Q?(a.innerHTML="",a.appendChild(document.createTextNode(b))): a.textContent=b}function y(a){return a.getBoundingClientRect()}function Lb(){return!1}function Na(a){if(null!=Wa)return Wa;var b=p("div",null,null,"width: 50px; height: 50px; overflow-x: scroll");W(a,b);b.offsetWidth&&(Wa=b.offsetHeight-b.clientHeight);return Wa||0}function Sa(a){if(null==Lc){var b=p("span","\u200b");W(a,p("span",[b,document.createTextNode("x")]));0!=a.firstChild.offsetHeight&&(Lc=1>=b.offsetWidth&&2<b.offsetHeight&&!ra)}return Lc?p("span","\u200b"):p("span","\u00a0",null,"display: inline-block; width: 1px; margin-right: -1px")} function de(a,b,c,d){if(!a)return d(b,c,"ltr");for(var e=!1,f=0;f<a.length;++f){var g=a[f];if(g.from<c&&g.to>b||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;c<a.length;++c){var e=a[c];if(e.from<b&&e.to>b)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:e<f;if(e)return ya=d,c;ya=c;return d}}ya=null;return d}function Mc(a,b,c,d){if(!d)return b+c;do b+=c;while(0<b&&pc.test(a.text.charAt(b)));return b}function oc(a,b,c,d){var e= V(a);if(!e)return Ad(a,b,c,d);var f=mc(e,b),g=e[f];for(b=Mc(a,b,g.level%2?-c:c,d);;){if(b>g.from&&b<g.to)return b;if(b==g.from||b==g.to){if(mc(e,b)==f)return b;g=e[f+c];return 0<c==g.level%2?g.to:g.from}g=e[f+=c];if(!g)return null;b=0<c==g.level%2?Mc(a,g.to,-1,d):Mc(a,g.from,1,d)}}function Ad(a,b,c,d){b+=c;if(d)for(;0<b&&pc.test(a.text.charAt(b));)b+=c;return 0>b||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<b.length;++c)if(b[c]==a||"string"!=typeof b[c]&&b[c].name==a)return b.splice(c,1),!0},addOverlay:t(null,function(a,b){var c=a.token?a:m.getMode(this.options,a);if(c.startState)throw Error("Overlays may not be stateful.");this.state.overlays.push({mode:c,modeSpec:a,opaque:b&&b.opaque});this.state.modeGen++;D(this)}),removeOverlay:t(null,function(a){for(var b=this.state.overlays,c=0;c<b.length;++c){var d=b[c].modeSpec;if(d==a||"string"==typeof a&&d.name==a){b.splice(c,1);this.state.modeGen++; D(this);break}}}),indentLine:t(null,function(a,b,c){"string"!=typeof b&&"number"!=typeof b&&(b=null==b?this.options.smartIndent?"smart":"prev":b?"add":"subtract");Fa(this.doc,a)&&Eb(this,a,b,c)}),indentSelection:t(null,function(a){var b=this.doc.sel;if(x(b.from,b.to))return Eb(this,b.from.line,a);for(var c=b.to.line-(b.to.ch?0:1),b=b.from.line;b<=c;++b)Eb(this,b,a)}),getTokenAt:function(a,b){var c=this.doc;a=s(c,a);for(var d=Ra(this,a.line,b),e=this.doc.mode,c=u(c,a.line),c=new db(c.text,this.options.tabSize);c.pos< a.ch&&!c.eol();){c.start=c.pos;var f=e.token(c,d)}return{start:c.start,end:c.pos,string:c.current(),className:f||null,type:f||null,state:d}},getTokenTypeAt:function(a){a=s(this.doc,a);var b=Hd(this,u(this.doc,a.line)),c=0,d=(b.length-1)/2;a=a.ch;if(0==a)return b[2];for(;;){var e=c+d>>1;if((e?b[2*e-1]:0)>=a)d=e;else if(b[2*e+1]<a)c=e+1;else return b[2*e+2]}},getModeAt:function(a){var b=this.doc.mode;return b.innerMode?m.innerMode(b,this.getTokenAt(a).state).mode:b},getHelper:function(a,b){if(ib.hasOwnProperty(b)){var c= ib[b],d=this.getModeAt(a);return d[b]&&c[d[b]]||d.helperType&&c[d.helperType]||c[d.name]}},getStateAfter:function(a,b){var c=this.doc;a=Math.max(c.first,Math.min(null==a?c.first+c.size-1:a,c.first+c.size-1));return Ra(this,a+1,b)},cursorCoords:function(a,b){var c;c=this.doc.sel;c=null==a?c.head:"object"==typeof a?s(this.doc,a):a?c.from:c.to;return U(this,c,b||"page")},charCoords:function(a,b){return rb(this,s(this.doc,a),b||"page")},coordsChar:function(a,b){a=ad(this,a,b||"page");return nc(this,a.left, a.top)},lineAtHeight:function(a,b){a=ad(this,{top:a,left:0},b||"page").top;return Oa(this.doc,a+this.display.viewOffset)},heightAtLine:function(a,b){var c=!1,d=this.doc.first+this.doc.size-1;a<this.doc.first?a=this.doc.first:a>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);f<b&&(a=Hc(this.doc,a,e,c,d),!a.hitSide);++f);return a},moveH:t(null,function(a,b){var c=this.doc.sel,c=c.shift||c.extend||x(c.from,c.to)?Hc(this.doc,c.head,a,b,this.options.rtlMoveVisually): 0>a?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<b&&(a=U(this,a,"div"),null==d?d=a.left:a.left=d,a=Bd(this,a,e,c),!a.hitSide);++f);return a},moveV:t(null,function(a,b){var c=this.doc.sel,d=U(this,c.head,"div");null!=c.goalColumn&&(d.left=c.goalColumn); var e=Bd(this,d,a,b);"page"==b&&Gc(this,0,rb(this,e,"div").top-d.top);F(this.doc,e,e,a);c.goalColumn=d.left}),toggleOverwrite:function(a){if(null==a||a!=this.state.overwrite)(this.state.overwrite=!this.state.overwrite)?this.display.cursor.className+=" CodeMirror-overwrite":this.display.cursor.className=this.display.cursor.className.replace(" CodeMirror-overwrite","")},hasFocus:function(){return this.state.focused},scrollTo:t(null,function(a,b){Hb(this,a,b)}),getScrollInfo:function(){var a=this.display.scroller, b=qa;return{left:a.scrollLeft,top:a.scrollTop,height:a.scrollHeight-b,width:a.scrollWidth-b,clientHeight:a.clientHeight-b,clientWidth:a.clientWidth-b}},scrollIntoView:t(null,function(a,b){"number"==typeof a&&(a=r(a,0));b||(b=0);var c=a;a&&null==a.line||(this.curOp.scrollToPos=a?s(this.doc,a):this.doc.sel.head,this.curOp.scrollToPosMargin=b,c=U(this,this.curOp.scrollToPos));c=yb(this,c.left,c.top-b,c.right,c.bottom+b);Hb(this,c.scrollLeft,c.scrollTop)}),setSize:t(null,function(a,b){function c(a){return"number"== typeof a||/^\d+$/.test(String(a))?a+"px":a}null!=a&&(this.display.wrapper.style.width=c(a));null!=b&&(this.display.wrapper.style.height=c(b));this.options.lineWrapping&&(this.display.measureLineCache.length=this.display.measureLineCachePos=0);this.curOp.forceUpdate=!0}),operation:function(a){return qc(this,a)},refresh:t(null,function(){ta(this);Hb(this,this.doc.scrollLeft,this.doc.scrollTop);D(this)}),swapDoc:t(null,function(a){var b=this.doc;b.cm=null;Pc(this,a);ta(this);Y(this,!0);Hb(this,a.scrollLeft, a.scrollTop);return b}),getInputField:function(){return this.display.input},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}};Ha(m);var pa=m.optionHandlers={},Rb=m.defaults={},Qc=m.Init={toString:function(){return"CodeMirror.Init"}};w("value","",function(a,b){a.setValue(b)},!0);w("mode",null,function(a,b){a.doc.modeOption=b;Ja(a)},!0);w("indentUnit",2,Ja,!0);w("indentWithTabs", !1);w("smartIndent",!0);w("tabSize",4,function(a){Ja(a);ta(a);D(a)},!0);w("electricChars",!0);w("rtlMoveVisually",!Ge);w("theme","default",function(a){Oc(a);La(a)},!0);w("keyMap","default",Uc);w("extraKeys",null);w("onKeyEvent",null);w("onDragEvent",null);w("lineWrapping",!1,function(a){a.options.lineWrapping?(a.display.wrapper.className+=" CodeMirror-wrap",a.display.sizer.style.minWidth=""):(a.display.wrapper.className=a.display.wrapper.className.replace(" CodeMirror-wrap",""),Zb(a));Tc(a);D(a); ta(a);setTimeout(function(){$b(a)},100)},!0);w("gutters",[],function(a){Sb(a.options);La(a)},!0);w("fixedGutter",!0,function(a,b){a.display.gutters.style.left=b?bc(a.display)+"px":"0";a.refresh()},!0);w("coverGutterNextToScrollbar",!1,$b,!0);w("lineNumbers",!1,function(a){Sb(a.options);La(a)},!0);w("firstLineNumber",1,La,!0);w("lineNumberFormatter",function(a){return a},La,!0);w("showCursorWhenSelecting",!1,dc,!0);w("readOnly",!1,function(a,b){"nocursor"==b?(Vb(a),a.display.input.blur()):b||Y(a,!0)}); w("dragDrop",!0);w("cursorBlinkRate",530);w("cursorScrollMargin",0);w("cursorHeight",1);w("workTime",100);w("workDelay",100);w("flattenSpans",!0);w("pollInterval",100);w("undoDepth",40,function(a,b){a.doc.history.undoDepth=b});w("historyEventDelay",500);w("viewportMargin",10,function(a){a.refresh()},!0);w("maxHighlightLength",1E4,function(a){Ja(a);a.refresh()},!0);w("moveInputWithCursor",!0,function(a,b){b||(a.display.inputDiv.style.top=a.display.inputDiv.style.left=0)});w("tabindex",null,function(a, b){a.display.input.tabIndex=b||""});w("autofocus",null);var Sd=m.modes={},jb=m.mimeModes={};m.defineMode=function(a,b){m.defaults.mode||"null"==a||(m.defaults.mode=a);if(2<arguments.length){b.dependencies=[];for(var c=2;c<arguments.length;++c)b.dependencies.push(arguments[c])}Sd[a]=b};m.defineMIME=function(a,b){jb[a]=b};m.resolveMode=function(a){if("string"==typeof a&&jb.hasOwnProperty(a))a=jb[a];else if(a&&"string"==typeof a.name&&jb.hasOwnProperty(a.name)){var b=jb[a.name];a=Pd(b,a);a.name=b.name}else if("string"== typeof a&&/^[\w\-]+\/[\w\-]+\+xml$/.test(a))return m.resolveMode("application/xml");return"string"==typeof a?{name:a}:a||{name:"null"}};m.getMode=function(a,b){b=m.resolveMode(b);var c=Sd[b.name];if(!c)return m.getMode(a,"text/plain");c=c(a,b);if(kb.hasOwnProperty(b.name)){var d=kb[b.name],e;for(e in d)d.hasOwnProperty(e)&&(c.hasOwnProperty(e)&&(c["_"+e]=c[e]),c[e]=d[e])}c.name=b.name;return c};m.defineMode("null",function(){return{token:function(a){a.skipToEnd()}}});m.defineMIME("text/plain","null"); var kb=m.modeExtensions={};m.extendMode=function(a,b){var c=kb.hasOwnProperty(a)?kb[a]:kb[a]={};Jb(b,c)};m.defineExtension=function(a,b){m.prototype[a]=b};m.defineDocExtension=function(a,b){I.prototype[a]=b};m.defineOption=w;var Wb=[];m.defineInitHook=function(a){Wb.push(a)};var ib=m.helpers={};m.registerHelper=function(a,b,c){ib.hasOwnProperty(a)||(ib[a]=m[a]={});ib[a][b]=c};m.isWordChar=cb;m.copyState=wa;m.startState=Zc;m.innerMode=function(a,b){for(;a.innerMode;){var c=a.innerMode(b);if(!c||c.mode== a)break;b=c.state;a=c.mode}return c||{mode:a,state:b}};var vc=m.commands={selectAll:function(a){a.setSelection(r(a.firstLine(),0),r(a.lastLine()))},killLine:function(a){var b=a.getCursor(!0),c=a.getCursor(!1),d=!x(b,c);d||a.getLine(b.line).length!=b.ch?a.replaceRange("",b,d?c:r(b.line),"+delete"):a.replaceRange("",b,r(b.line+1,0),"+delete")},deleteLine:function(a){var b=a.getCursor().line;a.replaceRange("",r(b,0),r(b),"+delete")},delLineLeft:function(a){var b=a.getCursor();a.replaceRange("",r(b.line, 0),b,"+delete")},undo:function(a){a.undo()},redo:function(a){a.redo()},goDocStart:function(a){a.extendSelection(r(a.firstLine(),0))},goDocEnd:function(a){a.extendSelection(r(a.lastLine()))},goLineStart:function(a){a.extendSelection(Rd(a,a.getCursor().line))},goLineStartSmart:function(a){var b=a.getCursor(),c=Rd(a,b.line),d=a.getLineHandle(c.line),e=V(d);e&&0!=e[0].level?a.extendSelection(c):(d=Math.max(0,d.text.search(/\S/)),a.extendSelection(r(c.line,b.line==c.line&&b.ch<=d&&b.ch?0:d)))},goLineEnd:function(a){a.extendSelection(De(a, a.getCursor().line))},goLineRight:function(a){var b=a.charCoords(a.getCursor(),"div").top+5;a.extendSelection(a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:b},"div"))},goLineLeft:function(a){var b=a.charCoords(a.getCursor(),"div").top+5;a.extendSelection(a.coordsChar({left:0,top:b},"div"))},goLineUp:function(a){a.moveV(-1,"line")},goLineDown:function(a){a.moveV(1,"line")},goPageUp:function(a){a.moveV(-1,"page")},goPageDown:function(a){a.moveV(1,"page")},goCharLeft:function(a){a.moveH(-1, "char")},goCharRight:function(a){a.moveH(1,"char")},goColumnLeft:function(a){a.moveH(-1,"column")},goColumnRight:function(a){a.moveH(1,"column")},goWordLeft:function(a){a.moveH(-1,"word")},goGroupRight:function(a){a.moveH(1,"group")},goGroupLeft:function(a){a.moveH(-1,"group")},goWordRight:function(a){a.moveH(1,"word")},delCharBefore:function(a){a.deleteH(-1,"char")},delCharAfter:function(a){a.deleteH(1,"char")},delWordBefore:function(a){a.deleteH(-1,"word")},delWordAfter:function(a){a.deleteH(1, "word")},delGroupBefore:function(a){a.deleteH(-1,"group")},delGroupAfter:function(a){a.deleteH(1,"group")},indentAuto:function(a){a.indentSelection("smart")},indentMore:function(a){a.indentSelection("add")},indentLess:function(a){a.indentSelection("subtract")},insertTab:function(a){a.replaceSelection("\t","end","+input")},defaultTab:function(a){a.somethingSelected()?a.indentSelection("add"):a.replaceSelection("\t","end","+input")},transposeChars:function(a){var b=a.getCursor(),c=a.getLine(b.line); 0<b.ch&&b.ch<c.length-1&&a.replaceRange(c.charAt(b.ch)+c.charAt(b.ch-1),r(b.line,b.ch-1),r(b.line,b.ch+1))},newlineAndIndent:function(a){t(a,function(){a.replaceSelection("\n","end","+input");a.indentLine(a.getCursor().line,null,!0)})()},toggleOverwrite:function(a){a.toggleOverwrite()}},Z=m.keyMap={};Z.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore", Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite"};Z.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Alt-Up":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Down":"goDocEnd","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext", "Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore",fallthrough:"basic"};Z.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineStart","Cmd-Right":"goLineEnd","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter", "Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delLineLeft",fallthrough:["basic","emacsy"]};Z["default"]=va?Z.macDefault:Z.pcDefault;Z.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp", "Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars"};m.lookupKey=ab;m.isModifierKey=od;m.keyName=pd;m.fromTextArea=function(a,b){function c(){a.value=l.getValue()}b||(b={});b.value=a.value;!b.tabindex&&a.tabindex&&(b.tabindex=a.tabindex);!b.placeholder&&a.placeholder&&(b.placeholder=a.placeholder);if(null==b.autofocus){var d=document.body;try{d=document.activeElement}catch(e){}b.autofocus=d==a||null!= a.getAttribute("autofocus")&&d==document.body}if(a.form&&(v(a.form,"submit",c),!b.leaveSubmitMethodAlone)){var f=a.form,g=f.submit;try{var h=f.submit=function(){c();f.submit=g;f.submit();f.submit=h}}catch(k){}}a.style.display="none";var l=m(function(b){a.parentNode.insertBefore(b,a.nextSibling)},b);l.save=c;l.getTextArea=function(){return a};l.toTextArea=function(){c();a.parentNode.removeChild(l.getWrapperElement());a.style.display="";a.form&&(aa(a.form,"submit",c),"function"==typeof a.form.submit&& (a.form.submit=g))};return l};db.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return 0==this.pos},peek:function(){return this.string.charAt(this.pos)||void 0},next:function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},eat:function(a){var b=this.string.charAt(this.pos);if("string"==typeof a?b==a:b&&(a.test?a.test(b):a(b)))return++this.pos,b},eatWhile:function(a){for(var b=this.pos;this.eat(a););return this.pos>b},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(-1<a)return this.pos=a,!0},backUp:function(a){this.pos-=a},column:function(){this.lastColumnPos<this.start&&(this.lastColumnValue=xa(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start);return this.lastColumnValue},indentation:function(){return xa(this.string, null,this.tabSize)},match:function(a,b,c){if("string"==typeof a){var d=function(a){return c?a.toLowerCase():a},e=this.string.substr(this.pos,a.length);if(d(e)==d(a))return!1!==b&&(this.pos+=a.length),!0}else{if((a=this.string.slice(this.pos).match(a))&&0<a.index)return null;a&&!1!==b&&(this.pos+=a[0].length);return a}},current:function(){return this.string.slice(this.start,this.pos)}};m.StringStream=db;m.TextMarker=ga;Ha(ga);ga.prototype.clear=function(){if(!this.explicitlyCleared){var a=this.doc.cm, b=a&&!a.curOp;b&&za(a);if(ba(this,"clear")){var c=this.find();c&&M(this,"clear",c.from,c.to)}for(var d=c=null,e=0;e<this.lines.length;++e){var f=this.lines[e],g=gb(f.markedSpans,this);null!=g.to&&(d=P(f));for(var h=f,k=f.markedSpans,l=g,n=void 0,m=0;m<k.length;++m)k[m]!=l&&(n||(n=[])).push(k[m]);h.markedSpans=n;null!=g.from?c=P(f):this.collapsed&&!ia(this.doc,f)&&a&&R(f,sa(a.display))}if(a&&this.collapsed&&!a.options.lineWrapping)for(e=0;e<this.lines.length;++e)f=$(a.doc,this.lines[e]),g=mb(a.doc, f),g>a.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<this.lines.length;++c){var d=this.lines[c],e=gb(d.markedSpans,this);if(null!=e.from||null!=e.to)d=P(d),null!=e.from&&(a=r(d,e.from)),null!=e.to&&(b=r(d,e.to))}return"bookmark"==this.type?a:a&&{from:a,to:b}}; ga.prototype.changed=function(){var a=this.find(),b=this.doc.cm;if(a&&b){"bookmark"!=this.type&&(a=a.from);var c=u(this.doc,a.line);ge(b,c);if(a.line>=b.display.showingFrom&&a.line<b.display.showingTo){for(a=b.display.lineDiv.firstChild;a;a=a.nextSibling)if(a.lineObj==c){a.offsetHeight!=c.height&&R(c,a.offsetHeight);break}qc(b,function(){b.curOp.selectionChanged=b.curOp.forceUpdate=b.curOp.updateMaxLine=!0})}}};ga.prototype.attachLine=function(a){if(!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp; b.maybeHiddenMarkers&&-1!=ca(b.maybeHiddenMarkers,this)||(b.maybeUnhiddenMarkers||(b.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(a)};ga.prototype.detachLine=function(a){this.lines.splice(ca(this.lines,a),1);!this.lines.length&&this.doc.cm&&(a=this.doc.cm.curOp,(a.maybeHiddenMarkers||(a.maybeHiddenMarkers=[])).push(this))};m.SharedTextMarker=fb;Ha(fb);fb.prototype.clear=function(){if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var a=0;a<this.markers.length;++a)this.markers[a].clear(); M(this,"clear")}};fb.prototype.find=function(){return this.primary.find()};var Kb=m.LineWidget=function(a,b,c){if(c)for(var d in c)c.hasOwnProperty(d)&&(this[d]=c[d]);this.cm=a;this.node=b};Ha(Kb);Kb.prototype.clear=Fd(function(){var a=this.line.widgets,b=P(this.line);if(null!=b&&a){for(var c=0;c<a.length;++c)a[c]==this&&a.splice(c--,1);a.length||(this.line.widgets=null);a=Qa(this.cm,this.line)<this.cm.doc.scrollTop;R(this.line,Math.max(0,this.line.height-tb(this)));a&&Gc(this.cm,0,-this.height); D(this.cm,b,b+1)}});Kb.prototype.changed=Fd(function(){var a=this.height;this.height=null;if(a=tb(this)-a)R(this.line,this.line.height+a),a=P(this.line),D(this.cm,a,a+1)});var Ga=m.Line=function(a,b,c){this.text=a;Ed(this,b);this.height=c?c(this):1};Ha(Ga);var Jd={},Jc=/[\t\u0000-\u0019\u00ad\u200b\u2028\u2029\uFEFF]/g;Mb.prototype={chunkSize:function(){return this.lines.length},removeInner:function(a,b){for(var c=a,d=a+b;c<d;++c){var e=this.lines[c];this.height-=e.height;var f=e;f.parent=null;Dd(f); M(e,"delete")}this.lines.splice(a,b)},collapse:function(a){a.splice.apply(a,[a.length,0].concat(this.lines))},insertInner:function(a,b,c){this.height+=c;this.lines=this.lines.slice(0,a).concat(b).concat(this.lines.slice(a));a=0;for(c=b.length;a<c;++a)b[a].parent=this},iterN:function(a,b,c){for(b=a+b;a<b;++a)if(c(this.lines[a]))return!0}};hb.prototype={chunkSize:function(){return this.size},removeInner:function(a,b){this.size-=b;for(var c=0;c<this.children.length;++c){var d=this.children[c],e=d.chunkSize(); if(a<e){var f=Math.min(b,e-a),g=d.height;d.removeInner(a,f);this.height-=g-d.height;e==f&&(this.children.splice(c--,1),d.parent=null);if(0==(b-=f))break;a=0}else a-=e}25>this.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<c;++b)this.children[b].collapse(a)},insertInner:function(a,b,c){this.size+=b.length;this.height+=c;for(var d=0,e=this.children.length;d<e;++d){var f=this.children[d],g=f.chunkSize(); if(a<=g){f.insertInner(a,b,c);if(f.lines&&50<f.lines.length){for(;50<f.lines.length;)a=f.lines.splice(f.lines.length-25,25),a=new Mb(a),f.height-=a.height,this.children.splice(d+1,0,a),a.parent=this;this.maybeSpill()}break}a-=g}},maybeSpill:function(){if(!(10>=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.children.length);a.parent.maybeSpill()}},iterN:function(a,b,c){for(var d=0,e=this.children.length;d<e;++d){var f=this.children[d],g=f.chunkSize();if(a<g){g=Math.min(b,g-a);if(f.iterN(a,g,c))return!0;if(0==(b-=g))break;a=0}else a-=g}}};var He=0,I=m.Doc=function(a,b,c){if(!(this instanceof I))return new I(a,b,c);null==c&&(c=0);hb.call(this,[new Mb([new Ga("",null)])]);this.first=c;this.scrollTop=this.scrollLeft=0;this.cantEdit=!1;this.history=Nb(); this.cleanGeneration=1;this.frontier=c;c=r(c,0);this.sel={from:c,to:c,head:c,anchor:c,shift:!1,extend:!1,goalColumn:null};this.id=++He;this.modeOption=b;"string"==typeof a&&(a=ka(a));Fc(this,{from:c,to:c,text:a},null,{head:c,anchor:c})};I.prototype=Pd(hb.prototype,{constructor:I,iter:function(a,b,c){c?this.iterN(a-this.first,b-a,c):this.iterN(this.first,this.first+this.size,a)},insert:function(a,b){for(var c=0,d=0,e=b.length;d<e;++d)c+=b[d].height;this.insertInner(a-this.first,b,c)},remove:function(a, b){this.removeInner(a-this.first,b)},getValue:function(a){var b=Kc(this,this.first,this.first+this.size);return!1===a?b:b.join(a||"\n")},setValue:function(a){var b=r(this.first,0),c=this.first+this.size-1;Ca(this,{from:b,to:r(c,u(this,c).text.length),text:ka(a),origin:"setValue"},{head:b,anchor:b},!0)},replaceRange:function(a,b,c,d){b=s(this,b);c=c?s(this,c):b;fa(this,a,b,c,d)},getRange:function(a,b,c){a=Ec(this,s(this,a),s(this,b));return!1===c?a:a.join(c||"\n")},getLine:function(a){return(a=this.getLineHandle(a))&& a.text},setLine:function(a,b){Fa(this,a)&&fa(this,b,r(a,0),s(this,r(a)))},removeLine:function(a){a?fa(this,"",s(this,r(a-1)),s(this,r(a))):fa(this,"",r(0,0),s(this,r(1,0)))},getLineHandle:function(a){if(Fa(this,a))return u(this,a)},getLineNumber:function(a){return P(a)},getLineHandleVisualStart:function(a){"number"==typeof a&&(a=u(this,a));return $(this,a)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(a){return s(this, a)},getCursor:function(a){var b=this.sel;return ma(null==a||"head"==a?b.head:"anchor"==a?b.anchor:"end"==a||!1===a?b.to:b.from)},somethingSelected:function(){return!x(this.sel.head,this.sel.anchor)},setCursor:Ta(function(a,b,c){a=s(this,"number"==typeof a?r(a,b||0):a);c?F(this,a):ea(this,a,a)}),setSelection:Ta(function(a,b,c){ea(this,s(this,a),s(this,b||a),c)}),extendSelection:Ta(function(a,b,c){F(this,s(this,a),b&&s(this,b),c)}),getSelection:function(a){return this.getRange(this.sel.from,this.sel.to, a)},replaceSelection:function(a,b,c){Ca(this,{from:this.sel.from,to:this.sel.to,text:ka(a),origin:c},b||"around")},undo:Ta(function(){vd(this,"undo")}),redo:Ta(function(){vd(this,"redo")}),setExtending:function(a){this.sel.extend=a},historySize:function(){var a=this.history;return{undo:a.done.length,redo:a.undone.length}},clearHistory:function(){this.history=Nb(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=this.changeGeneration()},changeGeneration:function(){this.history.lastOp= this.history.lastOrigin=null;return this.history.generation},isClean:function(a){return this.history.generation==(a||this.cleanGeneration)},getHistory:function(){return{done:Ob(this.history.done),undone:Ob(this.history.undone)}},setHistory:function(a){var b=this.history=Nb(this.history.maxGeneration);b.done=a.done.slice(0);b.undone=a.undone.slice(0)},markText:function(a,b,c){return eb(this,s(this,a),s(this,b),c,"range")},setBookmark:function(a,b){var c={replacedWith:b&&(null==b.nodeType?b.widget: b),insertLeft:b&&b.insertLeft};a=s(this,a);return eb(this,a,a,c,"bookmark")},findMarksAt:function(a){a=s(this,a);var b=[],c=u(this,a.line).markedSpans;if(c)for(var d=0;d<c.length;++d){var e=c[d];(null==e.from||e.from<=a.ch)&&(null==e.to||e.to>=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;c<b.length;++c)null!=b[c].from&&a.push(b[c].marker)});return a},posFromIndex:function(a){var b,c=this.first;this.iter(function(d){d= d.text.length+1;if(d>a)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.line<this.first||0>a.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.to<c&&(c=a.to);b=new I(Kc(this,b,c),a.mode||this.modeOption,b);a.sharedHist&&(b.history=this.history);(this.linked||(this.linked=[])).push({doc:b,sharedHist:a.sharedHist});b.linked=[{doc:this,isParent:!0,sharedHist:a.sharedHist}];return b},unlinkDoc:function(a){a instanceof m&&(a=a.doc);if(this.linked)for(var b= 0;b<this.linked.length;++b)if(this.linked[b].doc==a){this.linked.splice(b,1);a.unlinkDoc(this);break}if(a.history==this.history){var c=[a.id];Ea(a,function(a){c.push(a.id)},!0);a.history=Nb();a.history.done=Ob(this.history.done,c);a.history.undone=Ob(this.history.undone,c)}},iterLinkedDocs:function(a){Ea(this,a)},getMode:function(){return this.mode},getEditor:function(){return this.cm}});I.prototype.eachLine=I.prototype.iter;var Ie=["iter","insert","remove","copy","getEditor"],lb;for(lb in I.prototype)I.prototype.hasOwnProperty(lb)&& 0>ca(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<b&&45==a.charCodeAt(b-1)){if(/\w/.test(a.charAt(b-2))&&/[^\-?\.]/.test(a.charAt(b)))return!0; if(2<b&&/[\d\.,]/.test(a.charAt(b-2))&&/[\d\.,]/.test(a.charAt(b)))return!1}return/[~!#%&*)=+}\]|\"\.>,:;][({[<]|-[^\-?\.\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<c;++m)n.push(a(b.charCodeAt(m)));for(var m=0,p="L";m<c;++m)q=n[m],"m"==q?n[m]=p:p=q;m=0;for(p="L";m<c;++m)q=n[m],"1"==q&&"r"==p?n[m]="n":f.test(q)&&(p=q,"r"==q&&(n[m]="R"));m=1;for(p=n[0];m<c-1;++m)q=n[m],"+"==q&&"1"==p&&"1"==n[m+1]?n[m]="1":","!=q||p!=n[m+1]||"1"!=p&&"n"!=p||(n[m]=p),p=q;for(m=0;m<c;++m)if(q=n[m],","==q)n[m]="N";else if("%"== q){for(p=m+1;p<c&&"%"==n[p];++p);var r=m&&"!"==n[m-1]||p<c-1&&"1"==n[p]?"1":"N";for(q=m;q<p;++q)n[q]=r;m=p-1}m=0;for(p="L";m<c;++m)q=n[m],"L"==p&&"1"==q?n[m]="L":f.test(q)&&(p=q);for(m=0;m<c;++m)if(e.test(n[m])){for(p=m+1;p<c&&e.test(n[p]);++p);q="L"==(p<c-1?n[p]:"L");r="L"==(m?n[m-1]:"L")||q?"L":"R";for(q=m;q<p;++q)n[q]=r;m=p-1}for(var p=[],s,m=0;m<c;)if(g.test(n[m])){q=m;for(++m;m<c&&g.test(n[m]);++m);p.push({from:q,to:m,level:0})}else{var t=m,r=p.length;for(++m;m<c&&"L"!=n[m];++m);for(q=t;q<m;)if(h.test(n[q])){t< q&&p.splice(r,0,{from:t,to:q,level:1});t=q;for(++q;q<m&&h.test(n[q]);++q);p.splice(r,0,{from:t,to:q,level:2});t=q}else++q;t<m&&p.splice(r,0,{from:t,to:m,level:1})}1==p[0].level&&(s=b.match(/^\s+/))&&(p[0].from=s[0].length,p.unshift({from:0,to:s[0].length,level:0}));1==L(p).level&&(s=b.match(/\s+$/))&&(L(p).to-=s[0].length,p.push({from:c-s[0].length,to:c,level:0}));p[0].level!=L(p).level&&p.push({from:c,to:c,level:p[0].level});return p}}();m.version="3.16.0";return m}(); \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/media/js/configpress.js b/wp-content/plugins/advanced-access-manager/media/js/configpress.js deleted file mode 100644 index 21d6a40..0000000 --- a/wp-content/plugins/advanced-access-manager/media/js/configpress.js +++ /dev/null @@ -1,71 +0,0 @@ -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -jQuery(document).ready(function() { - - /** - * Highlight the specified DOM area - * - * @param {String} selector - * @param {String} status - * - * @returns {void} - * - * @access public - */ - function highlight(selector, status) { - if (status === 'success') { - jQuery(selector).effect("highlight", { - color: '#98CE90' - }, 3000); - } else { - jQuery(selector).effect("highlight", { - color: '#FFAAAA' - }, 3000); - } - } - - var editor = CodeMirror.fromTextArea( - document.getElementById("configpress"), {} - ); - - jQuery('#save_config').bind('click', function(event) { - event.preventDefault(); - jQuery.ajax(aamLocal.ajaxurl, { - type: 'POST', - dataType: 'json', - data: { - action: 'aam', - sub_action: 'saveConfigpress', - config: editor.getValue(), - _ajax_nonce: aamLocal.nonce - }, - success: function(response) { - highlight('#control_panel', response.status); - }, - error: function() { - highlight('#control_panel', 'failure'); - } - }); - }); - - jQuery('#info_screen').bind('click', function(event){ - event.preventDefault(); - jQuery('#configpress_area').hide(); - jQuery('#configpress_info').show(); - jQuery(this).hide(); - jQuery('#configpress_screen').show(); - }); - - jQuery('#configpress_screen').bind('click', function(event){ - event.preventDefault(); - jQuery('#configpress_area').show(); - jQuery('#configpress_info').hide(); - jQuery(this).hide(); - jQuery('#info_screen').show(); - }); -}); \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/media/js/extension.js b/wp-content/plugins/advanced-access-manager/media/js/extension.js deleted file mode 100644 index 68aedc0..0000000 --- a/wp-content/plugins/advanced-access-manager/media/js/extension.js +++ /dev/null @@ -1,223 +0,0 @@ -/** - * ====================================================================== - * LICENSE: This file is subject to the terms and conditions defined in * - * file 'license.txt', which is part of this source code package. * - * ====================================================================== - */ - -jQuery(document).ready(function() { - jQuery('#extension_list').dataTable({ - sDom: "<'top'f<'clear'>>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('<div/>', { - '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('<div/>', { - '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('<li/>').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 deleted file mode 100644 index 02694a4..0000000 --- a/wp-content/plugins/advanced-access-manager/media/js/jquery.dt.js +++ /dev/null @@ -1,155 +0,0 @@ -/* - * 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;b<c;b++)a.aoColumns[b].nTh.style.width=a.aoColumns[b].sWidth}function G(a,b){var c=r(a,"bVisible");return"number"===typeof c[b]?c[b]:null}function R(a,b){var c=r(a,"bVisible"),c=h.inArray(b,c);return-1!==c?c:null}function t(a){return r(a,"bVisible").length} -function r(a,b){var c=[];h.map(a.aoColumns,function(a,i){a[b]&&c.push(i)});return c}function B(a){for(var b=j.ext.aTypes,c=b.length,d=0;d<c;d++){var i=b[d](a);if(null!==i)return i}return"string"}function u(a,b){for(var c=b.split(","),d=[],i=0,f=a.aoColumns.length;i<f;i++)for(var g=0;g<f;g++)if(a.aoColumns[i].sName==c[g]){d.push(g);break}return d}function M(a){for(var b="",c=0,d=a.aoColumns.length;c<d;c++)b+=a.aoColumns[c].sName+",";return b.length==d?"":b.slice(0,-1)}function ta(a,b,c,d){var i,f, -g,e,w;if(b)for(i=b.length-1;0<=i;i--){var j=b[i].aTargets;h.isArray(j)||D(a,1,"aTargets must be an array of targets, not a "+typeof j);f=0;for(g=j.length;f<g;f++)if("number"===typeof j[f]&&0<=j[f]){for(;a.aoColumns.length<=j[f];)o(a);d(j[f],b[i])}else if("number"===typeof j[f]&&0>j[f])d(a.aoColumns.length+j[f],b[i]);else if("string"===typeof j[f]){e=0;for(w=a.aoColumns.length;e<w;e++)("_all"==j[f]||h(a.aoColumns[e].nTh).hasClass(j[f]))&&d(e,b[i])}}if(c){i=0;for(a=c.length;i<a;i++)d(i,c[i])}}function H(a, -b){var c;c=h.isArray(b)?b.slice():h.extend(!0,{},b);var d=a.aoData.length,i=h.extend(!0,{},j.models.oRow);i._aData=c;a.aoData.push(i);for(var f,i=0,g=a.aoColumns.length;i<g;i++)c=a.aoColumns[i],"function"===typeof c.fnRender&&c.bUseRendered&&null!==c.mData?F(a,d,i,S(a,d,i)):F(a,d,i,v(a,d,i)),c._bAutoType&&"string"!=c.sType&&(f=v(a,d,i,"type"),null!==f&&""!==f&&(f=B(f),null===c.sType?c.sType=f:c.sType!=f&&"html"!=c.sType&&(c.sType="string")));a.aiDisplayMaster.push(d);a.oFeatures.bDeferRender||ea(a, -d);return d}function ua(a){var b,c,d,i,f,g,e;if(a.bDeferLoading||null===a.sAjaxSource)for(b=a.nTBody.firstChild;b;){if("TR"==b.nodeName.toUpperCase()){c=a.aoData.length;b._DT_RowIndex=c;a.aoData.push(h.extend(!0,{},j.models.oRow,{nTr:b}));a.aiDisplayMaster.push(c);f=b.firstChild;for(d=0;f;){g=f.nodeName.toUpperCase();if("TD"==g||"TH"==g)F(a,c,d,h.trim(f.innerHTML)),d++;f=f.nextSibling}}b=b.nextSibling}i=T(a);d=[];b=0;for(c=i.length;b<c;b++)for(f=i[b].firstChild;f;)g=f.nodeName.toUpperCase(),("TD"== -g||"TH"==g)&&d.push(f),f=f.nextSibling;c=0;for(i=a.aoColumns.length;c<i;c++){e=a.aoColumns[c];null===e.sTitle&&(e.sTitle=e.nTh.innerHTML);var w=e._bAutoType,o="function"===typeof e.fnRender,k=null!==e.sClass,n=e.bVisible,m,p;if(w||o||k||!n){g=0;for(b=a.aoData.length;g<b;g++)f=a.aoData[g],m=d[g*i+c],w&&"string"!=e.sType&&(p=v(a,g,c,"type"),""!==p&&(p=B(p),null===e.sType?e.sType=p:e.sType!=p&&"html"!=e.sType&&(e.sType="string"))),e.mRender?m.innerHTML=v(a,g,c,"display"):e.mData!==c&&(m.innerHTML=v(a, -g,c,"display")),o&&(p=S(a,g,c),m.innerHTML=p,e.bUseRendered&&F(a,g,c,p)),k&&(m.className+=" "+e.sClass),n?f._anHidden[c]=null:(f._anHidden[c]=m,m.parentNode.removeChild(m)),e.fnCreatedCell&&e.fnCreatedCell.call(a.oInstance,m,v(a,g,c,"display"),f._aData,g,c)}}if(0!==a.aoRowCreatedCallback.length){b=0;for(c=a.aoData.length;b<c;b++)f=a.aoData[b],A(a,"aoRowCreatedCallback",null,[f.nTr,f._aData,b])}}function I(a,b){return b._DT_RowIndex!==n?b._DT_RowIndex:null}function fa(a,b,c){for(var b=J(a,b),d=0,a= -a.aoColumns.length;d<a;d++)if(b[d]===c)return d;return-1}function Y(a,b,c,d){for(var i=[],f=0,g=d.length;f<g;f++)i.push(v(a,b,d[f],c));return i}function v(a,b,c,d){var i=a.aoColumns[c];if((c=i.fnGetData(a.aoData[b]._aData,d))===n)return a.iDrawError!=a.iDraw&&null===i.sDefaultContent&&(D(a,0,"Requested unknown parameter "+("function"==typeof i.mData?"{mData function}":"'"+i.mData+"'")+" from the data source for row "+b),a.iDrawError=a.iDraw),i.sDefaultContent;if(null===c&&null!==i.sDefaultContent)c= -i.sDefaultContent;else if("function"===typeof c)return c();return"display"==d&&null===c?"":c}function F(a,b,c,d){a.aoColumns[c].fnSetData(a.aoData[b]._aData,d)}function Q(a){if(null===a)return function(){return null};if("function"===typeof a)return function(b,d,i){return a(b,d,i)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("["))){var b=function(a,d,i){var f=i.split("."),g;if(""!==i){var e=0;for(g=f.length;e<g;e++){if(i=f[e].match(U)){f[e]=f[e].replace(U,"");""!==f[e]&&(a=a[f[e]]); -g=[];f.splice(0,e+1);for(var f=f.join("."),e=0,h=a.length;e<h;e++)g.push(b(a[e],d,f));a=i[0].substring(1,i[0].length-1);a=""===a?g:g.join(a);break}if(null===a||a[f[e]]===n)return n;a=a[f[e]]}}return a};return function(c,d){return b(c,d,a)}}return function(b){return b[a]}}function L(a){if(null===a)return function(){};if("function"===typeof a)return function(b,d){a(b,"set",d)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("["))){var b=function(a,d,i){var i=i.split("."),f,g,e=0;for(g= -i.length-1;e<g;e++){if(f=i[e].match(U)){i[e]=i[e].replace(U,"");a[i[e]]=[];f=i.slice();f.splice(0,e+1);g=f.join(".");for(var h=0,j=d.length;h<j;h++)f={},b(f,d[h],g),a[i[e]].push(f);return}if(null===a[i[e]]||a[i[e]]===n)a[i[e]]={};a=a[i[e]]}a[i[i.length-1].replace(U,"")]=d};return function(c,d){return b(c,d,a)}}return function(b,d){b[a]=d}}function Z(a){for(var b=[],c=a.aoData.length,d=0;d<c;d++)b.push(a.aoData[d]._aData);return b}function ga(a){a.aoData.splice(0,a.aoData.length);a.aiDisplayMaster.splice(0, -a.aiDisplayMaster.length);a.aiDisplay.splice(0,a.aiDisplay.length);y(a)}function ha(a,b){for(var c=-1,d=0,i=a.length;d<i;d++)a[d]==b?c=d:a[d]>b&&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<f;i++){var g=a.aoColumns[i];d=l.createElement(g.sCellType);d.innerHTML="function"===typeof g.fnRender&&(!g.bUseRendered||null===g.mData)?S(a,b,i):v(a,b,i,"display");null!==g.sClass&&(d.className=g.sClass);g.bVisible?(c.nTr.appendChild(d),c._anHidden[i]=null):c._anHidden[i]=d;g.fnCreatedCell&&g.fnCreatedCell.call(a.oInstance,d,v(a,b,i,"display"),c._aData,b,i)}A(a,"aoRowCreatedCallback",null,[c.nTr,c._aData,b])}}function va(a){var b, -c,d;if(0!==h("th, td",a.nTHead).length){b=0;for(d=a.aoColumns.length;b<d;b++)if(c=a.aoColumns[b].nTh,c.setAttribute("role","columnheader"),a.aoColumns[b].bSortable&&(c.setAttribute("tabindex",a.iTabIndex),c.setAttribute("aria-controls",a.sTableId)),null!==a.aoColumns[b].sClass&&h(c).addClass(a.aoColumns[b].sClass),a.aoColumns[b].sTitle!=c.innerHTML)c.innerHTML=a.aoColumns[b].sTitle}else{var i=l.createElement("tr");b=0;for(d=a.aoColumns.length;b<d;b++)c=a.aoColumns[b].nTh,c.innerHTML=a.aoColumns[b].sTitle, -c.setAttribute("tabindex","0"),null!==a.aoColumns[b].sClass&&h(c).addClass(a.aoColumns[b].sClass),i.appendChild(c);h(a.nTHead).html("")[0].appendChild(i);V(a.aoHeader,a.nTHead)}h(a.nTHead).children("tr").attr("role","row");if(a.bJUI){b=0;for(d=a.aoColumns.length;b<d;b++){c=a.aoColumns[b].nTh;i=l.createElement("div");i.className=a.oClasses.sSortJUIWrapper;h(c).contents().appendTo(i);var f=l.createElement("span");f.className=a.oClasses.sSortIcon;i.appendChild(f);c.appendChild(i)}}if(a.oFeatures.bSort)for(b= -0;b<a.aoColumns.length;b++)!1!==a.aoColumns[b].bSortable?ia(a,a.aoColumns[b].nTh,b):h(a.aoColumns[b].nTh).addClass(a.oClasses.sSortableNone);""!==a.oClasses.sFooterTH&&h(a.nTFoot).children("tr").children("th").addClass(a.oClasses.sFooterTH);if(null!==a.nTFoot){c=N(a,null,a.aoFooter);b=0;for(d=a.aoColumns.length;b<d;b++)c[b]&&(a.aoColumns[b].nTf=c[b],a.aoColumns[b].sClass&&h(c[b]).addClass(a.aoColumns[b].sClass))}}function W(a,b,c){var d,i,f,g=[],e=[],h=a.aoColumns.length,j;c===n&&(c=!1);d=0;for(i= -b.length;d<i;d++){g[d]=b[d].slice();g[d].nTr=b[d].nTr;for(f=h-1;0<=f;f--)!a.aoColumns[f].bVisible&&!c&&g[d].splice(f,1);e.push([])}d=0;for(i=g.length;d<i;d++){if(a=g[d].nTr)for(;f=a.firstChild;)a.removeChild(f);f=0;for(b=g[d].length;f<b;f++)if(j=h=1,e[d][f]===n){a.appendChild(g[d][f].cell);for(e[d][f]=1;g[d+h]!==n&&g[d][f].cell==g[d+h][f].cell;)e[d+h][f]=1,h++;for(;g[d][f+j]!==n&&g[d][f].cell==g[d][f+j].cell;){for(c=0;c<h;c++)e[d+c][f+j]=1;j++}g[d][f].cell.rowSpan=h;g[d][f].cell.colSpan=j}}}function x(a){var b= -A(a,"aoPreDrawCallback","preDraw",[a]);if(-1!==h.inArray(!1,b))E(a,!1);else{var c,d,b=[],i=0,f=a.asStripeClasses.length;c=a.aoOpenRows.length;a.bDrawing=!0;a.iInitDisplayStart!==n&&-1!=a.iInitDisplayStart&&(a._iDisplayStart=a.oFeatures.bServerSide?a.iInitDisplayStart:a.iInitDisplayStart>=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<d;g++){var e=a.aoData[a.aiDisplay[g]];null===e.nTr&&ea(a,a.aiDisplay[g]);var j=e.nTr;if(0!==f){var o=a.asStripeClasses[i%f];e._sRowStripe!=o&&(h(j).removeClass(e._sRowStripe).addClass(o),e._sRowStripe=o)}A(a,"aoRowCallback",null,[j,a.aoData[a.aiDisplay[g]]._aData,i,g]);b.push(j);i++;if(0!==c)for(e=0;e<c;e++)if(j==a.aoOpenRows[e].nParent){b.push(a.aoOpenRows[e].nTr);break}}}else b[0]=l.createElement("tr"),a.asStripeClasses[0]&& -(b[0].className=a.asStripeClasses[0]),c=a.oLanguage,f=c.sZeroRecords,1==a.iDraw&&null!==a.sAjaxSource&&!a.oFeatures.bServerSide?f=c.sLoadingRecords:c.sEmptyTable&&0===a.fnRecordsTotal()&&(f=c.sEmptyTable),c=l.createElement("td"),c.setAttribute("valign","top"),c.colSpan=t(a),c.className=a.oClasses.sRowEmpty,c.innerHTML=ja(a,f),b[i].appendChild(c);A(a,"aoHeaderCallback","header",[h(a.nTHead).children("tr")[0],Z(a),a._iDisplayStart,a.fnDisplayEnd(),a.aiDisplay]);A(a,"aoFooterCallback","footer",[h(a.nTFoot).children("tr")[0], -Z(a),a._iDisplayStart,a.fnDisplayEnd(),a.aiDisplay]);i=l.createDocumentFragment();c=l.createDocumentFragment();if(a.nTBody){f=a.nTBody.parentNode;c.appendChild(a.nTBody);if(!a.oScroll.bInfinite||!a._bInitComplete||a.bSorted||a.bFiltered)for(;c=a.nTBody.firstChild;)a.nTBody.removeChild(c);c=0;for(d=b.length;c<d;c++)i.appendChild(b[c]);a.nTBody.appendChild(i);null!==f&&f.appendChild(a.nTBody)}A(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1;a.oFeatures.bServerSide&&(E(a,!1), -a._bInitComplete||$(a))}}function aa(a){a.oFeatures.bSort?O(a,a.oPreviousSearch):a.oFeatures.bFilter?K(a,a.oPreviousSearch):(y(a),x(a))}function xa(a){var b=h("<div></div>")[0];a.nTable.parentNode.insertBefore(b,a.nTable);a.nTableWrapper=h('<div id="'+a.sTableId+'_wrapper" class="'+a.oClasses.sWrapper+'" role="grid"></div>')[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<d.length;m++){f=0;g=d[m];if("<"==g){e=h("<div></div>")[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<w;k++)if(g==e[k].cFeature){(i=e[k].fnInit(a))&&(f=1);break}}1==f&&null!==i&&("object"!==typeof a.aanFeatures[g]&&(a.aanFeatures[g]=[]),a.aanFeatures[g].push(i),c.appendChild(i))}b.parentNode.replaceChild(a.nTableWrapper,b)}function V(a,b){var c=h(b).children("tr"),d,i,f,g,e,j,o,k,m,p;a.splice(0,a.length); -f=0;for(j=c.length;f<j;f++)a.push([]);f=0;for(j=c.length;f<j;f++){d=c[f];for(i=d.firstChild;i;){if("TD"==i.nodeName.toUpperCase()||"TH"==i.nodeName.toUpperCase()){k=1*i.getAttribute("colspan");m=1*i.getAttribute("rowspan");k=!k||0===k||1===k?1:k;m=!m||0===m||1===m?1:m;g=0;for(e=a[f];e[g];)g++;o=g;p=1===k?!0:!1;for(e=0;e<k;e++)for(g=0;g<m;g++)a[f+g][o+e]={cell:i,unique:p},a[f+g].nTr=d}i=i.nextSibling}}}function N(a,b,c){var d=[];c||(c=a.aoHeader,b&&(c=[],V(c,b)));for(var b=0,i=c.length;b<i;b++)for(var f= -0,g=c[b].length;f<g;f++)if(c[b][f].unique&&(!d[f]||!a.bSortCellsTop))d[f]=c[b][f].cell;return d}function wa(a){if(a.bAjaxDataGet){a.iDraw++;E(a,!0);var b=Ea(a);ka(a,b);a.fnServerData.call(a.oInstance,a.sAjaxSource,b,function(b){Fa(a,b)},a);return!1}return!0}function Ea(a){var b=a.aoColumns.length,c=[],d,i,f,g;c.push({name:"sEcho",value:a.iDraw});c.push({name:"iColumns",value:b});c.push({name:"sColumns",value:M(a)});c.push({name:"iDisplayStart",value:a._iDisplayStart});c.push({name:"iDisplayLength", -value:!1!==a.oFeatures.bPaginate?a._iDisplayLength:-1});for(f=0;f<b;f++)d=a.aoColumns[f].mData,c.push({name:"mDataProp_"+f,value:"function"===typeof d?"function":d});if(!1!==a.oFeatures.bFilter){c.push({name:"sSearch",value:a.oPreviousSearch.sSearch});c.push({name:"bRegex",value:a.oPreviousSearch.bRegex});for(f=0;f<b;f++)c.push({name:"sSearch_"+f,value:a.aoPreSearchCols[f].sSearch}),c.push({name:"bRegex_"+f,value:a.aoPreSearchCols[f].bRegex}),c.push({name:"bSearchable_"+f,value:a.aoColumns[f].bSearchable})}if(!1!== -a.oFeatures.bSort){var e=0;d=null!==a.aaSortingFixed?a.aaSortingFixed.concat(a.aaSorting):a.aaSorting.slice();for(f=0;f<d.length;f++){i=a.aoColumns[d[f][0]].aDataSort;for(g=0;g<i.length;g++)c.push({name:"iSortCol_"+e,value:i[g]}),c.push({name:"sSortDir_"+e,value:d[f][1]}),e++}c.push({name:"iSortingCols",value:e});for(f=0;f<b;f++)c.push({name:"bSortable_"+f,value:a.aoColumns[f].bSortable})}return c}function ka(a,b){A(a,"aoServerParams","serverParams",[b])}function Fa(a,b){if(b.sEcho!==n){if(1*b.sEcho< -a.iDraw)return;a.iDraw=1*b.sEcho}(!a.oScroll.bInfinite||a.oScroll.bInfinite&&(a.bSorted||a.bFiltered))&&ga(a);a._iRecordsTotal=parseInt(b.iTotalRecords,10);a._iRecordsDisplay=parseInt(b.iTotalDisplayRecords,10);var c=M(a),c=b.sColumns!==n&&""!==c&&b.sColumns!=c,d;c&&(d=u(a,b.sColumns));for(var i=Q(a.sAjaxDataProp)(b),f=0,g=i.length;f<g;f++)if(c){for(var e=[],h=0,j=a.aoColumns.length;h<j;h++)e.push(i[f][d[h]]);H(a,e)}else H(a,i[f]);a.aiDisplay=a.aiDisplayMaster.slice();a.bAjaxDataGet=!1;x(a);a.bAjaxDataGet= -!0;E(a,!1)}function za(a){var b=a.oPreviousSearch,c=a.oLanguage.sSearch,c=-1!==c.indexOf("_INPUT_")?c.replace("_INPUT_",'<input type="text" />'):""===c?'<input type="text" />':c+' <input type="text" />',d=l.createElement("div");d.className=a.oClasses.sFilter;d.innerHTML="<label>"+c+"</label>";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<e;g++)c[g]!=h(this).parents("div.dataTables_filter")[0]&&h(c[g]._DT_Input).val(d);d!=b.sSearch&&K(a,{sSearch:d,bRegex:b.bRegex,bSmart:b.bSmart,bCaseInsensitive:b.bCaseInsensitive})});c.attr("aria-controls",a.sTableId).bind("keypress.DT",function(a){if(a.keyCode==13)return false});return d}function K(a,b,c){var d=a.oPreviousSearch,i=a.aoPreSearchCols,f=function(a){d.sSearch=a.sSearch;d.bRegex=a.bRegex;d.bSmart=a.bSmart;d.bCaseInsensitive=a.bCaseInsensitive};if(a.oFeatures.bServerSide)f(b); -else{Ga(a,b.sSearch,c,b.bRegex,b.bSmart,b.bCaseInsensitive);f(b);for(b=0;b<a.aoPreSearchCols.length;b++)Ha(a,i[b].sSearch,b,i[b].bRegex,i[b].bSmart,i[b].bCaseInsensitive);Ia(a)}a.bFiltered=!0;h(a.oInstance).trigger("filter",a);a._iDisplayStart=0;y(a);x(a);la(a,0)}function Ia(a){for(var b=j.ext.afnFiltering,c=r(a,"bSearchable"),d=0,i=b.length;d<i;d++)for(var f=0,g=0,e=a.aiDisplay.length;g<e;g++){var h=a.aiDisplay[g-f];b[d](a,Y(a,h,"filter",c),h)||(a.aiDisplay.splice(g-f,1),f++)}}function Ha(a,b,c, -d,i,f){if(""!==b)for(var g=0,b=ma(b,d,i,f),d=a.aiDisplay.length-1;0<=d;d--)i=Ja(v(a,a.aiDisplay[d],c,"filter"),a.aoColumns[c].sType),b.test(i)||(a.aiDisplay.splice(d,1),g++)}function Ga(a,b,c,d,i,f){d=ma(b,d,i,f);i=a.oPreviousSearch;c||(c=0);0!==j.ext.afnFiltering.length&&(c=1);if(0>=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<a.aiDisplayMaster.length;b++)d.test(a.asDataSearch[b])&&a.aiDisplay.push(a.aiDisplayMaster[b])}else for(b=c=0;b<a.asDataSearch.length;b++)d.test(a.asDataSearch[b])||(a.aiDisplay.splice(b-c,1),c++)}function la(a,b){if(!a.oFeatures.bServerSide){a.asDataSearch=[];for(var c=r(a,"bSearchable"),d=1===b?a.aiDisplayMaster:a.aiDisplay,i=0,f=d.length;i<f;i++)a.asDataSearch[i]=na(a,Y(a,d[i],"filter",c))}}function na(a,b){var c=b.join(" ");-1!==c.indexOf("&")&&(c=h("<div>").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;b++)h(a[b]).html(g)}}function ja(a,b){var c=a.fnFormatNumber(a._iDisplayStart+1),d=a.fnDisplayEnd(),d=a.fnFormatNumber(d),i=a.fnRecordsDisplay(),i=a.fnFormatNumber(i),f=a.fnRecordsTotal(),f=a.fnFormatNumber(f);a.oScroll.bInfinite&&(c=a.fnFormatNumber(1));return b.replace(/_START_/g,c).replace(/_END_/g,d).replace(/_TOTAL_/g,i).replace(/_MAX_/g,f)}function ba(a){var b,c,d=a.iInitDisplayStart; -if(!1===a.bInitialised)setTimeout(function(){ba(a)},200);else{xa(a);va(a);W(a,a.aoHeader);a.nTFoot&&W(a,a.aoFooter);E(a,!0);a.oFeatures.bAutoWidth&&da(a);b=0;for(c=a.aoColumns.length;b<c;b++)null!==a.aoColumns[b].sWidth&&(a.aoColumns[b].nTh.style.width=q(a.aoColumns[b].sWidth));a.oFeatures.bSort?O(a):a.oFeatures.bFilter?K(a,a.oPreviousSearch):(a.aiDisplay=a.aiDisplayMaster.slice(),y(a),x(a));null!==a.sAjaxSource&&!a.oFeatures.bServerSide?(c=[],ka(a,c),a.fnServerData.call(a.oInstance,a.sAjaxSource, -c,function(c){var f=a.sAjaxDataProp!==""?Q(a.sAjaxDataProp)(c):c;for(b=0;b<f.length;b++)H(a,f[b]);a.iInitDisplayStart=d;if(a.oFeatures.bSort)O(a);else{a.aiDisplay=a.aiDisplayMaster.slice();y(a);x(a)}E(a,false);$(a,c)},a)):a.oFeatures.bServerSide||(E(a,!1),$(a))}}function $(a,b){a._bInitComplete=!0;A(a,"aoInitComplete","init",[a,b])}function pa(a){var b=j.defaults.oLanguage;!a.sEmptyTable&&(a.sZeroRecords&&"No data available in table"===b.sEmptyTable)&&p(a,a,"sZeroRecords","sEmptyTable");!a.sLoadingRecords&& -(a.sZeroRecords&&"Loading..."===b.sLoadingRecords)&&p(a,a,"sZeroRecords","sLoadingRecords")}function ya(a){if(a.oScroll.bInfinite)return null;var b='<select size="1" '+('name="'+a.sTableId+'_length"')+">",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<d;c++)b+='<option value="'+i[0][c]+'">'+i[1][c]+"</option>"}else{c=0;for(d=i.length;c<d;c++)b+='<option value="'+i[c]+'">'+i[c]+"</option>"}b+="</select>";i=l.createElement("div");a.aanFeatures.l|| -(i.id=a.sTableId+"_length");i.className=a.oClasses.sLength;i.innerHTML="<label>"+a.oLanguage.sLengthMenu.replace("_MENU_",b)+"</label>";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;c<d;c++)i[c]!=this.parentNode&&h("select",i[c]).val(b);a._iDisplayLength=parseInt(b,10);y(a);if(a.fnDisplayEnd()==a.fnRecordsDisplay()){a._iDisplayStart=a.fnDisplayEnd()-a._iDisplayLength;if(a._iDisplayStart< -0)a._iDisplayStart=0}if(a._iDisplayLength==-1)a._iDisplayStart=0;x(a)});h("select",i).attr("aria-controls",a.sTableId);return i}function y(a){a._iDisplayEnd=!1===a.oFeatures.bPaginate?a.aiDisplay.length:a._iDisplayStart+a._iDisplayLength>a.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._iDisplayLength<a.fnRecordsDisplay()&&(a._iDisplayStart+=a._iDisplayLength):a._iDisplayStart=0;else if("last"==b)if(0<=a._iDisplayLength){var d=parseInt((a.fnRecordsDisplay()-1)/a._iDisplayLength,10)+1;a._iDisplayStart=(d-1)*a._iDisplayLength}else a._iDisplayStart=0;else D(a,0,"Unknown paging action: "+b);h(a.oInstance).trigger("page",a);return c!=a._iDisplayStart}function Aa(a){var b=l.createElement("div");a.aanFeatures.r||(b.id=a.sTableId+ -"_processing");b.innerHTML=a.oLanguage.sProcessing;b.className=a.oClasses.sProcessing;a.nTable.parentNode.insertBefore(b,a.nTable);return b}function E(a,b){if(a.oFeatures.bProcessing)for(var c=a.aanFeatures.r,d=0,i=c.length;d<i;d++)c[d].style.visibility=b?"visible":"hidden";h(a.oInstance).trigger("processing",[a,b])}function Ba(a){if(""===a.oScroll.sX&&""===a.oScroll.sY)return a.nTable;var b=l.createElement("div"),c=l.createElement("div"),d=l.createElement("div"),i=l.createElement("div"),f=l.createElement("div"), -g=l.createElement("div"),e=a.nTable.cloneNode(!1),j=a.nTable.cloneNode(!1),o=a.nTable.getElementsByTagName("thead")[0],k=0===a.nTable.getElementsByTagName("tfoot").length?null:a.nTable.getElementsByTagName("tfoot")[0],m=a.oClasses;c.appendChild(d);f.appendChild(g);i.appendChild(a.nTable);b.appendChild(c);b.appendChild(i);d.appendChild(e);e.appendChild(o);null!==k&&(b.appendChild(f),g.appendChild(j),j.appendChild(k));b.className=m.sScrollWrapper;c.className=m.sScrollHead;d.className=m.sScrollHeadInner; -i.className=m.sScrollBody;f.className=m.sScrollFoot;g.className=m.sScrollFootInner;a.oScroll.bAutoCss&&(c.style.overflow="hidden",c.style.position="relative",f.style.overflow="hidden",i.style.overflow="auto");c.style.border="0";c.style.width="100%";f.style.border="0";d.style.width=""!==a.oScroll.sXInner?a.oScroll.sXInner:"100%";e.removeAttribute("id");e.style.marginLeft="0";a.nTable.style.marginLeft="0";null!==k&&(j.removeAttribute("id"),j.style.marginLeft="0");d=h(a.nTable).children("caption");0< -d.length&&(d=d[0],"top"===d._captionSide?e.appendChild(d):"bottom"===d._captionSide&&k&&j.appendChild(d));""!==a.oScroll.sX&&(c.style.width=q(a.oScroll.sX),i.style.width=q(a.oScroll.sX),null!==k&&(f.style.width=q(a.oScroll.sX)),h(i).scroll(function(){c.scrollLeft=this.scrollLeft;if(k!==null)f.scrollLeft=this.scrollLeft}));""!==a.oScroll.sY&&(i.style.height=q(a.oScroll.sY));a.aoDrawCallback.push({fn:La,sName:"scrolling"});a.oScroll.bInfinite&&h(i).scroll(function(){if(!a.bDrawing&&h(this).scrollTop()!== -0&&h(this).scrollTop()+h(this).height()>h(a.nTable).height()-a.oScroll.iLoadGap&&a.fnDisplayEnd()<a.fnRecordsDisplay()){qa(a,"next");y(a);x(a)}});a.nScrollHead=c;a.nScrollFoot=f;return b}function La(a){var b=a.nScrollHead.getElementsByTagName("div")[0],c=b.getElementsByTagName("table")[0],d=a.nTable.parentNode,i,f,g,e,j,o,k,m,p=[],n=[],l=null!==a.nTFoot?a.nScrollFoot.getElementsByTagName("div")[0]:null,R=null!==a.nTFoot?l.getElementsByTagName("table")[0]:null,r=a.oBrowser.bScrollOversize,s=function(a){k= -a.style;k.paddingTop="0";k.paddingBottom="0";k.borderTopWidth="0";k.borderBottomWidth="0";k.height=0};h(a.nTable).children("thead, tfoot").remove();i=h(a.nTHead).clone()[0];a.nTable.insertBefore(i,a.nTable.childNodes[0]);g=a.nTHead.getElementsByTagName("tr");e=i.getElementsByTagName("tr");null!==a.nTFoot&&(j=h(a.nTFoot).clone()[0],a.nTable.insertBefore(j,a.nTable.childNodes[1]),o=a.nTFoot.getElementsByTagName("tr"),j=j.getElementsByTagName("tr"));""===a.oScroll.sX&&(d.style.width="100%",b.parentNode.style.width= -"100%");var t=N(a,i);i=0;for(f=t.length;i<f;i++)m=G(a,i),t[i].style.width=a.aoColumns[m].sWidth;null!==a.nTFoot&&C(function(a){a.style.width=""},j);a.oScroll.bCollapse&&""!==a.oScroll.sY&&(d.style.height=d.offsetHeight+a.nTHead.offsetHeight+"px");i=h(a.nTable).outerWidth();if(""===a.oScroll.sX){if(a.nTable.style.width="100%",r&&(h("tbody",d).height()>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()<h(a.nTable).height()?(a.nTable.style.width=q(i-a.oScroll.iBarWidth),h(a.nTable).outerWidth()>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()<i){g=d.scrollHeight>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.offsetHeight<d.offsetHeight&&(d.style.height=q(a.nTable.offsetHeight+r)));r=h(a.nTable).outerWidth();c.style.width=q(r);b.style.width=q(r);c=h(a.nTable).height()>d.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;i<f;){g=b[i].firstChild;for(e=c?c[i].firstChild:null;g;)1===g.nodeType&&(c?a(g,e,d):a(g,d),d++),g=g.nextSibling,e=c?e.nextSibling:null;i++}}function Ma(a,b){if(!a||null===a||""===a)return 0;b||(b=l.body);var c,d=l.createElement("div");d.style.width=q(a);b.appendChild(d);c=d.offsetWidth;b.removeChild(d);return c}function da(a){var b=0,c,d=0,i=a.aoColumns.length,f,e,j=h("th",a.nTHead),o=a.nTable.getAttribute("width");e=a.nTable.parentNode;for(f=0;f<i;f++)a.aoColumns[f].bVisible&& -(d++,null!==a.aoColumns[f].sWidth&&(c=Ma(a.aoColumns[f].sWidthOrig,e),null!==c&&(a.aoColumns[f].sWidth=q(c)),b++));if(i==j.length&&0===b&&d==i&&""===a.oScroll.sX&&""===a.oScroll.sY)for(f=0;f<a.aoColumns.length;f++)c=h(j[f]).width(),null!==c&&(a.aoColumns[f].sWidth=q(c));else{b=a.nTable.cloneNode(!1);f=a.nTHead.cloneNode(!0);d=l.createElement("tbody");c=l.createElement("tr");b.removeAttribute("id");b.appendChild(f);null!==a.nTFoot&&(b.appendChild(a.nTFoot.cloneNode(!0)),C(function(a){a.style.width= -""},b.getElementsByTagName("tr")));b.appendChild(d);d.appendChild(c);d=h("thead th",b);0===d.length&&(d=h("tbody tr:eq(0)>td",b));j=N(a,f);for(f=d=0;f<i;f++){var k=a.aoColumns[f];k.bVisible&&null!==k.sWidthOrig&&""!==k.sWidthOrig?j[f-d].style.width=q(k.sWidthOrig):k.bVisible?j[f-d].style.width="":d++}for(f=0;f<i;f++)a.aoColumns[f].bVisible&&(d=Na(a,f),null!==d&&(d=d.cloneNode(!0),""!==a.aoColumns[f].sContentPadding&&(d.innerHTML+=a.aoColumns[f].sContentPadding),c.appendChild(d)));e.appendChild(b); -""!==a.oScroll.sX&&""!==a.oScroll.sXInner?b.style.width=q(a.oScroll.sXInner):""!==a.oScroll.sX?(b.style.width="",h(b).width()<e.offsetWidth&&(b.style.width=q(e.offsetWidth))):""!==a.oScroll.sY?b.style.width=q(e.offsetWidth):o&&(b.style.width=q(o));b.style.visibility="hidden";Oa(a,b);i=h("tbody tr:eq(0)",b).children();0===i.length&&(i=N(a,h("thead",b)[0]));if(""!==a.oScroll.sX){for(f=d=e=0;f<a.aoColumns.length;f++)a.aoColumns[f].bVisible&&(e=null===a.aoColumns[f].sWidthOrig?e+h(i[d]).outerWidth(): -e+(parseInt(a.aoColumns[f].sWidth.replace("px",""),10)+(h(i[d]).outerWidth()-h(i[d]).width())),d++);b.style.width=q(e);a.nTable.style.width=q(e)}for(f=d=0;f<a.aoColumns.length;f++)a.aoColumns[f].bVisible&&(e=h(i[d]).width(),null!==e&&0<e&&(a.aoColumns[f].sWidth=q(e)),d++);i=h(b).css("width");a.nTable.style.width=-1!==i.indexOf("%")?i:q(h(b).outerWidth());b.parentNode.removeChild(b)}o&&(a.nTable.style.width=q(o))}function Oa(a,b){""===a.oScroll.sX&&""!==a.oScroll.sY?(h(b).width(),b.style.width=q(h(b).outerWidth()- -a.oScroll.iBarWidth)):""!==a.oScroll.sX&&(b.style.width=q(h(b).outerWidth()))}function Na(a,b){var c=Pa(a,b);if(0>c)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<a.aoData.length;i++){var e=v(a,i,b,"display")+"",e=e.replace(/<.*?>/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<b?a:a+"px"}function Qa(){var a=l.createElement("p"),b=a.style;b.width="100%";b.height="200px";b.padding="0px";var c=l.createElement("div"),b=c.style;b.position="absolute";b.top="0px";b.left="0px";b.visibility="hidden";b.width="200px";b.height="150px";b.padding="0px";b.overflow="hidden";c.appendChild(a);l.body.appendChild(c);b=a.offsetWidth;c.style.overflow="scroll";a=a.offsetWidth;b==a&&(a=c.clientWidth);l.body.removeChild(c);return b-a}function O(a,b){var c,d,i,e,g,k,o=[],m=[],p= -j.ext.oSort,l=a.aoData,q=a.aoColumns,G=a.oLanguage.oAria;if(!a.oFeatures.bServerSide&&(0!==a.aaSorting.length||null!==a.aaSortingFixed)){o=null!==a.aaSortingFixed?a.aaSortingFixed.concat(a.aaSorting):a.aaSorting.slice();for(c=0;c<o.length;c++)if(d=o[c][0],i=R(a,d),e=a.aoColumns[d].sSortDataType,j.ext.afnSortData[e])if(g=j.ext.afnSortData[e].call(a.oInstance,a,d,i),g.length===l.length){i=0;for(e=l.length;i<e;i++)F(a,i,d,g[i])}else D(a,0,"Returned data sort array (col "+d+") is the wrong length");c= -0;for(d=a.aiDisplayMaster.length;c<d;c++)m[a.aiDisplayMaster[c]]=c;var r=o.length,s;c=0;for(d=l.length;c<d;c++)for(i=0;i<r;i++){s=q[o[i][0]].aDataSort;g=0;for(k=s.length;g<k;g++)e=q[s[g]].sType,e=p[(e?e:"string")+"-pre"],l[c]._aSortData[s[g]]=e?e(v(a,c,s[g],"sort")):v(a,c,s[g],"sort")}a.aiDisplayMaster.sort(function(a,b){var c,d,e,i,f;for(c=0;c<r;c++){f=q[o[c][0]].aDataSort;d=0;for(e=f.length;d<e;d++)if(i=q[f[d]].sType,i=p[(i?i:"string")+"-"+o[c][1]](l[a]._aSortData[f[d]],l[b]._aSortData[f[d]]),0!== -i)return i}return p["numeric-asc"](m[a],m[b])})}(b===n||b)&&!a.oFeatures.bDeferRender&&P(a);c=0;for(d=a.aoColumns.length;c<d;c++)e=q[c].sTitle.replace(/<.*?>/g,""),i=q[c].nTh,i.removeAttribute("aria-sort"),i.removeAttribute("aria-label"),q[c].bSortable?0<o.length&&o[0][0]==c?(i.setAttribute("aria-sort","asc"==o[0][1]?"ascending":"descending"),i.setAttribute("aria-label",e+("asc"==(q[c].asSorting[o[0][2]+1]?q[c].asSorting[o[0][2]+1]:q[c].asSorting[0])?G.sSortAscending:G.sSortDescending))):i.setAttribute("aria-label", -e+("asc"==q[c].asSorting[0]?G.sSortAscending:G.sSortDescending)):i.setAttribute("aria-label",e);a.bSorted=!0;h(a.oInstance).trigger("sort",a);a.oFeatures.bFilter?K(a,a.oPreviousSearch,1):(a.aiDisplay=a.aiDisplayMaster.slice(),a._iDisplayStart=0,y(a),x(a))}function ia(a,b,c,d){Ra(b,{},function(b){if(!1!==a.aoColumns[c].bSortable){var e=function(){var d,e;if(b.shiftKey){for(var f=!1,h=0;h<a.aaSorting.length;h++)if(a.aaSorting[h][0]==c){f=!0;d=a.aaSorting[h][0];e=a.aaSorting[h][2]+1;a.aoColumns[d].asSorting[e]? -(a.aaSorting[h][1]=a.aoColumns[d].asSorting[e],a.aaSorting[h][2]=e):a.aaSorting.splice(h,1);break}!1===f&&a.aaSorting.push([c,a.aoColumns[c].asSorting[0],0])}else 1==a.aaSorting.length&&a.aaSorting[0][0]==c?(d=a.aaSorting[0][0],e=a.aaSorting[0][2]+1,a.aoColumns[d].asSorting[e]||(e=0),a.aaSorting[0][1]=a.aoColumns[d].asSorting[e],a.aaSorting[0][2]=e):(a.aaSorting.splice(0,a.aaSorting.length),a.aaSorting.push([c,a.aoColumns[c].asSorting[0],0]));O(a)};a.oFeatures.bProcessing?(E(a,!0),setTimeout(function(){e(); -a.oFeatures.bServerSide||E(a,!1)},0)):e();"function"==typeof d&&d(a)}})}function P(a){var b,c,d,e,f,g=a.aoColumns.length,j=a.oClasses;for(b=0;b<g;b++)a.aoColumns[b].bSortable&&h(a.aoColumns[b].nTh).removeClass(j.sSortAsc+" "+j.sSortDesc+" "+a.aoColumns[b].sSortingClass);c=null!==a.aaSortingFixed?a.aaSortingFixed.concat(a.aaSorting):a.aaSorting.slice();for(b=0;b<a.aoColumns.length;b++)if(a.aoColumns[b].bSortable){f=a.aoColumns[b].sSortingClass;e=-1;for(d=0;d<c.length;d++)if(c[d][0]==b){f="asc"==c[d][1]? -j.sSortAsc:j.sSortDesc;e=d;break}h(a.aoColumns[b].nTh).addClass(f);a.bJUI&&(f=h("span."+j.sSortIcon,a.aoColumns[b].nTh),f.removeClass(j.sSortJUIAsc+" "+j.sSortJUIDesc+" "+j.sSortJUI+" "+j.sSortJUIAscAllowed+" "+j.sSortJUIDescAllowed),f.addClass(-1==e?a.aoColumns[b].sSortingClassJUI:"asc"==c[e][1]?j.sSortJUIAsc:j.sSortJUIDesc))}else h(a.aoColumns[b].nTh).addClass(a.aoColumns[b].sSortingClass);f=j.sSortColumn;if(a.oFeatures.bSort&&a.oFeatures.bSortClasses){a=J(a);e=[];for(b=0;b<g;b++)e.push("");b=0; -for(d=1;b<c.length;b++)j=parseInt(c[b][0],10),e[j]=f+d,3>d&&d++;f=RegExp(f+"[123]");var o;b=0;for(c=a.length;b<c;b++)j=b%g,d=a[b].className,o=e[j],j=d.replace(f,o),j!=d?a[b].className=h.trim(j):0<o.length&&-1==d.indexOf(o)&&(a[b].className=d+" "+o)}}function ra(a){if(a.oFeatures.bStateSave&&!a.bDestroying){var b,c;b=a.oScroll.bInfinite;var d={iCreate:(new Date).getTime(),iStart:b?0:a._iDisplayStart,iEnd:b?a._iDisplayLength:a._iDisplayEnd,iLength:a._iDisplayLength,aaSorting:h.extend(!0,[],a.aaSorting), -oSearch:h.extend(!0,{},a.oPreviousSearch),aoSearchCols:h.extend(!0,[],a.aoPreSearchCols),abVisCols:[]};b=0;for(c=a.aoColumns.length;b<c;b++)d.abVisCols.push(a.aoColumns[b].bVisible);A(a,"aoStateSaveParams","stateSaveParams",[a,d]);a.fnStateSave.call(a.oInstance,a,d)}}function Sa(a,b){if(a.oFeatures.bStateSave){var c=a.fnStateLoad.call(a.oInstance,a);if(c){var d=A(a,"aoStateLoadParams","stateLoadParams",[a,c]);if(-1===h.inArray(!1,d)){a.oLoadedState=h.extend(!0,{},c);a._iDisplayStart=c.iStart;a.iInitDisplayStart= -c.iStart;a._iDisplayEnd=c.iEnd;a._iDisplayLength=c.iLength;a.aaSorting=c.aaSorting.slice();a.saved_aaSorting=c.aaSorting.slice();h.extend(a.oPreviousSearch,c.oSearch);h.extend(!0,a.aoPreSearchCols,c.aoSearchCols);b.saved_aoColumns=[];for(d=0;d<c.abVisCols.length;d++)b.saved_aoColumns[d]={},b.saved_aoColumns[d].bVisible=c.abVisCols[d];A(a,"aoStateLoaded","stateLoaded",[a,c])}}}}function s(a){for(var b=0;b<j.settings.length;b++)if(j.settings[b].nTable===a)return j.settings[b];return null}function T(a){for(var b= -[],a=a.aoData,c=0,d=a.length;c<d;c++)null!==a[c].nTr&&b.push(a[c].nTr);return b}function J(a,b){var c=[],d,e,f,g,h,j;e=0;var o=a.aoData.length;b!==n&&(e=b,o=b+1);for(f=e;f<o;f++)if(j=a.aoData[f],null!==j.nTr){e=[];for(d=j.nTr.firstChild;d;)g=d.nodeName.toLowerCase(),("td"==g||"th"==g)&&e.push(d),d=d.nextSibling;g=d=0;for(h=a.aoColumns.length;g<h;g++)a.aoColumns[g].bVisible?c.push(e[g-d]):(c.push(j._anHidden[g]),d++)}return c}function D(a,b,c){a=null===a?"DataTables warning: "+c:"DataTables warning (table id = '"+ -a.sTableId+"'): "+c;if(0===b)if("alert"==j.ext.sErrMode)alert(a);else throw Error(a);else X.console&&console.log&&console.log(a)}function p(a,b,c,d){d===n&&(d=c);b[c]!==n&&(a[d]=b[c])}function Ta(a,b){var c,d;for(d in b)b.hasOwnProperty(d)&&(c=b[d],"object"===typeof e[d]&&null!==c&&!1===h.isArray(c)?h.extend(!0,a[d],c):a[d]=c);return a}function Ra(a,b,c){h(a).bind("click.DT",b,function(b){a.blur();c(b)}).bind("keypress.DT",b,function(a){13===a.which&&c(a)}).bind("selectstart.DT",function(){return!1})} -function z(a,b,c,d){c&&a[b].push({fn:c,sName:d})}function A(a,b,c,d){for(var b=a[b],e=[],f=b.length-1;0<=f;f--)e.push(b[f].fn.apply(a.oInstance,d));null!==c&&h(a.oInstance).trigger(c,d);return e}function Ua(a){var b=h('<div style="position:absolute; top:0; left:0; height:1px; width:1px; overflow:hidden"><div style="position:absolute; top:1px; left:1px; width:100px; overflow:scroll;"><div id="DT_BrowserTest" style="width:100%; height:10px;"></div></div></div>')[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;c++)(f=g[o[c]].nTr)&&e.push(f)}else if("current"==b.order&&"none"==b.filter){c=0;for(d=k.length;c<d;c++)(f=g[k[c]].nTr)&&e.push(f)}else if("current"==b.order&&"applied"==b.filter){c=0;for(d=o.length;c<d;c++)(f=g[o[c]].nTr)&&e.push(f)}else if("original"== -b.order&&"none"==b.filter){c=0;for(d=g.length;c<d;c++)(f=g[c].nTr)&&e.push(f)}else if("original"==b.order&&"applied"==b.filter){c=0;for(d=g.length;c<d;c++)f=g[c].nTr,-1!==h.inArray(c,o)&&f&&e.push(f)}else D(d,1,"Unknown selection options");e=h(e);c=e.filter(a);e=e.find(a);return h([].concat(h.makeArray(c),h.makeArray(e)))};this._=function(a,b){var c=[],d,e,f=this.$(a,b);d=0;for(e=f.length;d<e;d++)c.push(this.fnGetData(f[d]));return c};this.fnAddData=function(a,b){if(0===a.length)return[];var c=[], -d,e=s(this[j.ext.iApiIndex]);if("object"===typeof a[0]&&null!==a[0])for(var f=0;f<a.length;f++){d=H(e,a[f]);if(-1==d)return c;c.push(d)}else{d=H(e,a);if(-1==d)return c;c.push(d)}e.aiDisplay=e.aiDisplayMaster.slice();(b===n||b)&&aa(e);return c};this.fnAdjustColumnSizing=function(a){var b=s(this[j.ext.iApiIndex]);k(b);a===n||a?this.fnDraw(!1):(""!==b.oScroll.sX||""!==b.oScroll.sY)&&this.oApi._fnScrollDraw(b)};this.fnClearTable=function(a){var b=s(this[j.ext.iApiIndex]);ga(b);(a===n||a)&&x(b)};this.fnClose= -function(a){for(var b=s(this[j.ext.iApiIndex]),c=0;c<b.aoOpenRows.length;c++)if(b.aoOpenRows[c].nParent==a)return(a=b.aoOpenRows[c].nTr.parentNode)&&a.removeChild(b.aoOpenRows[c].nTr),b.aoOpenRows.splice(c,1),0;return 1};this.fnDeleteRow=function(a,b,c){var d=s(this[j.ext.iApiIndex]),e,f,a="object"===typeof a?I(d,a):a,g=d.aoData.splice(a,1);e=0;for(f=d.aoData.length;e<f;e++)null!==d.aoData[e].nTr&&(d.aoData[e].nTr._DT_RowIndex=e);e=h.inArray(a,d.aiDisplay);d.asDataSearch.splice(e,1);ha(d.aiDisplayMaster, -a);ha(d.aiDisplay,a);"function"===typeof b&&b.call(this,d,g);d._iDisplayStart>=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;i<f;i++)!1===b.aoColumns[i].bVisible&&this.fnSetColumnVis(i,!0)}h(b.nTableWrapper).find("*").andSelf().unbind(".DT"); -h("tbody>tr>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<f;i++)null!==b.aoData[i].nTr&&d.appendChild(b.aoData[i].nTr);!0===b.oFeatures.bAutoWidth&& -(b.nTable.style.width=q(b.sDestroyWidth));if(f=b.asDestroyStripes.length){a=h(d).children("tr");for(i=0;i<f;i++)a.filter(":nth-child("+f+"n + "+i+")").addClass(b.asDestroyStripes[i])}i=0;for(f=j.settings.length;i<f;i++)j.settings[i]==b&&j.settings.splice(i,1);e=b=null};this.fnDraw=function(a){var b=s(this[j.ext.iApiIndex]);!1===a?(y(b),x(b)):aa(b)};this.fnFilter=function(a,b,c,d,e,f){var g=s(this[j.ext.iApiIndex]);if(g.oFeatures.bFilter){if(c===n||null===c)c=!1;if(d===n||null===d)d=!0;if(e===n||null=== -e)e=!0;if(f===n||null===f)f=!0;if(b===n||null===b){if(K(g,{sSearch:a+"",bRegex:c,bSmart:d,bCaseInsensitive:f},1),e&&g.aanFeatures.f){b=g.aanFeatures.f;c=0;for(d=b.length;c<d;c++)try{b[c]._DT_Input!=l.activeElement&&h(b[c]._DT_Input).val(a)}catch(o){h(b[c]._DT_Input).val(a)}}}else h.extend(g.aoPreSearchCols[b],{sSearch:a+"",bRegex:c,bSmart:d,bCaseInsensitive:f}),K(g,g.oPreviousSearch,1)}};this.fnGetData=function(a,b){var c=s(this[j.ext.iApiIndex]);if(a!==n){var d=a;if("object"===typeof a){var e=a.nodeName.toLowerCase(); -"tr"===e?d=I(c,a):"td"===e&&(d=I(c,a.parentNode),b=fa(c,d,a))}return b!==n?v(c,d,b,""):c.aoData[d]!==n?c.aoData[d]._aData:null}return Z(c)};this.fnGetNodes=function(a){var b=s(this[j.ext.iApiIndex]);return a!==n?b.aoData[a]!==n?b.aoData[a].nTr:null:T(b)};this.fnGetPosition=function(a){var b=s(this[j.ext.iApiIndex]),c=a.nodeName.toUpperCase();return"TR"==c?I(b,a):"TD"==c||"TH"==c?(c=I(b,a.parentNode),a=fa(b,c,a),[c,R(b,a),a]):null};this.fnIsOpen=function(a){for(var b=s(this[j.ext.iApiIndex]),c=0;c< -b.aoOpenRows.length;c++)if(b.aoOpenRows[c].nParent==a)return!0;return!1};this.fnOpen=function(a,b,c){var d=s(this[j.ext.iApiIndex]),e=T(d);if(-1!==h.inArray(a,e)){this.fnClose(a);var e=l.createElement("tr"),f=l.createElement("td");e.appendChild(f);f.className=c;f.colSpan=t(d);"string"===typeof b?f.innerHTML=b:h(f).html(b);b=h("tr",d.nTBody);-1!=h.inArray(a,b)&&h(e).insertAfter(a);d.aoOpenRows.push({nTr:e,nParent:a});return e}};this.fnPageChange=function(a,b){var c=s(this[j.ext.iApiIndex]);qa(c,a); -y(c);(b===n||b)&&x(c)};this.fnSetColumnVis=function(a,b,c){var d=s(this[j.ext.iApiIndex]),e,f,g=d.aoColumns,h=d.aoData,o,m;if(g[a].bVisible!=b){if(b){for(e=f=0;e<a;e++)g[e].bVisible&&f++;m=f>=t(d);if(!m)for(e=a;e<g.length;e++)if(g[e].bVisible){o=e;break}e=0;for(f=h.length;e<f;e++)null!==h[e].nTr&&(m?h[e].nTr.appendChild(h[e]._anHidden[a]):h[e].nTr.insertBefore(h[e]._anHidden[a],J(d,e)[o]))}else{e=0;for(f=h.length;e<f;e++)null!==h[e].nTr&&(o=J(d,e)[a],h[e]._anHidden[a]=o,o.parentNode.removeChild(o))}g[a].bVisible= -b;W(d,d.aoHeader);d.nTFoot&&W(d,d.aoFooter);e=0;for(f=d.aoOpenRows.length;e<f;e++)d.aoOpenRows[e].nTr.colSpan=t(d);if(c===n||c)k(d),x(d);ra(d)}};this.fnSettings=function(){return s(this[j.ext.iApiIndex])};this.fnSort=function(a){var b=s(this[j.ext.iApiIndex]);b.aaSorting=a;O(b)};this.fnSortListener=function(a,b,c){ia(s(this[j.ext.iApiIndex]),a,b,c)};this.fnUpdate=function(a,b,c,d,e){var f=s(this[j.ext.iApiIndex]),b="object"===typeof b?I(f,b):b;if(h.isArray(a)&&c===n){f.aoData[b]._aData=a.slice(); -for(c=0;c<f.aoColumns.length;c++)this.fnUpdate(v(f,b,c),b,c,!1,!1)}else if(h.isPlainObject(a)&&c===n){f.aoData[b]._aData=h.extend(!0,{},a);for(c=0;c<f.aoColumns.length;c++)this.fnUpdate(v(f,b,c),b,c,!1,!1)}else{F(f,b,c,a);var a=v(f,b,c,"display"),g=f.aoColumns[c];null!==g.fnRender&&(a=S(f,b,c),g.bUseRendered&&F(f,b,c,a));null!==f.aoData[b].nTr&&(J(f,b)[c].innerHTML=a)}c=h.inArray(b,f.aiDisplay);f.asDataSearch[c]=na(f,Y(f,b,"filter",r(f,"bSearchable")));(e===n||e)&&k(f);(d===n||d)&&aa(f);return 0}; -this.fnVersionCheck=j.ext.fnVersionCheck;this.oApi={_fnExternApiFunc:Va,_fnInitialise:ba,_fnInitComplete:$,_fnLanguageCompat:pa,_fnAddColumn:o,_fnColumnOptions:m,_fnAddData:H,_fnCreateTr:ea,_fnGatherData:ua,_fnBuildHead:va,_fnDrawHead:W,_fnDraw:x,_fnReDraw:aa,_fnAjaxUpdate:wa,_fnAjaxParameters:Ea,_fnAjaxUpdateDraw:Fa,_fnServerParams:ka,_fnAddOptionsHtml:xa,_fnFeatureHtmlTable:Ba,_fnScrollDraw:La,_fnAdjustColumnSizing:k,_fnFeatureHtmlFilter:za,_fnFilterComplete:K,_fnFilterCustom:Ia,_fnFilterColumn:Ha, -_fnFilter:Ga,_fnBuildSearchArray:la,_fnBuildSearchRow:na,_fnFilterCreateSearch:ma,_fnDataToSearch:Ja,_fnSort:O,_fnSortAttachListener:ia,_fnSortingClasses:P,_fnFeatureHtmlPaginate:Da,_fnPageChange:qa,_fnFeatureHtmlInfo:Ca,_fnUpdateInfo:Ka,_fnFeatureHtmlLength:ya,_fnFeatureHtmlProcessing:Aa,_fnProcessingDisplay:E,_fnVisibleToColumnIndex:G,_fnColumnIndexToVisible:R,_fnNodeToDataIndex:I,_fnVisbleColumns:t,_fnCalculateEnd:y,_fnConvertToWidth:Ma,_fnCalculateColumnWidths:da,_fnScrollingWidthAdjust:Oa,_fnGetWidestNode:Na, -_fnGetMaxLenString:Pa,_fnStringToCss:q,_fnDetectType:B,_fnSettingsFromNode:s,_fnGetDataMaster:Z,_fnGetTrNodes:T,_fnGetTdNodes:J,_fnEscapeRegex:oa,_fnDeleteIndex:ha,_fnReOrderIndex:u,_fnColumnOrdering:M,_fnLog:D,_fnClearTable:ga,_fnSaveState:ra,_fnLoadState:Sa,_fnCreateCookie:function(a,b,c,d,e){var f=new Date;f.setTime(f.getTime()+1E3*c);var c=X.location.pathname.split("/"),a=a+"_"+c.pop().replace(/[\/:]/g,"").toLowerCase(),g;null!==e?(g="function"===typeof h.parseJSON?h.parseJSON(b):eval("("+b+")"), -b=e(a,g,f.toGMTString(),c.join("/")+"/")):b=a+"="+encodeURIComponent(b)+"; expires="+f.toGMTString()+"; path="+c.join("/")+"/";a=l.cookie.split(";");e=b.split(";")[0].length;f=[];if(4096<e+l.cookie.length+10){for(var j=0,o=a.length;j<o;j++)if(-1!=a[j].indexOf(d)){var k=a[j].split("=");try{(g=eval("("+decodeURIComponent(k[1])+")"))&&g.iCreate&&f.push({name:k[0],time:g.iCreate})}catch(m){}}for(f.sort(function(a,b){return b.time-a.time});4096<e+l.cookie.length+10;){if(0===f.length)return;d=f.pop();l.cookie= -d.name+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path="+c.join("/")+"/"}}l.cookie=b},_fnReadCookie:function(a){for(var b=X.location.pathname.split("/"),a=a+"_"+b[b.length-1].replace(/[\/:]/g,"").toLowerCase()+"=",b=l.cookie.split(";"),c=0;c<b.length;c++){for(var d=b[c];" "==d.charAt(0);)d=d.substring(1,d.length);if(0===d.indexOf(a))return decodeURIComponent(d.substring(a.length,d.length))}return null},_fnDetectHeader:V,_fnGetUniqueThs:N,_fnScrollBarWidth:Qa,_fnApplyToChildren:C,_fnMap:p,_fnGetRowData:Y, -_fnGetCellData:v,_fnSetCellData:F,_fnGetObjectDataFn:Q,_fnSetObjectDataFn:L,_fnApplyColumnDefs:ta,_fnBindAction:Ra,_fnExtend:Ta,_fnCallbackReg:z,_fnCallbackFire:A,_fnJsonString:Wa,_fnRender:S,_fnNodeToColumnIndex:fa,_fnInfoMacros:ja,_fnBrowserDetect:Ua,_fnGetColumns:r};h.extend(j.ext.oApi,this.oApi);for(var sa in j.ext.oApi)sa&&(this[sa]=Va(sa));var ca=this;this.each(function(){var a=0,b,c,d;c=this.getAttribute("id");var i=!1,f=!1;if("table"!=this.nodeName.toLowerCase())D(null,0,"Attempted to initialise DataTables on a node which is not a table: "+ -this.nodeName);else{a=0;for(b=j.settings.length;a<b;a++){if(j.settings[a].nTable==this){if(e===n||e.bRetrieve)return j.settings[a].oInstance;if(e.bDestroy){j.settings[a].oInstance.fnDestroy();break}else{D(j.settings[a],0,"Cannot reinitialise DataTable.\n\nTo retrieve the DataTables object for this table, pass no arguments or see the docs for bRetrieve and bDestroy");return}}if(j.settings[a].sTableId==this.id){j.settings.splice(a,1);break}}if(null===c||""===c)this.id=c="DataTables_Table_"+j.ext._oExternConfig.iNextUnique++; -var g=h.extend(!0,{},j.models.oSettings,{nTable:this,oApi:ca.oApi,oInit:e,sDestroyWidth:h(this).width(),sInstance:c,sTableId:c});j.settings.push(g);g.oInstance=1===ca.length?ca:h(this).dataTable();e||(e={});e.oLanguage&&pa(e.oLanguage);e=Ta(h.extend(!0,{},j.defaults),e);p(g.oFeatures,e,"bPaginate");p(g.oFeatures,e,"bLengthChange");p(g.oFeatures,e,"bFilter");p(g.oFeatures,e,"bSort");p(g.oFeatures,e,"bInfo");p(g.oFeatures,e,"bProcessing");p(g.oFeatures,e,"bAutoWidth");p(g.oFeatures,e,"bSortClasses"); -p(g.oFeatures,e,"bServerSide");p(g.oFeatures,e,"bDeferRender");p(g.oScroll,e,"sScrollX","sX");p(g.oScroll,e,"sScrollXInner","sXInner");p(g.oScroll,e,"sScrollY","sY");p(g.oScroll,e,"bScrollCollapse","bCollapse");p(g.oScroll,e,"bScrollInfinite","bInfinite");p(g.oScroll,e,"iScrollLoadGap","iLoadGap");p(g.oScroll,e,"bScrollAutoCss","bAutoCss");p(g,e,"asStripeClasses");p(g,e,"asStripClasses","asStripeClasses");p(g,e,"fnServerData");p(g,e,"fnFormatNumber");p(g,e,"sServerMethod");p(g,e,"aaSorting");p(g, -e,"aaSortingFixed");p(g,e,"aLengthMenu");p(g,e,"sPaginationType");p(g,e,"sAjaxSource");p(g,e,"sAjaxDataProp");p(g,e,"iCookieDuration");p(g,e,"sCookiePrefix");p(g,e,"sDom");p(g,e,"bSortCellsTop");p(g,e,"iTabIndex");p(g,e,"oSearch","oPreviousSearch");p(g,e,"aoSearchCols","aoPreSearchCols");p(g,e,"iDisplayLength","_iDisplayLength");p(g,e,"bJQueryUI","bJUI");p(g,e,"fnCookieCallback");p(g,e,"fnStateLoad");p(g,e,"fnStateSave");p(g.oLanguage,e,"fnInfoCallback");z(g,"aoDrawCallback",e.fnDrawCallback,"user"); -z(g,"aoServerParams",e.fnServerParams,"user");z(g,"aoStateSaveParams",e.fnStateSaveParams,"user");z(g,"aoStateLoadParams",e.fnStateLoadParams,"user");z(g,"aoStateLoaded",e.fnStateLoaded,"user");z(g,"aoRowCallback",e.fnRowCallback,"user");z(g,"aoRowCreatedCallback",e.fnCreatedRow,"user");z(g,"aoHeaderCallback",e.fnHeaderCallback,"user");z(g,"aoFooterCallback",e.fnFooterCallback,"user");z(g,"aoInitComplete",e.fnInitComplete,"user");z(g,"aoPreDrawCallback",e.fnPreDrawCallback,"user");g.oFeatures.bServerSide&& -g.oFeatures.bSort&&g.oFeatures.bSortClasses?z(g,"aoDrawCallback",P,"server_side_sort_classes"):g.oFeatures.bDeferRender&&z(g,"aoDrawCallback",P,"defer_sort_classes");e.bJQueryUI?(h.extend(g.oClasses,j.ext.oJUIClasses),e.sDom===j.defaults.sDom&&"lfrtip"===j.defaults.sDom&&(g.sDom='<"H"lfr>t<"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<b;a++)d.hasClass(g.asStripeClasses[a])&&(c=!0,g.asDestroyStripes.push(g.asStripeClasses[a]));c&&d.removeClass(g.asStripeClasses.join(" "))}c=[];a=this.getElementsByTagName("thead");0!==a.length&&(V(g.aoHeader,a[0]),c=N(g));if(null===e.aoColumns){d=[];a=0;for(b= -c.length;a<b;a++)d.push(null)}else d=e.aoColumns;a=0;for(b=d.length;a<b;a++)e.saved_aoColumns!==n&&e.saved_aoColumns.length==b&&(null===d[a]&&(d[a]={}),d[a].bVisible=e.saved_aoColumns[a].bVisible),o(g,c?c[a]:null);ta(g,e.aoColumnDefs,d,function(a,b){m(g,a,b)});a=0;for(b=g.aaSorting.length;a<b;a++){g.aaSorting[a][0]>=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<d;c++)if(g.aaSorting[a][1]==k.asSorting[c]){g.aaSorting[a][2]=c;break}}P(g);Ua(g);a=h(this).children("caption").each(function(){this._captionSide=h(this).css("caption-side")});b=h(this).children("thead");0===b.length&&(b=[l.createElement("thead")],this.appendChild(b[0]));g.nTHead=b[0];b=h(this).children("tbody");0===b.length&&(b=[l.createElement("tbody")],this.appendChild(b[0]));g.nTBody=b[0];g.nTBody.setAttribute("role","alert");g.nTBody.setAttribute("aria-live", -"polite");g.nTBody.setAttribute("aria-relevant","all");b=h(this).children("tfoot");if(0===b.length&&0<a.length&&(""!==g.oScroll.sX||""!==g.oScroll.sY))b=[l.createElement("tfoot")],this.appendChild(b[0]);0<b.length&&(g.nTFoot=b[0],V(g.aoFooter,g.nTFoot));if(f)for(a=0;a<e.aaData.length;a++)H(g,e.aaData[a]);else ua(g);g.aiDisplay=g.aiDisplayMaster.slice();g.bInitialised=!0;!1===i&&ba(g)}});ca=null;return this};j.fnVersionCheck=function(e){for(var h=function(e,h){for(;e.length<h;)e+="0";return e},m=j.ext.sVersion.split("."), -e=e.split("."),k="",n="",l=0,t=e.length;l<t;l++)k+=h(m[l],3),n+=h(e[l],3);return parseInt(k,10)>=parseInt(n,10)};j.fnIsDataTable=function(e){for(var h=j.settings,m=0;m<h.length;m++)if(h[m].nTable===e||h[m].nScrollHead===e||h[m].nScrollFoot===e)return!0;return!1};j.fnTables=function(e){var o=[];jQuery.each(j.settings,function(j,k){(!e||!0===e&&h(k.nTable).is(":visible"))&&o.push(k.nTable)});return o};j.version="1.9.4";j.settings=[];j.models={};j.models.ext={afnFiltering:[],afnSortData:[],aoFeatures:[], -aTypes:[],fnVersionCheck:j.fnVersionCheck,iApiIndex:0,ofnSearch:{},oApi:{},oStdClasses:{},oJUIClasses:{},oPagination:{},oSort:{},sVersion:j.version,sErrMode:"alert",_oExternConfig:{iNextUnique:0}};j.models.oSearch={bCaseInsensitive:!0,sSearch:"",bRegex:!1,bSmart:!0};j.models.oRow={nTr:null,_aData:[],_aSortData:[],_anHidden:[],_sRowStripe:""};j.models.oColumn={aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bUseRendered:null,bVisible:null,_bAutoType:!0,fnCreatedCell:null,fnGetData:null, -fnRender:null,fnSetData:null,mData:null,mRender:null,nTh:null,nTf:null,sClass:null,sContentPadding:null,sDefaultContent:null,sName:null,sSortDataType:"std",sSortingClass:null,sSortingClassJUI:null,sTitle:null,sType:null,sWidth:null,sWidthOrig:null};j.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:null,aLengthMenu:[10,25,50,100],aoColumns:null,aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bJQueryUI:!1,bLengthChange:!0, -bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollAutoCss:!0,bScrollCollapse:!1,bScrollInfinite:!1,bServerSide:!1,bSort:!0,bSortCellsTop:!1,bSortClasses:!0,bStateSave:!1,fnCookieCallback:null,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(e){if(1E3>e)return e;for(var h=e+"",e=h.split(""),j="",h=h.length,k=0;k<h;k++)0===k%3&&0!==k&&(j=this.oLanguage.sInfoThousands+j),j=e[h-k-1]+j;return j},fnHeaderCallback:null,fnInfoCallback:null,fnInitComplete:null,fnPreDrawCallback:null, -fnRowCallback:null,fnServerData:function(e,j,m,k){k.jqXHR=h.ajax({url:e,data:j,success:function(e){e.sError&&k.oApi._fnLog(k,0,e.sError);h(k.oInstance).trigger("xhr",[k,e]);m(e)},dataType:"json",cache:!1,type:k.sServerMethod,error:function(e,h){"parsererror"==h&&k.oApi._fnLog(k,0,"DataTables warning: JSON data from server could not be parsed. This is caused by a JSON formatting error.")}})},fnServerParams:null,fnStateLoad:function(e){var e=this.oApi._fnReadCookie(e.sCookiePrefix+e.sInstance),j;try{j= -"function"===typeof h.parseJSON?h.parseJSON(e):eval("("+e+")")}catch(m){j=null}return j},fnStateLoadParams:null,fnStateLoaded:null,fnStateSave:function(e,h){this.oApi._fnCreateCookie(e.sCookiePrefix+e.sInstance,this.oApi._fnJsonString(h),e.iCookieDuration,e.sCookiePrefix,e.fnCookieCallback)},fnStateSaveParams:null,iCookieDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iScrollLoadGap:100,iTabIndex:0,oLanguage:{oAria:{sSortAscending:": activate to sort column ascending",sSortDescending:": activate to sort column descending"}, -oPaginate:{sFirst:"First",sLast:"Last",sNext:"Next",sPrevious:"Previous"},sEmptyTable:"No data available in table",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sInfoThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sUrl:"",sZeroRecords:"No matching records found"},oSearch:h.extend({},j.models.oSearch),sAjaxDataProp:"aaData", -sAjaxSource:null,sCookiePrefix:"SpryMedia_DataTables_",sDom:"lfrtip",sPaginationType:"two_button",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET"};j.defaults.columns={aDataSort:null,asSorting:["asc","desc"],bSearchable:!0,bSortable:!0,bUseRendered:!0,bVisible:!0,fnCreatedCell:null,fnRender:null,iDataSort:-1,mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null};j.models.oSettings={oFeatures:{bAutoWidth:null, -bDeferRender:null,bFilter:null,bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,bSortClasses:null,bStateSave:null},oScroll:{bAutoCss:null,bCollapse:null,bInfinite:null,iBarWidth:0,iLoadGap:null,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1},aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aoColumns:[],aoHeader:[],aoFooter:[],asDataSearch:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:null, -asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,sPaginationType:"two_button",iCookieDuration:0,sCookiePrefix:"",fnCookieCallback:null,aoStateSave:[],aoStateLoad:[], -oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,bAjaxDataGet:!0,jqXHR:null,fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iDisplayEnd:10,_iRecordsTotal:0,_iRecordsDisplay:0,bJUI:null,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return this.oFeatures.bServerSide?parseInt(this._iRecordsTotal,10):this.aiDisplayMaster.length}, -fnRecordsDisplay:function(){return this.oFeatures.bServerSide?parseInt(this._iRecordsDisplay,10):this.aiDisplay.length},fnDisplayEnd:function(){return this.oFeatures.bServerSide?!1===this.oFeatures.bPaginate||-1==this._iDisplayLength?this._iDisplayStart+this.aiDisplay.length:Math.min(this._iDisplayStart+this._iDisplayLength,this._iRecordsDisplay):this._iDisplayEnd},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null};j.ext=h.extend(!0,{},j.models.ext);h.extend(j.ext.oStdClasses, -{sTable:"dataTable",sPagePrevEnabled:"paginate_enabled_previous",sPagePrevDisabled:"paginate_disabled_previous",sPageNextEnabled:"paginate_enabled_next",sPageNextDisabled:"paginate_disabled_next",sPageJUINext:"",sPageJUIPrev:"",sPageButton:"paginate_button",sPageButtonActive:"paginate_active",sPageButtonStaticDisabled:"paginate_button paginate_button_disabled",sPageFirst:"first",sPagePrevious:"previous",sPageNext:"next",sPageLast:"last",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty", -sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"", -sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sFooterTH:"",sJUIHeader:"",sJUIFooter:""});h.extend(j.ext.oJUIClasses,j.ext.oStdClasses,{sPagePrevEnabled:"fg-button ui-button ui-state-default ui-corner-left",sPagePrevDisabled:"fg-button ui-button ui-state-default ui-corner-left ui-state-disabled",sPageNextEnabled:"fg-button ui-button ui-state-default ui-corner-right", -sPageNextDisabled:"fg-button ui-button ui-state-default ui-corner-right ui-state-disabled",sPageJUINext:"ui-icon ui-icon-circle-arrow-e",sPageJUIPrev:"ui-icon ui-icon-circle-arrow-w",sPageButton:"fg-button ui-button ui-state-default",sPageButtonActive:"fg-button ui-button ui-state-default ui-state-disabled",sPageButtonStaticDisabled:"fg-button ui-button ui-state-default ui-state-disabled",sPageFirst:"first ui-corner-tl ui-corner-bl",sPageLast:"last ui-corner-tr ui-corner-br",sPaging:"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_", -sSortAsc:"ui-state-default",sSortDesc:"ui-state-default",sSortable:"ui-state-default",sSortableAsc:"ui-state-default",sSortableDesc:"ui-state-default",sSortableNone:"ui-state-default",sSortJUIAsc:"css_right ui-icon ui-icon-triangle-1-n",sSortJUIDesc:"css_right ui-icon ui-icon-triangle-1-s",sSortJUI:"css_right ui-icon ui-icon-carat-2-n-s",sSortJUIAscAllowed:"css_right ui-icon ui-icon-carat-1-n",sSortJUIDescAllowed:"css_right ui-icon ui-icon-carat-1-s",sSortJUIWrapper:"DataTables_sort_wrapper",sSortIcon:"DataTables_sort_icon", -sScrollHead:"dataTables_scrollHead ui-state-default",sScrollFoot:"dataTables_scrollFoot ui-state-default",sFooterTH:"ui-state-default",sJUIHeader:"fg-toolbar ui-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix",sJUIFooter:"fg-toolbar ui-toolbar ui-widget-header ui-corner-bl ui-corner-br ui-helper-clearfix"});h.extend(j.ext.oPagination,{two_button:{fnInit:function(e,j,m){var k=e.oLanguage.oPaginate,n=function(h){e.oApi._fnPageChange(e,h.data.action)&&m(e)},k=!e.bJUI?'<a class="'+ -e.oClasses.sPagePrevDisabled+'" tabindex="'+e.iTabIndex+'" role="button">'+k.sPrevious+'</a><a class="'+e.oClasses.sPageNextDisabled+'" tabindex="'+e.iTabIndex+'" role="button">'+k.sNext+"</a>":'<a class="'+e.oClasses.sPagePrevDisabled+'" tabindex="'+e.iTabIndex+'" role="button"><span class="'+e.oClasses.sPageJUIPrev+'"></span></a><a class="'+e.oClasses.sPageNextDisabled+'" tabindex="'+e.iTabIndex+'" role="button"><span class="'+e.oClasses.sPageJUINext+'"></span></a>';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<n;l++)if(k=j[l].firstChild)k.className=0===e._iDisplayStart?h.sPagePrevDisabled:h.sPagePrevEnabled,k=k.nextSibling, -k.className=e.fnDisplayEnd()==e.fnRecordsDisplay()?h.sPageNextDisabled:h.sPageNextEnabled}},iFullNumbersShowPages:5,full_numbers:{fnInit:function(e,j,m){var k=e.oLanguage.oPaginate,l=e.oClasses,n=function(h){e.oApi._fnPageChange(e,h.data.action)&&m(e)};h(j).append('<a tabindex="'+e.iTabIndex+'" class="'+l.sPageButton+" "+l.sPageFirst+'">'+k.sFirst+'</a><a tabindex="'+e.iTabIndex+'" class="'+l.sPageButton+" "+l.sPagePrevious+'">'+k.sPrevious+'</a><span></span><a tabindex="'+e.iTabIndex+'" class="'+ -l.sPageButton+" "+l.sPageNext+'">'+k.sNext+'</a><a tabindex="'+e.iTabIndex+'" class="'+l.sPageButton+" "+l.sPageLast+'">'+k.sLast+"</a>");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<m?(r=1,k=l):n<=k?(r=1,k=m):n>=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?'<a tabindex="'+e.iTabIndex+'" class="'+B.sPageButton+'">'+e.fnFormatNumber(m)+"</a>":'<a tabindex="'+e.iTabIndex+'" class="'+B.sPageButtonActive+'">'+e.fnFormatNumber(m)+"</a>";m=0;for(k=M.length;m<k;m++)u=M[m],u.hasChildNodes()&&(h("span:eq(0)",u).html(t).children("a").each(L),u=u.getElementsByTagName("a"),u=[u[0],u[1],u[u.length-2],u[u.length-1]],h(u).removeClass(B.sPageButton+" "+B.sPageButtonActive+" "+B.sPageButtonStaticDisabled),h([u[0],u[1]]).addClass(1==n?B.sPageButtonStaticDisabled: -B.sPageButton),h([u[2],u[3]]).addClass(0===l||n===l||-1===e._iDisplayLength?B.sPageButtonStaticDisabled:B.sPageButton))}}}});h.extend(j.ext.oSort,{"string-pre":function(e){"string"!=typeof e&&(e=null!==e&&e.toString?e.toString():"");return e.toLowerCase()},"string-asc":function(e,h){return e<h?-1:e>h?1:0},"string-desc":function(e,h){return e<h?1:e>h?-1:0},"html-pre":function(e){return e.replace(/<.*?>/g,"").toLowerCase()},"html-asc":function(e,h){return e<h?-1:e>h?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<e.length;k++){h=e.charAt(k);if(-1=="0123456789.".indexOf(h))return null;if("."==h){if(j)return null;j=!0}}return"numeric"},function(e){var h=Date.parse(e);return null!==h&&!isNaN(h)||"string"===typeof e&&0===e.length?"date":null},function(e){return"string"===typeof e&&-1!=e.indexOf("<")&&-1!=e.indexOf(">")?"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 deleted file mode 100644 index 7e43d4b..0000000 --- a/wp-content/plugins/advanced-access-manager/media/js/jquery.treeview.js +++ /dev/null @@ -1,123 +0,0 @@ -/* - * 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('<div class="'+a.hitarea+'"/>').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 = $("<li/>").attr("id", this.id || "").html("<span>" + this.text + "</span>").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 = $("<ul/>").appendTo(current); - if (this.hasChildren) { - current.addClass("hasChildren"); - createNode.call({ - classes: "placeholder", - text: " ", - children:[] - }, branch); - } - if (this.children && this.children.length) { - $.each(this.children, createNode, [branch]) - } - } - } - $.ajax($.extend(true, { - url: settings.url, - dataType: "json", - data: { - root: root - }, - success: function(response) { - child.empty(); - $.each(response, createNode, [child]); - $(container).treeview({ - add: child - }); - } - }, settings.ajax)); - } - - var proxied = $.fn.treeview; - $.fn.treeview = function(settings) { - if (!settings.url) { - return proxied.apply(this, arguments); - } - var container = this; - if (!container.children().size()) - load(settings, "source", this, container); - var userToggle = settings.toggle; - return proxied.call(this, $.extend({}, settings, { - collapsed: true, - toggle: function() { - var $this = $(this); - if ($this.hasClass("hasChildren")) { - var childList = $this.removeClass("hasChildren").find("ul"); - load(settings, this.id, childList, container); - } - if (userToggle) { - userToggle.apply(this, arguments); - } - } - })); - }; - -})(jQuery); \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/media/js/properties.js b/wp-content/plugins/advanced-access-manager/media/js/properties.js deleted file mode 100644 index f128aa7..0000000 --- a/wp-content/plugins/advanced-access-manager/media/js/properties.js +++ /dev/null @@ -1,64 +0,0 @@ -CodeMirror.defineMode("properties", function() { - return { - token: function(stream, state) { - var sol = stream.sol() || state.afterSection; - var eol = stream.eol(); - - state.afterSection = false; - - if (sol) { - if (state.nextMultiline) { - state.inMultiline = true; - state.nextMultiline = false; - } else { - state.position = "def"; - } - } - - if (eol && !state.nextMultiline) { - state.inMultiline = false; - state.position = "def"; - } - - if (sol) { - while (stream.eatSpace()) - ; - } - - var ch = stream.next(); - - if (sol && (ch === "#" || ch === "!" || ch === ";")) { - state.position = "comment"; - stream.skipToEnd(); - return "comment"; - } else if (sol && ch === "[") { - state.afterSection = true; - stream.skipTo("]"); - stream.eat("]"); - return "header"; - } else if (ch === "=" || ch === ":") { - state.position = "quote"; - return null; - } else if (ch === "\\" && state.position === "quote") { - if (stream.next() !== "u") { // u = Unicode sequence \u1234 - // Multiline value - state.nextMultiline = true; - } - } - - return state.position; - }, - startState: function() { - return { - position: "def", // Current position, "def", "quote" or "comment" - nextMultiline: false, // Is the next line multiline value - inMultiline: false, // Is the current line a multiline value - afterSection: false // Did we just open a section - }; - } - - }; -}); - -CodeMirror.defineMIME("text/x-properties", "properties"); -CodeMirror.defineMIME("text/x-ini", "properties"); \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/readme.txt b/wp-content/plugins/advanced-access-manager/readme.txt deleted file mode 100644 index f65e6b5..0000000 --- a/wp-content/plugins/advanced-access-manager/readme.txt +++ /dev/null @@ -1,458 +0,0 @@ -=== Advanced Access Manager === -Contributors: vasyl_m -Tags: security, login, access manager, access, access control, capability, role, user, post filter, category -Requires at least: 3.4.2 -Tested up to: 3.9.1 -Stable tag: 2.8.3 - -The powerful and easy-to-use tool to improve security and define access to your -posts, pages and backend areas for single blog or multisite network. - -== Description == - -**Advanced Access Manager** (aka **AAM**) is known nowadays as one of the best -access control and security enhancement tool. It is easy-to-use and at the same -time very powerful plugin that gives you the flexible control over your single -blog or multisite network. - -With **AAM** you can control access to different areas of your website like posts, -pages, categories, widgets or menus. The access can be defined for any user, role -or visitor. - -Below is the list of highlighted features that has been implemented and proved in -current **AAM** version: - -**Secure Admin Login**. -Control the login process to your website. Define the number or possible login -attempts, trace the failed login request's geographical location, lockout IP -addresses for potential hacker attacks. - -**Control Access to Posts, Pages or Categories**. -Restrict access to your posts, pages, custom post types of categories for any -user, role or visitor. Define whether the viewer can ''see'', ''read'' or ''comment'' -on any post or page. For more extended list of possible options consider to get -the [AAM Plus Package](http://wpaam.com/aam-extensions/aam-plus-package/). To -learn more about this feature check our -[Posts and Pages Tutorial](http://wpaam.com/tutorials/posts-pages-general-overview/). - -**Control Access to Media Files**. -Define your custom access to media files for any user, role or visitor. The feature -works without any extra configurations to your server .htaccess file. Find more -information about this topic in our -[Tutorial](http://wpaam.com/tutorials/control-access-to-media-files/). - -**Manage Roles and Capabilities**. -Manage the list of roles and capabilities. This feature has been designed and tested -by hundreds of experienced WordPress user and developers. It gives you possibility -to create, update or delete any role or capability. For security reasons, this -feature is limited by default but can be easily activated. Read more about it in -our [AAM Super Admin Tutorial](http://wpaam.com/tutorials/aam-super-admin/). - -**Track User Activity**. -Track logged in user activities like when user was logged in or logged out. Explore -more tracking options with [AAM Activities](http://wpaam.com/aam-extensions/aam-activities/). - -**Filter Backend Menu**. -Control access to backend menu (including submenus). For more information check -[How to Manage Admin Menu](http://wpaam.com/tutorials/how-to-manage-admin-menu/). - -**Filter Metaboxes and Widgets**. -Filter available metaboxes or widgets for any user, role or visitor. - -And many, many more... - -The **AAM** has multi-language UI: - - * English - * German (by Kolja www.Reggae-Party.de) - * Spanish (by Etruel www.netmdp.com) - * Polish (by Gustaw Lasek www.servitium.pl) - * French (by Moskito7) - * Russian (by Maxim Kernozhickii www.aeromultimedia.com) - * Persian (by Ghaem Omidi www.forum.wp-parsi.com) - * Norwegian (by Christer Berg Johannesen www.improbus.com) - -== Installation == - -1. Upload `advanced-access-manager` folder to the `/wp-content/plugins/` directory -2. Activate the plugin through the 'Plugins' menu in WordPress - -== Frequently Asked Questions == - -= What is "Initiate URL" button, under "Metaboxes & Widgets" Tab? = - -Sometimes list of additional metaboxes is conditional on edit post page. Like e.g. -display custom metabox "Photos" only if Post Status is Published. Access Manager -initiates the list of metaboxes for each post in default status ("auto-draft"). -That is why you have to manually initialize the URL to the edit post page where -the list of additional metaboxes can be picked by AAM. - -== Screenshots == - -1. General view of Access Manager -2. List of Metaboxes to Manage -3. List of Capabilities -4. Post/Page Tree View -5. ConfigPress - -== Changelog == - -= 2.8.3 = -* Improved ConfigPress security (thanks to Tom Adams from security.dxw.com) -* Added ConfigPress new setting control_permalink - -= 2.8.2 = -* Fixed issue with Default acces to posts/pages for AAM Plus Package -* Fixed issue with AAM Plugin Manager for lower PHP version - -= 2.8.1 = -* Simplified the Repository internal handling -* Added Development License Support - -= 2.8 = -* Fixed issue with AAM Control Manage HTML -* Fixed issue with __PHP_Incomplete_Class -* Added AAM Plugin Manager Extension -* Removed Deprecated ConfigPress Object from the core - -= 2.7.3 = -* Added ConfigPress Reference Page - -= 2.7.2 = -* Maintenance release - -= 2.7.1 = -* Improved SSL handling -* Added ConfigPress property aam.native_role_id -* Fixed bug with countryCode in AAM Security Extension - -= 2.7 = -* Fixed bug with subject managing check -* Fixed bug with update hook -* Fixed issue with extension activation hook -* Added AAM Security Feature. First iteration -* Improved CSS - -= 2.6 = -* Fixed bug with user inheritance -* Fixed bug with user restore default settings -* Fixed bug with installed extension detection -* Improved core extension handling -* Improved subject inheritance mechanism -* Removed deprecated ConfigPress Tutorial -* Optimized CSS -* Regenerated translation pot file - -= 2.5.2 = -* Fixed issue with AAM Media Manager - -= 2.5.1 = -* Extended AAM Media Manager Extension -* Adjusted control_area to AAM Media Manager -* Fixed issue with mb_* functions -* Added Contextual Help Menu -* Updated My Feature extension - -= 2.5 = -* Fixed issue with AAM Plus Package and Multisite -* Introduced Development License -* Minor internal adjustment for AAM Development Community - -= 2.5 Beta = -* Refactored Post & Pages Access List -* Extended ConfigPress with Post & Pages Access List Options -* Refactored internal UI hander -* Fixed issue with Restore Default flag and AAM Plus Package -* Added LIST Restriction for AAM Plus Package -* Added ADD Restriction for AAM Plus Package -* Filter list of editable roles based on current user level -* Gives ability for non-admin users manage AAM if admin granted access -* Removed Backup object. Replaces with Restore Default -* Merged ajax handler with UI manager -* Implemented Clear All Settings feature (one step closer to Import/Export) -* Added Error notification for Extension page -* Fixed bug with Multisite and AAM Plus Package ajax call -* Regenerated language file -* Fixed bug with non-existing term - -= 2.4 = -* Added Norwegian language Norwegian (by Christer Berg Johannesen) -* Localize the default Roles -* Regenerated .pod file -* Added AAM Media Manager Extension -* Added AAM Content Manager Extension -* Standardized Extension Modules -* Fixed issue with Media list - -= 2.3 = -* Added Persian translation by Ghaem Omidi -* Added Inherit Capabilities From Role drop-down on Add New Role Dialog -* Small Cosmetic CSS changes - -= 2.2.3 = -* Improved Admin Menu access control -* Extended ConfigPress with aam.menu.undefined setting -* Fixed issue with Frontend Widget -* Updated Polish Language File - -= 2.2.2 = -* Fixed very significant issue with Role deletion -* Added Unfiltered Capability checkbox -* Regenerated language file -* Fixed issue with language encoding -* Fixed issue with Metaboxes tooltips - -= 2.2.1 = -* Fixed the issue with Activity include - -= 2.2 = -* Fixed issue with jQuery UI Tooltip Widget -* Added AAM Warning Panel -* Added Event Log Feature -* Moved ConfigPress to separate Page (refactored internal handling) -* Reverted back the SSL handling -* Added Post Delete feature -* Added Post's Restore Default Restrictions feature -* Added ConfigPress Extension turn on/off setting -* Russian translation by (Maxim Kernozhitskiy http://aeromultimedia.com) -* Removed Migration possibility -* Refactored AAM Core Console model -* Increased the number of saved restriction for basic version -* Simplified Undo feature - -= 2.1.1 = -* Fixed fatal error in caching mechanism -* Extended ConfigPress tutorial -* Fixed error for AAM Plus Package for PHP earlier versions -* Improved Admin over SSL check -* Improved Taxonomy Query handling mechanism - -= 2.1 = -* Fixed issue with Admin Menu restrictions (thanks to MikeB2B) -* Added Polish Translation -* Fixed issue with Widgets restriction -* Improved internal User & Role handling -* Implemented caching mechanism -* Extended Update mechanism (remove the AAM cache after update) -* Added New ConfigPress setting aam.caching (by default is FALSE) -* Improved Metabox & Widgets filtering mechanism -* Added French Translation (by Moskito7) -* Added "My Feature" Tab -* Regenerated .pot file - -= 2.0 = -* New UI -* Robust and completely new core functionality -* Over 3 dozen of bug fixed and improvement during 3 alpha & beta versions -* Improved Update mechanism - -= 1.9.1 = -* Fixed bug with empty event list -* Fixed bug with direct attachment access -* Reverted back the default UI design -* Last release of 1.x AAM Branch - -= 1.9 = -* AAM 2.0 alpha 1 Announcement - -= 1.8.5 = -* Added Event Manager -* Added ConfigPress parameter "aam.encoding" - -= 1.8 = -* Fixed user caching issue -* Fixed issue with encoding -* Clear output buffer to avoid from third party plugins issues -* Notification about new release 2.0 - -= 1.7.5 = -* Accordion Fix - -= 1.7.3 = -* Fixed reported issue #8894 to PHPSnapshot -* Added Media File access control -* Extended ConfigPress Tutorial - -= 1.7.2 = -* Fixed CSS issues - -= 1.7.1 = -* Fixed issue with cache removal query -* Silenced Upgrade for release 1.7 and higher -* Removed Capabilities description -* Added .POT file for multi-language support -* Silenced issue in updateRestriction function -* Silenced the issue with phpQuery and taxonomy rendering - -= 1.7 = -* Removed Zend Caching mechanism -* Silenced the issue with array_merge in API model -* Removed the ConfigPress reference -* Created ConfigPress PDF Tutorial -* Moved SOAP wsdl to local directory - - -= 1.6.9.1 = -* Changed the way AHM displays - -= 1.6.9 = -* Encoding issue fixed -* Removed AWM Group page -* Removed .htaccess file -* Fixed bug with Super Admin losing capabilities - -= 1.6.8.3 = -* Implemented native WordPress jQuery UI include to avoid version issues - -= 1.6.8.2 = -* Fixed JS issue with dialog destroy - -= 1.6.8.1 = -* Fixed Javascript issue -* Fixed issue with comment feature - -= 1.6.8 = -* Extended ConfigPress -* New view -* Updated ConfigPress Reference Guide - -= 1.6.7.5 = -* Implemented alternative way of Premium Upgrade -* Extended ConfigPress - -= 1.6.7 = -* New design - -= 1.6.6 = -* Bug fixing -* Maintenance work -* Added Multisite importing feature - -= 1.6.5.2 = -* Updated jQuery UI lib to 1.8.20 -* Minimized JavaScript -* Implemented Web Service for AWM Group page -* Implemented Web Service for Premium Version -* Fixed bug with User Restrictions -* Fixed bug with Edit Permalink -* Fixed bug with Upgrade Hook -* Reorganized Label Module (Preparing for Russian and Polish transactions) - -= 1.6.5.1 (Beta) = -* Bug fixing -* Removed custom error handler - -= 1.6.5 = -* Turn off error reporting by default -* More advanced Post/Taxonomy access control -* Added Refresh feature for Post/Taxonomy Tree -* Added Custom Capability Edit Permalink -* Filtering Post's Quick Menu -* Refactored JavaScript - -= 1.6.3 = -* Added more advanced possibility to manage comments -* Change Capabilities view -* Added additional checking for plugin's reliability - -= 1.6.2 = -* Few GUI changes -* Added ConfigPress reference guide -* Introduced Extended version -* Fixed bug with UI menu ordering -* Fixed bug with ConfigPress caching -* Fixed bugs in filtermetabox class -* Fixed bug with confirmation message in Multisite Setup - -= 1.6.1.3 = -* Fixed issue with menu - -= 1.6.1.2 = -* Resolved issue with chmod -* Fixed issue with clearing config.ini during upgrade - -= 1.6.1.1 = -* Fixed 2 bugs reported by jimaek - -= 1.6.1 = -* Silenced few warnings in Access Control Class -* Extended description to Manually Metabox Init feature -* Added possibility to filter Frontend Widgets -* Refactored the Option Page manager -* Added About page - -= 1.6 = -* Fixed bug for post__not_in -* Fixed bug with Admin Panel filtering -* Added Restore Default button -* Added Social and Support links -* Modified Error Handling feature -* Modified Config Press Handling - -= 1.5.8 = -* Fixed bug with categories -* Addedd delete_capabilities parameter to Config Press - -= 1.5.7 = -* Bug fixing -* Introduced error handling -* Added internal .htaccess - -= 1.5.6 = -* Introduced _Visitor User Role -* Fixed few core bugs -* Implemented caching system -* Improved API - -= 1.5.5 = -* Performed code refactoring -* Added Access Config -* Added User Managing feature -* Fixed bugs related to WP 3.3.x releases - -= 1.4.3 = -* Emergency bug fixing - -= 1.4.2 = -* Fixed cURL bug - -= 1.4.1 = -* Fixed some bugs with checking algorithm -* Maintained the code - -= 1.4 = -* Added Multi-Site Support -* Added Multi-Language Support -* Improved checking algorithm -* Improved Super Admin functionality - -= 1.3.1 = -* Improved Super Admin functionality -* Optimized main class -* Improved Checking algorithm -* Added ability to change User Role's Label -* Added ability to Exclude Pages from Navigation -* Added ability to spread Post/Category Restriction Options to all User Roles -* Sorted List of Capabilities Alphabetically - -= 1.3 = -* Change some interface button to WordPress default -* Deleted General Info metabox -* Improved check Access algorithm for compatibility with non standard links -* Split restriction on Front-end and Back-end -* Added Page Menu Filtering -* Added Admin Top Menu Filtering -* Added Import/Export Configuration functionality - -= 1.2.1 = -* Fixed issue with propAttr jQuery IU incompatibility -* Added filters for checkAccess and compareMenu results - -= 1.2 = -* Fixed some notice messages reported by llucax -* Added ability to sort Admin Menu -* Added ability to filter Posts, Categories and Pages - -= 1.0 = -* Fixed issue with comment editing -* Implemented JavaScript error catching \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/screenshot-1.png b/wp-content/plugins/advanced-access-manager/screenshot-1.png deleted file mode 100644 index e93461896197b2496d4d7caf2e7bbb90a3b55f98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42343 zcmcG$XH-*L)CC$93t*+#Xev!WK<OQ^(0dg_xhRNqLvJC7q6Vcm=}7M=C3Ns2N|Rm! z2}LPVL!<@>32z^~_iOJPZ;bcjbKC;v<m`RU*?X<I=A7%Gb+uJa(Oss4!C<G<RPX7- zU^ECA?6Aj)W8iNr@*SPP{|>q7tK5N=bh9piUubNVw3J}5PvP`?R!70_w9iyc-C(fO zU!Z>vwYub4!(dr^YWI{3y)Bl<kH2Rg+Sy*c5I1q-ic{oYca@6HW-^>QKX{LkVt3;f z=E3K~kKVHR5t-=o&>4D<!!Pf1J-x^HiKggH$WfZOiMWZKIr-$s@-N@VYHYl0S119g zbI6rsk=Y3wVN#>tuVfj#a~;9=5SRuGb~|Gzzo>`{edOS`h-V%I&V!#|4DYy3AN+Ki zE~4env8sonr2c%!cbnn(!B1C?s!sj+t1Orr>%mWfOjrIr+hHznSD-)of&a%RdoB|j z8@ojCR4TG;vWOEhx7UD%)h$nyaN_q^9Q>5s{Il+KAa1Imlvxg4?mRAIig8S+aG9JK zhK{@4^<Dv4D`r2ax;Rv5>p=IKC<C*9L2mp;FoZr12?=|DDDV;Za^(N<ozQhxOYYN3 ze4nRQiO`0I&eO&_Ri&W0)YmEx4e{xzu?k<B3diY2&-HA{iF=qshtPFuC@|e+Xx=yL zr}_tqseV;uWjJ5MXI=KX<sA4pA}yUu<tihGnrc==+o1xJYtd2-af0Mq>PncN$`}h4 za0pY=T&iEUbL=Z(Be_I9%lwnvne>Q)C1kO-jm@lYo%z|N;o@kU&Nwyl7Qso&e?s+) zq|!N~+`aa9j^yKr@W=&kq0(?n9l0RAEM#$-ZmD#S{F05gpeY1iS}!q+soUgVeh-ET zY$cbuEq`iFZ1vYnQ!u|Q;dp&>30ox|9Npu^=JHZK$NIHw)K>zFMDy1r#zFSs^PXn= zl|D{X-|!~+qGj4b(#sUf;L4q)=UI6rq{@3?Eq%gNi|w7Ipxx>+LYmqbMKnbczjR_L zjesaSH#f4QAPfeLksy^0WlLOZ?MWLuq2XCQwLu%*xf3)W5L|6sH9jfXy$Vj(O{#3^ zL1%JG?s49!mq9gHVkqVomc+gu)b}gYt#qmt*$?SPAa1!WnNxjBmx(NcDmLr8wFGc} zSixEplT29){j83~HeTLYI?udj6VVedNR;Y8IW~RVTC9~wzsTjQ&C1OCGYZZA<*jDD z0u?#63}+d`@=ZEyghdX{fjAO4#jtT<QJ*6;TA6D7RwY`<V&>W;<vC7woam7MAcf!3 zLccBa(Ud~28RN}~fUn!TVCXA88I6NXZr5@R85kzkPpYr9%<{ZmlRm9$U_XTv^k8H; z&dt}ndwkPKPc1|fd)8BPmN2cTEMbF63K^K3CC<^}CK)|W$1Xf5$(ue5&NsxD&&X2v zktQrY`Gh^Gss?=$m4e#OLmCb47>)#_=6Rx$;HPoIdE>%Gin_}Til06S+{phyE8wv2 z$ap-VJF@eZL!uvY)U1%q+JOC=+4BYpDKSR_POPq`+x&O&dX;TbdRrChf%J`hhOgt2 zc*?X~xPQqh)$)6x2m30}pUVftiJ5Cgod3iP-D`|2e<D*B+y8ZV@!%H_z~Tu(52~C~ zZon~`mnEGY9l+#a=}&H0Hk$qCa{c1P2CMuVX<3Nj(uQ`#Dd?cVcMAi#CVmVDp(E-) zLI(`?e-$bh4ULUUs_;iY{nub-ZQCBjE#me|)3nw-zsR)w+c5N8uQP8h4n^l^C8;M# zIA!^)|H4S5g4t?(d37o~fU=9pdA3F=Ig<4?<Nn*3J{6AGaD`pfM#>i4w86L1Dc=X~ z(onfviM4Ru=u_zolU;f0pz)U67?;P@y*yfOGhAe<Z($)M_^{%p%LH^M)H@4|3cquB z3Gnl085J7$mzc}qqb{kjUQtZ*UqhP(?97UIt(d{f`6wkNlla2uU&oA#9$0By3%x8J z1$VBwzcq<M!3|^>5?cBs7u2G8)Z&HARS(V_QR#r~cuC8cWss}=No5A4CD&ZeXJAIv zZ8Y6Nb<5YhCVX<$J{t3Oog4FC?-H>eybkBouW~l8*`9hkyFDFVC7unQo5uHKDPQ{7 zCu^!dp!w?B*x3A%4Wiy>|9XEvaR2KC%bUT<&GUkWdbF$_Ywf%jxSnUuU6S|R;Q4^& z8Y(gs1-CAIbnEFgBSuxyxK~<{rDgBx_58^9Tw&eMGplr=Tp6g+)VAPtl<7=^`ARdr zaEyVD{LsrVk=r8ktWpU~_B7qwtJAYl8bYI7JUXe4elOFO+IiDro*y|LXMK(LmKtl< zXAwFm!3Gv8y*T!6__~M;oh`1y?g@FRv?(rHTSo2MyGxHd^2}w>h==c3rS*@Ux@@hH z{et`3L87iyc1gQ*^RGa;wKh&}zqgwDgTMF<YkJQ~qbN(3PWfX0<nuv(tqHk}-n*`S z_b(*SIz6vmX(T)Q%%yla=5PO#=(w7j_9-r+2<JrSB_%?Cdsu1xn!1~V1>Zj@UiDqR zL2id#ZVJ!-cB`V}sk2UBLzvg5-U{RN5uATefGQJ3KVZnnBmr(STw?Cv@cbD^!1jl6 zerN8;7SoS^J+CLP)U8!DQM9NVxrzzBPQ?Qfjs;%C38TXcah*L8X-LG+IkefTOYZjX z^&*7{qQ<BCZ+mbh206;cfNQt(TwA@*Iv7|}<ymY{hSn6cbE#|bO>GIbseG?lUEd@S z_P(*W#2jb${`}I}Aq8W{K`12u^+GRGnR4;q@xv8%=Q(#MM3it^z;1r=A$60Kj*gC? zlAk%zbao<HNb(kjClxXMO^viN?!@QiOO3Y-Fnx83CC&qb0ZFmH%EeN8F)uUAd3<jj zu7qm1ZmoYW+>%i(?oM*6pJ0eQpP_*wV{Dhh!)PqCN^fQE=Hwf%@zlj?Dvr9tO_<cV zoHZ-1vFqX6WVs@KY$)~`(c{@yq*nhLQPeVck7V$De<gz|&$TeAE-}fRqmw3dibW!3 zcXJ7!*xbHZr_I+l+w7q~MQqxi*t-FM4}WL8uw-dcRl~ENcM>F=6300keK!}|!K%K| z%I;TGtn^`XzVC~3@PI7bbKJuO-Z4JkmkBM!PuZbk)4~?@4^B({fR(egj(mDdFh(FI zu_65EOqYw`qJ1Vv%>*b807#<t_Pn5@*4ETs?i}*U?`lc|Wn96c4yC9wMv<pZgG4y- zY3*l<z#?mjV~Kbg(kN$3YOnRTVQY=t#HXOJpQ$SN%4L*0zTRnerLf*NeE(v{BroH> zw2@&->*RS4Hj6reJRwW!<5wwI=BjZ^BCSjs9y__RmWF2>6z<+BXZB1f(ZsS2rS>%P z8~E{1De}Pz;k=7dxE!0Ra4h?rjHvnJ!BzQ$ut;<js@LP_kk6jeLr*eIWnIwXRL9)I zsSbCf62aMg&|@3FhiCV)oON*{87L7-(rf*Xrc4&DTZX4Kp(3hVe|HW_COw|zT&~$E zz2E6<xnH>*Zoq~uP@Uq6Ze-uhHZ_Uq&+77;MDn`LbypS-&HeszMzZkSLeHh(`wYAZ z1@)zN47m}X{`xy;lbM-$seH5P0^WJ{Nk<IdQaIS2oBMul!m9J1Hs04rZU1;dFs@El za87Y1ldbvd_Q<WHlFQy!n~3}7uRGlL9Py$lJ+b-naJ^P~`_9e1l>q8vn%IWgJi-;F z&6R-EkCZRolrQY^dN$+TgDV#d<4f}#e&5?fyJ_hmD+E_on{gRidI>l;X7@4w(yx;% zaqIG)5*cC4gK<kW6mpHtc$mEj)%AUP0CoEHCgSKOdTR5G-^RUI4_SjcOI>r;gs^Np z)m2D@aA9yov9u}N#1q`QlDx9IwAM*zIANkp{j()GYFP;U0#AWU^7J;jWt5jgul2Ny z7iRWO`>(p7fC~w-Ud}(fV*NR>M47L@>WGbSMepA~Hk<Zlg^x684BgvX@oIuAI^o3p z?q82d$Kp7kJxNGOtD5i?m|ndg_>gIY_eMx8xzU)(ZEF5RGL=G}6XOzo$F32c-&!KL zL*@Q5-c(EFj}j&d%UP{CnNXX~?%3Gt$nGyq$B8z0TDgu3vmgR6;s~}K{+6ab&9P}) za$-wOV`9|8LvVP4#gZmLjbU!bnA9^Y-?(pvC@DP~^;^c8b5Z=Q25Df9a9=2+J7wYW zz*Zt}FsVGm*J)}a-!7pfKFz~!2irvD=1p;rV)YtBtbu&f2@<4}Mpu#)A|u&<tzG2F z_lxisiDgf^F4x7TVVv+C=TulfsX5ln#$jH!fvmZFUM^o}YW}Q3LomO=VHIN9pq1AJ zvuDrE+`7bFw?=J~@HrXtw>C$7Pjkfw1U~zc&2d942xpk%IVeP&i`qyF_X}0xcrxyJ z$|Rq{a?+2D?kl(iR&Y&X)Eo5<T8rY?!OfvTpQsixX_1mtY-i`&wJENz)}(Fn&;mYd z;c&U+LQP+dV@chLOwC5W#%y6}V_9XT&i;>*w?p;R-6hO1@t;K0e%*LSkG3qqnrgn2 zdH3~c%<JFfry_Q_!n7YH+nrAKB;eZVh3l_iEl~}uo+DOk<!O}fMXK3_hVr}fnf+O6 zjCeN#Uq|`luG19T6>6)+{Qi&eGi4UrKATo^-GixID@*gvxsjyArN?K9b5qI;HnkF@ z-7mYon|2h_Z$BwTUo2kSc^1y$$zH0kTnT+)qOvxUE4Wr+y!7IPK*3vu$wVq?5!E2B zD`n@49B?mg3++~M-&<|%bSQ0j;t*v++1*4pU><EkSqEH)*d-Bb)k@{20E%^Qy3$tB z?<^T~W^~8`zhS~jRw><%&d#nV_om&U((h-B=h9FU6$A|4*%eA@gqyyn<xR|X(@ZWa z>|tZ__D4h;j1zDgv1DKSduqE&@e8~3-18p2wRaj7cFp>?h~jG4<b{X*+q)Uh?AIHv z5rR?;qEc-~HksEhJ1kD>FcB})ZPwFKE+0}#^`4@2JO1T+f~b?$+Wfsz-sERNf**3; zaVSoV>6@giQprSo`QNdNL-_~Uu7Nb+pz+hfXO`JbUPqBqF@_|K=QyV!w{DHfXJhe& zCZ%oo9HIK(cc4V)qOnRtX<ZC>^Sg?S-{X*KUX)ANBE6Mq66pREbdNCS(&;X!N1#f~ zR?fMNnbox3*w}I3|A-uu*cbP9qADoiOVW3%J@lqhbvgqq{F0ZRk+8cTJ@*l1kpvI# zdQTL5q_Uc_*LoV?DqP@_vvfihh1r|a)0@*Dtx#c8Oq>4IEN|hFA~3LiO2%cd@};@T z*yEj=)-7vXE3@Zm6mrlfDC}Hi)9`TuWBmTZy}9<yYN37UnEh(Ko_72eNl%Hghwm82 zG7g*ECzNhl5vbGFobwm;JWA5ncgex#@EnI8_r`S3Sw)MSb?Yzkx%&@;x|0@s=@D81 zMcPK|8(}ZkyJdUcxvTM~7|d?rUE))`CPs&^SR#yb)kWei_9$ubAU5LibQE@4;+iP{ zOT<|2?_ynB*}U3j+M~6`C;W(lVA+e~7bEVTj@((F!}sTSP9nX0W+GJ_X#u9lGgnfJ zdvu>6_le+xkGBIzb(2GFu0Lz~`9z!>cb<#_XzFx|?m3sXNDZj%8dB6JA8c&pNl_>F z$tc&AnmOwG&w42`9%b-HuZ}BoKZ{A#=z-2Uh|yR7k^W?%EeR}Ri9Xuo0UgEhF(akJ z$Fr|jswLAh^2~@=xb(=AD&W`lsiY=?v6Os#DkC%>C$49@=BYlv66{Sea1(mx;i7~J z`yq9JC?7kNXOfpTF76)Rt@SWyQa%$AJvgDAE&6EEdpZ;olTu<{mxzv99L(pm4A{v| z_82xTd-RnKe_5MXRRN$&Cum}~wSIUOB(CEpshAG7lZdB5%0%}O-=*SNUd0`>`|?O% z%%(?wY#@ucy&?C)+9uZ0R(^8c6Ypf3)7m?oxl1#yovm2sP*U^l9c*y27+2vss~+9b z`12LZcVZ?-l>zq%KzPf>o?-~MQJeULRz8EA_q1=Pxt<x892A#<S%rCdZ&E(@3CGk* zeFvv^X*66qkt$29AGkqJNt)bKhJcRfqH?s<PFSKe0K8osKh=H=hEYh9lSRMH@U*Pi z*mP_L*04a``6N#1IGgnoVXU;Xw*2Pcy~!o$3Sr{h-C~R~waUCq0qb3ovmii5eL16O zmMH1s45!yn**0@+=l<m{lX$$66Wv~}uRWhFfgUKc(Wr|}Y1qPPoENsZ5pUs}@AF;x z-#Pn{2~~vQoXcWQ|1v%v0G|5yw)czL1@qTat-ic!r{zul%K?@*2o_?z%!TRJ@c7s4 zzSnc%nXdA@(0sTOx;NKXTRHIhMzVy8XgTt7Ig}r;ZGz$;r`E~s%tV&~l5g}fEESx? z-StrlmIshAYax4^rKrm6?F}>E?njx?26jv@Z~^S2$%^PwpHF+Ty1Qm$ZAP~mcq%_U zuxzUC5m=r~GvOFsX&+2gYa|~5r5%WWLJq@404%ykO?|lgTK)BDHb<>Znbj7?t`n@( zz|%AuP7Jnh1u<=WqII)z@Wkwevh2Bjx5KImDP}$NSM0V)v@q2SP{`qmLoqmef#}Z% z`$2274`1$FGkd;fKI3gxQPKC|!@o5)TfQA<eHJ(#lB<)Zu(rEY+SwM#S#H5Ehj+_9 zYRMIGZ{oyZWri7^dGTqFBA=bcCS?N0+*|^2=MXGgi+HaZ&{+jG(jNP4%rZC?lQfx` zh`Wxb0&o6X==WCQHUl~wQKPM)EWG1&URBxN8*=+3)cysBfTVAsEJ<g|CuqzDa<rl| z!(=)fZ8I1zH-W79#HU_r<4a{~Cpm&JxwWnMl8hgt80tcZRdcXL9<lp!wdAY3a_?sC z*p?%Sw7VPrvtw?XzhGQ8u1V*;V-JVBS(Q16Tq10iol0}Gj2`~P2UNF~*`~O32Pg(V zwPg0%zd2OX<kjVz<`_mK5ZAExQ!MXS`n9@}w@E!*13S}g?xF1apQg=F3go)Yj;5wg z**F1v6e@`qzizw8ICl}I8(p?jaud1hF6yEI(w&pm&zW6w-cz7#<OGkfQ4npaU}ln5 zaC%oJ)e~nYV%1C|{rmHgS)4;@EZ_-n#)CQR^1dU*q3%X=0Ak_wMNVE4Y2l*oeG6lA zs0z`DC5dZIF^QbN@!(@)M#du~hDv&bFJ7+y-Auo<PkO~JkfWLKi1e_DI_@=jYMGJA zH_VaM|M%ZKK^SvA8!yH1rg7msp|Csbotfmi);DgaQTv*N5=}}h3WXXK9-s;d9%tj! z)ZNdclrJoyalCng-M8eGkd#&useNu65ytGfSG{RP39=rLRPCigfVp$@joY5)9&(Rt z>nCS|p}eqmJBhLsJU$fMZo8j1U0{Y6CCs7gn&4r6j<7tnQGb(O;xz!-PwkaNxg6Y@ zy~%Ke{XI9lzWkG}#L9rZ?N!XntY`bDyl;8`{tKVT>Z_%MeONR`sx+L`&UP0I6=Gq3 z{lt6HXO7KHc1WHy_ShkF;nQ^32%-j6d6F#fG^fdNc*|1Z3w4UcWY9r(elCr;>NYwV zt7WMpM6S*VP!LB@5)4~!(R1UmysCpsmM2y=janTNh)rq!rNU|0(zA+9xQQl-uRfHu zogEmg9}4X;&f~SC`kPP3Yb%%Q*Sj$^S4swX5sSmc0#)Ol@S@RvMe?$!sNV39iKSpP zuMVd2=f-;gwNyNM&$K&pp#wf+^ST|}()>J<IVY#*>QIdt-E4Dn(<>aqyzOHSJsZKI z7gkoq%k&tVIEL~u`;@_!rFdc`IIzE_r)QtlVQTIOOcet{-<b0u)kH9~A*cht%Oir# zwzR{uTL&MTTp+$EV^NznH}UX~@Jg$?5FA5XT_0EE*!69dF2%BMtRqOIYgz^5#BnS) z*3E~Uz4_L8aMRDpnJLk0>`qev0)=XxsY6|^?h#)0fgm606s%3V!FO{xPIaz3g>XJF zi!X#L3<vUyP0O2epInMVGFp2dFWef)7*w>zZmsvs?y2o2aPLf>vAp)v<PD0kvH^u# zSf3*?z(P8qti!%3MB~D8do9b?qu|PaRP*N@hWO)4?hJuyUi7%OLY3~qaX7Iw(F)H$ zf8^N%OXfd#L}jGLY?NKHyK=kdLp`#&q`lY;V4plsoxxQ~#+FG!H^<kdCB;_)i+fZ| z`nocqbZ>6hwHMKR&-`xhr!wh)WJ+c?kxsT0g^KOkteIMw3z1PC5x3<WST$FgTO;XN zG=XQ|4fgjhY5x7qI^-TUf=FdAb$RcPTbFLCD{Wnxb9swXT&{=dJ_T4tG)!vhM0p}{ zy+_f-LDwG8#0g-5W@t=#Z(Mda{SAsH4F$@EfoYS%w%u^PfeN^MN$DSfN4~qxBI3^- zhh-T&cyt67VaA29|27+M>CEn7p&P>!CDlIDSjyZ*Fbqh1cR-AQQuWQ=dfI*rV58bU zKR+@%=GG(r0sk=938zAi`V5gyx&^iF3)i}mB&)b#YK9eRtl0B#$E)&wTQQvBa{Ahe z6nDnjVh<dokHNB?<IO!k!C_GaT#%sTT^&mY3;YX8WHGU^qYUbL9%HW_81(xSM*pFi zZVqTT))6q6m--cyEj+$>Lv6j%_QfAb>GM3UvT*zkAI_~uo-nKomErLAbM9cbTD<#5 zn|jCQIr6vj2c{Inw@dv6Mgnl$k5I{ph}G#<ygp&Tq0hl}L42t)J}ATd5hP*VM*M|F zr2hg18}E}EpZ%xtprTQGaqN_1zGu<HO7$n--&<+0JUy%u|8)|eY$vT%K$0*-x9n^T z=-2@EEDrE3An`)isohk8+?kC(NX3ayxe$SSfF@OCM{elt%x8wr;9Z(xhYC&ban`+) zE-6P;Tt4)llLAM46#U8;sm4lq-3K5<+#Yn#erE!lne;~1jt|h_U%&k!F`aM~ks%>; z>)%d5qwS90ZmOU6ItsfT#3SK6QD1Wjy$)!fwxFZ*)?JC>7)W-!&DRIdbKmF!B&v0% zV3pV;Gms(^M@GuMS05#aJH*{EuZ_6}$$q*)?y28FCP+LdHOlj>I>kN{<b(IEpB}d+ zs#F!>EgIIUYJzrs#w1L16-lfemRnC7_LHe)YaFeNgV<@s3u|+Y->6v0fgbG|kG=XJ zZddICaj@-zT5{-~<@*<nH*D?S)`bf=BXt!^wSza^I;|*Qw(eW)pw6!>v2K(DkY8Ws zC+8T`CjCbW5bva9q%c`o{>UsD8h=f5n{dK+T$FMndYdS`@aHk#rY&3$?)Pm>ciUZ> z+CccUp27>;Th4sb=-;-)YtCwJ`vm_(NpcrRC>PI5yGgs`ATw}o^1LGJ7T9XF3;R7+ z=jWPx1X%w_4cD#I$YrdtCx5&}mRYNh-K!Ms=aKxQXr`a=p*=$>TSi)))(D~*B9qX5 zawx@87bcRoMP52`+-<jqna4oZb*`a=nwCIv+rSExcKdBi&oPG$<wFmP>6CHqVO_@u zDUgH=lpLG?MMhNxJatN`56=0}d+#sAW#cD>#>G+Kd7D-|jr^C}&oTfDGt0F63E<$J zG38&ArC=eU<VIzN<ErV^YOGp6{5OY8%7%>LYMpU{ZoBC~Oo`yy-FZUY+YxaXzOm4s ztudVD0tUY>q3L*%iI(koCM{IKM?#zWzLMfVg%jTRVU@F!!V(N7aSeSW>;1%?Y|dw3 z&LN=z-%QJ_(SnCyOn}}0>VBG4`3In^A7!N>Hir3OpOya?_4lI;bHr_gNiGmqlHG|D z<8jc5G=$PTqN-(L70$qZ&#WIz{>p*U{587eP@w<EmOrZV?T-HxqMdU)qWqHH?kB!* zevTm15R&q{nca&tJ@nQZ*k_519sq{@^&$^D_7zfa)88XxnSs3SSuo@<*YW-6UF-fL zH?4WhaB#w{ef9(ilCNo<=ZE6_fW(O3yh3F^S4#J6OoUo{V!ha$w})mn!5qPkP}h%b z>9g*Nk&f@2VkWjHde9%7g4?yCXKl!`vtmbbHl=Mf{BnED$2W_)9>MC~OjA;7b?kq> zZB!5?wSHb+aA{b$JUg^P8y{3LId#oWx3r<?p=iSu^gr4;E~0>|d(FraSF9yydds*m z0Wrn1N?CT(I-KjAqWtUAqrX!;!>7)A8R}m3&h)51p&yMs(8q4`@udvqFK={tWdHpt z^hS*u`Xixwtj2nbfMX!}R&*U`R4`pPa1C~2>2JqzhULog)~`KvoEY$!fX`#vmD<Md zTRq_?Kl;t^Byqip|3SORLb{0fpO+vA-_u?kwtJ+(VwZwBn(*nbh?-D!MkzK-{lkt9 zi7LU>VD88DWhk+*xJ(AAgle(?N?KKmOS^vQ8K-9NW_4+N9ZJhg_TZM-ndFw0^-nxC zy!hYbWjRDs+Y-N_4EmF#Vpv#rAB{Gp%s6K`SL59hosrDn2q9Y5bcuW1ZD!NoLZes4 z>+lRv#BQH0@7`D#$Ogreep3JvZXi_?fK}>x*yvy5zy0&|8lX!$WB3fLC+dB28X?yH z(_@uUKVpMTX~R|&g!O%6UI8(>Q%iE(8dKW1YY%jduu<(JB%q_Jv8FRIT|;N?`z#2P zJ7NX8h}>YvD3GfXgt-a0N_vWj7DMhw<5CO3N&ofG@2T=|%$Tdj=#!*BVw=Ycafe}5 z0AU>YkQROfai1wP?+hr@%EkW%M3SsDDAs1*aE5&pzwWue(}S7`q8GY}hm@tgy*Wim zydCgbs8;(&OC^3zkn<@MbHW)WirGC<-~v08s~uPA&_#O1tr4f1tDW-Q_Pk=0)K5rH zOSK*AqoF^4BSMAUr^P>VD3UL+z7M-~2DSY{?dj7;b1%*)L>xISbvseq;R#7Sd>>gF z3v@oC3GeAsaK@g$k8|8GF+&79Vn&}}c#sMJRr(McNY;HB_kF^J`ug}Gxi2#o!V_>f zYqu;>Zr#O<vTUmuO(r%?I_4e%0paJG*3`Tu`^JT_{dkaO0<%o(y+2*Lnt`T)=9ucg zrnUpfm)S&zlE_+*%v_liMO5R)5>|&tJNc=Dg#A!KECg}a7IM=%fG8<wo8n<yS?@Wd z7JcD@xqBp(oiRMJP_+xdh&+!^q=cpaYVeLEAm9~85}SMR-Olx^%Ihwf7a@g7<geR9 z_rrip#swfrMYgruBv#!PWcims=Tky;0hLtsGUa=j{SZI=j+xBv6adh%pn&dr*Fl@f zDRArzJ1Zb%0Jey&nhbzLj3C0DJwdDw-{hVe4FvNE5zoc^T=jh_Wj6iAX_2ax9hJiQ zM&Fb2#yC(oW&HpYgB$I_r?+1LlVnm?si$jx8N{-X2x{ybcpg|xm*;KIH&oJ%_O-<G za9Vi(JSq(;`q|8Ig)%`SL9=Sz3Ew3_I2{RKw8ThxySm_C9Q)g^_m(X8%d$hod^`sA zRNAM*6`hsgdo#R>kpNei1CY`8InwZ83iCaVg~gaCaP=dJdka8p@LhhCUX>VnN%UKs zM8Axa2Fo8`PlSkX-CG`n*tc*FVc-ZU8GH8S6i>o**!6#)!C+j_!Y%hGEZ8@aMpaA; z#ZHMav>8<?$!^`!PqMJV7c8#Fo4KMdAqHyPY^4DuaD>-o7=q^aRDL)#Lu}ct_4*l& z@DHv1j~71;sH2XHJ<n(KakwV@4wB`P;vygXNf}pc++)yn1@Qrgkh8HSSuT@}uD=p& z6X8}C{;T(+2hpN;$hnG?`~){nEh>3(KM@}gG(TSgB)x=4bqfX!UKe8kCJlbf3(Lo` zi)wAy7FM+^sAiaZjSq3H0hk(vNac#(8bZ2T%D)1_K|)+4B{8s1PaL(=X*mP99g%fT z3LwxVn>Zmd{~ep`@YYz&AK~!ep~kTrgr|u8Gu8WIR+*e?8ydO$5|`POK5)9Zzx-RU zYU~lua+iBu;!5<lqqpi~Uj@y(^$SneK8o${Q})$}1-7I_yE6<P-?;|P-8-YW_pwG^ zbxv(}nq&WI9I@vf`Kjf&3TfzZmXlaiNv$V!XD%tyx<_vP9oP`EPd;2Q-x2CAP6XI{ zQK7b!{q8~K#e3=xYEeDMc6GJ)?wJI1D1Bv=AxQfKV_(fwxl!l)1AkO<+2xNfAV-5m zz>W>REWf%{vmlaFC2{73f+d@l>+VACaiO#l4_pqiqI4yboD(VZwrM&{7N`Fck{;CV z{&9Zk--~9DIkXD+Y0+*k#@AuZeKab#`ThmOd|o!aQ1$0`jeR!diq!4Le@5U(hSffd zozTy%y1!timY65~>;2>JOX>gC5Q_>{nbA=tex#KrGn&{Eb0?q%Kk(I*_v{}8?z9{8 zI_f50`+k}zi3X@#0?1+f@L5vV9h6JZ?&8^p<~$$+Tsg%L>;~{EXH13Oh;7RCfm|I) zw>l>KmmvZ`X&O?BKY~U3DT4YQ9$g2xa`>y$Z1x%ph-O;emWN6U;C96(xip#r4}pje zAo!e|J`$=XC&sj+&x5cnQgwJ|;i;gxL<5kea~c5Hg7}hw99p_k?YUF6yNiWKTx9#V z`Z87U`fFVYqAEfS8~ybtUU%z$Hm@-&<9T&DkVf>>lDVGL1SZCH5$}A6l9EB=Ns}mH zMqcd-ahCaI3J5mErWBAE(`zGI+C#Mm3*9E5%vJWZ?;1R*p|GS@ol4xN_QdtyRf(E+ z>$#_rI6o#VL&qBp5sd8KKMujw8`HVMsCev7;D+ZFt(o~n4GNhQ|K+so_lhMa1DVyz zu*S<$&(a}8_++yL6dp;QI=Cn)brpTPYbqw!I=`;e5uF*NfCnSHSnU`I8H&#jWXPrE zKys3JpT!K@C2gsRm<L~tmO|R!)i0$7*~bzf(kzv5_FrdQY8HDxyttGfrF_6#_qn^` zq-a^0N$=H$^7J@GKU4;c?tkH+UV#$acae1&+_zIe=qF@GKVDL>gQwhh!(%D-JiD;i zMuXIcjE?)f3ZQz-O@Kx<=4>*M&2cU#GuzSW;P%}9IbY1Fr*YlZ6(j(SXdW#`KJ$RB z^0d+7ry$Iis(F4r2L{dJv^{q6;$PIWg_$u>y#|-)RqWp76&^mvZkvY0m?o&rowCPO z<U6UAc1cc--MEx02sWISOqA4Z+9WZ%sPTdVKskCkWPWVa15!UmE#f=Kw%6a)dMtI^ zzhG`1#WdRA9_cZgA~vBs+ZV~0;7rB}|9Wx!j6|W&=JM#k@Uel%vm!y65<b!A91g3@ zHT6k5yC?j1oNo#~&f(v?TnH$O{0eRNBKLlx<7}CZ6DV|JK9)97an4R1X>I7mq*Gcm zFVUAjO=FH$7CMq&w&#YMgxQ~Q0AQ~zPKdd<aNf+1Q0dxs^>quoQTezhzMa{`%!)zD zF1u&*ooM&RY%M#6<_7Vc`)|*C3cP0*aLSCTPfH8C;<Hp-H3RaB$gCrH=p-ayp;4@% zQNK_uGLyC#*U?-FkeB{?+W(DSr}s_ro!`nc)fLMepQcx<cJM|*$UQ>AS@0irR0AGV zr4a(=XjK(mDCf|c*|hb*6{Hv3P%R(UcUZlDJjWQu^6;c0w@gKM)`7yp=Tg7=%4sx) zoio(!$imE5aQp4bfJvb|CHyG;`S*|ch$D98fO<<_xz>wxpUisf!GFbyu2RMbL@+15 zu{Y;9m*d*_a+4ob6@(1%zL^M@ecF2kjx&@X)UXS5-zp<8a-}`CmXQEu_g?_z6=}x? z?;~G}mW~2l)fxyGYk)3KGJ5G=S#VuOWH!EOFT3Vw;Y9{1cJl;{G=q_ldomgK()>mU zO10M_d3;4e2h}o!8@KP2)cm@<^Yb-_qn6ctv5m~74FGl=9s2L06gMRPPG`ou-xtaj z@Z4GG+0Tx*5Xr<xy#fWE<DF=63-2+)Vov)>NwdV669uJ$D;_+viD3OM^k%19q9`8g z(lZ?brDB;{84OY~`nG_-iw1mpB6sdvzUP@6odEw$3WBxru{d8n+Qo{N6<VK<53ATk z-FL~BT`DS{0s3-0qqfx5(%#3Afxu4l$93}v8&J_<DwKSDYRo)GZ6FOg30P{}78FK> ze(AGZL?7YO{GdEF9~GTYzfUDUcN<UkUCjU0)s_8)k2K-u0`FMfTknyKZVN`>U+lgD z@>++}+eH?S(?)L;M%lkG8=nCb0?_b<I1#StRSgibdJ@b}(abH)1gcRF3K0Jh#TZ;i zeF<1tY3>XCU%A{u#(`eNqa(Na($tABq?<NNz>N*jat?Fs>r||XMI?)J_1}(5UKxx! za((Z<+X3DpfBl9<{m8p|9{{Po6T|xTw3>FhT)ulo-DEf}J>cgg9^vnM=2^~(q^`-d z&w4n?`HNN`f)>Ta5Vx$`A~-sgkS`X++!asBzcRTnj4k%68h^Gl?j$+p>m{4lJ?_bg z_YJyoBItVdZD$$x`M;F4=V`uHjk&%Z3m_AItwPEU$ONPQSLNrD-88S|GBHT0M~j5Z zZ@s@{eqdhZ{sJJN-vODGgH-*&#GArW0DvKsH#>nM=alpE_dn6HuW?t!VO(<IBAW3< zd_^xeR*qWxvE@~jCj27lJ^#EJKM*Z}s9H=SZQiTgsX@Ap_w+ans3>}Ip!|AQGs4ad z<}`N`Xk~Of1O`=;hl}BO{R%WAZ(`GrdwsJPH$!i-0A^qGt|z6!qQ;5Z2!z>I*QFqw zQH}y)aVjR(<bu1VP7d-A?7ES!z**p^yz(Bn_G-DpEb6Ju7Q94#zvWM_H;9vp8~zY# zOUNdJYUHhlpW0cXMu4vV-&zbUJI!hNmc2EGy#dZCP4Wh&M~CjCWh`Uz8mX9%jS0K= zQ|{W>lUfKSDfU1yhvMwYe)3JLpyJWnCPKaEq(E&{F23qROV^Y~^IC=cl3Pv=(4y0| zn^cNXuR;fb#nUVtL+)YpG-Iv=Uft{v!05dM`jLvT8POIFsD<LubdYU-DPYpwAerJ9 zy%Q*MW<I=T@8FA^Mt(Zu=T5d}7!qFeRwDa&Shc<bWU7LmJBN-0`BjSK{N?5nfdZEi zg%T;G;aI>>zOGubgcEKAsu#-uA@&v;?b#$&Uz|5A?DOiuLxZ1f;4oyA0@Qh2d5;3Q zmG*7FD&t9K>m<kD4D2<_g=FtB<oNE*2_JdHmJ&5+MUwXfw3t*M!C+HrMhvZW!TfCi zeG3A&;0V`g+2xzjpY6t~Kl#-E2%=wR56*3;m88>(zUn+^C~~jIfMu>Lmb6PQ9VjMM zF=wWqQKeBj3;t0%3A-(Kzg)&>q;{X3sQ6kr^m0P0nK$i8<jE->nP#9bMbSA2edt9W zBjUu@<S||;qjEit<hc&NumB6>1HVtJD5-0I=4Jnv0aa1kPh<%Ao?=XhE@$}t_MFsy zTA1{D>ZWuOrd<jJ6H55<6bec^2^TQoyalBuo=XMMevKaiiAEv63{Ha+iPN#;wTW>B zkiUa9$E4Ik#B+H>>(NYG<S$SD1}`HHkDzIP!@2l<v*?pJY+B4JujbxtIx?dgSzd#= zGMXy;hU`y=sDH$?aR?3W)s++1(9fSukS@<65hn}Y3as3!uXPMh6I)q-7qzrxnj&KE zmy@RFK{?ql{T1m%&$m3sv|&cU#^)!iIVrf902-y1E>`=|a;^vN{LEUXuw<3qtmr3% zS)%H16;_<^^;=Uq+SRR_#Ocjb_UrM$jP`nU%OgCk_~W|Y*z~KEFNN6O96f$Q&f7a6 z!ZAhvm%ILQ9c5aqO%={b=ul(Wk{Oy=GI@$9kvB+N+)LmlRCaCE{PLw#QtCAxp%E$H zAMi?*bkm&Hy&n89#U5l;3?Kypt&?Ot_zMkoye*l=g>$GfRjj#9Au_M}%e?B-TeA?Q zijH_jqdB!^x9{!*s)MHwnPxK_cbZ`cD^U26Lf<Z*=Gt?~BZYq%_oYO3(c8i_m|)4K zUndjWFZmr*=R;#W*&pzFE*XjSKEOw>`XfDSuo#Z@Z#%K8ap7R;+>5%SSPqfsI=560 zlin7r#lMXVxLVpSJUdEPt57PmSX;Pcd%>f7aR%%UpP`nf0i5qdNk+oR#m~wz&q;s{ zgcSWNH5;ODslk^LYApY15H6w$$2uqR=Am>`)-Ye#2fiUwQ`2j?IyPk*kQ=tYg6U+9 zM|}2xfedA?MOSxPIL3tI>-glXqVmX&y~d(*?%@#gtIoL)6Qh|ZrUpsozurxi!oe_h zkRg;o3P?yI>n0L*{Vf<r!;UJ0LxHVGOMw5lG_L}5$|x=R<a-3OfbsiD(9;pf)u$-3 z5FZ81Q^$Co0p1Y?kQ3KK0H^^rv{M1KNkL=jE#7}SS3t&4eSaskr4OGk_P7oh3)cO> z^+j+^5DY<ZiU!0F9#;UeB5X|iDAz+U+<$N^gJX}oTfRY)bbs`iGV#&6oq<Q<Sl|h8 zAd@tO8%q;bqJ94`@aS?y1}Lu@_YZyrZqfv9d#=-gr`FieqM$;s8?P0o1-xE_x6C!$ z?qq3jcQ3%p&w)rB7%6qTZ{W;DF2JK6)c#sCFqp_=ZPqJRWjp34mSh9=y!nKMfs_K4 z6mU00K(b%I@;l&?SDpeF3jSoB{!{M3{{OVwSOedoi0{VJOA7wpvAr@*2h`!90zkcJ z7R7*i$VvQ%eF3DvfWqh^zKY1B$5yaZ4UHH9D&9bboJ>c^d#v%ZLPv<x6<}jyZq<X2 zZ?F8Xj`S8$=P{{;iH15sZUf>(15ju(l|#$mEZ)fGMRTeGKbA6GaXh7mu@a@51X2W> z?11#S8%dMF9~)&{bL#8I;+h+P<O8`z@cqij-HlsS1~r~z2$h|$!U0wq33koOjFJIV zU&&95!;{RI(pHCX+!^ptH16LIc3&Fqij(M=m2LiiF@u0rt_I#47IfwX)K_McHmlcc zPwrGz3Vr8}H@jw=>XY+5MHV{@v;);`P8KRMGm29wV~e!7hezBe5MwC>=h1yL)gM`R zbq}{@qFGH0C(V3l*@XAd7f^Lg;c*Qr!iG6eEeE?2`iC?|^QJzHI+7UE2f!G;#>~?+ zU@p4X4QRDwMri~igN5QLls;#eKdDq}Mcl9F$U=r1i?AH^o_1sXOb80k$U8bU$y;JZ zf}U4kmg*3}P-c<mhIBgm1r!wkhtm?u^9(r2Z-C+}3OGenA6DAiz^BnkG0(_5Bw86| z!?bh>#r;*oULV5;4VF0pdISsjnA_C{ADnaTN6WGWgIR7pdO6M@JsV@NY;1(srGf0@ z<G82559jG{w+_Cwz0@#G0~$$M^{mK;V1YC5C0*FTPQ85sRJNd7Lje@}b(MT6_)Jg@ zCcT_+&8AI;Sk+dD3Ruxw7pwWHj6t6!5MQx#s?|I6t7L`qIMn~H#@F=Hgs{~7-Wtk! z7ylm3iT!ie@<X0@6l^YK9%mZLH)xfUupexbJD(V@yUHLof$7xxyv@jl*g9VJVgHwC zu(mPlJ^UUmD`9C;k>60a;er*xY7?r&KG0sOQYdP=U`0L$<<-b!7_224u<Pu8%T`qq zp!^lSB<s1%bIWx`)r}?gwBKMWMEI?oOXD${;xf#L5<|??DgL0_4V(!NW0S>A7|Bz& zr#&4w2`ujKKI$rMS^#G6UN_(r_&pvD`&KPu9Ja%kgdJK&!=WtqW`+iKCDpJCJ+0+f z4}u50TnSV+Gx@oxbaJ^Rn%Rsjb21!Z0@oum+s_xD(Wv!y0(Tu~<8Gw(Y;zx^2!Xg- z!mF9%X>FV*jerCgjXtn7uR|SLf=8D|%X8gV#zy0&7O<shC)s2M<C^Uhb#zfx<~EDd zm93-D7We|prwNS5VRxXFu0D0W!JDGdaKNcAOg5qBcicf18`}new?p9hk-?Zm?Ww#= zqEFf&mc02TE#}D!$ousVhy&{`7z(b<*)r%OOm%m-5s-Hb#A8^y1dx$H^gSEIbvoj& zVD%{=7!5<JPL$KH?+IXBU=M?0xgiMAV~2qT*?-4{psm4R3*zsub1-}L@mh~AuHT?R z1v*L#9CdOX9A)<b9S`EoaH*wBl+^ACnD~80sl>Kh?W`bHl`-+74S?KrFubvzUL=GY z2Qjr<=Wa*#IST$sgqIJ)&Yl6xz3Nfq?SH@!1k$d8>0fOy(RXn=xf^j0LR&PES-m|s zKo7{4!AaN^I`EYf;-C@m-yXvD>@-vN(=4#tPtb`VOCH<NcC7c`aZLauftbsL8KBR< zSyq84J~hv;llU2u=G+$t)gXc%F7fEmV^|)TT*U1i9z+a}D?rFs1&oVsHpPScqn3fP z?zh&!W1NmKN<mj(_?2P$cC+<*-De_DYpy>5{9-!)uY<-Yz)l|mfuGhOFH*`^HkQh5 zKid%tG7$_0AZJQ}d7Wo}HR3TG&J1!(IzPBY&5&L}o7^7Fs{#B=UGl$xxCb7IGOxri z@svi~4J$CSH)z1`T+8CH5PP0kXmB9-sb!_<)yIl?+&TuX7exDOSyj5h#cN=;Kr~FS z87eTs(7@i@VK{#MjxU@OQUU*Eu3-_N!v`D(;?sX?|5VomL0{|72kutr)%QUR9Dfo( zHFD31fBB-G8Z$`>QF1k8g}CWeH67v>P^y!&v{j8|<QhOU102*Doo{X<Q`PZncZ$D- zVH)znt*yDjA;um9#L$J|;v_*Q@BvKMXb~)x969T@vpb;f)$##FTLdsKy-p>9_J+t{ z`U@RSRpUIx4=c+mM+b!Gl`QufWKe!NuJ1nvAV}d;?40;%8#fAnk;@1|giR5@<=C0( zxFnx|D_4Rj&zQ^5D%UA+&h3|+fr?ds(^Ofn658=$87KM-q{7Y&BShMFd3v1KJzQ#2 ztaG^`$C2?gg6v13ql}5BDCRZvVh?V_Z6^&Q1{IYbH%!Y~4)}L^SFE|08Ype7*Jj#> z65HBaH2A$Ei~UJnBm^US4J&<82MHK&z@OVZU`KgZ=^pg~^>sEBYg?ey#UK^RA}J9L zS;faW{Z``LPf1>4c)dls7B9S8vqCg?5F!tAH3&&Iw=6KWjO$pwcB~;gY-j%zKP_t0 z!327nDo%1J)T=*D!EhT*HX;e<p|O~nGE7tKDZBIeNI;)FW(WRFYj(Gv0czMbl}5{r z_3=rKdoyG?xrs{e)=f<L&xR6<m+gb>JXng{1QijMNf=ew$7QU~{ZCZUPowc5in~D2 zgv<S4m^wplgge9ZO~AB90e^ur!|qW-m)!pLxJ^A?DWQsV;pK<j8~2-dYOwJHkFQ#) zPZcHUxCeG#;4&@tHCqL^WjesVx`koVCUg1R3j=L>@5jO701cHf1w;Au=upb~l$gV? zW-1^$KD$9C*e8!3YyE&4pQKB5nPZuLSECQ1CeyQ&dRLpf8G-dqiCpL({(=13ynL-H zcr(-uX*EZxCQ#jIQn1CHzeY-`$+nq1Cb|9ivrW`p2RJSdP=%lr!h%M$>rLBVg&p}s z*)C<GnTdUj#-;UrVpg=5O2=n6LuFFwWO;xa7g+>$?rIEJvoZ;vw4WvSfPJr(-_8}L zs5jlm6}DF8w~6ppV@A1h8#JKs(fLA)-uzEdU=N-IA>m5uU>7>GJ@G%w0a{Mb#<ex_ znCn^KNin7AVBVxGt&3X8PY>S@=GNcaTv6bUr_sbv0DlR)vY;;sHm_&!<pXyroKEsl z%ZWN}*ABkik>Uc-8Y}YGXV@jNr@FC(bQu>}Rb5My5da!)y$A!}wx0w(TnH=Q0u&)b z4kk)UNZ54RrAHi{nbAR&0IjYcAJc61xC891>(?LE(#MPdoqM1WTh|T99rniKJP@P@ z0UqIe)qkHtI>IZVusLWj3wXJz>{ITKrU5UHj}wvI-&?o&{o`*8llfNFPH^RGHqJa$ z4(OE+#AUiY$hnG+UIP7>ZLb?kp)d{lwc{IsMWp3%S;eJ{$E{%)FC!{VSbw8Z>k0bV zIFCE7P-0HvF&*=)VjW&#=X8XBnT$V3(AGy`R}#Z$452v3ym6?VgH6UgB30fGC*KUj zsDG3EHXb-!?Tr)H?{p^M#vfPX6LuL6vPKbr6JH31Ak;2;795Z>PoP2txRcv}yT-BW z7>LT^oX>zhYwG}RJ)O(e@+cItua1$#4<a-_8iZz+KY<Le9H8Sa@azitGC)=L`Jd*A z{7GXBM?lQU0I`209Z)#cM}b`=D|iCerOFCB@lBOAorZ=I`}Uuz`Vj2RYiUH_%l2Ph zSM9m90S5@I889yR{rg8D_J@WO!1uEoCPENnapeuyG1wJ$Fp)@raQ;bzE#Q)XymS4I z$I`I)7vu{Ct^?$x#KpHEs$puHKw)~pH40uGpb1kw4ZeBKelRZ*IEDrf(!GXa`MlYg z>}HL3Om~C0mUjoJ^?_U<r!!qOx9|tLvA(G(p98j}vJ%{k_77=#8|xv;Ao)2tA?Vee znM8hmXf0Tv3EB4-M+T%1LN<|`!4Fc@1%XcWKhh?!=A8h>7BNsS4jUUe78>}_h5=aA zEqDImhw!uoZzaMIh4p!bH}F)?j64pn%-#b42t4GMe1=dQzd{J%Lo-U&{M<B9YCoq~ zs-x@o06v1CV1I$ua(N|!o(Fqrmn9KhUP^~kEE+F1(Q7?QrxYz!a2CxPcM+Tb7Wi_N z_k2(kQvk5~w$J)2)l;Tc08eJ<H|Dm37u`Hg*RJv7x>w!V|6p4QhKZldYh1H;8bC9& zDg)7zKc%x2bQEGR1^SoKjDst~Hufe~b8pH^L;U1sD}5?-bW_s&zNb&OO564}0>5G2 z8QtsD7OloiM0E=P@diH<25tn}WjiVs9-l20v_~<!ztbcad|a=sr;Il$dGHs2CbBhP zIqI6-q_;P)A}F;ApAS}@dV1IvB$)mRI|H|H=}ynXpqA)Ehi>|PiQ?9PdTO7qPerth zK8VjZ4^H9iZscECjlt*OsVb#fJ~qJT6-#Ig&~xfQnUThBUws)`-_9Euy@=1>m@2KF zqLW_!_(c=4)YQyGY0P{V?TM*zo5LlJ*-d@sut4fE+*ztu=os&zH!-~Sg+LU>#(Z3Q z`^8Ui?`KDje3}E_(OuaOw8_7^lA=F@HH!u~WTRXi0Os$HPG(=@|2yJ|RZpi@oORMo zG~jz5C?WR_8Rq7}bLl+bkg;a>>qZNsj+o_?IA11^6feZJ^(jEj#>vR7(W7cJhPjKH zfD_tc;16)l;GUNeF}EC{TFBdnP26F|bb!QqJ8IrG4)iLI>aV&oo=8l7cGm|K5u?vY zXAIibhmMha8-BZ`C1E-8v}JHS{B&21)RM2>ef9olTmY~@Dy`Hm35m)XxCrLA-#d+_ zALL<M>^uS0{l|6_?z<H8A5}shtLmO)A5>Itq<rZ}V7Ow@l)hfq+9nanU~5_0<#eX@ zbozrVe)NH(zgP<@c>6&irFF-prk^HEJ1*zn%%1oj@g>$SCL{zj?$1e8=AXr0*t%T3 z2|9H!kyoJWxNH~n_o=3j7{{ft-SmLebZW^*2~-10HgEYA9N5TxY$WS_iGBDjUe~>! zbOlHH)1Ss&v}{uF4frMFvG~6A57YQ`>T~E#E45eEWRnZ>wj-5x4WxPJ*4QqpRnKH$ z&mhFDq*wURvg}`HO&`hTN0)=f(ve~<0O2)&J-kj0B>es{?d<ZlrD*`To{;j`N4XT5 zpJrs7ZKY+1rCE*QvUu5tNnfJJD;A+j=#X;Ygs=q$v5;4h;@6J?fCEVB$?q1#|HAOu z9i9WMZ<KNI!_l~9Xh{hPBYyJSG)vg>3TDfcnfIVc5#~3Y+6pgksv^8fYm(0c-Jm$= zyiAJ3xa-1!`nteuB(kfJbz|XWfy`p||LE#XF1eE(ebH}ydVU^+mX|3y@fWe}?;v86 zLF%>^np~IOyc@=$XaSrb2L##Zf2z$AX>a9rkstn>@#r6VA&F6C@}^6}rm<U6%qwS= z2DJU!uTQP)oX-!i98ACXDWH^~N&Z3m2c_4>e4mK__HX_V|9EBdkPz#VyFNEx47h(t zEC$9ayEMm50^Te7;JY(nT&H!L-DA4m-+JuGm%P<(bFcfO)t3Sq^Z_7m120ZUf2oxy z*6wUHl&ix5+$Rqv9cj2-fy9Ntf7uNl67XvJr~sWR;utj67R0p_Ywa*f>ml8;)nfA^ zWvHH~6svTSDHJ4h*cCzG7rZHE2cX8&d)f;1Ss|_CTkE7#4DR)sYKfYy&>J5DvkDAM zO=~8cFSG#7)OxhcroR#C2b@LKi0LdK^J8dYN*n_&H196nYY~KFDzcw(D!=;(zm}Wq z8ZutMubp<~$gz_j;Vh>vi?umBogGra?@?mm92HHjr1f1IHhQSO1#sja#b0Rh+<)(k zUTs_wa~>NRhTYzTH~Q~{6CKc?5*<mG_!qQDpc!MOXzfY7PlL9?ft<KygaG|5fr-)J zoer2u57-rse^POQc8biU$DsGCqM@)~0(Dr0yh{qFV>Tq-*R6xkIoJIhuEQrh0(gZ- zEP-)Q8>%Sp5dgAa2gD}>4<NEY$p&|-j1>%qcsyWH8P%_tXz<g3va`)_6AA^I58ntn zbxfAn%$9a$hns9w<)_O42vrBl=Pyv2|Jew=c7`Db$QS>i0d)Z1lY_?JzFW(DDY9Oe zY;VvI&I@|dDzpE>wPqq;Y_(^HcRCqRJ;8~{PkK_dK<2vx!M38DXeoO@;E4d-pKu`6 zq=Tdkx#8@vB`L-ENF}I@i*SaJCa}R?`I`<H1_yFN1+%f>%>cZ>vd|>x^bjoCuU6p2 z571FG{~m?M6bokKYvxiNs_sF4ggQ{3hO`5Nh#KGkP5`_R#LSP5&Vr|d<&iO8JPv&s zC{o`5`i-P}*ckm^Pz+emSwRX{{y`tNV6aulEoInyoa_G+yL@T+W;#D!R|SZx!8|?B zLi;*+X@y{c(EJF0f&9ETsPafvt<o4k$amzhu`oS)G!2^O-lIc1J31Ue$$eX-*t~AI zNPFlHPYd2Wa=Qb-{I?w73HgKe(VTh^=v0Bn>u!%%J9m6rb1?lZkj$c?sDxX#JA94* z=MSK;6n<1l2qV%i#oO(tZ{@Aq@{?!rVWD)9Ejz%3m<=5C{TcV^;UEM=XaeRt3Z$KO za25v#$XyHLvq(`F-h+}^dmu=liO~BHFjsJM(K-r|K#{^b&RvVA3686rU^X;4!KL~m zH}l!X5j`85?42c0wB7EXw`HQ#XY^s5;Bb1_o2Y_FDPZHf|FrB5<0a4yP$=k>g=W$E z0qj7gAmDSIk>AiA=5!U|R%^zM`?>&qw26&7&oUVanq^#i3{Phu<&==3m5*QCdDo%` zUMvs~5kw)(0^k2QAm^PXcjImTg<{~nL$JKvMj#Y*gPQcbOro+2Tc6c?E9gBcje{!{ z1KMjd(K<Msw+Q!5Fx+ms6Dq|r=dtge$I7QE_Q^?h_tT0fj`;n=J(0@zGC(nbb<z)F z8!T(vv*7v?R%I@u-jsMyg+{AJUv{41cSMm!^axgC$jn_nr!(q%-XfJyWW9a4$fDt) zau_QgpaJ8+3r_yLRbs{&kS1%RwrTBeg&VI!uL`N@{Pp9-8Hq{m9_cyO8lZpAg0~w) z1NUcv^@;-MX?!md%DP(B$|q1NG_WcU`i&OHYc*R*Rkr-Ckp$^aN|2J?CfYT!$YPma z{{hgV8@~ZNP_ySg=zmsuYEX_cy^VD{-}%0MeI|N=KHH;QxxZ42e#Zmrsozxe^c#%n z9nVF`qzI8o#rgJ0PMApW3Xl#!$=N%cZ3WcQ3?z^P1Lr-kg`FHSJ?49rx@DGb?92+I z_&k=*W1EJcX3YyF(HDgQmoV(u3*Jrwspf}!K$&Zshz?y>`{6CN@MG@(Y3{9~qE6fY zaaK_ma~D)rDFaCX=?*byq!FoA0YOSyax7F-O1e=%8l(n>8iP*h7((fgE~(*r-2=PN z?mqi`&iVcKn{)OYS7GKo@3`;ldewE!{{9B&XP$WKhOoZzAMasHxfVINkFK#-QdXnL zwODbgGwBzk7B?NphNpdm-Y)ngRJw9;R5X(-dp9jIW7-~%l%Mue&oSXJI6YeW!(TB{ zcWFI%q9-M+$MFYe_NCMj>|Q8Y1X52|+90Fs!+rFo3eVr}=H@IMJ40G%s(mtk2fKt5 zb(?%ivJ$|NKP+IA#gIFJIn#iGHufDrRtq3{2s4}=sb9SYcQYelp!{V$2Qx~*O7D8k zs9dj;?@>a#Qnqe#R5{cqLeM`%xmWvS>+Q=v#3FI%fG>?&ED>yLIfh{o3aA$#)U}^_ zPCUH^qPYNQu)4x~OmF>wXD|e@z~S~F0aaTeBwB~M5CZ!Qlm0=hfiCoBDymGtHD%&; zBbJ<haPWnvKLstn@i(3m+|&DX*(_Z`WO~Sb!a=tx$95``$qo#bHN{k*7r3Zx=$<E6 ze4IutN$S^TL3XP*fJm6d#^``9ULzClu6lYDzmY||Jc}RxdegdAn9Ggv+N<@8TA97G z=ki^jaSVN-<Mq99A5$Y%q}gpBcpZyWj@=yOCji_~j1+1Lo=<d|5d(oGRzqytI3VR8 zo^O#5IrsfK&Si*tzTL?#{#KK1Se{YB#+`XR-0j7Vk>e>|j^qu8o_#-0us9(ezD{_s zYAf%pT$p-RJewa97j&|2d2)PA$Y+&UsN=<I2!)riVi_Te2F?K)i<+R%nwmtUNPn=v z(p2#|+qu-3ni_ud1i8m9wwtF#3BkX=)Xv~$zaGQ`H_;hp-L*n@Xz{V+A)GD&tRImE zOc?CK!;lOUT+4;mQx+L#<Xuq;M4%j~N$)6>KZFMzUPs^Lmqu||6S;W8ihmCiTO>Xm z`ouXU5U}@G1+SSeDPgU^2L#KjOUR|EU3=hJooj33OD{eI%F_$Ad0UVj5ztRu&bR%z zhq?+@%Lp6K_kw-*KU*E!w=Hm0d9oOsTtMVCyVUOjN-pK}&)Py$&F}69TQ+D)u+tx_ zy({N=+`%=RQ_UXmwXGlB<5Q}IelJtj@feZ;-|Ir5tu;4b$mme7m<~k#Sm<yQwDwBN zVqg8<EZ}zHdlLDzWYea%o)%f<$FWBZ7e?w6Ky8jC_hm9RX*|rp?Fg#1tpdJv_RQil zNZmv0GWKR3)YhRQOSOi?W-CkikWo%1*c#y#`*Z#E;vOqwtjm;37~bNu+6=*>t5s~x zvOTGkHhcG3xmGTZxdTPV`r)27oX>x|Cye)w@{rnBK-6<|LDKt@nkyKD;Z>00aMwIe zMo3djE8HvK<({2ODlLkAA$ixNw&GActV|}Z(Mlsf^ygnTWM2u`i`D41=aa>{tV~<x ze@)TOjPBhp08kNbzJ^`N4dkd;EhCcA9LKR5t%dxw2SjpSn|$G`Z6j5A*H}x&q?nMU zR<~(!g(+zU;*Js!na2~sWBekF6*Exg1q4GwlxQt%ee86ij=B8sg*~-ZRaJ*Gr=s6C zil{EOdjY#B|EGC15qr>eOZ3E=Rq?9S;Z7^|6K<{aChOstS0N!4+9i7uWZ<!BtlVl1 zj$K=sVQ?Le`%~t5FCDf6a7Q!fz8FQKDM{j-uZb&w*|vSoqt%rR7>gQ@a7GunUoBaq zz&}?8r{5?O*25`L6xgvJ3+TdLkM}Q9L5J*U{unC#uJnQU#(clVCil%3o3Q5~&s^JJ z3B!n7%;?}|*2bqzN57Vp?h1>oi6%^KtEZ-QdEv%`sG$|t`DfxC;N3yMME(6#W$-Wz zXJR(l`~A;;2U$_Jn{zQ?D|ZIjNv)JxbW>sVeES99tksu1=^jD$+coJqMVYTg@?Tk| z;@oo*s`qid`Sw&Y`SCqshi?ZwLuGm9MfLGlK9A{Y1~xR$FIe6Po5~zL-v=pH?HNa6 za^f|{#m<YIWTv7!C%ucg2X=F0w+`khnn+1i+;!*UqdoJ_BsWg;JdDeofi1{_brV*Y za~6=>;h35t;l2i@;7@BNZ@u>6V@0^WQ3b}&PCQy8Z)44*ZKc;3-EY1yQM?@ManW7O zDoU5(>iQ2uc1mIB88Y4-ny6-QoibJUraV4JHD28Ibk#1JcIC12BF#pO_3(5)b4^bI zO|WCdUi{{ibplkS*j(1A=&uEXJ~`*eaUguIzg%u(KlbJ0dEpE|3zHJ6#TP~!xl(ky z3ZnMQX1Q4>o|JGa=uN3n82CYW{95$pBg$WHZn!_LVN;IMZZKv5MZ&vH%~ozPn@PQ! zQ(?=y$xc}oM5VYyE%jV?#?-j!rlhnSR~lMXU-o~xR5R2veqcC0Q8Jg~<H^9bpg1Si z5Xp_)fL!aQ&h}vJ$H)63s+}H3-XHK9abzHGX(GxnK*)|Uc6B787Dc0A@oN+8ItBOM zbomTIVv6e!o0c3(lLS`sB$rqhqowV!K))~9?M07X9}lBE(KS7YKi=zOM~7n@%7Q21 zlb)-rHtPYM?zQkfeWhJ@de@e07a|P1yYHp8X9V1l2xEIDxyFF=XeHOdnWS5?>I3xn zUN@py&gs|bS}xwL2s^XptIVwJRZO5IJknc^1P3p!c$b-x$X>gxTlfA6`TB8q9+(_$ z-?vn)5i%)p@vTqt#*!-7+I9U3fO<GJ1<*{TY~<bL2+1uOruu&SU48kD<L7h*%ua1Z z3aN8?Eb;2n^wSSV)P9Lu_B-yqf6IkAN;xGJ6X*(+h(-N7d*gToPTXZ5k%^>N3T7d1 z;e2V(yUkwItx;t5YHw14swMh`_=#*0klhWD6s-0)K}(@znq6_gw@9CjPk6vrdd??N z?l-PCu>7j@wrA*aErg_F6H<zQ6?tZF#eRgoBr)uuFb#wD`9K-TI?L&@+~%SBOGm^R z@x-Ofv#>8Sx0XP3iz21WdWK$gq;v+-cw3dn<r|psTs<2>c;6~Ou(<BdF$FjL75O_i z8;^=k|0dQHg<Yi*>h8c}G{#Ckh9~`e*Y1*W3Q$$;ID*Y&&s6Ns<|`fRwZtzSObwG% zj*;(4@<Lhj*tImBeC6riHiI-WepVh3TkDr&s*bbwOu<L~$Vm$j&cyJySRKm;fo|AP zJ>&qL29vGq_v-s?&@ufHFwyf$qS~bY)^bY>QKK7cX|524%hVOfe53rd7^+o*S|K!s zq_zlyVm6jDCJ>gcOJmj_d;7Ad2mtAV$xf3`51z=DW8g3^(blqZjTCVbwbJj*yHBt( z6x>)MW<T93IC*ii=lMc6sdeQh-+wJYkjum1w2atVhS<`ahHg=^<d#$R##-ans$sub zw#(F0<FXPXWqdRt%$CV}veJ-V#2a{8F3eg>OkEX?QXhhZu}0TMZJG$r_`>4A>=Ba9 zq!eBSxB{0_gg_pD6LLY}241i$jyckz*gvRx!|jgk2C`G_{9WaLYje$lW$H8`q33)1 z-irzwIM5(>2V3fMuHVmX0EzUHrj75n_T<>xdnl0K?nOC?`c9PMb6)6va)Rgk=8W+T z<Be5m4Z?``&|-`uPwKUCqsqIjWjeOi<}okm(x^<oe$*c-=*40a2C^NeZUh+J-(2dj zRJutAsRbiH)~vCC<NF;@RY%(W-d(Uiml|PJC<jfHk$H19Nv;%s9rQ!;cUn7!H<=Ve ze>WFE#^e(ZTOj`sb$crJ8Ey98UVA%iJN=TO+G)X-f%Pq4nBCUa)aj`FyH+($C7XF- z63hE?rkWBeigK+uH(ji_T(=k(9-TBx@bUzQMz`A17|<QKwv^WKnGmL2d)8TLArxma z_u{6s8G`bk1O0B+QbEGwElK_PJfAaBO?a~_i|3BnO{NCR_Sk5#`*qRTuIu&2<r8_f zEfI$D>&Lx~o@v!@QP&$y)<?+d^bV9BQ<ix)_N0v8rnW_atAtV4T0b%_EE{6Xb}fXD z+SP_P>n1Mpd*|G;J_*=*9f17FvFr5|q~`qfZ&m%5W-!{|in@_~*ZbgVW4=j|>Lw3v z{JoX!bSXh$rol44C0OaD#6uv0Pio$_YcGaX(=j#I5^5$}SO>b*reO)qeJl4B#Ss3j z?VlICJ77_yDa4>0#ZZ`{$;!f>ilc}ypVyOf0#ls{KmU`MKL1%LmivNV{FD7Zh4G%C zCZ_6lZFvYBs+C`1A8Z8Uz{%B><k2s7H+SnR-Tg89?G5|*)p2k#=<GGH7H88!+|aPc zg&hHb?I}#9_U8!|d>5_+7nGtgK9MGpWdkU+h0?e2tR>pjG;-Znd?yxQbFYqeoi;P) zAvkpC*GrU3<o^O_0_$=9tgO;Gz_;T+!et8W6uKtjR7=xe7yRp>hu^h#T)BC;@nTJ0 z;e_>TL$jPy@do<D=}bvGeeQ7xGxTThNGg=q&HxB<*a^QLwJ{=y=MI=X(+Lz9sp0wc z?A59soSmhmCUS7#_9(;w)_}zp0GFb|`1Z9>ofW7;nr{J@3pe6e1n#Brr?e|PW<)ir zoa32+#;G0Qn(wsIblBJSyjLyZG1J3mI9qhZzp(%Vk42HOdRLZ%-FUlW&Y^vunCyi& zAegfnr6Eb*0h}rulyy|#1>x}xS836G#P=q4>+n*4TtiDXbYUc8;#u};6B)w}c!D&E z5F}6qe=wc^NiXv%7(%QlZ<dD_lQ5pko%<pHl#wlRoC-Y!m<(ed5NP$(-#GOPJHx$U zVU}uJ;jgIp>544xmO=<;-Z_98hngGDuMLxvBnYuTkF!L=nkx6dAdyc%*}b@Oh}!`4 zh(H@(LS9J^F1RMIFI%s-{|W*?iipl2LNeI{pwiy@*Y1OW<OjJZhX8JKRF#wYiGU7I z?R*Pjb=ro1K=A>G>Fp#M)G*xfhYBORB~Io@QQk*Vh~oVS?V05zqi&f!Q`!eNG8L|a zj+!<7NXh~^U0mp@;iY5CYd;KWoD8=lqGLfG&6+8}0dLAed6U6{?;)@Aypb6=RdAJ& z36Smy2v1qXTFFg_d2I%Z>IY{V*#RTwv6mSb-79&xN8KCid(nq9_HGsTPQ^+@CvEmv zI>p=?!DJW+x0nyMJ8w9s4!@tu{p!dTTQ$ywW4Z@|Ol6Xe@wLa*rbadpM)SVpKIPuL zc&?!E=m0-UUPqI{+xxz%KLoL?i1cgLP5Pwe4Cg_X@(;u0>7y?359z_!BV_pDrRKYi z5AG#ms2b(gb0`%c##}my9%H}5OUC3-pUUputb3cU_2%CG%{`jFqx3l<c%#HCt>#}b zC4u-f`8kJI3x!D&E|#AfLjLT7G-YgK1E~a~-3)eH_p4#(;-WE1#R6s?n*c4sOUmCy zhNpng7oxrOoIJDM+-Y^PWa`#$ZND(Jm>*v{S+HKvbGy*Dd_!dKT(ouTLc?&LjbVS% zX0L}?*#z7Tp6Q(z{#|g1h<fxNdijZLcV+(!Ge4#NPSGE{U$wK}KBqouH-q~HTDN8R z%JPxQkHkP-76$Qu>0Ppuxk~Hk-^lJ#BSe0jC4&2QMW>q3R6yhN$Wr%pFo(cv8_kF9 z(kMS=0)l3HyIIn#nZk=v>ra6yX*d#5xDFKSkcR{TQX5{8Nu{f^l%jp6QL&e=MM^}2 zR6)W(I7K|I&-LKspx0fJAd-ws1ErcSIToD)5SbY~H37?01j0$OHshWGo8}T%C*5w@ z(f3Gnns86VIg8nJ(Hm?wub9r+ll#;fj-KP(aOhfAwbFm*I6MRS-bs4PFS}({eSgh8 zL?)G-^ruAiW{ktzzlVGOk(LZpaQt-*%0$!-AGLz$7Dt7lKy~FTUCr`wDw7Wne&Qkd zc|I6Yx60s_aLW{gMygTTiv!=OS2{0Rs)Bxj<tnt(>=TSW)4R!{;S6=A-$#|&TR%D4 zkdU;wd}eVksxk~GUU5_f_kFbej;qD7b_U2J(D)7=Z`Ct^nj>M4OaY>^q7y(W%bAqi z`j`(*rNqs+PYTLoaWn=|9oKN{d)kT!Rs~CU0n?9o(vdN`n9u5ju_k!yt=NH&1jDj5 z$Nz|=0l1v?7YhAfMS_=}9;7%pyll5}018HALxF1XuG3_Xr653wB2I)u`F*|1G8#09 z>kpLQk*6htB%L@0d(a{n$)<l*UN?nuj{FMX&c^V!4=qoEGt*vom9V*9IX+0=GBs$q z?)%2lDynGeDPAIE^KAx4ivty+Ay`3yNdLE*>VGQ~NJ2t6<;!yr(HMj27lQV!KWXs( z=<-?t!2|c5T4P4ihdt#GoJ~R3Wea%I2fv`a2(KhYWyqAaVC_O4a2!~QELpEd0-1EG z1gu<F5bJOui(6&aqo-`l+yi>%krGHdaWP)-KahSr<JCxW@0MpIQNkiRqrjY~ou6=I z^VkRL-HoyIT}U?ZF_dZ_3niE+|0@34(H)Yuw?amcfJ>cJj1cgKzM%|EN*TpV?Yi^e zF|UP^+W6Zi&vz)iEd-?F@|gxDijaU;)2dCqQ#V<ZEVYBUjm*yi?hlSN#s;7|tn(k# zVIfzk$g?|kMy^m~8k|9_07NG$+8bm(J}gp|mZYoS{}J7UXF$yXB+9m$12iCkmnmho zZWu!LG?U%cQ%c9j@Z5Bp7bz2$O$SC$$QJ0?JHzh-G=3fcs<;zj>L?xN%&*HIO+b5z zBC}c9*>eykQk@Iss9l6KNNFtUua*as*qBwfiWI%s7IL4bM2R}&WKrgD24HEpbbUG} z;rsZ^60%}5N8f*&&Uz4hoaZVYo&iGSED8lDNkT$AOq#fu6QrnwP6BJYZWD2euLnbw zM2AA0=K)zzD(eMLJt;q1{XS{8`<|(e@P8D?jW8{MQ#bCw(SeMO7E}cw?||Ki*{nI< z%d#t}6JYU)H*3cF*2(+l`?rYN2#S~7n0=h4hig8s(Uf!Nn()B$vld5=@@}r=K^SVz z4VtqycY}RAL;%FCpK&^kG7i86@A*jSejV)B{?FHbkMoKI@*&h!cnN}>$WF;E`YNs^ zT-Lr%A^$b$mcoFk+SQnRi~;TDfCR*KIfH9lvDpMXb-bC?P->i;DPHiwDS3ST@Gwo{ zMp^OdJw9A=YMy^tvJNQkqKcQh&9O(nr{y%fM(gktO5lSO0SoMBTCmpJf?t-P=0Up3 zAx8w@Tbrq}$<dZ<N{4Wl!W||U_SG3s6I-~qBDj_@P~L#dmqh|Hm3&L@&_XEW$emx# z5x|)nZGKCOs%_P_zXR@NcpI|2)leVQQ<p$gA@4oU3=V9kG^lF?a-zl+&OQJ_iC=ve zGj(_%4e0YYjvWU1&e2+X(I69xC6BwCe@aP8G+8X{<yc>V$3X~~sB_56hD(<pt)qBb zOD_qbZu5{!q=4d!I9`Ab=<YS>qJ|*)5Z3uFpE6Zsn#F1I7y`6}LR>ycbZ)CeOr$wV zVs1#Dhr<K}T&ImB8)XGk`Qz6@i7_69VWO9;abJwu!7_boV$=S_a*ML4620@#uOk(# z((v6Iw>JB?ssXOGG&`#_U4Zg2sV0EM;{JA0#6GFFTehDNjUhVg*3corlQO27|G!nJ zPt_9Q?g{j}*`c5aV<hr(REKsEs?5u~RD?)LPnu@Ut%tZC#@Q44>5V{P<(PU8T_{=W zH~V#mp{j!$h4&>Bk9<&{G9Z94)kyqp6%-CTvSspJz_gg=%0b2OKIOJV<iuqpeG)ku z@GC4Nrw+mI^+~Ixc)<0nh17LUf<=xuEf{W55<!h2ah}>v!CQ1<1QM3`s2CQWiNwA~ zafU^jZGNXOrIZ1-`@3$L#X8|JSQ;31@Z4Zpk00MqP!E$(DT>#fNX-lewn?72)`1Tn zE^kAv))r)bkm9wB$vormn2Yq7jXAb&5G+q1E}yzt*|2XLy-hk-c(M%|YHKDf@xfQT zb;VDS_!E2%GO+HR+r95FU#)K{WN{cG*<))j@h8SE@HgJc-){{tXTGlIj*I`Ue}>}{ zL{Z5j6dhKN0C-$iY{3;D+9V8_vB5xi)}7bfXxFu_22AoSK$Jx|cX}xzpVwgeac$Yc z{ZW0KI<R!1yE!&^d_o;L&Y5G}n$MrjsHTk?`+@jTfO#XxeFb-o0xiQEX9s=h?HV%M zM7dT-25S!9KMJ2842v=Z3;@duZ}i}aY3KVlIuGwYqjS8FujLH7N}<&$Ym7Oiu*h90 zD&d;}$-Al=bnZk2*)-2SWANx?ROh!BeL<X_U>t7S;Sm`1064BMtAsC*mfm#%$M#?& z&#dL@biv?Zy8{}f_T}Ow!&yMRV&A>5$tW0jG5Ou`qN&MsK-j^6n*NiDK8Vh4KHXZa zhcK5Lxu)PWQ3~U^f@}^s6CXjt;PI;bC3S=#>Tl|nVcTF4+pKFUbO1Fd%l91RqvFBJ z$I}es_jAO|h!i#ldPuZ1YKgpN3K15vXNaPa38C+ZZ&)3TG33ZMk98cwb9qC{QVoG= zH_cVm?a5KJ%`kdI`MX;BRii>TkXw0sDF+<y->f>G?T}lC2=@mCd=&QIJgIA-8Z`#C zEkBQJ|F`%6Wu7=wd!G~wvt6>IDJZPdQfUcU&cR_1$RS|diSD`90(^3Vz7twhqi_wX zf_$=P@5gceEd6=VD$bGC{>#OA*te<yrDFq4#{0Z)xxUNpurelqArOmQgDWTB87~(A z?h!EQWa-j?aF)lS^F5ntuiSBQSnZ_L#;NV~Pez{l^az4)ElO8MO!5k}4V<r_%mtLh zgZP1-3ZUU`I6-7ughaRYN-_nBT3E}xy!CBdJiM!~X#Xi!5o;wB#BX-CWK*vHI#1Kh zf{VqBK6r5!9Mx4Sfs1m-GW#qWTRRdQJT6wwVK+B<=^Fc??MN~F(-E|PJ&nqEZE@Vh zlX>&4rs=9%2V&-@j{9{X9zOp;3P~<_l--Du`TRwy#B09@z8SC$U^j4mR~jAbakH|? z@>o8eISJlWBU24l8>x&xDgcOU`=6RxKMu>U?VgrJ^Wy=H+)&umL*qpc4>QttAj8_F zZOgcx>FYA@_;ZSjF2%^~4?-HGp-e_V(<?}m0FY1qPq$0!*N=}=pWww!Nrj~2=ky~4 z$Ipf{`Vk>@HUyFZG%0LH(y4Zl!Ed7pDilId3NRi$R+jPZk9~eU&X&}7AiuX4ewS3B ze#Z9xoQm`gUJxlL`96wNluaA}KPoCu{<liDU}_pmU8oqND``KbqE6k$Y=I65BX%f% z`z^vLw%>xX10}<NR4^Xl`zB{m284PP-^G?pLp(^HJcvLXWdFKS3}2kgj~rUB`0K3` z8jy3Bl`!Cl*cx~$tiktj${Uus@(B&FowPwn#V>ps!c%W3XfUh5J142hkf6*p<N!gN z=1WjJBM^>_6R>5UUP|ZLkNc3sT{Z_Q3UCOL95V3zj=q#1m=%RAy=G~AEZoo!ekavr zL1lln;;}&g@t2&ktRzMsP71gc{Pu#HmwgS?LyfzoY-*tD^74Lo<`|#Zss9Lh|2&$% zRf=`8kqsSUmh=y$BOvCj?(9~@>+1DYIIa&&DA*HeX8%Arz@_r10R!Qt2?`<I$j)p# ze&_h+0ba6Gyr@IJ3re2zkTVFh+zEfUhbZMF<Hkmhd80M<2AR}RQcE!5Q8Qc{Qv2!z zuMv#w7}+VRj<b;h;81hbodQ+Lb6;Vb*Xb&DpbG`aBLvF!Z7`%vhLX7}wDUJ~oycOJ zAe&`Y()kP!Bb*=vv1^BKTQ%oMY6ztNFi*Y3sJyl@R3h1xp5oCtYG0K15FbOB&RboX zBab?pX3d)H?Ju;J^L*WIer?a@hF&+<Sicl#&pRE+=@PN`M2|iAB1pC^TtQ;;Y3@5+ z%5c*8M6$9xtgnMr99%c7_YA-uG)}cNOh~Q8eh*15(P*=$tXvmn*=js9-N<L<jy1k^ z-Q5zf53)ClA$n9o5Ld~J#CW7LbSDVzsj%|jR8BrB)mX<rKim7sqXNgImc1&dzJKfK zf0Y$z%#8(wRQOPMXtHv7bQQ^3^mpm!uIvQEc7>ZmS18XpkSlin9CZu4Gw775s2DuD zatVK3yYjjBga~JIdMB0e4!p2unCbcpXASb#$)N$RJAWtD{yH+2z5Viz=Tj<g*0+M< zWYnPbrEHue7nluWvUD4+cFqNMXvxEIqF0JiYsf|t*PuZWq48MT)9zy{cWAXUDr-k0 z<upMGX<O3E`Lq79JAVlCcE=XJq7hUsbegeJpz;29rQ=SnPRQSA*-CeMlu;<Q%Tr+P zX@8gu(feG$%0e~V|NcT`|A*hSMOE~yj87nF8oR?$99}MflW;3JBHSd@CmWv3R~(+; zLG`H`C*)^BUY!OBSUL3@!cP9KW;8^<DOLYp5h`4CVS`uw-V0<lm^-Z(I9Q3JpNsz$ z*4(E|mc_H=-c_u8N*M=f1k&VxP;pwt#2UTY`t72_$&2gAKO%JlatHlxsVcn6x9DmP z{^b1|_a`f_NbpJk4=UvT=-_V`q)20TG;x4VXsEbG!d62K)p8~166H<2Y<l;m?1pE# zesgsv(=hA3-~+uK0b-^Pqfc}8euWD1xiu3J-~HxrTU4va!?7iB^sn$E*R%$hIe99e z_%U_WPOt=1!}8J$!!fobgU|f}(Bn{r+c(`K1a?e6B}^|neV(MT*W1S5smLDO2kAMi zoU)N9izE1xriMmUl4_g<>kTktZS(Mx{dhczbPi5=aaY~SRluFM`W+W|Q-tkC>R7}4 zh1A*WcB|aeCHPKk&?qp?j3OoC!$-uLVc)}aBC?Iq;#2gf0yrdc^*XX2GAeB>ffU-R z%d$hI&+&^*Pd1^$Te0#S$?h+Vj0t}bkdR!=VJvXF;$Rpk0Te?od<4}}p1JmTXI5OU zc}GLL5$psWj^?|SYJM0KDlI$KVu@@GHn3k#MTol!z;Z6e4NK2{e#&RytGfkwz&|1# z{FouW7BQ`7_8ih=B5i`CbO!WvB4mYxKcI+(@x@Qt0mEw;%z3-ubUzy6%8#{tbxVbt zpaIm1c3oD*4UfDW!ZVcKHdmm6d+u*OLfMcu^Nz5x`rIoD!;fDGH(L+6&J(xj6E!&f zYmTK_WPZAybqiM)BPl~%n8AdTH%#U0v&G5at#lRsNlK8(hJ-K^f2S1O3KzQ+-kQox zCuq**JsDIjS(@oryT#wW%=W61XrI~R)F_1;^3AVVCO8E_dU}=L#g5v}Eh1sLs-Z5d zWoWB}7zw(9?skiKl-%_i426G_Q2sKt*y2J+H|^%KGQ?Y~)Q{@P;@w4agWHv8swW&K zhhCQyRa@@c&}f)!x}ue#&m6(eRu?}YvTM{^kjS(?g-KG3AwCvc8|&ry`iVyI%pJIl zP!BeCM$c(#Y@8D8w|{ex!Ldl}-c~)DZbEoV5y}4!9_q$ivj9tlY}h^iM&o>P_IjPm zq_{umJ8P?r3d(;Jd@~W$7L;A+5bsxO0O*YTbnzyS^J)UK(K?-D@T9ey3e&Z47T<$- z^}TxcN-Xl-smHq=ju1pkuSu>-y;F)Z!ph*6oSeTBBkHitmg(w{jm88|`rj^F?DFP# zmMYUg4OX(*(suZkGqF}K`}b9Ob>jVYH=Saayw*%zZ7bImUYyIKkn`_7A<eOA85$X# zivkH25d5oVg&RKu5}S8=uDvQJ#KuHcE32r7-swJtV9EZP-A8&*#D5X3dtI`l?~lVm zvp-X<mF9SCx&-8&5c#opCotx)*jR^SrV+Xu-xO}S^0uAmLEMA#c4`CVqs!+MihpGz zs<Ih$^-pu9z89I{PU5hNVotN}aq-0v4ry!941|^54|^3;^1)(jGs0{>@fzNLt0C09 zX1G40%3*zm75_s{R|jk2tr%&@TC1HIWN6iK(Mt6Fv+;lfN?&_iYRh??`p)A<3Qy0s z8qx=H&y=19^I#B1z6A%hzFQ8MLpUM-+|Okx8*iCvGst8+?X0bkx%==IxBtROL}utL zB}`d@Zh;bk`YJ%-8KKA_gq-QEg`xaSEV;JItxv;2pRbmi77>nXXkA=SDcIaxg0UUz zESRX^5*5`-8^VSIr;}k>zDchLZssx9(0o3Tz2g;8mMHG<E}3DjE8n(lEQ@D$%6EvN zUnyV;YkGR!$%1`_0h_sz=Egprt7F%drn<XDP?udh<ATETMo<#H`mkCXa3r*e8!tJo zC%pLn_RyoBm_bwDA4W(H=d(0fsWAYHVf@x=N6o{1#KIa`DP-Mjk&pwJl0_QDL2UCz z=g!)~>VIbZKT6t{xpo0;HU;kd6oXez`&U&PloUD)`%QJfRCeWc9MRLswaw#8(PmoE zP7CzC(-891*dbxG-Eyd^fo^!--6<$NobR={M`_VwAGSnX+Oe3tq1ZV`Q10tkx{|iO z&AVKSE>I_}oGOwTPg%foIeSK8WdDQF+pT~5>ACeE7=6m!)%jr_SUr(gZ^uql;wdll z)pS>)T)<bt@wXC_Pr_i9sj$`Nny1d`${;YytvD;DUpSIg5U12*>5Jz~!6*d<X(w)M zYD5-FhbVk(AEu$tSrt5PvfMm8Z%|HqV!27%Bszj9UMN4xp<DH=WwhpYjQd%K$yWbV zmuV)#R;E>L#j1Ba1oZg#IE)?x-wr#csQwMhHm!`(wbJ6NU+)W~N$1_9yj|j1Gu)@F zIo2f9*T@XJ8Wg85hUbyv!S6VujR4~rJu9^{Y&QO^$*N=7%*uEn2T#tBN776-J|09R zoh*~j&xxB@tFzjRJ@po;FZ+L}ltvbPv2Zf&yF5KvlFw)6=lbdPkN2WOp!5o)vAVBf z;P#FCg!tML8wG59cbT;h6<-4*_T81L-udC$p>N-uG{VZRTfb3*X)dXnBjv)WjR||A zs1sG>XkovFqk8bfCg2wXmP`q`#qihn^{aXxN}4g#-LQ}iue)BTr`7$WA<~%LL+{Pq z#NdePzTxx)51nbVJtgV$3yl(ialXPzBXv<`ltOsXx$k%7z9wNxR#S?XGCNWj&DWwZ z-V{#Rw?VQM@SL<28rv*6vekEH03^C$03Xii^%n+FlhwD3;-nm<=4i7craznw!lMJs z41HY>`VyEYBH2=`Sy_f;X%pDh_17}D!l$D0yL%LGZLEG@<uUt4$t&6L-f)S}?%U99 zz+-Kfg4~CeMTzI>uzgoc!+v<mb?RaCC3E(-1!?!|erdV@ZA&o0dOc1tLZq7UMGxU! zF(C~c;T^VJ!%i^WBT7;C^#3lu*QoDrXQPY*()YDkC?T@!r)<qC#)fW($>EG65+V5* zzyLJ;1`93DCQe}=a}1Aojxq#<7`W*@m6&~W-XK>+Vs&x1^K#fTW5Sf<Yxay{-IM(L zm1jq8kJOpX&&kZl&0O;7HVT{PH`l67!jztO{f_g6h=Gso$M*to_;Uh&DEtG2h6z(3 z+k))ci7S$+;P$OMUqN<Cc%t=JvzGX*MN@)&Mz6I~S8|)lJL0HrzW+nXe*MDS9>wrs z?jt^THhyGf+mGKGcbew5Eg!y91s}s$a#%>36F-mv*O5i3VPjsq((3gGRVZ;hmA@XP zgpK9r@xKa$b@J{8ar`8^OW$2yrmN?R`L$IYXLI4$+oEQAnTj60&gNZ-m&|d4u_Z(K z`q-=zJ0ObHyK-Ew36JDs{35JQaIW;N1V-A7T-j6NnbL{2%YV?NKgnhoI!&{1Z7iSa zGEU`C!lhZ!Erez&a24tAHQ<#c&Wx#pgO855;-S)MT=EhXx#;!aZ)SYbU;T9!GYZ$# zv(7&t&8(sS=RD*jPJo|C$;!=F|J`kWbXkYF=FdzO;=9^?qbOw)Cw7FaoE4t)tJ^II z8EGUma+>_rVU7?!vbzj$3d_dRwg27&Tzd_+rVcCgBT{o<hX8!a_z!$4`-Fd-T#zE^ z*Q=lr`ezr=e+tH#rc&N?K=1$H2ed)wz5{NH)s2{Ewtc%c!rt(66p7Xn+O|R;f}i-) z#Pr7ObvfM|sz7_Mmde4Ih-69h9zAG`4jPVGjTD<mx=d|wAAHH}AW0a8NMim`7c?x> z((GTYPJipD#{Y-QNfA;iPXRU$F}?$>cL>aB@WHYfFrig0->TQbEDi}_|L$x;Gaoq{ zcgtoY-v~te4?#9zFq%jS+BIIdoPm%7Y=BGxq_H}U8(^UAq1BZf#Q+$nmT4f48wocb z(#Ed^P5E=K0`f$;@4=gDkR(n!-hhz?{a+F1M0T_flI%DTfrO^MHG`{w6lM+V51Q1O z{x$9^gh3mefH2V>n8VQw^*azk-g=nLrFjrLqM8)+Ekj6!kH#Bp_jlLSP{Hu8O^u*N z#?myF#;T+!9SvKdGT^DSJWFaFoF9ULy_aBR`IT$8r~QYY_90<N-E&%{q_LxWVTeRn z+Vw1HZ0D^51a?W0T`~dE5Pp-i0TIx)@O5hs3HJO>DeU6f#@i@%+qELG5(o2XNE5$M z#2@1mF*K3lojV%As{7h=r(#}>+jf!rN)iizrdZ!gcUCz`Zzn;J;EjBrLZGbMO(4mg zWUrnIWxBQDpX#=}XM@jc;GERr@tExF>_<dSb6eQ}X%u@%im?WxNllp-)iCg+d~$Ih zXQ@I|glpvrh`%=qCZ+*+cfyUo`)B#ODoMNN3OLZ??=(g``rd=GmUKL^YiRZoP{OIL zW;&BOzytU9Yk#&RrO};nes~YcvJ^@i;}+^FG-QJR?2-eKZ3*s_8gNt~3z97mWb!}+ z)%|=tD*wu8O?4&8H7Bp&z0<%KvziI>|9EfC1B6`fa6ir%24QIw$+*eT+B~6f@7KY5 zl*o0DjnN<4E}xLNa>}3@g@V|C7cCg&%^p-(Y(b?}+m-&%C8hoY9P8!dgL5nOtqcI& zrGL6Q_G7YmD%J%PHD7bll7$W!*C06EofZ(LvtUyA2*zo41Udu~!7jp#Mz}&y#$}My zodUs65M-Bj_uL3#SNb}}rd`+_<df9#s}PD7MVukZ$)OY)9v%jZ)yqgGt`28cC`s-L z!ySQ990GR+J5w>a4=HQ<@?XJ4gs&O3a9N}&=dmiqKJiYP%RiQ#MyRorF>BIIfFZNA zq~RWL(+kLjgJ(e=v`$7akc2n?Bw(^OOkoSaErmI=IM~-ANj|bVOsQtaEsO(~2Bg%8 z@B1TSvky+t*?}iLJSfS&Efr??R;N7(;!^7DfkA8YzyyU`CQ#7QxyJ>tOgcK;bYLTU zxadtH#eY6?=;6I^mASV}{vTK^3t#0k-R83q2Go8#TM#8xG2T1Lf0q$P+{Q-U`$Pc_ znEX)5Q<G(%aea^CDQIDsBnu2C7KlRG7mN*Pz}X6m{tlq~pGdxN#kpNctgzf($d_ZK z`|0gM^H`*i$iP)9vGAUzwm81z!KVIUuohh725_<J)d%D@_<h$Xu#1RNuZg|*xK1|K z%~>I^DDGY$nzV~c)j9{E)UmQ~6Yp60_{kVw_OXE|&M9mPT+WS*>JTtbgA(xT@2VEM z1af}v&A0An2oT4CFXCC<lX4f)c7S~GaxiU$r-NJ>w07U=aV><?C7Maa!uLEDBKkv- zMGlgLp|C<vaL<veJ1zcUvg)^XUjP@Zwzw7{P~S5hZ%<^iUi5Cbjk2F|q%||_lWq0K zC%~A-o2ps@3mqDvrVVvDc@4<=PLIh(bbwH`5**mK-0Jx|Lhmt)wo7yidI9bUXs4IA zgB%3lJmCAn<)vs*oE+<XuZNJb0b>)lIIbIDGW&WZTS{5P3weT+nbHvb*#%>g>+r+Y zrK=TnzH#hY!$qNJMMyxi%|<1+x?U}=!XBge>8f^Un`Y896t#~sDEUGDwF<G|ERb}} z<8?;gQ{MWBIt;J&`Ork}V^9mZx~sR(r25V8C{Q&h@BA4>*pl!H<Wbdc&KlX<*MR5Y z2#nmO6OXG7c0*|)r17LMrt^2EYwdCYFp~LZz=dY7*Zevfrr~@ZaHkI?#rbp(x!(eT zz&yk()<RgBx+Ugl<906enc>5#JLrlnne6e+l2+ZY<z6R4So2+t;PUb>A$Lm{`yE)M z{f~3p2rYDj9Ca-;2(OaX?o}jA;+bz&;0pVd$Hiwt7S&j^5J&pZ%K+?-jQwpe@&Kq< z_F|L9zjntD7{AO=LEH-{bFx8dQj4N*tjwD!d>!Z`kxNclc=#wm)X8O10|2UFH0l6i zZS;TvWzA{5f7<#Dn*h4$|4Ru$ASYuCVX_8#fvyW=4@x){FKvB)dF|-tCto1Lb9Qip z?`H_Vf&*H#*$%R(e*R~*nQ4jwuVBpjTM)VcAQf<HC$i#Z@b1=~#6tYg<j=@f-YfDE zA_ZS4m2MMEgS+9&k#e4nM!5BNkc5P=`JUQCLhm$=YeNdotEvACoVcH_KCTC$cNDyo z`=qiE#EKxWo7QC8p@llx*Jl1VEKc?UJ&I2}OMY^Lt#O1JKuWOe!Ka0xYl665kj6K( zTWGwJi%dQ?@)Juzdaa<?y!H98;+Si2z)0kK8degEAV4Z1g|YEGtby6*fKEV^Lo=Sz z=D@K(#eF}K@c?UuDhV>bT{{@|f9lSv?tTLgKvP!FfJi48ArkYx{#>2GpPF?!V*q)x z%h>Yx;gimx^auKF0f)!q74gC>KuK-*?E&S$Ba-)Z-zl#ez>Q_<daUBbv07u|hVXn0 zW~(J~a+$yx)D&l!pPm2^A?X;NPqk^s2!QeR9fXD`idd9*gE{;%jJmMqnN2ChYTp!F zPIMhEb=_NY4pXd&?JrGD(=WRE^kAVu1#zVxE8}R=5XrPPvos2Gl-hP!s{qK2L2n*Q z9_ewzx@gbPotcs&e(5*zdC%G+h^ps)%Z2fl6&@X&Et;Zn9INdCN;)RbWx|$9n8fBj z=f$QX;}4#Kp_dzgHU{Hqbe8yFYSNF3R;A<8CnUZ*A}q@o&256@Gjm1c`8R7}f>BWb z9ZA7-y))pp4F2}{nKlKiesCPE(Ru+~jFu|;?dkgL=9atS4K~-*w6vJi5`9>yA2B`q zUwB#zqc@gN`qF-?@Yxhye`1W=sg`%jJcPLZHH79VndpvV+gbluT?f!)h`*QY2)4f) z&2)>n*vUf4lcWhcpY-CzfuD5>evf9wtc^cItyQui{$Y>%Xprru1C$)W0GrDj5ASMW z)`oj1P}izZ7Bs}H9R`9Ldyf=0D2BSVaC|nd3A7%5xX&sWL=pNv5+kSr*++Z-i5D=T zRp544YBm}BN`n$dAeUZvHr9|(LMq|@8ie3*SsBu-1idUgr>HbyYLW7~xhkg9rnV0& z0r9pD(ZCJRwmu!;zg?jbHd|h4;ySeDYH(Fd;(CR*Yeyg<#3?X!Zy&Q{|I9BsSPL(= z^?GuhQj26-+p#9w!TQgNF?vukYvaO2t%LRKdVg`A;5t$h>eTO7;T=&EtcwkP$yut? zoy!_xQhx)Df0;6v8!r|gjdsdg6!|*KKqU-Y!3zoyub?SvB(xHUjoh0oZwzB3+`qS9 zz3CojDs9~P{$|8w2c{c~Kj2I!D9g;;_wB>Z*POJHzMB8JJCNWrkht)9Y%K7h_DT>< zrer^(TB~8Sn^Z>8vKa1LA(3YyhN~J&m@=XiUODV?!=tc+I3EyW!NqaI!fMS#VYFo~ zm>nu87fw35h4p}jpi4(YuX6r&?~!8Id=xG!MXtrfG4nfYnAg@~FzFEMo~hJa5l5Q* z#+>}m9&7I$rO?Gk6A<NTTba7h-J8Agn?~lNwSp;53<CzA1h?sfiLd9BHB@dTF!>j= za)g%&6|DGYTlI>-I5cjPu37K{)IQo{SFgtnL+)RftO%>XfID*BkJq~KnyCV|<v~uP zZU<h6d<YY?US@*ACT~22y&*7|Ll<@@`t72I?6>gTxldGlXA(tB)fg=TeL`mE(2<O_ zufvGpPZ*zA$b+tgQwc7S$Sz)^@$7RZx}!K@%m)YCQT?++tu1?Hb#%l7dUSBNaB>s( z?HLsydo}U5;PX00R&T)Ti)x-1waOt{x_Lq1TLINZZno>NvdoD?C)`S4Bui$vZW5`n z7|FN+QF=ha3K}^4G<L-9U#YhL)fiqN#b2C3t)Z@_83QH)&za;~lWQHhIX?~y>;Bsi zao?P-E4ZyU2^?=pRDkw30Sq#uwN;GJj889w-ndDBi{hm7pwDv~nTaH~ny%c_VOY-o z+0c4?)&;z%hh$D!es})p$N5SHYhJ>{i`quN%+ifki;$45%hLr5bH!HHCndfghQU9A z!%u1G1E~$~D_-^WD3RZFCpEo0Y}M&s!8HT5$_VPwG>MSo_6D>wqX9GPCn0_6xA3&N zPlHyY(o_rvrf13yNak}Sm0)oluzaXc6_<HQ=F%rw;m4NPS!cdfTQo)rlj^n7@I4EH zuS&;za1q~^atze)7k8^Sl%w|h{~O|l3d6-iEb8CEOb7vC-6Pk&ni_5qyUIX7fjOx3 z^ghJgFMR6N#tkRA<U>Y0NewaE;o32L&aOv*M61mofHc^N``<>fcLpSbgH;O~Bu4iO zuk@tWEwA*u8wdY_8TwW<G(yAWr<220w;_Zn{_ZF|+)6YFo6{S=Tn<jfAaTcj-Q^xT zL*A6cJB^Q(VCi^MxE6kKkHXiaUdOF4n3+tIGnFnqJg1ee_Q#5VXs3CZN*|<F1}T_L zQJz1Ebc@6gS065&WHS{#{|VfeMGo8j^VHSro1i~ayeuwBI_m5L7HsFe1~NOcX*{e- zAQtEQ^2(1|77r0=lcB0nOSz$1ikPZ?L)WWJ*N7E?OIoR0D{FQpq6`e)G`IV9hx7L< zqHVTxZH*VVk=>G@zkWy|l-eb121vkaP3?Ym_ca41SkN?sG?VOgk-*)wpAm4IqpVxc z;$r`)VSZBn<;|r8%oZ`C6}kiG;aCr1wr#EI5=pwO%i!pd?~B*}qlv|n`JG>LP0r^T z9}8vAER=EVG1FGhTo}~zDA&&(^eK{sC;~-&3D}U>p)Cyd7^S~G(%ocS>q>X;iSRR@ z<>bSb1V=wZ;>7i2ZR-~297Hi+Q{yJpXjC+Su5^PLnfvxrMUZv<mt8BM1X3fq(hu>O zQI<_nw=$>o8fF@2f=p&ln+%-{Zi;QJ04gWJoI8z>C3xzZXJlvR%o1Lb9psIzuY9_k zN5$)9qabgH5MCr|g|Dm2Z%Nm6>bl+NZUogicdFsBIB6vdMUrS@TR%;K69S3q5Xg{F z=CexFws^Wq-GRx*PZA~t{!&f%R`K#PCX0<>)aA+3kwhhJ)PJFR-K-w6UHQAfC5ght zTo5SJjSE1TLU}1=MER`$B0}HS_5j@B$MEk|Dflj-kUeW-zun)23RvE#1`)7IH`Jx4 zRK6JENUZ9q*T2E1!xnHQ3DT)YxUO7ec)jxvM}Y_ePqD{~pU5tgm@Zh?tN)rU-p2$A zvsds`KCyS6+i~ka$%V>jGR9}fhr)i+l7NM*xCbmCGY2X={`$Yfk8o%J=0ha}YJjXf zO}MlVZlTo%$yk3#p#>gAl9n@V)9Gl%C)067D(SZ`IbQ=_RSnY3^IXNVk1Scwmu$}e z70`oQIQ}~9*hbrlr(`N(i@eH6LQ4TjVKa$LRtPeB%|-&qP&zfVsI`y=W10Esi`f~d zWzHfMXFU$)0I4}6AEEg;oQC-8pqz#}brq3iq<2KlF?dI@&BYcbo4D$uo8rANGp?>j z3$sq>M^mq$H0=Rt9M8S4QaDf=BU3b@S8>p*4g+A6Kjj|<aUIprv@k=7jNQqGiYFaD zfJR1eC?>mZUmb#t_f~9-+2Vrt-UW;HQpg`7q^A&AEYWmronN&vhWu|ptakzTJ-fE< zEt{@ImgiIu11N#y-hh2p14OI)aG(>0O~C4c7i~$&1lZA_T5TEB1C6#VBqh|s5FHCj zY5HwMNTh~^)FTVK54I}K0pgTeOaY}=ygy8i#B_B)3+I0a`@-hdZ9!)wF)s>Y5I2du zje`_D7~$gXF9xkH5CH|!rJKvTC&cc*{|;eCCK?U=9eQVBu7V#xd{xVJ-X4`GX|8T2 zr=dt)RrNF)>w_YZTPK}8=3W|B!6BNhJRb#ICP;L;;Il;sjK4iBxp5B%X>E!+3?OsG z*RCzms4-$T1{sDS7C?{yql(KawyXN1-k>S}5y0Rn|8&R}L`4Y-0Z=5q;+FG;VxtBP zaXSHl*)aY31EWEa!z5D-hKO5@%kJZdox<IKq`xpmXTW`!F51I{*y><iD^{dKl^a4P z1Cz@QTDq1&OEWkk@h)YhLc8gi(GEN@&&(Cnl$f-Z(PX=sF^*fF6`*c|m&y}J%q3<o z&wUzh-<Rj?JB?lWEq7|J`|*UnRTp7-W;Cc*WH{(?w~F06<tR1=%tlt12Lv=INe@Go z3jZ)9SBDSPoPI`o22y|h!C6-Y&*3mAZUyqShHDhQj>T7lNyQ(Ubrm%F4>`?pVQuW0 z)-W*Ogdu-btg5MUVUQrv&1lA_6DJn|lFjlb5g(c)+5n9r-;UMrlMes-CEkac_(bM< z1f-u^>*6Zats*MTJDx}UZsR*@d8g2ED=*e${P{_`skZ?~;cTrk`M*UWQNpn7#lx0> zz<_FGoCl3>(;TdWT!34aAerbpYplHloi%PAO~<hte;x*RyS9(;$Zx{mo=~ANioABS zL%id-j9D0n)B%CjQ2*VJvxU8g@z^#CBK4M%iP8FQ2otvtSgh?1yy?4|Q2SKSs^|Jh zLlirM+w4O=ND@6PHY*iy9S1Y(<H4kCGH`RIJ>J3@p=UKQACO<6u18RWaumk<WxED) zZhvvIuQG*e>3vKI_MFF~7PUt|pxAV|SyNjXZQtg29~qhK*7OMX7dHVlfcO>A){ryZ zL!*$*AS>(ONj_3c`$|oe4^MNGSRbtr>G@HZf5g4h_<rz3(r4UcMp4}|Qg6RzMI!V_ z7=4%xaR?D@arP&yN_uM)mWSlEvzxsF9L#1w@{I`~_u(|opony{dNU7hLBU>o^&l^A z%s;U*bayeTbn0<SIjpy3dYnUYBLc92y!oQ6QJEDq?s4pD0RGg%B&AePoYa8Qnk6yH zF}yBPxaGWh2D=K5f;LJ@hgpD=oX%_k#KD@tu7<F8`~j0)-yWvi#DYCn5fo7{*LaMo zeMITt_qmXu{LGN^^ZD%geUmd3qS4F~ZZ%Ug%MOiR-Er*dQ4Z}oCa!={2nPH%`4_ls zTu*2<6m<JY<4%O-HNsy44SbaAgqe|zY0?e=Ssk|zN`lDiS{RNfgEE!mj*hcw^f6Za z3tpywE0P2bJb0`63UHBk<3FFEi<<YvY<zCFke6vR%|6F~X8wpl<oo=m16-li0S?VW zB(3=?`?p3)$B%{koOk(ml<X|z$iC0>46>$t1~yXk`rx~WJyQ~728%(E>oiWr5h9P& zF`z<?z}do-CTcSXj7hGo1T%;+ESDw}bG!{gpU>-NoHbgcg~v=aJW?1CyWLbJz(2MH z!DF{gu(6zkU3vcuEOGqoGUFS3@YabZlGU}eOmyv>x{O1@Rvi~tF3I4>EEW5vl*(Uh zAI%5Y9ZpsM0XD^w1KCJANZFru?rAbsK;KAzb!rc6@1z%r$wPm7a1>@^qd#0ZJFf8R z8t4k7K3eLRe)GrNt{&QS+rH)q75P8kHpLS1$KjQ9NYUbzng$IO&DPW~^YBY9iPsYD zTmjFX^`C|>lS%8+$&Jms2U9}Wxk_h4-4^Ppn~PRd=UYma^Et*<0fJ3E=M~5GUINMn zh?!5(&CdWDS_TZ!cg*(#`13lADL@D|#@979d*;9M9;r=I<x&6<OZ7l`knN9em9;j^ zk>^k&>^fpy{$hBfQ?T~}U@NQ2H8m4*_=QY=gAxy8*Z51f0)!?zG6hNJDG#DxPkO?9 zWjU<?xkze5H$4Lnn<sMbTQmEmJetj1!^F(quF}D-the{jYU)%N{uzD26<C@X@5I=7 z9;COAa$BDwPu9&>%qW=W9G`1}aIGH*UShy3MlVVXu_S9}PCPI9Z?^j?90WRLDz6|~ zS$H$IZ$7aSvILjzHL6mLUNYeiD+Afbiyrrmp!rQFLzo8F$I<J$p-0?okUe4FpO;<B zDL(Wxf<9Z^E|KCblqWIG8J7ESlMU=c%u$Yhyp3yd2MbqD22^!fuEbP3bo5)hR;sJc zJ??RwJjY`>!6^Lo!`Y#pg$$xiYaa?Gd$?}>I-j@{j+z$S_j%ETOV5<wrT+qHfhbxY zUa~Aoeg!`<ek{y0H=YXTH!0f2quyQms)+k#(J@`r8n0;JF;3Ct@hob1jfR2mtULV) zkHmuoUtPMa);XK=Ch4(GZZRJ74?#)MWWCwTXo<RN`JD~}eFVjj_dT1ltiL&{-+&TD z*Ll4B*X(;A#ng$5Ek|GuTKR}pO3_TQS_VEN28q-7Ouu}o3kvWB;<ScCP@fT$j)CTx zG<U7uto<KCF8f9Ar+rq*Egww(9dJSi68{RLp{&w%0D@OzU91T(&`Z@I3UA<<2R)8J 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 Byv_gs diff --git a/wp-content/plugins/advanced-access-manager/screenshot-2.png b/wp-content/plugins/advanced-access-manager/screenshot-2.png deleted file mode 100644 index d363749fc39f277ce56406628146e3399da2611f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43579 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 diff --git a/wp-content/plugins/advanced-access-manager/screenshot-3.png b/wp-content/plugins/advanced-access-manager/screenshot-3.png deleted file mode 100644 index 0d12867fc7ba4e535299995a56c582f9fa968dba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55565 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 diff --git a/wp-content/plugins/advanced-access-manager/screenshot-4.png b/wp-content/plugins/advanced-access-manager/screenshot-4.png deleted file mode 100644 index 118baa98fae10abfc67f06d48dbce75c31f2fed9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46486 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 Jd)esze*h)we6Roj diff --git a/wp-content/plugins/advanced-access-manager/screenshot-5.png b/wp-content/plugins/advanced-access-manager/screenshot-5.png deleted file mode 100644 index b0a1ecdf58a88df082e12950336d11ef275ae8aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42282 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 diff --git a/wp-content/plugins/auto-submenu/auto-submenu.php b/wp-content/plugins/auto-submenu/auto-submenu.php new file mode 100644 index 0000000..955f9bd --- /dev/null +++ b/wp-content/plugins/auto-submenu/auto-submenu.php @@ -0,0 +1,95 @@ +<?php + +/* +Plugin Name: Auto Submenu +Plugin URI: http://jamocreations.com/en/artikelen/auto-submenu +Description: WordPress can only automatically add new top-level pages to menus. With Auto Submenu, new child pages will also be automatically added to menus. +Version: 0.2 +Author: Jamo Web Creations +Author URI: http://jamocreations.com/ +License: GPL2 +*/ + +/* Copyright 2012 Jamo Web Creations (email : hello@jamocreations.com) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License, version 2, as + published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +class AutoSubmenu { + + /** + * Constructor + */ + function __construct() { + add_action( 'publish_page', array( &$this, 'on_publish_page' ) ); + } + + /** + * When publishing a new child page, add it to the appropriate custom menu. + */ + function on_publish_page( $post_id ) { + + // Theme supports custom menus? + if ( ! current_theme_supports( 'menus' ) ) { + return; + } + + // Published page has parent? + $post = get_post( $post_id ); + if ( ! $post->post_parent ) { + return; + } + + // Get menus with auto_add enabled + $auto_add = get_option( 'nav_menu_options' ); + if ( empty( $auto_add ) || ! is_array( $auto_add ) || ! isset( $auto_add['auto_add'] ) ) { + return; + } + $auto_add = $auto_add['auto_add']; + if ( empty( $auto_add ) || ! is_array( $auto_add ) ) { + return; + } + + // Loop through the menus to find page parent + foreach ( $auto_add as $menu_id ) { + $menu_parent = NULL; + $menu_items = wp_get_nav_menu_items( $menu_id, array( 'post_status' => 'publish,draft' ) ); + if ( ! is_array( $menu_items ) ) { + continue; + } + foreach ( $menu_items as $menu_item ) { + // Item already in menu? + if ( $menu_item->object_id == $post->ID ) { + continue 2; + } + if ( $menu_item->object_id == $post->post_parent ) { + $menu_parent = $menu_item; + } + } + // Add new item + if ( $menu_parent ) { + wp_update_nav_menu_item( $menu_id, 0, array( + 'menu-item-object-id' => $post->ID, + 'menu-item-object' => $post->post_type, + 'menu-item-parent-id' => $menu_parent->ID, + 'menu-item-type' => 'post_type', + 'menu-item-status' => 'publish' + ) ); + } + } + } + +} + +$auto_submenu = new AutoSubmenu(); \ No newline at end of file diff --git a/wp-content/plugins/auto-submenu/readme.txt b/wp-content/plugins/auto-submenu/readme.txt new file mode 100644 index 0000000..fbdae23 --- /dev/null +++ b/wp-content/plugins/auto-submenu/readme.txt @@ -0,0 +1,38 @@ +=== Auto Submenu === +Contributors: jamocreations +Tags: admin, menu, submenu, subpages, child pages, page, pages, navigation +Requires at least: 3.0 +Tested up to: 3.9 +Stable tag: 0.2 + +WordPress can only automatically add new top-level pages to menus. With Auto Submenu, new child pages will also be automatically added to menus. + +== Description == + +By default, the menu system in WordPress only allows you to "Automatically add new top-level pages", and does not offer the same functionality for new child pages. Auto Submenu solves that problem. + +When activated, Auto Submenu will do its magic whenever you publish a new child page. If the new page’s parent is placed in a custom menu, then the new page will be added to that menu too (one level below its parent). Should you wish to reorder or delete the new page from the menu, you can simply do so on the admin Menus Screen. + +The plugin does not have any settings. Auto Submenu will just work for all custom menus where the “Automatically add new top-level pages” setting is enabled. + +== Installation == + +The easiest way to install this plugin is via the admin's Plugins screen. + +Alternatively: + +1. Upload the `auto-submenu` directory to the `/wp-content/plugins/` directory. +1. Activate the plugin through the 'Plugins' menu in WordPress. + +== Screenshots == + +1. Publish a new child page. +2. And voila, the new child page has been added automatically to your custom navigation menu. + +== Changelog == + += 0.2 = +* Added support for multiple menus. + += 0.1 = +* First release. diff --git a/wp-content/plugins/nextgen-gallery/changelog.txt b/wp-content/plugins/nextgen-gallery/changelog.txt new file mode 100644 index 0000000..6afdf2a --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/changelog.txt @@ -0,0 +1,1154 @@ +NextGEN Gallery +by Photocrati Media + += V2.0.66.27 - 08.18.2014 = +* Fixed: Missing class.frame_communication_option_handerl.php error + += V2.0.66.26 - 08.18.2014 = +* NEW: Added fault tolerance to bulk action AJAX requests +* Changed: Moved some settings from DB to in-memory +* Fixed: Compatibility with BuddyPress plugin in multisite environments +* Fixed: Ability to find static resources outside of WP_PLUGIN_DIR +* Fixed: Autoupdate conflict with Photocrati Theme +* Fixed: Workaround GoDaddy's throttling of consecutive AJAX requests +* Fixed: Issue with settings manager in multisite enviroments + += V2.0.66.17 - 08.08.2014 = +* NEW: Added french translations +* Secured: XSS vulnerability in jQuery Plupload Queue (thanks Codevigilant Team) +* Secured: XSS vulnerability in thumbnail/slideshow integration links +* Secured: XSS vulnerability on Manage Albums page + += V2.0.66.16 - 07.30.2014 = +* NEW: Added new "limit" setting to Slideshow widgets +* NEW: Added a "ngg_routes" action for other plugins to hook into to provide new routes +* NEW: Added NGG_SKIP_LOAD_SCRIPTS constant, which existed in 1.9.x +* NEW: Added NGG_GALLERY_ROOT_TYPE constant. Set to 'content' to load galleries from the content_dir / content_url +* NEW: Bosnian (bs_BA) language thanks to Nevesin Srdoc +* NEW: Chinese (zh_CN) language thanks to Vahi Chen, http://www.vahichen.com +* NEW: Dutch (nl_NL) language thanks to Taeke Kooiker +* NEW: Filipino (fil) language thanks to Find Hold, http://www.findhold.dk/ +* NEW: French (fr_FR) language thanks to Jean-Yves Dumaine & Le Blog de Lise +* NEW: Hungarian (hu_HU) language thanks to Zoltán Varanka +* NEW: Italian (it_IT) language thanks to Jacopo Caggiano, @tizz +* NEW: Russian (ru_RU) language thanks to SnakeD3 +* NEW: Spanish (es_ES) language thanks to Andrew Kurtis at WebHostingHub +* Changed: Updated Czech language thanks to Separatista; additional thanks to Martin Krizek for the original translation who was mistakenly unaccredited +* Changed: "Upgrade to Pro" page has new design, advertises for NextGEN Plus +* Changed: Basic Albums templates now given the image counter <p> element the class 'ngg-album-gallery-image-counter' (by user request) +* Changed: Gallery widgets now apply height:auto to their element; fixes compatibility with some themes +* Changed: Random galleries should be substantially faster now (1000% or more for large image tables) +* Fixed: Complete WPML compatibility +* Fixed: Disable Buddypress 'bp_do_redirect_canonical' filter as it ruins our routing system +* Fixed: Use plugins_url() content_url() when appropriate rather than just site_url() and home_url() +* Fixed: WP Cron job will remove not only displayed gallery transients, but rendering transients as well +* Fixed: NGG_RENDERING_CACHE_TTL constant is honored properly +* Fixed: If using the caption template for Basic Thumbnails, only show the image caption when appropriate +* Fixed: If NGG is uninstalled, so are it's custom capabilities +* Fixed: Translate "Attach NextGEN Gallery to Post" ATP icon alt text when translations are active +* Fixed: Multisite gallery path tooltip gave a wrong default setting +* Fixed: Flush 'all' caches when pope_module_list setting changes +* Fixed: Don't enqueue related images css in the admin +* Fixed: Basic Slideshows fixes WP creating extraneous <p> element above the slideshow display +* Fixed: Basic Singlepic will now display images marked 'excluded' in the admin +* Fixed: Admin pages can now update when the "Save" button text has been translated + += V2.0.66 - 05.20.2014 = +* Secured: Check mime type of image files using a variety of mechanisms + += V2.0.65 - 05.04.2014 = +* Secured: Limit uploads to images and zips + += V2.0.63 - 04.29.2014 = +* NEW: Translation ready +* NEW: Including German translation by Roland Stumpp +* NEW: Including Czech translation by Separatista +* NEW: Including Finnish translation by Vesa Tiirikainen +* NEW: WPML / qTranslate support +* NEW: Bundled Browser+ JavaScript library +* NEW: Added NGG_DISABLE_FILTER_THE_CONTENT constant to manage conflicts +* Changed: Moved jquery.nextgen_radio_toggle.js to NextGEN Admin Module +* Changed: Original display settings are passed to secondary display types +* Fixed: Thumbnail dimension calculations are inaccurate by 1px when maintaining aspect ratio +* Fixed: Copy IPTC data from original to new image when creating new sizes / thumbnails +* Fixed: Use correct absolute path when importing images in a multisite environment +* Fixed: Incorrect display of disk space quotas in multisite environments +* Fixed: Removed redundant roles form in multisite environments +* Fixed: Insert Gallery Window support for multisite environments +* Fixed: Incorrect handling of NextGEN Styles in multisite environments +* Fixed: Not honouring NGG_IMPORT_ROOT constant +* Fixed: Fixed inability to edit gallery properties using XMLRPC's edit_gallery method +* Fixed: Alignment issues in Basic Compact Albums caused by subalbums not displaying image 'counter' +* Fixed: Display setting forms compatibility issue with WordPress 3.9 +* Fixed; Compability with jQuery Dialogs in WordPress 3.9 +* Fixed: Maximum entity code should be a displayed gallery property for recent/random sources only +* Fixed: Problems with zlib compression: https://core.trac.wordpress.org/ticket/18525 +* Fixed: Support for web servers which use a document root of '//' +* Fixed: Compatibility with WPML Translation Management +* Fixed: use 'del' for function name in ngg_store.js, 'delete' is a reserved keyword +* Fixed: Enqueue fontawesome only when necessary +* Fixed: Suhosin compatibility issue when overriding PHP memory limit +* Fixed: Handle images of wrong image type correctly when trying to create cropped thumbnails +* Fixed: Datamapper entities not allowed to have properties with a value of 0 +* Fixed: Resource manager is manipulating feeds +* Fixed: Convert absolute urls to relative urls for lightboxes +* Fixed: Start the resource manager as early as we can within the init action +* Fixed: Routing problem for galleries with images named 1.jpg, 2.jpg, 3.jpg, etc. +* Fixed: Added tooltips to basic slideshow settings +* Fixed: Remove CKEditor's NextGEN button, which is incompatible with NextGEN Gallery 2.x + += V2.0.61 - 04.01.2014 = +* Fixed: Compatibility with WP 3.9 +* Fixed: Exception thrown when using Reset button + += V2.0.59 - 03.18.2014 = +* Changed: Separated pope_module_list from ngg_options record in options table +* Fixed: Removed code causing jQuery compatibility issues in WP Admin +* Fixed: Allow third-parties to override jQuery with Google's CDN +* Fixed: When resetting the 'jquery' handle, ensure that jquery-migrate is a dependency +* Fixed: Silenced many PHP warnings +* Fixed: Datamapper->count() not returning the correct count +* Fixed: Compatibility with Gravity Forms + += V2.0.58 - 03.10.2014 = +* Fixed: Reset jQuery to WP defaults when modified by a third-party +* Fixed: Compatibility with WP jQuery Lightbox plugin +* Fixed: Compatibility with Peekaboo theme + += V2.0.57 - 03.05.2014 = +* NEW: Re-introduced the Reset button +* NEW: Tooltip added for Page Link to functionality +* NEW: Displayed Gallery Triggers moved from NextGEN Pro to NextGEN Gallery (not in use) +* NEW: Added NGG_Store, a client-side persistence layer (not in use) +* NEW: Added NGG_CRON_SCHEDULE constant. Set to the number of seconds between the execution of NextGEN Gallery cron jobs +* NEW: Added NGG_RENDERING_CACHE_TTL constant. TTL measured in seconds. +* NEW: Added NGG_DISPLAYED_GALLERY_CACHE_TTL constant. TTL measured in seconds. +* NEW: Added NGG_DISABLE_LEGACY_SHORTCODES constant. When TRUE, [slideshow] becomes [nggslideshow]. +* NEW: Added Font Awesome, available for NextGEN Gallery extensions +* Changed: Transients are removed every 30 minutes instead of 60 minutes +* Changed: Admin Page & Form components refactored to allow custom POST processing +* Changed: Default path for NEW multisite installations to wp-content/uploads/sites/%BLOG_ID%/nggallery/ +* Fixed: Ability to upload ZIP files on Windows hosts +* Fixed: Support for filenames with non-ASCII characters +* Fixed: Dynamic updates in the Attach to Post interface (interframe communication) +* Fixed: Attach to Post interface freezing in IE11 +* Fixed: Path issues on Windows Servers +* Fixed: Module installer integrity +* Fixed: Database query performance. No more joins to the WP options table +* Fixed: Lightboxes storing absolute paths for static resources +* Fixed: Displayed gallery cache not regularly flushed +* Fixed: SQL query performance problems. Honor max_packet_allowed variable for MySQL +* Fixed: Multiple database queries generated for determining next available image slug +* Fixed: Corrupted MediaRSS feeds +* Fixed: Padding on Gallery Settings and Other Options pages +* Fixed: Routing issues on subdirectory installs +* Fixed: Importing galleries using the Attach to Post Interface +* Fixed: Gallery path calculations on Windows web servers +* Fixed: Sub-album urls not processed correctly +* Fixed: Apply maximum entity count to existing displayed galleries +* Fixed: NextGEN Gallery Thumbnail Widget shouldn't use ImageBrowser effect +* Fixed: Ability to set shuffle parameter for ImageRotator slideshows +* Fixed: PHP warning about HTMLDocument when displaying a SinglePic +* Fixed: Sanitization of gallery title +* Fixed: Home URL now used instead of Site URL in MediaRSS feed +* Fixed: Attach to Post interface broken when WPML is installed +* Fixed: Attach to Post interface instructing browser to cache the page +* Fixed: Watermarking not working in low-memory environments +* Fixed: Maximum images limit not being applied for galleries already created. +* Fixed: Double forward slashes in static urls +* Fixed: Don't sleep when checking if the installer is running +* Fixed: Don't enforce Pope interface contracts +* Fixed: Remove custom table extra records from wp_options table +* Fixed: Scan folder for new images not working +* Fixed: Incorrect page permalink used for "Page Link To" functionality +* Fixed: Pagination broken when Basic Thumbnail gallery on the same page as Basic Album +* Fixed: parse_url() warnings generated for PHP 5.3.3 and earlier +* Fixed: Compatibility with Headway Themes +* Fixed: Compatibility with web servers which don't provide PHP a document root +* Fixed: Third-party incompatibilities caused by the Photocrati Resource Manager +* Fixed: Compatibility with the Flattr plugin +* Fixed: Compatibility with the Weaver II theme +* Fixed: Interface tweaks for WordPress 3.8 + += V2.0.40 - 11.26.2013 = +* NEW: Added the ability to apply lightbox effects to non-NGG images +* NEW: Added NGG_HIDE_STRICT_ERRORS constant. Define and set to TRUE to hide strict errors +* NEW: Added NEXTGEN_GALLERY_IMPORT_ROOT constant. Define and set to TRUE to browse from a custom directory +* NEW: Added NGG_DEBUG constant. Define and set to TRUE to display helpful messages for debugging +* NEW: Each custom table record will have an associated custom post record for expansion +* NEW: Display helpful error messages when there's a problem uploading images +* NEW: Add data-(src|thumbnail|image-id|title|description) attribute to gallery image anchors +* NEW: Variant support for displayed gallery sources. Random images is limited to 5 variations +* Fixed: Excessive creation of transients for random galleries +* Fixed: Many issues prohibiting the ability to upload images +* Fixed: Compatibility with NextGEN Gallery Export Plugin for Adobe Lightroom (thanks Vladimir!) +* Fixed: Sorting in the Attach to Post interface +* Fixed: HTML allowed in gallery/album descriptions +* Fixed: Requests for galleries within albums that have numeric names are broken +* Fixed: Call to a non-member function get() on WP_Query +* Fixed: Ability to sort by Image ID in the Attach to Post interface +* Fixed: Isolate the Attach to Post from implicit third-party script inclusion +* Fixed: Check for the existance of thumbnails when generating urls, and if missing, generate new ones +* Fixed: Compatibility with NextGEN Facebook OpenGraph+ plugin +* Fixed: Various XML-RPC issues +* Fixed: Widgets stylesheet not included +* Fixed: Issue with color not being pre-selected when previewing Watermark +* Fixed: E_NOTICE emitted when cleaning up cached image files +* Fixed: E_NOTICE emitted when viewing display type settings +* Fixed: Typo adjusting pcre.backtrack_limit for shortcodes +* Fixed: Content within the tabs of the Attach to Post interface cut-off +* Fixed: Routing problem which would cause conflicts with different display types on the same page +* Fixed: Broken Dynamic CSS links on GoDaddy +* Fixed: Ability to use HTML in gallery/album descriptions +* Fixed: Sub-album requests conflicting with paginated galleries on the same page +* Merged: Pull request from andreasE (https://bitbucket.org/photocrati/nextgen-gallery/pull-request/6/) + += V2.0.33 - 10.21.2013 = +* NEW: Requests /ngg_tag/[tagname] will create a displayed gallery +* NEW: Option added to "Import Gallery" tab to use original images +* Fixed: Links are broken on the ngg_tags-sitemap.xml file by WordPress SEO +* Fixed: PHP notice: Attempt to assign property of non-object +* Fixed: Undefined property warnings when using NextGEN Basic Thumbnails +* Fixed: Detect if an applying a transient to a displayed gallery was successful +* Fixed: Compatibility issues with BJ-Lazy-Load and Colorbox +* Fixed: Pagination conflicts for multiple Imagebrowsers on the same page +* Fixed: Ability to display previous exception with debug mode +* Fixed: Tagclouds not working in multisite instances +* Fixed: Load widgets.css when a widget is being used +* Fixed: Installer should remove all instances of the component factory +* Fixed: Widget settings interface not intuitive +* Fixed: Inability to upload images in some Windows host environments +* Fixed: Sorting images/galleries using the Attach To Post interface +* Fixed: Fix detection of HTTPS (pull request by Leonhardt Wille) +* Fixed: Compilation errors of regular expressions +* Fixed: Pro galleries wouldn't display in environments using PHP 5.3.3 or less +* Fixed: Scanning of router slug is now limited to the uri, not the url +* Fixed: Show slideshow link isn't required for thumbnail/imagebrowser integration +* Fixed: WordPress media-upload with 'singlepic' image size +* Fixed: Use target=_blank when the link setting is provided for NextGEN Basic Singlepic +* Fixed: Only display rendering errors if WP_DEBUG is enabled + + += V2.0.31 - 10.03.2013 = +* NEW: Restored AJAX pagination for NextGEN Basic ImageBrowser display type +* Fixed: Compatibility with WordPress Local SEO by Yoast +* Fixed: Inability to upload images if image_slug field was missing in database +* Fixed: Integration of NextGEN Basic Thumbnail and NextGEN Basic Slideshow display types +* Fixed: Photocrati Resource Manager further adjusted to be third-party friendly +* Fixed: Added the ability to find legacy templates in both the child/parent theme directories +* Fixed: JavaScript errors in Attach to Post interface +* Fixed: Router can handle port numbers in urls +* Fixed: Carousel template was linking to NextGEN Basic ImageBrowser view +* Fixed: SQL query generated for displayed galleries using tags as source +* Fixed: 3rd party compat: raise & never lower pcre.backtrack_limit + += V2.0.30 - 09.25.2013 = +* NEW: Restored the ability to use imagebrowser display type instead of a lightbox effect +* Changed: Displayed galleries are no longer rendered in RSS feeds +* Changed: Removed "Plugin Check" widget from overview page +* Fixed: Silence PHP warnings/errors in an output buffer for AJAX actions +* Fixed: Compatibility issue with WordPress SEO and broken site maps (and large error_logs) +* Fixed: Compatibility issue with AJAX Event Calendar (and possibly others) +* Fixed: Adjusted Photocrati Resource Manager to be third-party friendly +* Fixed: Fixed empty result set for displayed galleries selecting 'All' tags +* Fixed: URL generation for imagebrowser pagination links +* Fixed: Ensure that image meta is imported on creation +* Fixed: Ensure that transients are removed when an external object cache is used +* Fixed: Don't load pluggable.php. This will fix plugin conflicts +* Fixed: In Attach to Post interface, galleries created in one tab weren't showing in another +* Fixed: Don't output frame events cookie for XML-RPC requests + += V2.0.27 - 09.18.2013 = +* Fixed: Reduce performance impact of purging displayed gallery transients + += V2.0.25 - 09.18.2013 = +* Changed: Reverting to the 2.0.21 codebase, due to major performance issues in 2.0.23 and 2.0.24 + += V2.0.24 - 09.18.2013 = +* WARNING: Broken release. Uses wp_clear_scheduled_hooks() to purge cron records + += V2.0.23 - 09.12.2013 = +* WARNING: Broken release. Major bug creates redundant cron jobs +* NEW: WP-Cron job to periodically clean-up displayed gallery transients +* NEW: Added "excluded_container_ids" as parameter for ngg_images shortcode +* Fixed: Lightbox effect is honoured by all display types +* Fixed: Highslide displays images from the correct displayed galleries +* Fixed: Ensure that sub-albums display correctly when the word "album" is part of a slug +* Fixed: Ensure that sub-albums display correctly when numerical slugs are used +* Fixed: Related images heading only added when Related Images functionality is enabled +* Fixed: PHP Warning about undefined index when viewing basic albums +* Fixed: AJAX handling is third-party compatible +* Fixed: Image date is no longer overwritten when an image is modified +* Fixed: Fixed issue with displayed galleries using source='tags' +* Fixed: Problem with transient cache not getting flushed properly from Other Options page +* Fixed: Use correct gallery/transient ID when ajax pagination is used + += V2.0.21 - 09.09.2013 = +* NEW: Multisite support +* Changed: Default image quality set to 100 for generated images +* Changed: Removed dependence on simplehtmldom library +* Fixed: Related images functionality works as it did in 1.9.x +* Fixed: Don't compress inline JavaScript in post/page content +* Fixed: Click-to-advance slideshow behavior for slideshows +* Fixed: Security warnings from VaultPress +* Fixed: View as Slideshow link works with AJAX pagination +* Fixed: Broken links on Overview page +* Fixed: Backup images option +* Fixed: Stylesheet url generated correctly for Windows hosts +* Fixed: Compatibility with NextGen Custom Fields plugin +* Fixed: Compatibility with Adsense Explosion plugin +* Fixed: Suppress wp_footer notices unless WP_DEBUG is set to TRUE + += V2.0.17 - 08.30.2013 = +Fixed: Match legacy behaviour when changing gallery path, i.e. don't move files + += V2.0.14 - 08.27.2013 = +* NEW: Added the ability to override thumbnail settings for NextGEN Basic Albums +* NEW: Shortcode Manager API, which ensures that shortcodes are outputted as intended +* Changed: Re-added the ability to select the original image size for widgets +* Fixed: Ensure that stylesheet url returned is correct for Windows hosts +* Fixed: Broken links and lightbox effects with AJAX pagination +* Fixed: Try to ensure that third party plugins don't add content to our dynamic JS +* Fixed: Improved reliability of iframely.js +* Fixed: Ensure that urls are generated correctly in HTTPs environments +* Fixed: Datamapper works correctly in environments where temporary tables aren't supported +* Fixed: Fixed an issue with thickbox loading animation when home url differs from site url + += V2.0.11 - 08.19.2013 = +* NEW: Added "run_ngg_resource_manager" hook to by-pass our resource manager +* Changed: Removed "Reset & Uninstall" tab, for now +* Fixed: Compatibility with W3 Total Cache. Please flush cache after updating. +* Fixed: Conflicts with Photocrati Theme Galleries +* Fixed: Blank Attach to Post interface window +* Fixed: Fixed ability to change Lightbox Effect settings +* Fixed: Implemented techniques to ensure WP_Query variables aren't overwritten +* Fixed: Enqueuing AJAX JS libraries twice in wp-admin +* Fixed: Encoding issues +* Fixed: PHP warnings caused by accessing unserialized data as array +* Fixed: Fixed installer issues + += V2.0.7 - 08.09.2013 = +* NEW: New resource manager that fixes many plugin and theme incompatibilities +* NEW: Styles (custom stylesheets) should reside in wp-content/ngg_styles +* NEW: Added option to "Other Options -> Misc" to control maximum images returned +* Secured: Removed default connector for jQuery FileTree library +* Changed: Updated the simplehtmldom library to version 1.5 +* Changed: jQuery is now enqueued at the beginning of every request +* Fixed: Incompatibilities with BuddyPress +* Fixed: Incompatibilities with Events+, bbPress, Custom Permalinks, and many other plugins +* Fixed: Incompcatibilities with Member Access, AMember, Magic Fields, and More Fields +* Fixed: Incompatibilities with Elegant Themes, Oxygen, Responsive, and many other themes +* Fixed: Ensure that gallery images don't have a border by default +* Fixed: Conflict between imagebrowser and album urls +* Fixed: Reverted default gallerypath to wp-content/gallery/ +* Fixed: Upgrade-safe way of overriding Styles +* Fixed: Generation of AJAX url is now based on slug +* Fixed: Restore nggShowGallery and nggShowSlideshow as wrappers to new API +* Fixed: Always use domain as specified by WordPress Site URL +* Fixed: Use WordPress Home URL over Site URL when appropriate +* Fixed: Numerous pagination issues +* Fixed: Adjusted our forms to comply with WordPress Firewalls +* Fixed: Correct use of select2 DOM selector for maximum compatibility +* Fixed: Path and URL calculations for Windows and UNIX environments +* Fixed: Ensure that pluggable.php is loaded at the start of every request +* Fixed: Fancybox: adjust CSS for further box-sizing protection from themes +* Fixed: Use PHP 5.2.1 compatible named pattern matching syntax +* Fixed: Remove usage of __DIR__ constant not supported by PHP 5.2.x +* Fixed: Removed dependency on mb_string PHP module +* Fixed: Allow "No Lightbox" as an option for Lightbox Effects +* Fixed: Warning: "Invalid CRT parameters detected" for Windows environments + += V2.0 - 07.30.2013 = +* NEW: Improved user experience throughout the plugin, settings and usage. +* NEW: Plupload queue uploader that allows for bulk and zip uploads within the same interface. +* NEW: Complete redesign of the NextGEN options panel +* NEW: Added new interface for adding galleries from pages and posts. +* NEW: Galleries are now mobile friendly and responsive, which is most noticeable with a responsive theme. +* NEW: Streamlined functionality for displaying galleries based on tags. +* NEW: Architecture based on Pope Framework (http://bitbucket.org/photocrati/pope-framework) +* NEW: New shortcode, “ngg_images”, and corresponding Attach to Post interface +* NEW: Galleries have now global and instance settings +* NEW: Support for FastCGI environments +* Changed: Replaces shortcodes with placeholder images, however still supports legacy shortcodes. +* Changed: Introduced new Growl-like notifications +* Changed: The container and it’s images are centered for slideshows +* Changed: NextGEN styles now override vs replace default styles +* Changed: NextGEN legacy templates have been deprecated (but still function) +* FIXED: The ability to use NextGEN image as a Featured Image. +* FIXED: Many bugs and annoyances, such as PHP warnings, errors, etc. + += V1.9.13 - 06.11.2013 = +* NEW: Slideshows are now centered to their content area +* Secured: Ensure that only logged in users can upload images +* Fixed: Import date is presered are no longer Jan 1 1970 +* Fixed: Removed mention of upgrade.php, which no longer exists + += V1.9.12 - 02.15.2013 = +* Fixed: jQuery Conflict Detection was trying to dequeue irremovable scripts + += V1.9.11 - 02.12.2013 = +* NEW: Added the ability to detect JQuery conflicts on NGG Admin Pages and auto-resolve +* Changed: Added "nggalbum" shortcode. Use this when Jetpack is installed. +* Changed: Using natural sorting algorithm for alphanumeric values +* Changed: Database schema is automatically updated when out-of-date +* Fixed: Empty drop-down for "Page Link To" +* Fixed: Alphabetical image sorting +* Fixed: Compatibility with Arjuna X theme +* Fixed: “Creating default object from empty value” on album page +* Fixed: Compatibility issues with PHP 5.4 on album page +* Fixed: E_DEPRECATED warning when using get_userdatabylogin() function +* Fixed: Removed many E_NOTICE errors +* Fixed: Correct use of register_uninstall_hook across all PHP versions + += V1.9.10 - 12.18.2012 = +* Fixed: XML-RPC error displayed when authenticating using WordPress 3.5 +* Fixed: Restored compatibility with NextGEN Gallery Export Plugin +* Fixed: Removed some remaining references to database upgrade code +* Fixed: Deleted galleries within an album are handed gracefully without warning messages +* Fixed: Correct use of register_uninstall_hook +* Fixed: CSS and usability issues with the TinyMCE window used to display galleries +* Fixed: Inability to generate new image slugs + += V1.9.9 - 12.14.2012 = +* NEW: JW ImageRotator v3.17 is now bundled with the plugin and used by default. +* Changed: Removed database upgrade code for versions of NextGEN Gallery earlier than 1.9.3 +* Fixed: Compatibility with WordPress v3.5 ( wpdb->prepare() warnings ) +* Fixed: Sorting by filename now produces expected results using a natural sorting algorithm + += V1.9.8 - 12.05.2012 = +* Secured: Removed bundled version of swfupload. See fix below for SCM information. +* Changed: All transients created by NextGEN are flushed when the plugin is activated. +* Fixed: Our primary SCM is conducted at http://bitbucket.org/photocrati/nextgen-gallery, but was not synchronizing correctly with the WordPress Plugin SVN Repository +* Fixed: The transient adjustment fixes: http://wordpress.org/support/topic/plugin-nextgen-gallery-_transient_ngg_request-entry-in-wp_options + += V1.9.7 - 11.12.2012 = +* Secured: Removed bundled version of swfupload; using WordPress-bundled version instead for WordPress 3.2 instances +* Changed: Using JQuery UI for the image sorting interface (thanks Tomás Soler) +* Bugfix: Image uploads work in WP 3.2 when using Safari +* Bugfix: Adjusted TinyMCE window to use built-in JavaScript libraries +* Bugfix: Removed Photocrati acquisition announcement +* Bugfix: Fixed incorrect usage of ImageJpeg() function +* Bugfix: Switched from "template_redirect" to "wp_enqueue_script" hook to load scripts and styles + += V1.9.6 - 07.21.2012 = +* Changed: Implemented workaround for bug found in WordPress SEO, resulting in no images being added to sitemap +* Bugfix: Fixed an issue with users not being able to dismiss the "Photocrati Acquisition Notice" +* Bugfix: Adjusted Javascript for activating social media pages to load on NextGEN Gallery pages only. +* Bugfix: Fixed compatibility issue with Simple Facebook Connect +* Bugfix: Using correct Facebook Page ID in Like button + += V1.9.5 - 07.18.2012 = +* Changed: Branding changes following Photocrati acquisition (removed donation messages and updated links) +* Secured: Use WordPress-bundled JavaScript libraries for swfobject and swfupload instead of bundling our own +* Bugfix: Adjusted thickbox effect styling to ensure that the lightbox is always displayed in the foreground +* Bugfix: Fixed compatibility issues with Contact Form 7 and other plugins by following WordPress Plugin conventions +* Bugfix: Fixed network-wide activation in WordPress 3.4 +* Bugfix: Plugin is no longer dependent on it's folder name + += V1.9.3 - 26.02.2012 = +* Bugfix : Ensure to set the slug for "all" albums +* Bugfix : Updated german translation ( THX to Roger Hunziker ) +* Bugfix : Ensure error checking on IPTC array (THX to Kristian Edlund) +* Bugfix : Handle IE8 cached images better in slideshow +* Bugfix : Show album preview image if selected (THX to Kristian Edlund) + += V1.9.2 - 17.01.2012 = +* NEW : Added more XMLRPC commands (THX to Vladimir Vinogradsky) +* Changed : Rework Post-thumbnail function (THX to Kristian Edlund) +* Bugfix : Check first for valid images on unzip (only Mac OS zip-files) +* Bugfix : Increase z-index for twenty eleven theme +* Bugfix : Support non latin chars in tagcloud +* Bugfix : Allow other tinymce intance +* Bugfix : Better support for WPML translation + += V1.9.1 - 10.12.2011 = +* Bugfix : Security hardness for untrusted filenames/meta data (THX to Brian St. Pierre) +* Bugfix : Fixed security vulnerability (TXH to Jon Cave) +* Bugfix : Load piclens script via other function +* Bugfix : IE7 script fix for add gallery +* Bugfix : IE7/IE8 width set correctly for edit album autocomplete field + += V1.9.0 - 27.11.2011 = +* NEW : Keep images transparency for PNG and GIF format +* NEW : Switch to Plupload, support now HTML5 Upload (only with WordPress 3.3) +* NEW : Added client side resize feature (only with WordPress 3.3) +* NEW : Support for gallery templates in album shortcodes [ album id=x template="name" gallery="templatename" ] +* NEW : Added new hook ngg_delete_picture +* Changed : Updated to jQuery Cycle Version 2.9995 +* Changed : Always cache the single pictures, remove option +* Bugfix : Couldn't use bulk operation for search results +* Bugfix : Bugfix for Edit thumbnails under IE 8 + 9 +* Bugfix : Allow empty altext in ngg.editImage +* Bugfix : Various PHP notice fixes +* Bugfix : Resize fix for Shutter effect and mobile Browser +* Bugfix : FTP Import missing slug field into database +* Bugfix : Check also EXIF field "DateTimeOriginal" for timestamp + += V1.8.4 - 26.10.2011 = +* Bugfix : Fixed security vulnerability (TXH to Alain Schneider) + += V1.8.3 - 07.08.2011 = +* Changed : Support for simple custom permalink structures (i.e. /%category%/%postname%/) +* Bugfix : Sub-Albums in Albums didn't create the correct link +* Bugfix : AJAX Pagination didn't work anymore +* Bugfix : Adding index.php to home_url() +* Bugfix : Preview picture lost on backend gallery page 2 or higher + += V1.8.2 - 12.07.2011 = +* Bugfix : Set pagination variables for search result, otherwise update failed +* Bugfix : Update failed for paged galleries since WordPress 3.2 + += V1.8.1 - 18.06.2011 = +* Bugfix : Special case for pagination, instead of showing page-1, we show the clean url +* Bugfix : Various PHP notice fixes +* Bugfix : Typo in rewrite rules +* Bugfix : Flush rewrite rules during upgrade later + += V1.8.0 - 12.06.2011 = +* NEW : Full rework of permalink url structure +* NEW : Adding Google Sitemaps for Images (require WordPress SEO plugin by YOAST ) +* NEW : Support for WPML ( WordPress Multilingual Plugin ) +* NEW : Adding support for arrow key in shutter effect (THX to Flyvans) +* NEW : Adding sort operation for galleries overview page +* Changed : Updated pagination to new WP3.1 style +* Bugfix : Create unique slug in a better way +* Bugfix : Rework screen options filter for gallery and image table +* Bugfix : Empty values in XMLRPC update calls are ignored +* Bugfix : Create gallery failed when safe-mode on +* Bugfix : Permalink didn't work in combination with album & imagebrowser + += V1.7.4 - 15.02.2011 = +* Bugfix : Disallow direct call of ajax file to avoid path disclosure (THX to High-Tech Bridge SA) +* Bugfix : Rework jQuery Cycle slideshow for IE compat reason (THX to Justin Dickenson) +* Bugfix : Resize only larger images in slideshow +* Bugfix : Improved image format detection in gd.thumbnail class (THX to Kupar.b) + += V1.7.3 - 20.01.2011 = +* NEW : Introduce plugin health check for conflicts with other plugins/themes +* NEW : Adding new XMLRPC method ngg.deleteImage +* NEW : Adding new XMLRPC method ngg.editImage +* Changed : Rework register script for autocomplete feature +* Bugfix : Bugfix for Multisite setup and flash upload +* Bugfix : WP3.1 compat issue, show site admin page only on Multisite installation + += V1.7.2 - 13.12.2010 = +* Bugfix : Adding images to database require slug + += V1.7.1 - 13.12.2010 = +* Changed : Disable upgrade for PHP4 user +* Changed : Disable colorpicker for option page +* Bugfix : Compat fix for upgrade + += V1.7.0 - 11.12.2010 = +* NEW : Publish a new post direct from the gallery admin page +* NEW : Added filter hook 'ngg_get_image_metadata' to add more exif/iptc information +* NEW : Adding Autocomplete field to TinyMCE Popup and Album page +* NEW : More methods for XMLRPC interface +* Changed : New hooks for gallery table (THX to Alexander Schneider) +* Changed : Introduce jQuery dialog as new UI element +* Changed : Call TinyMCE window via admin-ajax +* Bugfix : Better support for SSL blogs +* Bugfix : Install/Upgrade failed when table prefix contain captial letters +* Bugfix : Fix validation issues in Media-RSS +* Bugfix : Empty tags in XMP Meta causes PHP error +* Bugfix : Rework load mechanism for slideshow +* Bugfix : Copy meta data when image is copied +* Bugfix : Icon Support for Ozh' Admin Drop Down Menu +* Bugfix : Use correct sort order in slideshow + += V1.6.2 - 19.09.2010 = +* NEW : Added constant NGG_SKIP_LOAD_SCRIPTS to avoid script load +* Bugfix : Load Tags library with core files +* Bugfix : Slideshow script failed in IE7, load script now in header +* Bugfix : Load slideshow widget always +* Changed : New admin notice for database upgrade +* Changed : Rework crop feature for featured images +* Changed : Use site_url() instead get_option ('siteurl'), required for SSL support + += V1.6.1 - 08.09.2010 = +* Bugfix : Script load of swfobject.js failed +* Bugfix : Show sideshow also with 1 or 2 images +* Bugfix : Rework null byte check in zip upload + += V1.6.0 - 07.09.2010 = +* NEW : Wordpress 3.0 Network (Multi-Site) support +* NEW : Integrate jQuery Cycle as NON-Flash slideshow +* NEW : Adding jQuery File Tree for import folder (THX to Sergey Pasyuk ) +* NEW : Added action hook 'ngg_show_imagebrowser_first' on custom request +* NEW : Added filter hook 'ngg_slideshow_size' to resize sildeshow for mobile browser plugins +* Changed : Reorder tabs for upload +* Changed : New menu icon and screen icon (THX to Ben Dunkle) +* Changed : Load frontend libs always +* Changed : Rework of overview page +* Bugfix : Security bugfix for Zip-Upload (THX to Dominic Szablewski) +* Bugfix : Allow JPG, PNG, GIF extension +* Bugfix : New German translation (THX to Martin Kramarz) +* Bugfix : Copy/Move also backup file +* Bugfix : Calculate correct ratio for fix thumbnail size (THX to Alekz Keck) + += V1.5.5 - 14.06.2010 = +* Bugfix : Compat issue for post thumbnails with WP2.9 +* NEW : Adding more hooks for custom fields plugin + += V1.5.4 - 14.06.2010 = +* Bugfix : No resize of smaller images +* Bugfix : Compat issues for Post Thumbnails under WP3.0 +* Bugfix : Esc_URL in Media RSS + += V1.5.3 - 11.04.2010 = +* New : Adding pagination to footer +* Changed : Prepare new filter to replace slideshow +* Bugfix : Remove non-breaking space from navigation +* Bugfix : Pagination of galleries +* Bugfix : Fixed brackets position for old shortcode query +* Bugfix : Slideshow option 'Show next image on click" has wrong default value + += V1.5.2 - 25.03.2010 = +* Bugfix : XSS security vulnerability (THX to Core Security Advisories Team , Pedro Varangot) +* Bugfix : Missing $wpdb in shortcodes.php + += V1.5.1 - 23.03.2010 = +* Bugfix : PHP4 compat issue for Add gallery & options page +* Bugfix : Gallery widget can now have a empty title +* Bugfix : Adding correct stripslash for gallery title + += V1.5.0 - 18.03.2010 = +* NEW : Support for Post thumbnail feature +* NEW : Backup and Recover function for images (THX to Simone Fumagalli) +* NEW : Resize images after upload (THX to Simone Fumagalli) +* NEW : Added a JSON class for fetching galleries in a RESTful way (see xml/json.php) +* NEW : Adding various new capabilities for user roles +* NEW : Auto downloader for translation file +* Changed : Rename query var from slideshow to callback for compat reason with other plugin +* Changed : Convert widget function to new WP structure +* Changed : Include lookup for tags into the backend search +* Changed : Restructure addgallery and settings page to enable custom tabs +* Bugfix : Select album preview from gallery preview pics instead random list +* Bugfix : Keep fix dimension in edit thumbnail operation +* Bugfix : Import meta data didn't work correct for existing images +* Bugfix : Fix onload bug for Chrome 4 in Shutter script +* Bugfix : Remove various PHP notices for a better world +* Removed : Canonical link is now part of Wordpress 2.9 + += V1.4.3 - 16.11.2009 = +* Bugfix : Urlencode XML file path for sildeshow + += V1.4.2 - 16.11.2009 = +* Changed : Load sildeshow XML not longer via relative path +* Bugfix : No imagebrowser in carousel mode +* Bugfix : JS Effect navigation based on wrong array structure +* Bugfix : Remove whitespaces from meta import +* Bugfix : Capability check for upgrade notice +* Removed : Hide "more settings" for now, causes problems with IE and jQuery UI tabs + += V1.4.1 - 10.11.2009 = +* Bugfix : Capabilites could not be saved +* Bugfix : Ajax pagination option not saved +* Bugfix : echo nggSlideshowWidget() for compat reason + += V1.4.0 - 08.11.2009 = +* NEW : Automatic rotate images during upload or via manage gallery page (THX to Simone Fumagalli) +* NEW : Include Bulkupdate for gallery overview, require PHP 5.2 +* NEW : XMLRPC support with 4 new methods : see xmlrpc.php for more information +* NEW : Recent and random images can be taken from a specific gallery using the id=x parameter in the shortcode (THX to Prollius) +* NEW : Recent images can be recent by exif date (instead of database id) by using the mode=recentdate parameter in the shortcode (THX to Prollius) +* NEW : Introduce the WP_Object_cache and meta_data +* NEW : Various new hooks and filters +* Added : Better support for role manager plugin (THX to Mattias Buelens) +* Added : New option to add hidden images. Needed to show all images in a modal window (Thickbox, Lightbox et.) +* Added : New link parameter for the singlepic shortcode : [singlepic id=x w=x h=x link="http://google.com"] +* Added : New template gallery-carousel +* Added : New id parameter for recent and random shortcodes : [random max="7" template="filename" id="2"] takes only pictures from the gallery with id=2 +* Added : New mode parameter for recent shortcode : [recent max="7" template="filename" id="3" mode="date" /] where mode can be one of (id, date, sort). Recent pictures are delivered by addition to database (id), exif date (date) or user sort order (sort). +* Added : Enable/Disable Ajax navigation via settings +* Added : New filter hook 'ngg_render_template' to render templates with a other plugin +* Changed : Added option to link an album with a page id +* Changed : Support templates for child themes, use STYLESHEETPATH instead TEMPLATEPATH (THX to Prollius) +* Changed : Rework of Media RSS Widget +* Bugfix : Check capability to create a new page +* Bugfix : Fix double call of filter name , changed to ngg_picturelist_object (THX to Prollius) +* Bugfix : Check for a deleted gallery in a album + += V1.3.6 - 20.09.2009 = +* Changed : Just change the feed link + += V1.3.5 - 17.07.2009 = +* Bugfix : Fixed XSS issue for Page title + += V1.3.4 - 07.07.2009 = +* Added : New filter ngg_gallery_object and ngg_image_object +* Bugfix : Fix double rendering of a gallery if two album shortcodes are used +* Bugfix : Fix for custom field ngg_gal_sort +* Bugfix : Changed capability check for upload +* Bugfix : Check for correct version OR memory limit + += V1.3.3 - 11.06.2009 = +* Changed : Load Thickbox images via wp_footer() +* Bugfix : Widget setting couldnot be saved + += V1.3.2 - 10.06.2009 = +* Changed : Resize maximum to 1280 x 1280 with nggshow (THX to onezero) +* Bugfix : Bugfix for Multifile upload +* Bugfix : Bugfix for sortorder under jQuery 1.3 +* Bugfix : Workaround for more albums per page, need more rework +* Bugfix : AJAX reload didn't work if slideshow is shown by default +* Bugfix : Redirect links didn't work if permalinks are deactivates +* Bugfix : Add new gallery in manage-overview didn't use defaultpath + += V1.3.1 - 07.06.2009 = +* Bugfix : Fixed ZIP upload, wrong variable used +* Bugfix : Check for array before foreach in album missing + += V1.3.0 - 07.06.2009 = +* NEW : Subalbum support +* NEW : Search for images in the admin tab +* NEW : Add new gallery also in manage tab +* NEW : AJAX support for Imagebrowser and gallery navigation (THX to Anty) +* NEW : Added zip upload via URL (THX to Juan Jose Galvez) +* Added : jQuery Multiple File Upload Plugin v1.44 +* Added : SWFUpload V2.2.0 +* Changed : Remove extension for Alttext during first import +* Changed : Meta tag added via wp_head hook (THX to Viper) +* Bugfix : Correct various PHP notice messages +* Bugfix : Typo fix in custom fields for ngg_gal_ImageBrowser +* Bugfix : Avoid upload of images in gallery without correct capability + += V1.2.1 - 22.03.2009 = +* NEW : Support for IE8 Web Slices in widgets +* NEW : Add filter ngg_image_object +* Changed : Descending order in add gallery menu +* Bugfix : Exclude option didnT work for multi pages +* Bugfix : Check for correct capability in manage gallery + += V1.2.0 - 09.03.2009 = +* NEW : Support for image tag cloud with shortcode [tagcloud] +* NEW : Adding shortcode [recent max="7" template="filename" /] & [random max="7" template="filename" /] to show the most recent/random pictures (THX to Bernhard) +* NEW : Crop thumbnails manually (THX to Simone Fumagalli) +* NEW : Support for i18n with polyglot or qtrans plugin (THX to Boris Glumpler) +* NEW : Canonical meta link support +* Added : SWFUpload V2.2.0 B5 +* Added : New memory limit check in upload screen +* Bugfix : Language typo fixes +* Bugfix : Admin Pagination fix +* Bugfix : Typo fix in widgets +* Bugfix : Init column script after document is ready +* Bugfix : htmlspecialchars() instead htmlentities() for links in the a href title description +* Bugfix : Upgrade routine didn't add sortorder to correct table (THX to Uwe) +* Bugfix : Correct shotcode in media upload tab + += V1.1.0 - 26.01.2009 = +* NEW : Pagination for album page via custom fields ('ngg_paged_Galleries') +* NEW : Support for fixed number of columns inside the gallery +* NEW : Added pagination for galleries and images in admin section +* NEW : New action hook after image is added to database, called 'ngg_added_new_image' +* NEW : New template for caption below images, called via [nggallery id=x template=caption] +* Added : SWFUpload V2.2.0 B4 +* Changed : Rework of Manage image tables +* Changed : Move imagerotator.swf to wp-content/uploads +* Changed : Added a URL field to setup the path to the Imagerotator +* Changed : Add additional parameter to gallery object +* Changed : Load donators list external +* Bugfix : Style fixes for tables in IE7 +* Bugfix : All albums code couldn't use the slideshow, query is empty for 0 +* Bugfix : Htmlentities() for links in the a href title description +* Bugfix : Clean up mode for singlepic +* Bugfix : Typo in widget settings + += V1.0.2 - 19.12.2008 = +* Added : Option to enable/disable the MediaRSS Feed +* Added : For flash under FF3/WIN we should use outline: none; +* Added : Use sort order also for Media RSS +* Changed : Descending order for TinyMCE Editor +* Changed : Added screencolor flashvar as bgcolor for the flash slideshow +* Changed : Remove link to gallery in sidebar widget +* Bugfix : Check for empty gallery title and show name instead +* Bugfix : Album id=all / Album id=0 didn't show content +* Bugfix : Check for a empty description and alttext +* Bugfix : Remove HTML tags from slideshow +* Bugfix : Load SWFobject always when the imagerotator exist +* Bugfix : Zip-Upload in existing gallery failed +* Bugifx : Typo in functions.php (THX to David Horat) + += V1.0.1 - 11.12.2008 = +* Bugfix : Change upgrade routine, import_date_time could cause a memory problem +* Bugfix : Help pages will not show up in non-english enviroment +* Bugfix : Show gallery name if title is empty + += V1.0.0 - 11.12.2008 = +* NEW : Adding some rewrite rules for the Blog title for a better SEO (Will be continued...) +* NEW : Added ImageMagick support (currently a bit experimental) (THX to Frederic de Ranter) +* NEW : Automatic unistall via register_uninstall_hook() +* NEW : Added a presort option to sort easier the images +* NEW : Lookup for a nggallery.css in the theme folder +* NEW : Added Date/Time field to database and import it from EXIF, new sort option +* NEW : Multi Widgets to show links to Media RSS feeds (THX to Vincent Prat) +* NEW : PicLens support for galleries (THX to Vincent Prat) +* NEW : Copy/Move images between galleries (THX to Vincent Prat) +* NEW : Media RSS feeds (either for galleries, albums or global) (THX to Vincent Prat) +* NEW : Image tag management (THX to Vincent Prat) +* NEW : Convert all shortcodes to WP shortcodes API +* NEW : AJAX based thumbnail generator +* NEW : Create output via template files, more flexible and support for multiple templates +* NEW : Extended role system. Each gallery has now a author +* NEW : [thumb id="4,5,12,..."] shortcode. You can now insert thumbnails for one or more images (that are not necessarly inside the same gallery). +* Changed : Add swfupload 2.2.0. Support for Adobe Flash 10 upload +* Changed : Update all Admin pages for Wordpress 2.7 Admin UI +* Changed : New icon for TinyMCE and WP2.7 Menue from http://www.pinvoke.com/ +* Changed : Move update message to admin.php +* Changed : Widgets are now core and doesn't need to be activate, rework as Multi Widgets +* Changed : Improved the gallery management page. +* Changed : Rename the filter 'ngg_create_gallery_thumbcode' to 'ngg_get_thumbcode'. +* Changed : Convert tags to WP-Taxonomy tables, no more need for ngg_tags, ngg_pic2tags +* Changed : Arrange manage fields in a new way +* Changed : Support now SSL +* Changed : Use JQuery UI instead of interface lib +* Changed : Updated to swfobject 2.1 +* Changed : Rework of database queries and new central nggdb class +* Bugfix : Changed CSS for singlepic padding to margin +* Bugfix : Check for zero in Exif Focal Length +* Bugfix : Round instead inval for square thumbnails +* Removed : Do not longer check for myGallery folders +* Removed : Use now PclZip from WP Core +* Removed : Wordpress 2.1 - 2.3 files deleted + += V0.99 - 27.09.2008 = +* Changed : Included swfobject version 2.1 +* Bugfix : Recognize the zip better +* Bugfix : Limit the length of the title in the media-upload +* Bugfix : Round instead inval for square thumbnails + += V0.98 - 15.07.2008 = +* Bugfix : Removed all whitespaces at EOF + += V0.97 - 10.07.2008 = +* Changed : Get new path contstant from WP2.6 +* Changed : Minor updates for WP2.6 +* Changed : Added new filters (THX to Vincent Prat) +* Removed : Revert singlepic wrapper, breaks validation + += V0.96 - 18.05.2008 = +* Changed : Use postbox for gallery settings +* Added : New filter function to add custom columns +* Bugfix : Fixed width for Thickbox in Manage gallery +* Bugfix : fixed width for media upload select box +* Bugfix : Remove <p> tag in singlepic regex +* Bugfix : Correct format of shutter speed +* Bugfix : Album name in Short code not useable + += V0.95 - 25.04.2008 = +* Bugfix : Correction in media-upload to fit with Wordpress 2.5.1 +* Bugfix : Attribute_escape all objects in media-upload +* Bugfix : Correct sortorder for albums +* Bugfix : Typo correction (THX to Momo-I) + += V0.94 - 20.04.2008 = +* Added : New filter option ngg_create_gallery_link +* Changed : Reduce amount of DB queries in albums (Big THX to Alexandr Kindras) +* Changed : Revert wpautop priority change. Doesn't good for other plugins + += V0.93 - 12.04.2008 = +* Added : Select Full-Size or Singlepic in Media Upload +* Added : Check for minimum 8 MB Memory +* Changed : Priority from wpautop must be before gallery +* Bugfix : Added Screencolor to Widgets +* Bugfix : Clean CSS class in setup.php +* Bugfix : Change PHP short tag (Thx to Archedition) +* Bugfix : Remove tab.png from CSS (Thx to Frisco) +* Bugfix : Remove newline and encode quotes in Media-Upload (THX to Trip Mellinger) + += V0.92 - 30.03.2008 = +* Changed : Higher priority for filter in WP2.5 final +* Changed : Do not increase memory_limit with ini_set +* Added : Read EXIF field ImageDescription + += V0.91 - 24.03.2008 = +* Changed : Resample mode back to 3 +* Changed : Add DIV "ngg-singlepic-wrapper" for SingelPic (THX to Travel-Junkie) +* Changed : Increase Tweakfactor for Memory Check +* Bugfix : Use admin.css only on NextGEN pages (THX tp Oliver) +* Bugfix : Updates widgets (V1.21) for ImageRotator 3.15 +* Bugfix : Change order of rewrite rules for WP 2.5 +* Bugfix : Include Dashboard CSS also for page "nextgen-gallery" + += V0.90 - 18.03.2008 = +* NEW : Sort order for images +* NEW : Updated style for Wp 2.5 +* NEW : Media upload tab integration for WP 2.5 +* Added : Change wp shortcode filter +* Added : TinyMCE V3 Button for WordPress 2.5 +* Added : Singlepic center class +* Changed : New default parameter for ImageRotator 3.15 +* Changed : By default enable metadata import +* Changed : Moved disable/enable flash setting to add gallery +* Changed : wpdb->escape gallerytag in nggfunctions +* Changed : Sort files after scan folder +* Changed : Check for filename during upload +* Changed : Remove jQuery plugin for navigation +* Changed : Remove myGallery import +* Changed : Resample mode default set to 5, causes problems at PHP 4.4.8 /PHP 5.2.4 +* Bugfix : nggextractXML missing stripslashes +* Bugfix : P tags not closed in manage.php +* Bugfix : Remove " from singlepic class +* Bugfix : Rewrite rule for ImageBrowser added + += V0.83 - 14.02.2008 = +* Changed : New Interfaces.js from WP Core 2.5, for sortable bug under IE7 +* Changed : Update to jQuery V1.2.2, deregister older version from WP +* Changed : Add ini_set 128MB for memory-limit +* Bugfix : SWFUpload Cookie Post_Params are overwritten , no upload possible +* Bugfix : WPMU options are not saved after installation +* Bugfix : Remove Flush rewrite rules during install + += V0.82 - 09.02.2008 = +* Bugfix : add_filter (searchnggallerytags) not proper included for some other plugins + += V0.81 - 04.02.2008 = +* Changed : Use stristr first to reduce CPU cycles (THX to Alakhnor) +* Changed : Flush Rewrites rules after option update +* Changed : Rework for folder check under Safe-Mode +* Bugfix : Check for array in get_option() (THX to Alessandro) +* Bugfix : Add Cookie to SWFUpload, show Error code included +* Bugfix : galShowOrder = Sildeshow at first didn't work +* Bugfix : Remove reference from ngg_getOnlyImages + += V0.80 - 02.02.2008 = +* NEW : SWFUpload integrated : Show upload progress and select multiple files in the file browser dialog. +* NEW : Progress bar for resize, watermark and thumbnail operation +* NEW : Import Meta data from images +* NEW : Show Meta data information +* NEW : Cache option for SinglePic +* NEW : Permalink support +* NEW : Custom fields support - Change the settings for each post/page +* Changed : Up to 10 Widgets, exclude galleries from random/recent images. +* Changed : Refactor permission check for Safe-Mode Check and mkdir/chmod +* Changed : Admin CSS in new folder/file for better structure +* Changed : Clean up folder structure +* Changed : Clean up code in manage.php, functions.php +* Changed : Moved several functions into nggAdmin Class (functions.php) +* Changed : Update to jQuery V1.1.4 (v1.2.1 causes problems with interface.js) +* Changed : Hide used galleries in album admin page +* Changed : Remove float in singlepic code and added class ngg-left , ngg-right (THX to Nathan Sylvain) +* Changed : Edit style setting (added new class .desc , THX to Sebastian) +* Changed : Check for galleryfolder instead name (THX to Luke Poland) +* Changed : Delete images per default +* Changed : Change CSS (ngg-album-compact) , remove width & height setting from code +* Bugfix : Fixed static front page problem +* Bugfix : Missing stripslashes & html_entity_decode +* Bugfix : Change Album CSS (THX to Thomas-DK) +* Bugfix : Watermark for GIF not correct supported +* Bugfix : Missing wp_nonce at setup page +* Bugfix : Add DIV in Slideshow link (for Safari & Opera) +* Added : Screencolor flashvar for JW Image Rotator 3.13 or higher +* Added : Set WP-CHARSET / COLLATE during installation +* Added : Updated to Pclzip.lib.php v2.6 +* Added : CSS ID field for gallery & images +* WPMU : New site admin page (wpmu.php) +* WPMU : Integrated quota check +* WPMU : No update check +* WPMU : Remove edit style (THX to Kristin) +* WPMU : Remove uninstall button +* WPMU : Remove server settings +* WPMU : Gallery path set to blog.dir +* Added : Support for WPMU + += V0.74 - 01.12.2007 = +* NEW : Added meta reader class, first step to integrated meta data import + += V0.73 - 20.10.2007 = +* Added : Support for Shutter Reloaded +* Update to jQuery Tabs 2.7.4 +* Changed : Remove $_SERVER['REQUEST_URI'] for IIS compatibility +* Bugfix : Option Sildeshow didn't jump to overview + += V0.72 - 13.09.2007 = +* Added : Missing overflow:hidden in ngg-album.css +* Added : New experimental stylesheet hovereffect.css +* Changed : Better check for memory limit in zip-files +* Bugfix : Missing stripslashes for alttext (THX to Lawrence) +* Bugfix : Navigation didn't highlight page 1 (THX to Brot) +* Bugfix : Albums automatic minimize if more than 4 galleries +* Bugfix : Missing check_admin_referer in style (THX again to Christopher) + += V0.71 - 07.09.2007 = +* Added : Add defer="defer" to Slideshow to avoid IE crash (THX to Simbo) +* Bugfix : Bugfix for slideshow to show all pictures +* Bugfix : Wrong check_admin_referer in albums (THX to Christopher) +* Bugfix : No exclude check in counter and widgets (THX to Christopher) +* Bugfix : Check for existing role (THX to Lost in Network) +* Bugfix : Label in roles are wrong (THX to Joern) + += V0.70 - 06.09.2007 = +* NEW : Add role manager page and capabilities +* NEW : Show gallery with [tags=list of tags] +* NEW : Show album with [albumtags=list of tags] +* NEW : Tag system for all images +* NEW : Option for append related images +* NEW : Option to show description below thumbnail +* NEW : Option to show ImageBrowser instead JS effect +* Added : Add Full size link to thickbox +* Added : Check for page/postid in tag processing +* Added : Sildeshow widget can now contain all images +* Added : Minimize/Maximize option for albums +* Added : Deregister jQuery V1.1.2 for WP2.2 (to use V1.1.3.1) +* Added : Integrate wp_nonce_field at all admin pages +* Changed : Update to Thickbox 3.1 + mods for NextGEN gallery +* Changed : Moved "clear:both" into class "ngg-clear" (THX to Gero) +* Changed : Switched from jQuery Interface to jQuery Tabs from Klaus Hartl +* Remove : Remove option for singlepic link +* Remove : Remove options for imagebrowser +* Bugfix : Most Recent image in Widget are wrong +* Bugfix : More XHTML valid , htmlspecialchars() after add_query_arg() +* Bugfix : Sanitize file name before upload +* Bugfix : Sanitize folder name (THX to Tom Fowler) +* Bugfix : Show title/alt in jQuery plugin (THX to Gregory Green) +* Bugfix : i18n support for Gallery tab +* Bugfix : Reduce memory-needs for plugin +* Bugfix : Typo/spelling correction +* Bugfix : Removed myGallery author from contribute list + += V0.64 - 31.07.2007 = +* Bugfix : Remove arrows in image browser text +* Bugfix : Include nggadmintab.php with dirname +* Bugfix : Zip-Upload under Mac > look for basename + += V0.63 - 10.07.2007 = +* NEW : You can now upload a zip file into a existing gallery +* Added : Remove subfolder in Zip-files +* Added : Show required memory for thumbnail creation +* Added : Updated to jQuery.multifile 1.22 +* Added : Install-Upgrade for WordPress 2.3 +* Bugfix : Supress unlink error message for thumbs +* Bugfix : Support upload of zip files from MAC +* Bugfix : Add Stripslash for image description +* Bugfix : Use for Singlepic not rel="Gallery name" +* Bugfix : Moved RSS/Snoopy includes into function + += V0.62 - 06.07.2007 = +* NEW : Import for myGallery +* Added : Updated to jQuery 1.1.3.1 +* Bugfix : Check for memory_limit setting, otherwise pass the test +* Bugfix : Thumbcode not insert for nggDisplayRandomImages and nggDisplayRecentImages + += V0.61 - 29.06.2007 = +* Added : Forgot the file jquery.nextgen.pack.js and jquery.nextgen.js + += V0.60 - 27.06.2007 = +* NEW : Select a image from the Upload Tab +* NEW : Tag [imagebrowser=id] for a Inline Gallery Browser +* NEW : Show gallery without Subpages +* NEW : Manage gallery : Function "Add a new page" +* NEW : Manage gallery : Show/Hide thumbnails +* Added : Slideshow option : Watermark / Background music +* Added : Check for memory limit +* Added : Show actual memory usage in overview +* Added : Include function check in widget +* Added : Latest Sidebar widget from KeViN +* Added : Check for capability during installation +* Changed : Remove P Tag around gallery tags ( THX to the work from John Godley ) +* Bugfix : Delete picture, check for pid +* Bugfix : admin/settings.php line #172: typos corrected (this=these,maxium=maximum). (THX to Helene D.) +* Bugfix : admin/settings.php line #311: missing </td> added. (THX to Helene D.) + += V0.52 - 31.05.2007 = +* Changed : Create better thubmnails in square mode (THX to Kees de Bruin) +* Changed : Again , fixed ratio create better thumbnails (Also for widescreen photos) +* Removed : Option "Resize image before cropping" removed and included in Create square thumbnail +* Bugfix : Scan folder for new picture didn't set exclude = 0 +* Bugfix : If no option is checked in thumbnails, resize failed (THK to Joern Kretzschmar) + += V0.51 - 28.05.2007 = +* Bugfix : Thumbnail permission not set correct +* Bugfix : Folder permission check wrong +* Bugfix : Remove echo in album (THX to Lazy) + += V0.50 - 28.05.2007 = +* NEW : Select multiple files for upload (THX to Diego A., http://www.fyneworks.com) +* NEW : Sidebar widget contain now Slideshow, recent images and random images +* Added : New Option for Imagerotator 3.8 (Slow zoom effect) +* Added : Option for CDATA wrapper (not working proper) +* Added : Option for Thickbox Loading Image +* Added : CSS file for dKret2 (THK to Joern) +* Added : Better file permission check +* Changed : Fixed ratio create better thumbnails in portrait mode +* Changed : All jQuery scripts are now in "No Conflict" mode +* Changed : Script loading now via wp_enqueue_script +* Changed : Add constant values for folder/file permission +* Changed : Use description in <A href title> +* Bugfix : Remove wrong DIV tag in slideshow +* Bugfix : Tag [Slideshow=id,width,height] didn't work proper +* Bugfix : Name conflict in Album script (serialize) (THX to Die-Andis) +* Bugfix : Changed check for CSS activation +* Bugfix : Changed check for safe-mode (Don't ask) + += V0.43 - 20.05.2007 = +* Changed : Rename Thumbnail class to avoid php name collision +* Bugfix : Missing translation flag in setup +* Bugfix : Changed check for safe-mode +* Bugfix : Changed check for Zip-File + += V0.42 - 17.05.2007 = +* Bugfix : Float function for singlepic not integrated, sorry ! +* Bugfix : Remove clear:both in widget + += V0.41 - 17.05.2007 = +* NEW : Sidebar widget from KeViN +* Update : Better album management for more galleries +* Update : Thickbox v3 integrated +* Added : Float selection for singlepic +* Added : CSS class for widget +* Added : CSS file for K2 theme +* Added : German translation (THX to Lazy) +* Added : Better check for safe-mode +* Added : CSS Class for single-pic : class="ngg-singlepic" +* Added : Option to resize image before cropping it (Setting reset of prior versions needed! Setup -> Reset Settings) +* Changed : Image quality by default 85% (THX to ArizonaGroovejet) +* Bugfix : Update wrong file when select other style +* Bugfix : Fixed Permalink in album (THX to Helene D.) +* Bugfix : Scan folder in empty gallery +* Bugfix : Swfobjects only added with Thickbox effect +* Bugfix : Umlauts are now handled correctly + += V0.40 - 29.04.2007 = +* NEW : TinyMCE Button integration +* Removed : CSS Style : remove width/height in album + += V0.39 - 28.04.2007 = +* Added : Set ORDER BY for gallery +* Bugfix : check now for Exclude != 1 +* Bugfix : DB Query in function wrong +* Bugfix : DB exlude = DEFAULT '0' +* Bugfix : Scan folder in empty gallery + += V0.38 - 28.04.2007 = +* Bugfix : One time more remove get_settings :-) +* Bugfix : $_GET in Manage gallery +* Bugfix : exclude option + += V0.37 - 28.04.2007 = +* Bugfix : $_GET in Manage gallery +* Bugfix : update DB installation routine + += V0.36 - 26.04.2007 = +* Bugfix : Stupid PHP beginner failure in album management + += V0.35 - 26.04.2007 = +* Rework : Folder name can be flexible +* New option : Fullsize pic for Singlepic mode +* New option : Select show order +* Added : Check for WP2.1 +* Added : Check for permission for default folder +* Bugfix : Remove get_settings +* Bugfix : Correction for Safe-Mode ON +* Bugfix : Set Default '0' for table album.sortorder +* Bugfix : Update sort order + += V0.34 - 24.04.2007 = +* Added : Add fix ration setting +* Added : Add language file file +* Bugfix : Change link in Album to get_bloginfo('wpurl') +* Bugfix : Album CSS file not loaded + += V0.33 - 23.04.2007 = +* NEW : Overview Page +* NEW : Core function +* NEW : Slideshow diff --git a/wp-content/plugins/nextgen-gallery/index.html b/wp-content/plugins/nextgen-gallery/index.html new file mode 100644 index 0000000..e69de29 diff --git a/wp-content/plugins/nextgen-gallery/license.txt b/wp-content/plugins/nextgen-gallery/license.txt new file mode 100644 index 0000000..1f963da --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/license.txt @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. + diff --git a/wp-content/plugins/nextgen-gallery/nggallery.php b/wp-content/plugins/nextgen-gallery/nggallery.php new file mode 100644 index 0000000..6361842 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/nggallery.php @@ -0,0 +1,648 @@ +<?php +if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); } + +/** + * Plugin Name: NextGEN Gallery by Photocrati + * Description: The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 9 million downloads. + * Version: 2.0.66.27 + * Author: Photocrati Media + * Plugin URI: http://www.nextgen-gallery.com + * Author URI: http://www.photocrati.com + * License: GPLv2 + */ + +if (!class_exists('E_Clean_Exit')) { class E_Clean_Exit extends RuntimeException {} } +if (!class_exists('E_NggErrorException')) { class E_NggErrorException extends RuntimeException {} } + +// This is a temporary function to replace the use of WP's esc_url which strips spaces away from URLs +// TODO: Move this to a better place +if (!function_exists('nextgen_esc_url')) { + function nextgen_esc_url( $url, $protocols = null, $_context = 'display' ) { + $original_url = $url; + + if ( '' == $url ) + return $url; + $url = preg_replace('|[^a-z0-9 \\-~+_.?#=!&;,/:%@$\|*\'()\\x80-\\xff]|i', '', $url); + $strip = array('%0d', '%0a', '%0D', '%0A'); + $url = _deep_replace($strip, $url); + $url = str_replace(';//', '://', $url); + /* If the URL doesn't appear to contain a scheme, we + * presume it needs http:// appended (unless a relative + * link starting with /, # or ? or a php file). + */ + + if ( strpos($url, ':') === false && ! in_array( $url[0], array( '/', '#', '?' ) ) && + ! preg_match('/^[a-z0-9-]+?\.php/i', $url) ) + $url = 'http://' . $url; + + // Replace ampersands and single quotes only when displaying. + if ( 'display' == $_context ) { + $url = wp_kses_normalize_entities( $url ); + $url = str_replace( '&', '&', $url ); + $url = str_replace( "'", ''', $url ); + $url = str_replace( '%', '%25', $url ); + $url = str_replace( ' ', '%20', $url ); + } + + if ( '/' === $url[0] ) { + $good_protocol_url = $url; + } else { + if ( ! is_array( $protocols ) ) + $protocols = wp_allowed_protocols(); + $good_protocol_url = wp_kses_bad_protocol( $url, $protocols ); + if ( strtolower( $good_protocol_url ) != strtolower( $url ) ) + return ''; + } + + return apply_filters('clean_url', $good_protocol_url, $original_url, $_context); + } +} + +/** + * NextGEN Gallery is built on top of the Photocrati Pope Framework: + * https://bitbucket.org/photocrati/pope-framework + * + * Pope constructs applications by assembling modules. + * + * The Bootstrapper. This class performs the following: + * 1) Loads the Pope Framework + * 2) Adds a path to the C_Component_Registry instance to search for products + * 3) Loads all found Products. A Product is a collection of modules with some + * additional meta data. A Product is responsible for loading any modules it + * requires. + * 4) Once all Products (and their associated modules) have been loaded (or in + * otherwords, "included"), the modules are initialized. + */ +class C_NextGEN_Bootstrap +{ + var $_registry = NULL; + var $_settings_option_name = 'ngg_options'; + var $_pope_loaded = FALSE; + static $debug = FALSE; + + static function shutdown($exception=NULL) + { + if (is_null($exception)) { + throw new E_Clean_Exit; + } + elseif (!($exception instanceof E_Clean_Exit)) { + ob_end_clean(); + self::print_exception($exception); + } + + } + + static function print_exception($exception) + { + $klass = get_class($exception); + echo "<h1>{$klass} thrown</h1>"; + echo "<p>{$exception->getMessage()}</p>"; + if (self::$debug OR (defined('NGG_DEBUG') AND NGG_DEBUG == TRUE)) { + echo "<h3>Where:</h3>"; + echo "<p>On line <strong>{$exception->getLine()}</strong> of <strong>{$exception->getFile()}</strong></p>"; + echo "<h3>Trace:</h3>"; + echo "<pre>{$exception->getTraceAsString()}</pre>"; + if (method_exists($exception, 'getPrevious')) { + if (($previous = $exception->getPrevious())) { + self::print_exception($previous); + } + } + } + } + + static function get_backtrace($objects=FALSE, $remove_dynamic_calls=TRUE) + { + $trace = debug_backtrace($objects); + if ($remove_dynamic_calls) { + $skip_methods = array( + '_exec_cached_method', + '__call', + 'get_method_property', + 'set_method_property', + 'call_method' + ); + foreach ($trace as $key => &$value) { + if (isset($value['class']) && isset($value['function'])) { + if ($value['class'] == 'ReflectionMethod' && $value['function'] == 'invokeArgs') + unset($trace[$key]); + + else if ($value['class'] == 'ExtensibleObject' && in_array($value['function'], $skip_methods)) + unset($trace[$key]); + } + } + } + + return $trace; + } + + function __construct() + { + // Boostrap + set_exception_handler(__CLASS__.'::shutdown'); + + $this->_define_constants(); + $this->_load_non_pope(); + $this->_register_hooks(); + $this->_load_pope(); + } + + function _load_non_pope() + { + // Load caching component + include_once('non_pope/class.photocrati_cache.php'); + C_Photocrati_Cache::get_instance(); + C_Photocrati_Cache::get_instance('displayed_galleries'); + C_Photocrati_Cache::get_instance('displayed_gallery_rendering'); + + C_Photocrati_Cache::$enabled = PHOTOCRATI_CACHE; + + if (isset($_REQUEST['ngg_flush'])) { + C_Photocrati_Cache::flush('all'); + die("Flushed all caches"); + } + elseif (isset($_REQUEST['ngg_force_update'])) { + C_Photocrati_Cache::$do_not_lookup = TRUE; + C_Photocrati_Cache::$force_update = TRUE; + $_SERVER['QUERY_STRING'] = str_replace('ngg_force_update=1', '', $_SERVER['QUERY_STRING']); + } + elseif (isset($_REQUEST['ngg_flush_expired'])) { + C_Photocrati_Cache::flush('all', TRUE); + die("Flushed all expired items from the cache"); + } + + // Load Settings Manager + include_once('non_pope/class.photocrati_settings_manager.php'); + include_once('non_pope/class.nextgen_settings.php'); + C_Photocrati_Global_Settings_Manager::$option_name = $this->_settings_option_name; + C_Photocrati_Settings_Manager::$option_name = $this->_settings_option_name; + + // Load the installer + include_once('non_pope/class.photocrati_installer.php'); + + // Load the resource manager + include_once('non_pope/class.photocrati_resource_manager.php'); + C_Photocrati_Resource_Manager::init(); + + // Load the style manager + include_once('non_pope/class.nextgen_style_manager.php'); + + // Load the shortcode manager + include_once('non_pope/class.nextgen_shortcode_manager.php'); + } + + /** + * Loads the Pope Framework + */ + function _load_pope() + { + // No need to initialize pope again + if ($this->_pope_loaded) return; + + // Pope requires a a higher limit + $tmp = ini_get('xdebug.max_nesting_level'); + if ($tmp && (int)$tmp <= 300) @ini_set('xdebug.max_nesting_level', 300); + + // Include pope framework + require_once(implode( + DIRECTORY_SEPARATOR, array(NGG_PLUGIN_DIR, 'pope','lib','autoload.php') + )); + + // Get the component registry + $this->_registry = C_Component_Registry::get_instance(); + + // Add the default Pope factory utility, C_Component_Factory + $this->_registry->add_utility('I_Component_Factory', 'C_Component_Factory'); + + // Load embedded products. Each product is expected to load any + // modules required + $this->_registry->add_module_path(NGG_PRODUCT_DIR, true, false); + $this->_registry->load_all_products(); + + // Give third-party plugins that opportunity to include their own products + // and modules + do_action('load_nextgen_gallery_modules', $this->_registry); + + // Initializes all loaded modules + $this->_registry->initialize_all_modules(); + + $this->_pope_loaded = TRUE; + } + + + /** + * Registers hooks for the WordPress framework necessary for instantiating + * the plugin + */ + function _register_hooks() + { + // Register the activation routines + add_action('activate_'.NGG_PLUGIN_BASENAME, array(get_class(), 'activate')); + + // Register the deactivation routines + add_action('deactivate_'.NGG_PLUGIN_BASENAME, array(get_class(), 'deactivate')); + + // Register our test suite + add_filter('simpletest_suites', array(&$this, 'add_testsuite')); + + // Ensure that settings manager is saved as an array + add_filter('pre_update_option_'.$this->_settings_option_name, array(&$this, 'persist_settings')); + add_filter('pre_update_site_option_'.$this->_settings_option_name, array(&$this, 'persist_settings')); + + // This plugin uses jQuery extensively + if (NGG_FIX_JQUERY) { + add_action('wp_enqueue_scripts', array(&$this, 'fix_jquery')); + add_action('wp_print_scripts', array(&$this, 'fix_jquery')); + } + + // If the selected stylesheet is using an unsafe path, then notify the user + add_action('all_admin_notices', array(&$this, 'display_stylesheet_notice')); + + // Delete displayed gallery transients periodically + add_filter('cron_schedules', array(&$this, 'add_ngg_schedule')); + add_action('ngg_delete_expired_transients', array(&$this, 'delete_expired_transients')); + add_action('wp', array(&$this, 'schedule_cron_jobs')); + + // Update modules + add_action('init', array(&$this, 'update'), PHP_INT_MAX-1); + + // Start the plugin! + add_action('init', array(&$this, 'route'), 11); + } + + function schedule_cron_jobs() + { + if (!wp_next_scheduled('ngg_delete_expired_transients')) { + wp_schedule_event(time(), 'ngg_custom', 'ngg_delete_expired_transients'); + } + } + + /** + * Defines a new cron schedule + * @param $schedules + * @return mixed + */ + function add_ngg_schedule($schedules) + { + $schedules['ngg_custom'] = array( + 'interval' => NGG_CRON_SCHEDULE, + 'display' => sprintf(__('Every %d seconds', 'nggallery'), NGG_CRON_SCHEDULE) + ); + + return $schedules; + } + + + /** + * Flush all expires transients created by the plugin + */ + function delete_expired_transients() + { + C_Photocrati_Cache::flush('all', TRUE); + } + + /** + * Ensure that C_Photocrati_Settings_Manager gets persisted as an array + * @param $settings + * @return array + */ + function persist_settings($settings) + { + if (is_object($settings) && $settings instanceof C_Photocrati_Settings_Manager_Base) { + $settings = $settings->to_array(); + } + return $settings; + } + + /** + * Ensures that the version of JQuery used is expected for NextGEN Gallery + */ + function fix_jquery() + { + global $wp_scripts; + + // Determine which version of jQuery to include + $src = '/wp-includes/js/jquery/jquery.js'; + + // Ensure that jQuery is always set to the default + if (isset($wp_scripts->registered['jquery'])) { + $jquery = $wp_scripts->registered['jquery']; + + // There's an exception to the rule. We'll allow the same + // version of jQuery as included with WP to be fetched from + // Google AJAX libraries, as we have a systematic means of verifying + // that won't cause any troubles + $version = preg_quote($jquery->ver, '#'); + if (!preg_match("#ajax\\.googleapis\\.com/ajax/libs/jquery/{$version}/jquery\\.min\\.js#", $jquery->src)) { + $jquery->src = FALSE; + if (array_search('jquery-core', $jquery->deps) === FALSE) { + $jquery->deps[] = 'jquery-core'; + } + if (array_search('jquery-migrate', $jquery->deps) === FALSE) { + $jquery->deps[] = 'jquery-migrate'; + } + } + } + + // Ensure that jquery-core is used, as WP intended + if (isset($wp_scripts->registered['jquery-core'])) { + $wp_scripts->registered['jquery-core']->src = $src; + } + + wp_enqueue_script('jquery'); + } + + /** + * Displays a notice to the user that the current stylesheet location is unsafe + */ + function display_stylesheet_notice() + { + if (C_NextGen_Style_Manager::get_instance()->is_directory_unsafe()) { + $styles = C_NextGen_Style_Manager::get_instance(); + $filename = $styles->get_selected_stylesheet(); + $abspath = $styles->find_selected_stylesheet_abspath(); + $newpath = $styles->new_dir; + + echo "<div class='updated error'> + <h3>WARNING: NextGEN Gallery Stylesheet NOT Upgrade-safe</h3> + <p> + <strong>{$filename}</strong> is currently stored in <strong>{$abspath}</strong>, which isn't upgrade-safe. Please move the stylesheet to + <strong>{$newpath}</strong> to ensure that your customizations persist after updates. + </p></div>"; + } + } + + /** + * Updates all modules + */ + function update() + { + if ((!(defined('DOING_AJAX') && DOING_AJAX)) && !isset($_REQUEST['doing_wp_cron'])) { + + $this->_load_pope(); + + // Try updating all modules + C_Photocrati_Installer::update(); + } + } + + /** + * Routes access points using the Pope Router + * @return boolean + */ + function route() + { + $this->_load_pope(); + $router = C_Router::get_instance(); + do_action_ref_array('ngg_routes', array(&$router)); + if (!$router->serve_request() && $router->has_parameter_segments()) { + return $router->passthru(); + } + } + + /** + * Run the installer + */ + static function activate($network=FALSE) + { + C_Photocrati_Installer::update(); + } + + /** + * Run the uninstaller + */ + static function deactivate() + { + C_Photocrati_Installer::uninstall(NGG_PLUGIN_BASENAME); + } + + /** + * Defines necessary plugins for the plugin to load correctly + */ + function _define_constants() + { + // NextGEN by Photocrati Constants + define('NGG_PLUGIN', basename($this->directory_path())); + define('NGG_PLUGIN_BASENAME', plugin_basename(__FILE__)); + define('NGG_PLUGIN_DIR', $this->directory_path()); + define('NGG_PLUGIN_URL', $this->path_uri()); + define('NGG_TESTS_DIR', implode(DIRECTORY_SEPARATOR, array(rtrim(NGG_PLUGIN_DIR, "/\\"), 'tests'))); + define('NGG_PRODUCT_DIR', implode(DIRECTORY_SEPARATOR, array(rtrim(NGG_PLUGIN_DIR, "/\\"), 'products'))); + define('NGG_MODULE_DIR', implode(DIRECTORY_SEPARATOR, array(rtrim(NGG_PRODUCT_DIR, "/\\"), 'photocrati_nextgen', 'modules'))); + define('NGG_PRODUCT_URL', path_join(str_replace("\\", '/', NGG_PLUGIN_URL), 'products')); + define('NGG_MODULE_URL', path_join(str_replace("\\", '/', NGG_PRODUCT_URL), 'photocrati_nextgen/modules')); + define('NGG_PLUGIN_STARTED_AT', microtime()); + define('NGG_PLUGIN_VERSION', '2.0.66.27'); + + if (!defined('NGG_HIDE_STRICT_ERRORS')) { + define('NGG_HIDE_STRICT_ERRORS', TRUE); + } + + // Should we display E_STRICT errors? + if (NGG_HIDE_STRICT_ERRORS) { + $level = error_reporting(); + if ($level != 0) error_reporting($level & ~E_STRICT); + } + + // Should we display NGG debugging information? + if (!defined('NGG_DEBUG')) { + define('NGG_DEBUG', FALSE); + } + self::$debug = NGG_DEBUG; + + // User definable constants + if (!defined('NGG_IMPORT_ROOT')) { + $path = WP_CONTENT_DIR; + define('NGG_IMPORT_ROOT', $path); + } + + // Should the Photocrati cache be enabled + if (!defined('PHOTOCRATI_CACHE')) { + define('PHOTOCRATI_CACHE', TRUE); + } + if (!defined('PHOTOCRATI_CACHE_TTL')) { + define('PHOTOCRATI_CACHE_TTL', 3600); + } + + // Cron job + if (!defined('NGG_CRON_SCHEDULE')) { + define('NGG_CRON_SCHEDULE', 1800); + } + + // Don't enforce interfaces + if (!defined('EXTENSIBLE_OBJECT_ENFORCE_INTERFACES')) { + define('EXTENSIBLE_OBJECT_ENFORCE_INTERFACES', FALSE); + } + + // Fix jquery + if (!defined('NGG_FIX_JQUERY')) { + define('NGG_FIX_JQUERY', TRUE); + } + } + + /** + * Defines the NextGEN Test Suite + * @param array $suites + * @return array + */ + function add_testsuite($suites=array()) + { + $tests_dir = NGG_TESTS_DIR; + + if (file_exists($tests_dir)) { + + // Include mock objects + // TODO: These mock objects should be moved to the appropriate + // test folder + require_once(path_join($tests_dir, 'mocks.php')); + + // Define the NextGEN Test Suite + $suites['nextgen'] = array( +// path_join($tests_dir, 'mvc'), + path_join($tests_dir, 'datamapper'), + path_join($tests_dir, 'nextgen_data'), + path_join($tests_dir, 'gallery_display') + ); + } + + return $suites; + } + + + /** + * Returns the path to a file within the plugin root folder + * @param type $file_name + * @return type + */ + function file_path($file_name=NULL) + { + $path = dirname(__FILE__); + + if ($file_name != null) + { + $path .= '/' . $file_name; + } + + return str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $path); + } + + + /** + * Gets the directory path used by the plugin + * @return string + */ + function directory_path($dir=NULL) + { + return $this->file_path($dir); + } + + + /** + * Determines the location of the plugin - within a theme or plugin + * @return string + */ + function get_plugin_location() + { + $path = dirname(__FILE__); + $gallery_dir = strtolower($path); + $gallery_dir = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $gallery_dir); + + $theme_dir = strtolower(get_stylesheet_directory()); + $theme_dir = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $theme_dir); + + $plugin_dir = strtolower(WP_PLUGIN_DIR); + $plugin_dir = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $plugin_dir); + + $common_dir_theme = substr($gallery_dir, 0, strlen($theme_dir)); + $common_dir_plugin = substr($gallery_dir, 0, strlen($plugin_dir)); + + if ($common_dir_theme == $theme_dir) + { + return 'theme'; + } + + if ($common_dir_plugin == $plugin_dir) + { + return 'plugin'; + } + + $parent_dir = dirname($path); + + if (file_exists($parent_dir . DIRECTORY_SEPARATOR . 'style.css')) + { + return 'theme'; + } + + return 'plugin'; + } + + + /** + * Gets the URI for a particular path + * @param string $path + * @param boolean $url_encode + * @return string + */ + function path_uri($path = null, $url_encode = false) + { + $location = $this->get_plugin_location(); + $uri = null; + + $path = str_replace(array('/', '\\'), '/', $path); + + if ($url_encode) + { + $path_list = explode('/', $path); + + foreach ($path_list as $index => $path_item) + { + $path_list[$index] = urlencode($path_item); + } + + $path = implode('/', $path_list); + } + + if ($location == 'theme') + { + $theme_uri = get_stylesheet_directory_uri(); + + $uri = $theme_uri . 'nextgen-gallery'; + + if ($path != null) + { + $uri .= '/' . $path; + } + } + else + { + // XXX Note, paths could not match but STILL being contained in the theme (i.e. WordPress returns the wrong path for the theme directory, either with wrong formatting or wrong encoding) + $base = basename(dirname(__FILE__)); + + if ($base != 'nextgen-gallery') + { + // XXX this is needed when using symlinks, if the user renames the plugin folder everything will break though + $base = 'nextgen-gallery'; + } + + if ($path != null) + { + $base .= '/' . $path; + } + + $uri = plugins_url($base); + } + + return $uri; + } + + /** + * Returns the URI for a particular file + * @param string $file_name + * @return string + */ + function file_uri($file_name = NULL) + { + return $this->path($file_name); + } +} + +new C_NextGEN_Bootstrap(); diff --git a/wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_settings.php b/wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_settings.php new file mode 100644 index 0000000..42a9be7 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_settings.php @@ -0,0 +1,24 @@ +<?php + + +if (!class_exists('C_NextGen_Settings')) { + class C_NextGen_Settings { + static function get_instance() + { + return C_Photocrati_Settings_Manager::get_instance(); + } + } +} + +if (!class_exists('C_NextGen_Global_Settings')) { + class C_NextGen_Global_Settings extends C_NextGen_Settings { + static function get_instance() + { + if (is_multisite()) + return C_Photocrati_Global_Settings_Manager::get_instance(); + else { + return C_Photocrati_Settings_Manager::get_instance(); + } + } + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_shortcode_manager.php b/wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_shortcode_manager.php new file mode 100644 index 0000000..0614d85 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_shortcode_manager.php @@ -0,0 +1,159 @@ +<?php + +class C_NextGen_Shortcode_Manager +{ + private static $_instance = NULL; + private $_shortcodes = array(); + private $_runlevel = 0; + private $_has_warned = FALSE; + + /** + * Gets an instance of the class + * @return C_NextGen_Shortcode_Manager + */ + static function get_instance() + { + if (is_null(self::$_instance)) { + $klass = get_class(); + self::$_instance = new $klass; + } + return self::$_instance; + } + + /** + * Adds a shortcode + * @param $name + * @param $callback + */ + static function add($name, $callback) + { + $manager = self::get_instance(); + $manager->add_shortcode($name, $callback); + } + + /** + * Removes a previously added shortcode + * @param $name + */ + static function remove($name) + { + $manager = self::get_instance(); + $manager->remove_shortcode($name); + } + + /** + * Constructor + */ + private function __construct() + { + // For theme & plugin compatibility and to prevent the output of our shortcodes from being + // altered we disable our shortcodes at the beginning of the_content and enable them at the end + // however a bug in Wordpress (see comments in deactivate_all() below) causes another issue + // of compatibility causing our shortcodes to not be registered at the time the_content is run. + // This disables that at the risk that themes may alter our HTML output in an attempt to sanitize it. + if (defined('NGG_DISABLE_FILTER_THE_CONTENT') && NGG_DISABLE_FILTER_THE_CONTENT) + return; + + add_filter('the_content', array(&$this, 'deactivate_all'), -(PHP_INT_MAX-1)); + add_filter('the_content', array(&$this, 'parse_content'), PHP_INT_MAX-1); + } + + /** + * Deactivates all shortcodes + */ + function deactivate_all($content) + { + // There is a bug in Wordpress itself: when a hook recurses any hooks meant to execute after it are discarded. + // For example the following code, despite expectations, will NOT display 'bar' as bar() is never executed. + // See https://core.trac.wordpress.org/ticket/17817 for more information. + /* function foo() { + * remove_action('foo', 'foo'); + * } + * function bar() { + * echo('bar'); + * } + * add_action('foo', 'foo'); + * add_action('foo', 'bar'); + * do_action('foo'); + */ + $this->_runlevel += 1; + if ($this->_runlevel > 1 && defined('WP_DEBUG') && WP_DEBUG && !is_admin() && !$this->_has_warned) + { + $this->_has_warned = TRUE; + error_log('Sorry, but recursing filters on "the_content" breaks NextGEN Gallery. Please see https://core.trac.wordpress.org/ticket/17817 and NGG_DISABLE_FILTER_THE_CONTENT'); + } + + foreach (array_keys($this->_shortcodes) as $shortcode) { + $this->deactivate($shortcode); + } + + return $content; + } + + /** + * Activates all registered shortcodes + */ + function activate_all() + { + foreach (array_keys($this->_shortcodes) as $shortcode) { + $this->activate($shortcode); + } + } + + /** + * Parses the content for shortcodes and returns the substituted content + * @param $content + * @return string + */ + function parse_content($content) + { + $this->_runlevel--; + $this->activate_all(); + $content = do_shortcode($content); + $content = apply_filters('ngg_content', $content); + + return $content; + } + + /** + * Adds a shortcode + * @param $name + * @param $callback + */ + function add_shortcode($name, $callback) + { + $this->_shortcodes[$name] = $callback; + $this->activate($name); + } + + /** + * Activates a particular shortcode + * @param $shortcode + */ + function activate($shortcode) + { + if (isset($this->_shortcodes[$shortcode])) { + add_shortcode($shortcode, $this->_shortcodes[$shortcode]); + } + } + + /** + * Removes a shortcode + * @param $name + */ + function remove_shortcode($name) + { + unset($this->_shortcodes[$name]); + $this->deactivate($name); + } + + /** + * De-activates a shortcode + * @param $shortcode + */ + function deactivate($shortcode) + { + if (isset($this->_shortcodes[$shortcode])) + remove_shortcode($shortcode); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_style_manager.php b/wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_style_manager.php new file mode 100644 index 0000000..81145b6 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_style_manager.php @@ -0,0 +1,283 @@ +<?php + +class C_NextGen_Style_Manager +{ + static $_instance = NULL; + var $directories = array(); + var $unsafe_directories = array(); + var $default_dir = ''; + var $new_dir = ''; + + function __construct() + { + $this->default_dir = implode(DIRECTORY_SEPARATOR, array( + NGG_MODULE_DIR, + 'ngglegacy', + 'css' + )); + + $this->new_dir = implode(DIRECTORY_SEPARATOR, array( + rtrim(WP_CONTENT_DIR, "/\\"), + 'ngg_styles' + )); + + // The last place we look for a stylesheet is in ngglegacy + $this->add_directory($this->default_dir); + + // This is where all stylesheets should be stored + $this->add_directory($this->new_dir); + + // We check the parent theme directory. Needed for child themes + $this->add_directory(rtrim(get_template_directory(), "/\\"), TRUE); + + // We also check parent_theme/nggallery + $this->add_directory(implode(DIRECTORY_SEPARATOR, array( + rtrim(get_template_directory(), "/\\"), + 'nggallery' + )), TRUE); + + // We also check parent_theme/ngg_styles + $this->add_directory(implode(DIRECTORY_SEPARATOR, array( + rtrim(get_template_directory(), "/\\"), + 'ngg_styles' + )), TRUE); + + // We check the root directory of the theme. Users shouldn't store here, + // but they might + $this->add_directory(rtrim(get_stylesheet_directory(), "/\\"), TRUE); + + // We also check the theme/nggallery directory + $this->add_directory(implode(DIRECTORY_SEPARATOR, array( + rtrim(get_stylesheet_directory(), "/\\"), + 'nggallery' + )), TRUE); + + // We also check the theme/ngg_styles directory + $this->add_directory(implode(DIRECTORY_SEPARATOR, array( + rtrim(get_stylesheet_directory(), "/\\"), + 'ngg_styles' + )), TRUE); + } + + /** + * Add a directory to search for stylesheets + * @param $dir + * @param bool $unsafe + */ + function add_directory($dir, $unsafe=FALSE) + { + array_unshift($this->directories, $dir); + if ($unsafe) { + $this->unsafe_directories[] = $dir; + } + } + + /** + * Determines if a directory is upgrade-safe or not + * @param $dir + * @return bool + */ + function is_directory_unsafe($dir=FALSE) + { + if (!$dir) $dir = dirname($this->find_selected_stylesheet_abspath()); + + return in_array($dir, $this->unsafe_directories); + } + + /** + * Determines if the directory is the default ngglegacy path + * @param $dir + * @return bool + */ + function is_default_dir($dir) + { + return rtrim($dir, "/\\") == $this->default_dir; + } + + function get_new_dir($filename) + { + return implode(DIRECTORY_SEPARATOR, array( + rtrim($this->new_dir, "/\\"), + $filename + )); + } + + /** + * Gets the location where the selected stylesheet will be saved to + * @param bool|string $selected + * @return string + */ + function get_selected_stylesheet_saved_abspath($selected=FALSE) + { + if (!$selected) $selected = $this->get_selected_stylesheet(); + + $abspath = $this->find_selected_stylesheet_abspath($selected); + if ($this->is_default_dir(dirname($abspath))) { + $abspath = $this->get_new_dir(basename($abspath)); + } + + return $abspath; + } + + function save($contents, $selected=FALSE) + { + $retval = FALSE; + + if (!$selected) $selected = $this->get_selected_stylesheet(); + $abspath = $this->get_selected_stylesheet_saved_abspath($selected); + + wp_mkdir_p(dirname($abspath)); + if (is_writable($abspath) OR (!@file_exists($abspath) && is_writable(dirname($abspath)))) { + $retval = file_put_contents($abspath, $contents); + } + return $retval; + } + + /** + * Gets the selected stylesheet from the user + * @return mixed + */ + function get_selected_stylesheet() + { + $settings = C_NextGen_Settings::get_instance(); + + // use the same css resource for all subsites when wpmuStyle=true + if (!is_multisite() || (is_multisite() && $settings->get('wpmuStyle'))) + return $settings->get('CSSfile', 'nggallery.css'); + else + return C_Nextgen_Global_Settings::get_instance()->get('wpmuCSSfile'); + + } + + /** + * Finds the location of the selected stylesheet + */ + function find_selected_stylesheet_abspath($selected=FALSE) + { + if (!$selected) $selected = $this->get_selected_stylesheet(); + + $retval = implode(DIRECTORY_SEPARATOR, array( + rtrim($this->default_dir, "/\\"), + $selected + )); + + foreach ($this->directories as $dir) { + $path = implode(DIRECTORY_SEPARATOR, array( + rtrim($dir, "/\\"), + $selected + )); + + if (@file_exists($path)) { + $retval = $path; + break; + } + } + + if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') + $retval = str_replace('/', DIRECTORY_SEPARATOR, $retval); + + return $retval; + } + + /** + * Returns the url to the selected stylesheet + * @return mixed + */ + function get_selected_stylesheet_url($selected=FALSE) + { + if (!$selected) $selected = $this->get_selected_stylesheet(); + + $retval = str_replace( + C_Fs::get_instance()->get_document_root('content'), + content_url(), + $this->find_selected_stylesheet_abspath($selected) + ); + + return rtrim(str_replace('\\', '/', $retval), "/"); + } + + + function find_all_stylesheets($dir = FALSE) + { + $retval = array(); + if (!$dir) + $dir = $this->directories; + + foreach (array_reverse($dir) as $dir) { + $path = implode(DIRECTORY_SEPARATOR, array( + rtrim($dir, "/\\"), + '*.css' + )); + $files = glob($path); + if (is_array($files)) foreach ($files as $abspath) { + if (($meta = $this->get_stylesheet_metadata($abspath))) { + $filename = $meta['filename']; + $retval[$filename] = $meta; + } + } + } + + return $retval; + } + + /** + * Gets the metadata for a particular stylesheet + * @param $abspath + * @return array + */ + function get_stylesheet_metadata($abspath) + { + $retval = array(); + $contents = file_get_contents($abspath); + $name = ''; + $desc = ''; + $version = ''; + $author = ''; + + // Find the name of the stylesheet + if (preg_match("/CSS Name:(.*)/i", $contents, $match)) { + $name = trim($match[1]); + } + + // Find the description of the stylesheet + if (preg_match("/Description:(.*)/", $contents, $match)) { + $desc = trim($match[1]); + } + + // Find the author of the stylesheet + if (preg_match("/Author:(.*)/", $contents, $match)) { + $author = trim($match[1]); + } + + // Find the version of the stylesheet + if (preg_match("/Version:(.*)/", $contents, $match)) { + $version = trim($match[1]); + } + + if ($name) { + $retval = array( + 'filename' => basename($abspath), + 'abspath' => $abspath, + 'name' => $name, + 'description' => $desc, + 'author' => $author, + 'version' => $version + ); + } + + return $retval; + } + + /** + * Gets an instance of the class + * @return C_NextGen_Style_Manager + */ + static function get_instance() + { + if (is_null(self::$_instance)){ + $klass = get_class(); + self::$_instance = new $klass(); + } + return self::$_instance; + } +} diff --git a/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_cache.php b/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_cache.php new file mode 100644 index 0000000..060d358 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_cache.php @@ -0,0 +1,265 @@ +<?php + +class C_Photocrati_Cache +{ + static $enabled = TRUE; + static $do_not_lookup = FALSE; + static $force_update = FALSE; + static $hits = 0; + static $_instances = array(); + public $group = NULL; + + /** + * Gets an instance of the Cache + * @return C_Photocrati_Cache + */ + static function &get_instance($group=NULL) + { + if (!$group) $group = 'ngg_cache_'; + if (substr($group, -1) != '_') $group .= '_'; + if (!isset(self::$_instances[$group])) { + $klass = get_class(); + self::$_instances[$group] = new $klass($group); + } + + return self::$_instances[$group]; + } + + /** + * Create a new cache for the specified group + * @param $group + */ + function __construct($group) + { + $this->group = $group; + } + + /** + * Gets an item from the cache + * @param $key + * @param null $default + * @return mixed + */ + static function get($key, $default=NULL, $group=NULL) + { + return self::get_instance($group)->lookup($key, $default); + } + + /** + * Caches an item + * @param $key + * @param null $value + * @return bool|int + */ + static function set($key, $value=NULL, $group=NULL, $ttl=NULL) + { + return self::get_instance($group)->update($key, $value, $ttl); + } + + /** + * Removes an item from the cache + * @param $key + */ + static function remove($key, $group=NULL) + { + return self::get_instance($group)->delete($key); + } + + /** + * Generate a unique key from params + * @param $params + * @return string + */ + static function generate_key($params) + { + if (!self::$enabled) return NULL; + if (is_object($params)) $params = (array) $params; + if (is_array($params)) { + foreach ($params as &$param) $param = json_encode($param); + $params = implode('', $params); + } + + return md5($params); + } + + /** + * Flush the entire cache + */ + static function flush($group=NULL, $expired_only=FALSE) + { + if (!extension_loaded('suhosin')) ini_set('memory_limit', -1); + $retval = 0; + + if (self::$enabled) { + + // Delete all caches + if ($group == 'all') { + foreach (self::$_instances as $cache) { + $retval += self::flush($cache->group, $expired_only); + } + } + + // Delete items from a single cache in particular + else { + $cache = self::get_instance($group); + + // Determine if the object cache is external, and not stored in the DB + // If it's external, we have to delete each transient, one by one + global $_wp_using_ext_object_cache, $wpdb; + if ($_wp_using_ext_object_cache) { + $keys = ($expired_only ? self::get_expired_key_list($group) : self::get_key_list($group)); + foreach ($keys as $key) $cache->delete($key, FALSE); + $sql = $wpdb->prepare("DELETE FROM {$wpdb->options} WHERE option_name LIKE %s", "%%{$cache->group}%%"); + if ($expired_only) $sql .= " AND option_value < ".time(); + $retval = $wpdb->query($sql); + } + + // Transients are stored in the database + else { + $keys = ($expired_only ? self::get_expired_key_list($group) : self::get_key_list($group)); + if ($keys) { + $all_keys = array(); + foreach ($keys as $value) { + $all_keys[] = "'{$cache->group}{$value}'"; + $all_keys[] = "'_transient_timeout_{$value}'"; + $all_keys[] = "'_transient_{$value}'"; + } + + // Determine the maximum packet size for the MySQL server + $max_packet_size = 1000000; // 1 MB + if ($row = $wpdb->get_row("SHOW VARIABLES LIKE 'max_allowed_packet'")) { + $max_packet_size = intval($row->Value); + } + $precision = -6; + if ($max_packet_size <1000000) $precision = -5; + if ($max_packet_size <100000) $precision = -4; + if ($max_packet_size <10000) $precision = -3; + if ($max_packet_size <1000) $precision = -2; + + if (version_compare(PHP_VERSION, '5.3.0') >= 0) + $max_packet_size = round($max_packet_size, $precision, PHP_ROUND_HALF_DOWN); + else + $max_packet_size = round($max_packet_size, $precision); + + // Generate DELETE queries up to $max_packet_size + $keys = array(); + $average_key_size = strlen($all_keys[0])+15; + $count = 1000; // 1 KB buffer + while (($key = array_pop($all_keys))) { + + if (($count + $average_key_size) < $max_packet_size) { + $keys[] = $key; + $count += $average_key_size; + } + else { + $keys = implode(',', $keys); + $sql = "DELETE FROM {$wpdb->options} WHERE option_name IN (". $keys. ')'; + if (strlen($sql) > $max_packet_size) error_log("Delete transient query larger than max_allowed_packet for MySQL"); + else $retval += $wpdb->query($sql); + $count = 1000; + $keys = array(); + } + } + + // If the number of keys to delete is less than the max packet size, then we should still + // delete the records + if (!$retval && $keys) { + $keys = implode(',', $keys); + $sql = "DELETE FROM {$wpdb->options} WHERE option_name IN (". $keys. ')'; + if (strlen($sql) > $max_packet_size) error_log("Delete transient query larger than max_allowed_packet for MySQL"); + else $retval += $wpdb->query($sql); + } + } + } + } + } + + return $retval; + } + + static function get_key_list($group=NULL, $strip_group_name=TRUE, $expired_only=FALSE) + { + global $wpdb; + + $cache = self::get_instance($group); + + $sql = ''; + if ($strip_group_name) { + $sql = $wpdb->prepare( + "SELECT REPLACE(option_name, %s, '') FROM {$wpdb->options} WHERE option_name LIKE %s", + $cache->group, '%'.$cache->group.'%' + ); + } + else { + $sql = $wpdb->prepare( + "SELECT option_name FROM {$wpdb->options} WHERE option_name LIKE %s", + '%'.$cache->group.'%' + ); + } + + if ($expired_only) $sql .= " AND option_value < ".time(); + + return $wpdb->get_col($sql); + } + + static function get_expired_key_list($group=NULL, $strip_group_name=TRUE) + { + return self::get_key_list($group, $strip_group_name, TRUE); + } + + + /** + * Gets an item using a particular key + * @param $key + * @param $default + * @return mixed + */ + function lookup($key, $default=NULL) + { + $retval = $default; + + if (self::$enabled && self::$do_not_lookup === FALSE) { + if (is_array($key)) $key = self::generate_key($key); + if (!($retval = get_transient($key))) $retval = $default; + } + + return $retval; + } + + /** + * Set an item in the cache using a particular key + * @param $key + * @param $value + * @return bool|int + */ + function update($key, $value, $ttl=NULL) + { + if (!$ttl) $ttl = PHOTOCRATI_CACHE_TTL; + + $retval = FALSE; + if (self::$enabled) { + if (is_array($key)) $key = self::generate_key($key); + if (self::$force_update OR $this->lookup($key, FALSE) === FALSE) { + set_transient($key, $value, $ttl); + delete_option($this->group.$key); + add_option($this->group.$key, time()+$ttl, NULL, 'no'); + $retval = $key; + } + } + return $retval; + } + + function delete($key, $delete_ack=TRUE) + { + if (self::$enabled) { + delete_transient($key); + if ($delete_ack) { + global $wpdb; + $sql = $wpdb->prepare("DELETE FROM {$wpdb->options} WHERE option_name LIKE %s", $this->group.$key); + $wpdb->query($sql); + } + return TRUE; + } + else return FALSE; + } +} diff --git a/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_installer.php b/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_installer.php new file mode 100644 index 0000000..2a3f409 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_installer.php @@ -0,0 +1,233 @@ +<?php + +if (!class_exists('C_Photocrati_Installer')) +{ + class C_Photocrati_Installer + { + static $_instance = NULL; + static function get_instance() + { + if (is_null(self::$_instance)) { + $klass = get_class(); + self::$_instance = new $klass(); + } + return self::$_instance; + } + + + /** + * Each product and module will register it's own handler (a class, with an install() and uninstall() method) + * to be used for install/uninstall routines + * @param $name + * @param $handler + */ + static function add_handler($name, $handler) + { + self::get_instance()->_installers[$name] = $handler; + } + + /** + * Gets an instance of an installation handler + * @param $name + * @return mixed + */ + static function get_handler_instance($name) + { + $installers = $handler = self::get_instance()->_installers; + if (isset($installers[$name])) { + $klass = $installers[$name]; + return new $klass; + } + else return NULL; + } + + + /** + * Uninstalls a product + * @param $product + * @param bool $hard + * @return mixed + */ + static function uninstall($product, $hard=FALSE) + { + $handler = self::get_handler_instance($product); + if (method_exists($handler, 'uninstall')) return $handler->uninstall($hard); + + if ($hard) { + C_NextGen_Settings::get_instance()->destroy(); + C_NextGen_Global_Settings::get_instance()->destroy(); + } + } + + static function can_do_upgrade() + { + $proceed = FALSE; + + // Proceed if no other process has started the installer routines + if (!($doing_upgrade = get_option('ngg_doing_upgrade', FALSE))) { + update_option('ngg_doing_upgrade', time()); + $proceed = TRUE; + } + + // Or, force proceeding if we have a stale ngg_doing_upgrade record + elseif ($doing_upgrade === TRUE OR time() - $doing_upgrade > 120) { + update_option('ngg_doing_upgrade', time()); + $proceed = TRUE; + } + return $proceed; + } + + static function done_upgrade() + { + update_option('ngg_doing_upgrade', FALSE); + } + + static function update($reset=FALSE) + { + $local_settings = C_NextGen_Settings::get_instance(); + $global_settings = C_NextGen_Global_Settings::get_instance(); + + // This is a specific hack/work-around/fix and can probably be removed sometime after 2.0.20's release + // + // NextGen 2x was not multisite compatible until 2.0.18. Users that upgraded before this + // will have nearly all of their settings stored globally (network wide) in wp_sitemeta. If + // pope_module_list (which should always be a local setting) exists site-wide we wipe the current + // global ngg_options and restore from defaults. This should only ever run once. + if (is_multisite() && isset($global_settings->pope_module_list)) + { + // Setting this to TRUE will wipe current settings for display types, but also + // allows the display type installer to run correctly + $reset = TRUE; + + $settings_installer = new C_NextGen_Settings_Installer(); + $global_defaults = $settings_installer->get_global_defaults(); + + // Preserve the network options we honor by restoring them after calling $global_settings->reset() + $global_settings_to_keep = array(); + foreach ($global_defaults as $key => $val) { + $global_settings_to_keep[$key] = $global_settings->$key; + } + + // Resets internal options to an empty array + $global_settings->reset(); + + // Restore the defaults, then our saved values. This must be done again later because + // we've set $reset to TRUE. + $settings_installer->install_global_settings(); + foreach ($global_settings_to_keep as $key => $val) { + $global_settings->$key = $val; + } + } + + $last_module_list = self::_get_last_module_list($reset); + $current_module_list = self::_generate_module_info(); + + if (count(($modules = array_diff($current_module_list, $last_module_list))) > 0 && self::can_do_upgrade()) + { + // Clear APC cache + if (function_exists('apc_clear_cache')) { + @apc_clear_cache('opcode'); + apc_clear_cache(); + } + + // The cache should be flushed + C_Photocrati_Cache::flush('all'); + + // Remove all NGG created cron jobs + self::refresh_cron(); + + // Delete auto-update cache + update_option('photocrati_auto_update_admin_update_list', null); + update_option('photocrati_auto_update_admin_check_date', ''); + + // Other Pope applications might be loaded, and therefore + // all singletons should be destroyed, so that they can be + // adapted as necessary. For now, we'll just assume that the factory + // is the only singleton that will be used by other Pope applications + C_Component_Factory::$_instances = array(); + + foreach ($modules as $module_name) { + if (($handler = self::get_handler_instance(array_shift(explode('|', $module_name))))) { + if (method_exists($handler, 'install')) + $handler->install($reset); + } + } + + // Update the module list + update_option('pope_module_list', $current_module_list); + + // NOTE & TODO: if the above section that declares $global_settings_to_keep is removed this should also + // Since a hard-reset of the settings was forced we must again re-apply our previously saved values + if (isset($global_settings_to_keep)) { + foreach ($global_settings_to_keep as $key => $val) { + $global_settings->$key = $val; + } + } + + // Save any changes settings + $global_settings->save(); + $local_settings->save(); + + self::done_upgrade(); + } + + // Another workaround to an issue caused by NextGen's lack of multisite compatibility. It's possible + // the string substitation wasn't performed, so if a '%' symbol exists in gallerypath we reset it. It's + // another db call, but again this should only ever run once. + // + // Remove this when removing the above reset-global-settings code + if (strpos($local_settings->gallerypath, '%')) + { + $settings_installer = new C_NextGen_Settings_Installer(); + $local_settings->gallerypath = $settings_installer->gallerypath_replace($global_settings->gallerypath); + $local_settings->save(); + } + } + + static function _get_last_module_list($reset=FALSE) + { + // Return empty array to reset + if ($reset) return array(); + + // First try getting the list from a single WP option, "pope_module_list" + $retval = get_option('pope_module_list', array()); + if (!$retval) { + $local_settings = C_NextGen_Settings::get_instance(); + $retval = $local_settings->get('pope_module_list', array()); + $local_settings->delete('pope_module_list'); + } + + return $retval; + } + + static function _generate_module_info() + { + $retval = array(); + $registry = C_Component_Registry::get_instance(); + foreach ($registry->get_module_list() as $module_id) { + $module_version = $registry->get_module($module_id)->module_version; + $retval[] = "{$module_id}|{$module_version}"; + } + return $retval; + } + + static function refresh_cron() + { + if (!extension_loaded('suhosin')) @ini_set('memory_limit', -1); + + // Remove all cron jobs created by NextGEN Gallery + $cron = _get_cron_array(); + if (is_array($cron)) { + foreach ($cron as $timestamp => $job) { + if (is_array($job)) { + unset($cron[$timestamp]['ngg_delete_expired_transients']); + if (empty($cron[$timestamp])) { + unset($cron[$timestamp]); + } + } + } + } + _set_cron_array($cron); + } + } +} diff --git a/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_resource_manager.php b/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_resource_manager.php new file mode 100644 index 0000000..b12b485 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_resource_manager.php @@ -0,0 +1,214 @@ +<?php + +class C_Photocrati_Resource_Manager +{ + static $instance = NULL; + + public $marker = '<!-- ngg_resource_manager_marker -->'; + + var $buffer = ''; + var $styles = ''; + var $scripts = ''; + var $other_output = ''; + var $wrote_footer = FALSE; + var $run_shutdown = FALSE; + var $valid_request = TRUE; + + /** + * Start buffering all generated output. We'll then do two things with the buffer + * 1) Find stylesheets lately enqueued and move them to the header + * 2) Ensure that wp_print_footer_scripts() is called + */ + function __construct() + { + // Validate the request + $this->validate_request(); + add_action('init', array(&$this, 'start_buffer'), -1); + add_action('wp_footer', array(&$this, 'print_marker'), -1); + } + + /** + * Created early as possible in the wp_footer action this is the string to which we + * will move JS resources after + */ + function print_marker() + { + print $this->marker; + } + + /** + * Determines if the resource manager should perform it's routines for this request + * @return bool + */ + function validate_request() + { + $retval = TRUE; + + if (is_admin()) { + if (isset($_REQUEST['page']) && !preg_match("#^(ngg|nextgen)#", $_REQUEST['page'])) $retval = FALSE; + } + + if (strpos($_SERVER['REQUEST_URI'], 'wp-admin/update') !== FALSE) $retval = FALSE; + else if (isset($_GET['display_gallery_iframe'])) $retval = FALSE; + else if (defined('WP_ADMIN') && WP_ADMIN && defined('DOING_AJAX') && DOING_AJAX) $retval = FALSE; + else if (preg_match("/(js|css|xsl|xml|kml)$/", $_SERVER['REQUEST_URI'])) $retval = FALSE; + else if (preg_match("#/feed(/?)$#i", $_SERVER['REQUEST_URI']) || !empty($_GET['feed'])) $retval = FALSE; + elseif (preg_match("/\\.(\\w{3,4})$/", $_SERVER['REQUEST_URI'], $match)) { + if (!in_array($match[1], array('htm', 'html', 'php'))) { + $retval = FALSE; + } + } + + $this->valid_request = $retval; + } + + /** + * Start the output buffers + */ + function start_buffer() + { + if (defined('NGG_DISABLE_RESOURCE_MANAGER') && NGG_DISABLE_RESOURCE_MANAGER) + return; + + if (apply_filters('run_ngg_resource_manager', $this->valid_request)) { + ob_start(array(&$this, 'output_buffer_handler')); + ob_start(array(&$this, 'get_buffer')); + + add_action('wp_print_footer_scripts', array(&$this, 'get_resources'), 1); + add_action('admin_print_footer_scripts', array(&$this, 'get_resources'), 1); + add_action('shutdown', array(&$this, 'shutdown')); + } + } + + /** + * + **/ + function get_resources() + { + ob_start(); + wp_print_styles(); + print_admin_styles(); + $this->styles = ob_get_clean(); + + if (!is_admin()) { + ob_start(); + wp_print_scripts(); + $this->scripts = ob_get_clean(); + } + + $this->wrote_footer = TRUE; + } + + /** + * Output the buffer after PHP execution has ended (but before shutdown) + * @param $content + * @return string + */ + function output_buffer_handler($content) + { + return $this->output_buffer(); + } + + /** + * Removes the closing </html> tag from the output buffer. We'll then write our own closing tag + * in the shutdown function after running wp_print_footer_scripts() + * @param $content + * @return mixed + */ + function get_buffer($content) + { + $this->buffer = $content; + return ''; + } + + /** + * Moves resources to their appropriate place + */ + function move_resources() + { + if ($this->valid_request) { + // Move stylesheets to head + if ($this->styles) { + $this->buffer = str_ireplace('</head>', $this->styles.'</head>', $this->buffer); + } + + // Move the scripts to the bottom of the page + if ($this->scripts) { + $this->buffer = str_ireplace($this->marker, $this->marker . $this->scripts, $this->buffer); + } + + if ($this->other_output) { + $this->buffer = str_replace($this->marker, $this->marker . $this->other_output, $this->buffer); + } + } + } + + /** + * When PHP has finished, we output the footer scripts and closing tags + */ + function output_buffer($in_shutdown=FALSE) + { + // If the footer scripts haven't been outputted, then + // we need to take action - as they're required + if (!$this->wrote_footer) { + + // If W3TC is installed and activated, we can't output the + // scripts and manipulate the buffer, so we can only provide a warning + if (defined('W3TC') && defined('WP_DEBUG') && WP_DEBUG && !is_admin()) { + if (!defined('DONOTCACHEPAGE')) define('DONOTCACHEPAGE', TRUE); + if (!did_action('wp_footer')) { + error_log("We're sorry, but your theme's page template didn't make a call to wp_footer(), which is required by NextGEN Gallery. Please add this call to your page templates."); + } + else { + error_log("We're sorry, but your theme's page template didn't make a call to wp_print_footer_scripts(), which is required by NextGEN Gallery. Please add this call to your page templates."); + } + } + + // We don't want to manipulate the buffer if it doesn't contain HTML + elseif (strpos($this->buffer, '</body>') === FALSE) { + $this->valid_request = FALSE; + } + + // The output_buffer() function has been called in the PHP shutdown callback + // This will allow us to print the scripts ourselves and manipulate the buffer + if ($in_shutdown === TRUE) { + ob_start(); + if (!did_action('wp_footer')) { + wp_footer(); + } + else { + wp_print_footer_scripts(); + } + $this->other_output = ob_get_clean(); + + } + + // W3TC isn't activated and we're not in the shutdown callback. + // We'll therefore add a shutdown callback to print the scripts + else { + $this->run_shutdown = TRUE; + return ''; + } + } + + // Once we have the footer scripts, we can modify the buffer and + // move the resources around + if ($this->wrote_footer) $this->move_resources(); + + return $this->buffer; + } + + /** + * PHP shutdown callback. Manipulate and output the buffer + */ + function shutdown() + { + if ($this->run_shutdown) echo $this->output_buffer(TRUE); + } + + static function init() + { + $klass = get_class(); + return self::$instance = new $klass; + } +} diff --git a/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_settings_manager.php b/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_settings_manager.php new file mode 100644 index 0000000..d2c3e4e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_settings_manager.php @@ -0,0 +1,301 @@ +<?php + +if (!class_exists('C_Photocrati_Settings_Manager_Base')) { + /** + * Provides a base abstraction for a Settings Manager + * Class C_Settings_Manager_Base + */ + abstract class C_Photocrati_Settings_Manager_Base implements ArrayAccess + { + static $option_name = 'pope_settings'; + protected $_options = array(); + protected $_defaults = array(); + protected $_option_handlers = array(); + + abstract function save(); + abstract function destroy(); + abstract function load(); + + protected function __construct() + { + $this->load(); + } + + /** + * Adds a class to handle dynamic options + * @param string $klass + * @param array $options + */ + function add_option_handler($klass, $options=array()) + { + if (!is_array($options)) $options = array($options); + foreach ($options as $option_name) { + $this->_option_handlers[$option_name] = $klass; + } + } + + /** + * Gets a handler used to provide a dynamic option + * @param string $option_name + * @return null|mixed + */ + protected function _get_option_handler($option_name, $method='get') + { + $retval = NULL; + + if (isset($this->_option_handlers[$option_name])) { + if (!is_object($this->_option_handlers[$option_name])) { + $klass = $this->_option_handlers[$option_name]; + $this->_option_handlers[$option_name] = new $klass; + } + $retval = $this->_option_handlers[$option_name]; + if (!method_exists($retval, $method)) $retval = NULL; + } + return $retval; + } + + /** + * Gets the value of a particular setting + * @param $key + * @param null $default + * @return null + */ + function get($key, $default=NULL) + { + $retval = $default; + + if (($handler = $this->_get_option_handler($key, 'get'))) { + $retval = $handler->get($key, $default); + } + else if (isset($this->_options[$key])) { + $retval = $this->_options[$key]; + } + + // In case a stdObject has been passed in as a value, we + // want to only return scalar values or arrays + if (is_object($retval)) $retval = (array) $retval; + + return $retval; + } + + /** + * Sets a setting to a particular value + * @param string $key + * @param mixed $value + * @return mixed + */ + function set($key, $value=NULL, $skip_handlers=FALSE) + { + if (is_object($value)) $value = (array) $value; + + if (is_array($key)) { + foreach ($key as $k=>$v) $this->set($k, $v); + } + elseif (!$skip_handlers && ($handler = $this->_get_option_handler($key, 'set'))) { + $handler->set($key, $value); + } + else $this->_options[$key] = $value; + + return $this; + } + + /** + * Deletes a setting + * @param string $key + */ + function delete($key) + { + if (($handler = $this->_get_option_handler($key, 'delete'))) { + $handler->delete($key); + } + else { + unset($this->_options[$key]); + } + } + + /** + * Determines if a setting exists or not + * @param $key + * @return bool + */ + function is_set($key) + { + return array_key_exists($key, $this->_options); + } + + /** + * Alias to is_set() + * @param $key + * @return bool + */ + function exists($key) + { + return $this->is_set($key); + } + + function does_not_exist($key) + { + return !$this->exists($key); + } + + function reset() + { + $this->_options = array(); + $this->_defaults = array(); + } + + /** + * This function does two things: + * a) If a value hasn't been set for the specified key, or it's been set to a previously set + * default value, then set this key to the value specified + * b) Sets a new default value for this key + */ + function set_default_value($key, $default) + { + if (!isset($this->_defaults[$key])) $this->_defaults[$key] = $default; + if (is_null($this->get($key, NULL)) OR $this->get($key) == $this->_defaults[$key]) { + $this->set($key, $default); + } + $this->_defaults[$key] = $default; + return $this->get($key); + } + + function offsetExists($key) + { + return $this->is_set($key); + } + + function offsetGet($key) + { + return $this->get($key); + } + + function offsetSet($key, $value) + { + return $this->set($key, $value); + } + + function offsetUnset($key) + { + return $this->delete($key); + } + + function __get($key) + { + return $this->get($key); + } + + function __set($key, $value) + { + return $this->set($key, $value); + } + + function __isset($key) + { + return $this->is_set($key); + } + + function __toString() + { + return json_encode($this->_options); + } + + function __toArray() + { + return $this->_options; + } + + function to_array() + { + return $this->__toArray(); + } + + function to_json() + { + return json_encode($this->_options); + } + + function from_json($json) + { + $this->_options = (array)json_decode($json); + } + } +} + +if (!class_exists('C_Photocrati_Global_Settings_Manager')) { + class C_Photocrati_Global_Settings_Manager extends C_Photocrati_Settings_Manager_Base + { + static $_instance = NULL; + public static function get_instance() + { + if (is_null(self::$_instance)) { + $klass = get_class(); + self::$_instance = new $klass(); + } + return self::$_instance; + } + + function save() + { + return update_site_option(self::$option_name, $this->to_array()); + } + + function load() + { + $this->_options = get_site_option(self::$option_name, $this->to_array()); + if (!$this->_options) $this->_options = array(); + else if (is_string($this->_options)) $this->_options = unserialize($this->_options); + } + + function destroy() + { + return delete_site_option(self::$option_name); + } + } +} + + +if (!class_exists('C_Photocrati_Settings_Manager')) { + class C_Photocrati_Settings_Manager extends C_Photocrati_Settings_Manager_Base + { + static $_instance = NULL; + public static function get_instance() + { + if (is_null(self::$_instance)) { + $klass = get_class(); + self::$_instance = new $klass(); + } + return self::$_instance; + } + + function get($key, $default=NULL) + { + $retval = parent::get($key, NULL); + + if (is_null($retval)) { + $retval = C_Photocrati_Global_Settings_Manager::get_instance()->get($key, $default); + } + return $retval; + } + + function save() + { + return update_option(self::$option_name, $this->to_array()); + } + + function load() + { + $this->_options = get_option(self::$option_name, array()); + if (!$this->_options) $this->_options = array(); + else if (is_string($this->_options)) $this->_options = unserialize($this->_options); + } + + function destroy() + { + delete_option(self::$option_name); + } + + + } +} + diff --git a/wp-content/plugins/nextgen-gallery/pope/README.txt b/wp-content/plugins/nextgen-gallery/pope/README.txt new file mode 100644 index 0000000..4d4bb62 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/pope/README.txt @@ -0,0 +1,93 @@ +============== +POPE FRAMEWORK +============== + +WHY "POPE"? +----------- +Pope is an attempt to provide a component framework, similiar to Python's Zope 3 +framework. In otherwords, Pope is PHP's version of Zope. +See: http://wiki.zope.org/zope3/ComponentArchitectureOverview + +In short it adds polymorphism or plugin-like functionality into your PHP classes. +With it you can build applications with plugins, plugins to existing applications, +and extend or change third party libraries without modifying their source. + +The unit tests in the "tests" directory double as a tutorial to Pope and how to use +it. For best clarity read the source in this order: +* core +* pre_hooks +* registry +* factories +* modules +* wrappers +* advanced +* method_properties +To run the tests yourself modify run_tests.php to point to your own SimpleTest +checkout. + +A component framework puts a strong emphasis on interface design, and designing +by contract. However, Pope also tries to be less restrictive by adopting duck typing +and the philosophy, "if it walks like a duck and talks like a duck then it is +a duck". This is sometimes also referred to as "monkey patching". + +A component frameworks relies on the following: + +- Interfaces: + + Interfaces define the contracts which the design must follow. + See: http://en.wikipedia.org/wiki/Design_by_contract + +- Components: + + Components implement interfaces to provide specific functionality in a + desired context. The context of an object is important, as a component + can behave differently when used in a different context. + +- Adapters: + + Adapters modify the behavior of a component to adapt to a particular context. + For example, in a component framework there might be difference between an + image and a thumbnail - they are both images, but used in different contexts. + Adapters would be used to make a thumbnail image behave differently. + +- Utilities: + + Utilities are registered implementations of a particular interface. An + example of a utility is an object factory, based on the factory pattern. + +- Factory: + + Factories create objects. + See: http://en.wikipedia.org/wiki/Factory_method_pattern + + + +EXTENSIBLE OBJECT +----------------- +Pope is able to use duck typing and monkey patching through the use of a class +called ExtensibleObject, which provides these capabilities. ExtensibleObject +provides a means of polymorphism and multiple inheritance using something +called "mixins". +See: http://en.wikipedia.org/wiki/Mixin + +An understanding of how to use ExtensibleObject is fundamental to the understanding +of how to use Pope, and what makes it a unique and powerful tool. + +ExtensibleObject is quite unique in that it brings a lot of features to PHP 5.2 +that are only available in PHP 5.3 and above. It inherits a lot of it's design +from Ruby. For example, + +i) Methods can be added and removed from objects at runtime through the use of +Pope extensions + +ii) Pre-executed and post-executed hooks can be registered at runtime, which are +methods that are executed when a particular method has been called on an +ExtensibleObject instance. + +iii) Method implementations can be replaced and restored at runtime. + +To get a better understanding of how these things can truly benefit you as a +programmer and a designer, please watch David Heinemeier Hansson's keynote about +Ruby: http://vimeo.com/17420638 + + diff --git a/wp-content/plugins/nextgen-gallery/pope/lib/autoload.php b/wp-content/plugins/nextgen-gallery/pope/lib/autoload.php new file mode 100644 index 0000000..7961f53 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/pope/lib/autoload.php @@ -0,0 +1,14 @@ +<?php + +if (!defined('POPE_VERSION')) { + define('POPE_VERSION', '0.6'); + require_once('class.extensibleobject.php'); + require_once('interface.component.php'); + require_once('class.component.php'); + require_once('interface.component_factory.php'); + require_once('class.component_factory.php'); + require_once('class.component_registry.php'); + require_once('interface.pope_module.php'); + require_once('class.base_module.php'); + require_once('class.base_product.php'); +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/pope/lib/class.base_module.php b/wp-content/plugins/nextgen-gallery/pope/lib/class.base_module.php new file mode 100644 index 0000000..5230657 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/pope/lib/class.base_module.php @@ -0,0 +1,184 @@ +<?php + +if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); } + +/** + * A Module will register utilities and adapters to provide it's functionality, + * and usually provide some classes for business logic. + * + * Registered an adapter for the I_Component_Factory interface to add new + * factory methods is the most common use of an adapter. + */ +abstract class C_Base_Module extends C_Component +{ + var $module_id; + var $module_name; + var $module_description; + var $module_version; + var $module_uri; + var $module_author; + var $module_author_uri; + var $module_type_list = null; + + function __construct($context=FALSE) + { + if ($context) { + parent::__construct(__EXTOBJ_NO_INIT__, $context); + } + else { + parent::__construct(__EXTOBJ_NO_INIT__); + } + } + + /** + * Defines the module + */ + function define($id='pope-module', $name='Pope Module', $description='', $version='', $uri='', $author='', $author_uri='', $context=FALSE) + { + parent::define($context); + $this->implement('I_Pope_Module'); + $this->module_id = $id; + $this->module_name = $name; + $this->module_description = $description; + $this->module_version = $version; + $this->module_uri = $uri; + $this->module_author = $author; + $this->module_author_uri = $author_uri; + + $this->get_registry()->add_module($this->module_id, $this); + + $this->_register_utilities(); + $this->_register_adapters(); + $this->_register_hooks(); + } + + /** + * I/O can be expensive to run repeatedly, so when a module is created we cache a listing of every file provided + * + * @return array List of types => files belonging to this module + */ + function get_type_list() + { + // XXX small hack to skip photocrati theme modules scans + $except_modules = array( + 'photocrati-gallery_legacy' => array(), + 'photocrati-theme_bulk' => array(), + 'photocrati-theme_admin' => array(), + 'photocrati-auto_update' => array( + 'A_Autoupdate_Settings' => 'adapter.autoupdate_settings.php' + ), + 'photocrati-auto_update-admin' => array( + 'A_Autoupdate_Admin_Ajax' => 'adapter.autoupdate_admin_ajax.php', + 'A_Autoupdate_Admin_Factory' => 'adapter.autoupdate_admin_factory.php', + 'C_Autoupdate_Admin_Ajax' => 'class.autoupdate_admin_ajax.php', + 'C_Autoupdate_Admin_Controller' => 'class.autoupdate_admin_controller.php' + )); + + if (isset($except_modules[$this->module_id])) + { + return $except_modules[$this->module_id]; + } + + if ($this->module_type_list === null) + { + $map = array( + 'C_' => 'class', + 'A_' => 'adapter', + 'I_' => 'interface', + 'Mixin_' => 'mixin', + 'M_' => 'module', + 'Hook_' => 'hook', + ); + + $type_list = array(); + $dir = $this->get_registry()->get_module_dir($this->module_id) . DIRECTORY_SEPARATOR; + $iterator = new RecursiveIteratorIterator( + new RecursiveDirectoryIterator($dir) + ); + foreach ($iterator as $filename) { + if (in_array(basename($filename->getPathname()), array('.', '..'))) + continue; + + $filename = str_replace($dir, '', $filename->getPathname()); + $file_parts = explode('.', $filename); + $prefix = $file_parts[0]; + $name = (!empty($file_parts[1]) ? $file_parts[1] : ''); + $name_prefix = array_search($prefix, $map); + + if ($name_prefix) + { + $type_name = $name_prefix . $name; + + $type_list[$type_name] = $filename; + } + } + + $this->module_type_list = $type_list; + } + + return $this->module_type_list; + } + + /** + * Provides a reliable means of determining if the current request is in the + * wp-admin panel + * @return boolean + */ + function is_admin() + { + return (is_admin() OR preg_match('/wp-admin/', $_SERVER['REQUEST_URI'])); + } + + /** + * Join two filesystem paths together (e.g. 'give me $path relative to $base'). + * + * If the $path is absolute, then the full path is returned. + * Taken from wordpress 3.4.1 + * + * @param string $base + * @param string $path + * @return string The path with the base or absolute path + */ + function _path_join($base, $path) + { + if ($this->_path_is_absolute($path)) + { + return $path; + } + return trim($base, "/\\") . DIRECTORY_SEPARATOR . ltrim($path, "/\\"); + } + + /** + * Test if a give filesystem path is absolute ('/foo/bar', 'c:\windows'). + * + * Taken from wordpress 3.4.1 + * @param string $path File path + * @return bool True if path is absolute, false is not absolute. + */ + function _path_is_absolute($path) + { + // this is definitive if true but fails if $path does not exist or contains a symbolic link + if (realpath($path) == $path) + { + return true; + } + + if (strlen($path) == 0 || $path[0] == '.') + { + return false; + } + + // windows allows absolute paths like this + if (preg_match('#^[a-zA-Z]:\\\\#', $path)) + { + return true; + } + + // a path starting with / or \ is absolute; anything else is relative + return ($path[0] == '/' || $path[0] == '\\'); + } + + function _register_hooks() {} + function _register_adapters() {} + function _register_utilities() {} +} diff --git a/wp-content/plugins/nextgen-gallery/pope/lib/class.base_product.php b/wp-content/plugins/nextgen-gallery/pope/lib/class.base_product.php new file mode 100644 index 0000000..e4be599 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/pope/lib/class.base_product.php @@ -0,0 +1,36 @@ +<?php + +if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); } + +/** + * A Product is a collection of modules with some meta data. + * + * Products are responsible for including and loading any modules required + * for the functionality of the product. + * + * Module initialization is handled by the bootstrap procedure. + */ +abstract class C_Base_Product extends C_Base_Module +{ + function define($id='pope-product', $name='Pope Product', $description='', $version='', $uri='', $author='', $author_uri='', $context=FALSE) + { + parent::define($id, $name, $description, $version, $uri, $author, $author_uri, $context); + + $this->get_registry()->add_product($this->module_id, $this); + } + + function get_type_list() + { + return array(); + } + + function is_background_product() + { + return false; + } + + function get_dashboard_message($type = null) + { + return false; + } +} diff --git a/wp-content/plugins/nextgen-gallery/pope/lib/class.component.php b/wp-content/plugins/nextgen-gallery/pope/lib/class.component.php new file mode 100644 index 0000000..a02db5d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/pope/lib/class.component.php @@ -0,0 +1,113 @@ +<?php + +/** + * Pope is a component-based framework. All classes should inherit this class. + */ +class C_Component extends ExtensibleObject +{ + /** + * @var string + */ + var $context; + var $adapted = FALSE; + + /** + * Many components will execute parent::define() + */ + function define($context=FALSE) + { + $this->context = is_null($context) ? FALSE : $context; + $this->implement('I_Component'); + } + + // Initializes the state of the object + function initialize() + { + $this->get_registry()->apply_adapters($this); + $this->adapted = TRUE; + } + + /** + * Determines if the component has one or more particular contexts assigned + * @param string|array $context + * @return boolean + */ + function has_context($context) + { + $retval = TRUE; + $current_context = is_array($this->context) ? $this->context : array($this->context); + if (!is_array($context)) $context = array($context); + foreach ($context as $c) { + if (!in_array($c, $current_context)) { + $retval = FALSE; + break; + } + } + return $retval; + } + + /** + * Assigns a particular context to the component + * @param type $context + */ + function add_context($context) + { + if (!is_array($context)) $context = array($context); + if (!is_array($this->context)) $this->context = array($this->context); + foreach ($context as $c) { + if (in_array($c, $this->context)) continue; + else $context[] = $c; + } + } + + /** + * Assigns one or more contexts to the component + * @param type $context + */ + function assign_context($context) + { + $this->add_context($context); + } + + /** + * Un-assigns one or more contexts from the component + * @param type $context + */ + function remove_context($context) + { + if (!is_array($context)) $context = array($context); + if (!is_array($this->context)) $this->context = array($this->context); + foreach ($context as $c) { + if (($index = array_search($c, $this->context)) !== FALSE) { + unset($this->context[$index]); + } + } + } + + /** + * Assigns one or more contexts to the component + * @param type $context + */ + function unassign_context($context) + { + $this->remove_context($context); + } + + /** + * Gets the component registry + * @return C_Component_Registry + */ + function get_registry() + { + return C_Component_Registry::get_instance(); + } + + /** + * Gets the component registry -- backward compatibility + * @return C_Component_Registry + */ + function _get_registry() + { + return C_Component_Registry::get_instance(); + } +} diff --git a/wp-content/plugins/nextgen-gallery/pope/lib/class.component_factory.php b/wp-content/plugins/nextgen-gallery/pope/lib/class.component_factory.php new file mode 100644 index 0000000..01d8c72 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/pope/lib/class.component_factory.php @@ -0,0 +1,35 @@ +<?php + +/** + * A factory for hatching (instantiating) components + */ +class C_Component_Factory extends C_Component +{ + static $_instances = array(); + + function define($context=FALSE) + { + parent::define($context); + $this->implement('I_Component_Factory'); + } + + function create($method, $args=array()) + { + // Format the arguments for the method call + $args = func_get_args(); + array_shift($args); + + // Create the component and apply the adapters + $component = $this->call_method($method, $args); + + return $component; + } + + static function &get_instance($context = False) + { + if (!isset(self::$_instances[$context])) { + self::$_instances[$context] = new C_Component_Factory($context); + } + return self::$_instances[$context]; + } +} diff --git a/wp-content/plugins/nextgen-gallery/pope/lib/class.component_registry.php b/wp-content/plugins/nextgen-gallery/pope/lib/class.component_registry.php new file mode 100644 index 0000000..6658520 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/pope/lib/class.component_registry.php @@ -0,0 +1,943 @@ +<?php + +/** + * A registry of registered products, modules, adapters, and utilities. + */ +class C_Component_Registry +{ + static $_instance = NULL; + var $_meta_info = array(); /* Contains a cached mapping of module_id -> module_info (including the path the module was installed to) */ + var $_default_path = NULL; + var $_modules = array(); + var $_products = array(); + var $_adapters = array(); + var $_utilities = array(); + var $_module_type_cache = array(); + var $_module_type_cache_count = 0; + + + /** + * This is a singleton object + */ + private function __construct() + { + // Create an autoloader + spl_autoload_register(array($this, '_module_autoload'), TRUE); + } + + + /** + * Returns a singleton + * @return C_Component_Registry() + */ + static function &get_instance() + { + if (is_null(self::$_instance)) { + $klass = get_class(); + self::$_instance = new $klass(); + } + return self::$_instance; + } + + /** + * Saves the registry to disk + * @param string $config_file + */ + function save($config_file) + { + $fp = FALSE; + $retval = TRUE; + + try { + $fp = fopen($config_file, 'w'); + fwrite($fp, json_encode(array( + 'modules' => $this->_modules, + 'products' => $this->_products, + 'adapters' => $this->_adapters, + 'utilities'=> $this->_utilities + ))); + } + catch (Exception $e) { + if ($fp) fclose($fp); + $retval = FALSE; + } + if ($fp) fclose($fp); + + return $retval; + } + + + function load($config_file) + { + $fp = FALSE; + $retval = TRUE; + + try { + $fp = fopen($config_file); + $json = json_decode(fread($fp), TRUE); + $this->_modules = array_merge($this->_modules, $json['modules']); + $this->_products = array_merge($this->_products, $json['products']); + $this->_adapters = array_merge($this->_adapters, $json['adapters']); + $this->_utilities = array_merge($this->_utilities, $json['utilities']); + } + catch (Exception $e) { + if ($fp) fclose($fp); + $retval = FALSE; + } + if ($fp) fclose($fp); + + return $retval; + } + + + /** + * Adds a path in the search paths for loading modules + * @param string $path + * @param bool $recurse - note, it will only recurse 1 level in the hierarchy + * @param bool $load_all - loads all modules found in the path + */ + function add_module_path($path, $recurse = false, $load_all = false) + { + if ($this->get_default_module_path() == null) + { + $this->set_default_module_path($path); + } + + $scan = $this->_scan_module_path($path, $recurse); + + if ($scan != null) + { + $this->_meta_info = array_merge($this->_meta_info, $scan); + + if ($load_all) + { + $module_list = array_keys($scan); + $load_list = array(); + $count = count($module_list); + $ret = true; + + for ($i = 0; $i < $count; $i++) + { + $module_id = $module_list[$i]; + $info = isset($scan[$module_id]) ? $scan[$module_id] : null; + $before_index = null; + + if (isset($info['before-list'])) + { + $before_list = $info['before-list']; + + foreach ($before_list as $before_module) + { + $load_index = array_search($before_module, $load_list); + + if ($load_index !== false) + { + if ($before_index === null || $load_index < $before_index) + { + $before_index = $load_index; + } + } + } + } + + if ($before_index !== null) + { + array_splice($load_list, $before_index, 0, array($module_id)); + } + else + { + $load_list[] = $module_id; + } + } + + foreach ($load_list as $module_id) + { + $loaded = $this->load_module($module_id); + $ret = $ret && $loaded; + } + + return $ret; + } + + return true; + } + + return false; + } + + + /** + * Retrieves the default module path (Note: this is just the generic root container path for modules) + * @return string + */ + function get_default_module_path() + { + return $this->_default_path; + } + + + /** + * Sets the default module path (Note: this is just the generic root container path for modules) + * @param string $path + */ + function set_default_module_path($path) + { + $this->_default_path = $path; + } + + + /** + * Retrieves the module path + * @param string $module_id + * @return string + */ + function get_module_path($module_id) + { + if (isset($this->_meta_info[$module_id])) { + $info = $this->_meta_info[$module_id]; + + if (isset($info['path'])) { + return $info['path']; + } + } + + return null; + } + + + /** + * Retrieves the module installation directory + * @param string $module_id + * @return string + */ + function get_module_dir($module_id) + { + $path = $this->get_module_path($module_id); + + if ($path != null) { + return dirname($path); + } + + return null; + } + + + /** + * Loads a module's code according to its dependency list + * @param string $module_id + */ + function load_module($module_id) + { + return $this->_load_module_internal($module_id); + } + + function load_all_modules($type = null) + { + $modules = $this->get_known_module_list(); + $ret = true; + + foreach ($modules as $module_id) + { + if ($type == null || $this->get_module_meta($module_id, 'type') == $type) { + $ret = $this->load_module($module_id) && $ret; + } + } + + return $ret; + } + + + /** + * Initializes a previously loaded module + * @param string $module_id + */ + function initialize_module($module_id) + { + $retval = FALSE; + if (isset($this->_modules[$module_id])) { + $module = $this->_modules[$module_id]; + + if (!$module->initialized) { + if ($module->has_method('initialize')) + $module->initialize(); + + $module->initialized = true; + } + $retval = TRUE; + } + return $retval; + } + + + /** + * Initializes an already loaded product + * @param string $product_id + * @return bool + */ + function initialize_product($product_id) + { + return $this->initialize_module($product_id); + } + + + /** + * Initializes all previously loaded modules + */ + function initialize_all_modules() + { + $module_list = $this->get_module_list(); + + foreach ($module_list as $module_id) + { + $this->initialize_module($module_id); + } + } + + + /** + * Adds an already loaded module to the registry + * @param string $module_id + * @param C_Base_Module $module_object + */ + function add_module($module_id, $module_object) + { + if (!isset($this->_modules[$module_id])) { + $this->_modules[$module_id] = $module_object; + } + } + + + /** + * Deletes an already loaded module from the registry + * @param string $module_id + */ + function del_module($module_id) + { + if (isset($this->_modules[$module_id])) { + unset($this->_modules[$module_id]); + } + } + + + /** + * Retrieves the instance of the registered module. Note: it's the instance of the module object, so the module needs to be loaded or this function won't return anything. For module info returned by scanning (with add_module_path), look at get_module_meta + * @param string $module_id + * @return C_Base_Module + */ + function get_module($module_id) + { + if (isset($this->_modules[$module_id])) { + return $this->_modules[$module_id]; + } + + return null; + } + + function get_module_meta($module_id, $meta_name) + { + $meta = $this->get_module_meta_list($module_id); + + if (isset($meta[$meta_name])) { + return $meta[$meta_name]; + } + + return null; + } + + function get_module_meta_list($module_id) + { + if (isset($this->_meta_info[$module_id])) { + return $this->_meta_info[$module_id]; + } + + return null; + } + + /** + * Retrieves a list of instantiated module ids + * @return array + */ + function get_module_list() + { + return array_keys($this->_modules); + } + + /** + * Retrieves a list of registered module ids, including those that aren't loaded (i.e. get_module() call with those unloaded ids will fail) + * @return array + */ + function get_known_module_list() + { + return array_keys($this->_meta_info); + } + + + function load_product($product_id) + { + return $this->load_module($product_id); + } + + function load_all_products() + { + return $this->load_all_modules('product'); + } + + /** + * Adds an already loaded product in the registry + * @param string $product_id + * @param C_Base_Module $product_object + */ + function add_product($product_id, $product_object) + { + if (!isset($this->_products[$product_id])) { + $this->_products[$product_id] = $product_object; + } + } + + + /** + * Deletes an already loaded product from the registry + * @param string $product_id + */ + function del_product($product_id) + { + if (isset($this->_products[$product_id])) { + unset($this->_products[$product_id]); + } + } + + + /** + * Retrieves the instance of the registered product + * @param string $product_id + * @return C_Base_Module + */ + function get_product($product_id) + { + if (isset($this->_products[$product_id])) { + return $this->_products[$product_id]; + } + + return null; + } + + function get_product_meta($product_id, $meta_name) + { + $meta = $this->get_product_meta_list($product_id); + + if (isset($meta[$meta_name])) { + return $meta[$meta_name]; + } + + return null; + } + + function get_product_meta_list($product_id) + { + if (isset($this->_meta_info[$product_id]) && $this->_meta_info[$product_id]['type'] == 'product') { + return $this->_meta_info[$product_id]; + } + + return null; + } + + + /** + * Retrieves the module installation path for a specific product (Note: this is just the generic root container path for modules of this product) + * @param string $product_id + * @return string + */ + function get_product_module_path($product_id) + { + if (isset($this->_meta_info[$product_id])) { + $info = $this->_meta_info[$product_id]; + + if (isset($info['product-module-path'])) { + return $info['product-module-path']; + } + } + + return null; + } + + + /** + * Sets the module installation path for a specific product (Note: this is just the generic root container path for modules of this product) + * @param string $product_id + * @param string $module_path + */ + function set_product_module_path($product_id, $module_path) + { + if (isset($this->_meta_info[$product_id])) { + $this->_meta_info[$product_id]['product-module-path'] = $module_path; + } + } + + + /** + * Retrieves a list of instantiated product ids + * @return array + */ + function get_product_list() + { + return array_keys($this->_products); + } + + /** + * Retrieves a list of registered product ids, including those that aren't loaded (i.e. get_product() call with those unloaded ids will fail) + * @return array + */ + function get_known_product_list() + { + $list = array_keys($this->_meta_info); + $return = array(); + + foreach ($list as $module_id) + { + if ($this->get_product_meta_list($module_id) != null) + { + $return[] = $module_id; + } + } + + return $return; + } + + + /** + * Registers an adapter for an interface with specific contexts + * @param string $interface + * @param string $class + * @param array $contexts + */ + function add_adapter($interface, $class, $contexts=FALSE) + { + // If no specific contexts are given, then we assume + // that the adapter is to be applied in ALL contexts + if (!$contexts) $contexts = array('all'); + if (!is_array($contexts)) $contexts = array($contexts); + + if (!isset($this->_adapters[$interface])) { + $this->_adapters[$interface] = array(); + } + + // Iterate through each specific context + foreach ($contexts as $context) { + if (!isset($this->_adapters[$interface][$context])) { + $this->_adapters[$interface][$context] = array(); + } + $this->_adapters[$interface][$context][] = $class; + } + } + + + /** + * Removes an adapter for an interface. May optionally specifify what + * contexts to remove the adapter from, leaving the rest intact + * @param string $interface + * @param string $class + * @param array $contexts + */ + function del_adapter($interface, $class, $contexts=FALSE) + { + // Ensure that contexts is an array of contexts + if (!$contexts) $contexts = array('all'); + if (!is_array($contexts)) $contexts = array($contexts); + + // Iterate through each context for an adapter + foreach ($this->_adapters[$interface] as $context => $classes) { + if (!$context OR in_array($context, $contexts)) { + $index = array_search($class, $classes); + unset($this->_adapters[$interface][$context][$index]); + } + } + } + + + /** + * Apply adapters registered for the component + * @param C_Component $component + * @return C_Component + */ + function &apply_adapters(C_Component &$component) + { + // Iterate through each adapted interface. If the component implements + // the interface, then apply the adapters + foreach ($this->_adapters as $interface => $contexts) { + if ($component->implements_interface($interface)) { + + + // Determine what context apply to the current component + $applied_contexts = array('all'); + if ($component->context) { + $applied_contexts[] = $component->context; + $applied_contexts = $this->_flatten_array($applied_contexts); + } + + // Iterate through each of the components contexts and apply the + // registered adapters + foreach ($applied_contexts as $context) { + if (isset($contexts[$context])) { + foreach ($contexts[$context] as $adapter) { + $component->add_mixin($adapter, TRUE); + } + } + + } + } + } + + return $component; + } + + + /** + * Adds a utility for an interface, to be used in particular contexts + * @param string $interface + * @param string $class + * @param array $contexts + */ + function add_utility($interface, $class, $contexts=FALSE) + { + // If no specific contexts are given, then we assume + // that the utility is for ALL contexts + if (!$contexts) $contexts = array('all'); + if (!is_array($contexts)) $contexts = array($contexts); + + if (!isset($this->_utilities[$interface])) { + $this->_utilities[$interface] = array(); + } + + // Add the utility for each appropriate context + foreach ($contexts as $context) { + $this->_utilities[$interface][$context] = $class; + } + } + + + /** + * Deletes a registered utility for a particular interface. + * @param string $interface + * @param array $contexts + */ + function del_utility($interface, $contexts=FALSE) + { + if (!$contexts) $contexts = array('all'); + if (!is_array($contexts)) $contexts = array($contexts); + + // Iterate through each context for an interface + foreach ($this->_utilities[$interface] as $context => $class) { + if (!$context OR in_array($context, $contexts)) { + unset($this->_utilities[$interface][$context]); + } + } + } + + /** + * Gets the class name of the component providing a utility implementation + * @param string $interface + * @param string|array $context + * @return string + */ + function get_utility_class_name($interface, $context=FALSE) + { + return $this->_retrieve_utility_class($interface, $context); + } + + + /** + * Retrieves an instantiates the registered utility for the provided instance. + * The instance is a singleton and must provide the get_instance() method + * @param string $interface + * @param string $context + * @return C_Component + */ + function get_utility($interface, $context=FALSE) + { + if (!$context) $context='all'; + $class = $this->_retrieve_utility_class($interface, $context); + return call_user_func("{$class}::get_instance", $context); + } + + + /** + * Flattens an array of arrays to a single array + * @param array $array + * @param array $parent (optional) + * @param bool $exclude_duplicates (optional - defaults to TRUE) + * @return array + */ + function _flatten_array($array, $parent=NULL, $exclude_duplicates=TRUE) + { + if (is_array($array)) { + + // We're to add each element to the parent array + if ($parent) { + foreach ($array as $index => $element) { + foreach ($this->_flatten_array($array) as $sub_element) { + if ($exclude_duplicates) { + if (!in_array($sub_element, $parent)) { + $parent[] = $sub_element; + } + } + else $parent[] = $sub_element; + } + } + $array = $parent; + } + + // We're starting the process.. + else { + $index = 0; + while (isset($array[$index])) { + $element = $array[$index]; + if (is_array($element)) { + $array = $this->_flatten_array($element, $array); + unset($array[$index]); + } + $index += 1; + } + $array = array_values($array); + } + } + else { + $array = array($array); + } + + return $array; + } + + + /** + * Returns a list of paths under a specific location, optionally by regex matching their names + * @param string $path starting path + * @param string $regex matched against file basename, not full path + * @param int $recurse recurse level + */ + function _get_file_list($path, $recurse = null, $regex = null) + { + $path = str_replace(array('\\', '/'), DIRECTORY_SEPARATOR, $path); + $file_list = array(); + + if (is_dir($path)) { + + if ($dh = opendir($path)) { + + if (substr($path, -1) != DIRECTORY_SEPARATOR) { + $path .= DIRECTORY_SEPARATOR; + } + + rewinddir($dh); + + while (($file = readdir($dh)) !== false) { + if ($file != '.' && $file != '..') { + $file_path = $path . $file; + + if ($regex == null || preg_match($regex, $file)) { + $file_list[] = $file_path; + } + + if ($recurse > 0) { + $file_list = array_merge($file_list, $this->_get_file_list($file_path, $recurse - 1, $regex)); + } + } + } + + closedir($dh); + } + } + + return $file_list; + } + + /** + * Searches a path for valid module definitions and stores their dependency lists + * @param string $path + * @param bool $recurse - note, it will only recurse 1 level in the hierarchy + */ + function _scan_module_path($path, $recurse = false) + { + $path = str_replace(array('\\', '/'), DIRECTORY_SEPARATOR, $path); + $base = basename($path); + $regex = '/^(?:module|product)\\..*\\.php$/'; + $result = array(); + + if (is_file($path) && preg_match($regex, $base)) + { + $result[] = $path; + } + else + { + $result = $this->_get_file_list($path, $recurse ? 1 : 0, $regex); + } + + if ($result != null) + { + $scan = array(); + + foreach ($result as $module_path) + { + $module_dir = basename(dirname($module_path)); + + if (strpos($module_dir, '__') === 0) + { + continue; + } + + // XXX might be necessary to use fopen/fread for very large module files + $module_content = file_get_contents($module_path); + $match = null; + + if (preg_match('/\/(?:\*)+\s*\{\s*(?P<type>Module|Product):\s*(?P<id>[\w-_]+)\s*(?:,\s*Depends:\s*\{(?P<depends>.*)\})?\s*(,\s*Before:\s*\{(?P<before>.*)\})?\s*\}/m', $module_content, $match) > 0) + { + $module_type = $match['type']; + $module_id = $match['id']; + $module_deps = isset($match['depends']) ? $match['depends'] : null; + $module_before = isset($match['before']) ? $match['before'] : null; + $module_info = array('type' => strtolower($module_type), 'id' => $module_id, 'path' => $module_path); + + if ($module_deps != null) + { + $module_deps = array_map('trim', explode(',', $module_deps)); + $module_info['dependency-list'] = $module_deps; + } + + if ($module_before != null) + { + $module_before = array_map('trim', explode(',', $module_before)); + $module_info['before-list'] = $module_before; + } + + $scan[$module_id] = $module_info; + } + else die("{$module_path} is not a valid Pope module"); + } + + return $scan; + } + + return null; + } + + + /** + * Loads a module's code according to its dependency list and taking into consideration circular references + * @param string $module_id + * @param array $load_path + */ + function _load_module_internal($module_id, $load_path = null) + { + if ($this->get_module($module_id) != null) + { + // Module already loaded + return true; + } + + if (!is_array($load_path)) + { + $load_path = (array) $load_path; + } + + if (isset($this->_meta_info[$module_id])) + { + $module_info = $this->_meta_info[$module_id]; + + if (isset($module_info['dependency-list'])) + { + $module_deps = $module_info['dependency-list']; + $load_path[] = $module_id; + + foreach ($module_deps as $module_dep_id) + { + if (in_array($module_dep_id, $load_path)) + { + // Circular reference + continue; + } + + if (!$this->_load_module_internal($module_dep_id, $load_path)) + { + return false; + } + } + } + if (isset($module_info['path'])) + { + $module_path = $module_info['path']; + + if (is_file($module_path)) + { + include_once($module_path); + + return true; + } + } + } + + return false; + } + + + /** + * Private API method. Retrieves the class which currently provides the utility + * @param string $interface + * @param string $context + */ + function _retrieve_utility_class($interface, $context='all') + { + $class = FALSE; + + if (!$context) $context = 'all'; + if (isset($this->_utilities[$interface])) { + if (isset($this->_utilities[$interface][$context])) { + $class = $this->_utilities[$interface][$context]; + } + + // No utility defined for the specified interface + else { + if ($context == 'all') $context = 'default'; + $class = $this->_retrieve_utility_class($interface, FALSE); + if (!$class) + throw new Exception("No utility registered for `{$interface}` with the `{$context}` context."); + + } + } + else throw new Exception("No utilities registered for `{$interface}`"); + + return $class; + } + /** + * Autoloads any classes, interfaces, or adapters needed by this module + */ + function _module_autoload($name) + { + if ($this->_module_type_cache == null || count($this->_modules) > $this->_module_type_cache_count) + { + $this->_module_type_cache_count = count($this->_modules); + $modules = $this->_modules; + + foreach ($modules as $module_id => $module) + { + $dir = $this->get_module_dir($module_id); + $type_list = $module->get_type_list(); + + foreach ($type_list as $type => $filename) + { + $this->_module_type_cache[strtolower($type)] = $dir . DIRECTORY_SEPARATOR . $filename; + } + } + } + + $name = strtolower($name); + + if (isset($this->_module_type_cache[$name])) + { + $module_filename = $this->_module_type_cache[$name]; + + if (file_exists($module_filename)) + { + include_once($module_filename); + } + } + } +} diff --git a/wp-content/plugins/nextgen-gallery/pope/lib/class.extensibleobject.php b/wp-content/plugins/nextgen-gallery/pope/lib/class.extensibleobject.php new file mode 100644 index 0000000..f1cee52 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/pope/lib/class.extensibleobject.php @@ -0,0 +1,1419 @@ +<?php +define('__EXTOBJ_STATIC__', '__STATICALLY_CALLED__'); +define('__EXTOBJ_NO_INIT__', '__NO_INIT__'); + +if (!defined('EXTENSIBLE_OBJECT_ENFORCE_INTERFACES')) { + define('EXTENSIBLE_OBJECT_ENFORCE_INTERFACES', TRUE); +} + + +/** + * Provides helper methods for Pope objects + */ +class PopeHelpers +{ + /** + * Merges two associative arrays + * @param array $a1 + * @param array $a2 + * @return array + */ + function array_merge_assoc($a1, $a2, $skip_empty=FALSE) + { + if ($a2) { + foreach ($a2 as $key => $value) { + if ($skip_empty && $value === '' OR is_null($value)) continue; + if (isset($a1[$key])) { + + if (is_array($value)) { + $a1[$key] = $this->array_merge_assoc($a1[$key], $value); + + } + else { + $a1[$key] = $value; + } + + } + else $a1[$key] = $value; + } + } + return $a1; + } + + + /** + * Returns TRUE if a property is empty + * @param string $var + * @return boolean + */ + function is_empty($var, $element=FALSE) + { + if (is_array($var) && $element) { + if (isset($var[$element])) $var = $var[$element]; + else $var = FALSE; + } + + return (is_null($var) OR (is_string($var) AND strlen($var) == 0) OR $var === FALSE); + } +} + + +/** + * An ExtensibleObject can be extended at runtime with methods from another + * class. + * + * - Mixins may be added or removed at any time during runtime + * - The path to the mixin is cached so that subsequent method calls are + * faster + * - Pre and post hooks can be added or removed at any time during runtime. + * - Each method call has a list of associated properties that can be modified + * by pre/post hooks, such as: return_value, run_pre_hooks, run_post_hooks, etc + * - Methods can be replaced by other methods at runtime + * - Objects can implement interfaces, and are constrained to implement all + * methods as defined by the interface + * - All methods are public. There's no added security by having private/protected + * members, as monkeypatching can always expose any method. Instead, protect + * your methods using obscurity. Conventionally, use an underscore to define + * a method that's private to an API + */ +class ExtensibleObject extends PopeHelpers +{ + const METHOD_PROPERTY_RUN='run'; + const METHOD_PROPERTY_RUN_POST_HOOKS='run_post_hooks'; + const METHOD_PROPERTY_RUN_PRE_HOOKS='run_pre_hooks'; + const METHOD_PROPERTY_RETURN_VALUE='return_value'; + + var $_mixins = array(); + var $_mixin_priorities = array(); + var $_pre_hooks = array(); + var $_global_pre_hooks = array(); + var $_global_post_hooks= array(); + var $_post_hooks = array(); + var $_method_map_cache = array(); + var $_interfaces = array(); + var $_overrides = array(); + var $_aliases = array(); + var $_method_properties = array(); + var $_throw_error = TRUE; + var $_wrapped_instance = FALSE; + var $object = NULL; + var $_disabled_pre_hooks = array(); + var $_disabled_post_hooks = array(); + var $_disabled_mixins = array(); + + + /** + * Defines a new ExtensibleObject. Any subclass should call this constructor. + * Subclasses are expected to provide the following: + * define_instance() - adds extensions which provide instance methods + * define_class() - adds extensions which provide static methods + * initialize() - used to initialize the state of the object + */ + function __construct() + { + // Mixins access their parent class by accessing $this->object. + // Sometimes users mistakenly use $this->object within the parent object + // itself. As it's becoming a common mistake, we define a $this->object + // property which points to the current instance (itself) + $this->object = $this; + + $args = func_get_args(); + $define_instance = TRUE; + $init_instance = TRUE; + + // The first argument could be a flag to ExtensibleObject + // which indicates that only static-like methods will be called + if (count($args) >= 1) { + $first_arg = $args[0]; + if (is_string($first_arg)) { + switch ($first_arg) { + case __EXTOBJ_STATIC__: + { + $define_instance = FALSE; + $init_instance = FALSE; + + if (method_exists($this, 'define_class')) { + $this->call_callback($this, 'define_class', $args); + } + elseif (method_exists($this, 'define_static')) { + $this->call_callback($this, 'define_static', $args); + } + + break; + } + case __EXTOBJ_NO_INIT__: + { + $init_instance = FALSE; + + break; + } + } + } + } + + // Are we to define instance methods? + if ($define_instance) + { + if (method_exists($this, 'define_instance')) + { + $reflection = new ReflectionMethod($this, 'define_instance'); + $reflection->invokeArgs($this, $args); + // call_user_func_array(array($this, 'define_instance'), $args); + } + elseif (method_exists($this, 'define')) { + $reflection = new ReflectionMethod($this, 'define'); + $reflection->invokeArgs($this, $args); + // call_user_func_array(array($this, 'define'), $args); + } + + if (EXTENSIBLE_OBJECT_ENFORCE_INTERFACES) $this->_enforce_interface_contracts(); + + if ($init_instance) + { + // Initialize the state of the object + if (method_exists($this, 'initialize')) { + $reflection = new ReflectionMethod($this, 'initialize'); + $reflection->invokeArgs($this, $args); + // call_user_func_array(array($this, 'initialize'), $args); + } + } + } + } + + /** + * Disabled prehooks for a particular method + * @param string $method + */ + function disable_pre_hooks($method) + { + $this->_disabled_pre_hooks[] = $method; + return $this; + } + + + /** + * Enable prehooks for a particular method + * @param string $method + */ + function enable_pre_hooks($method) + { + $index = array_search($method, $this->_disabled_pre_hooks); + if ($index !== FALSE) { + unset($this->_disabled_pre_hooks[$index]); + } + return $this; + } + + /** + * Disabled posthooks for a particular method + * @param string $method + */ + function disable_post_hooks($method) + { + $this->_disabled_post_hooks[] = $method; + return $this; + } + + + /** + * Enable post-hooks for a particular method + * @param string $method + */ + function enable_post_hooks($method) + { + $index = array_search($method, $this->_disabled_post_hooks); + if ($index !== FALSE) { + unset($this->_disabled_post_hooks[$index]); + } + return $this; + } + + /** + * Determines if post hooks are enabled for a particular method + * @param string $method + * @return bool + */ + function are_post_hooks_enabled($method) + { + return !empty($this->_post_hooks) && (!in_array($method, $this->_disabled_post_hooks)); + } + + + /** + * Determines if pre hooks are enabled for a particular method + * @param string $method + * @return bool + */ + function are_pre_hooks_enabled($method) + { + return !empty($this->_pre_hooks) && (!in_array($method, $this->_disabled_pre_hooks)); + } + + + /** + * Adds an extension class to the object. The extension provides + * methods for this class to expose as it's own + * @param string $class + */ + function add_mixin($class, $instantiate=FALSE) + { + $retval = TRUE; + + if (!$this->has_mixin($class)) { + // We used to instantiate the class, but I figure + // we might as well wait till the method is called to + // save memory. Instead, the _call() method calls the + // _instantiate_mixin() method below. + $this->_mixins[$class] = FALSE; // new $class(); + array_unshift($this->_mixin_priorities, $class); + $this->_flush_cache(); + + // Should we instantiate the object now? + if ($instantiate) $this->_instantiate_mixin($class); + } + else $retval = FALSE; + + return $retval; + } + + + /** + * Determines if a mixin has been added to this class + * @param string $klass + * @return bool + */ + function has_mixin($klass) + { + return (isset($this->_mixins[$klass])); + } + + + /** + * Stores the instantiated class + * @param string $class + * @return mixed + */ + function _instantiate_mixin($class) + { + $retval = FALSE; + if ($this->_mixins[$class]) + $retval = $this->_mixins[$class]; + else { + $obj= new $class(); + $obj->object = &$this; + $retval = $this->_mixins[$class] = &$obj; + if (method_exists($obj, 'initialize')) $obj->initialize(); + } + + + return $retval; + } + + + /** + * Deletes an extension from the object. The methods provided by that + * extension are no longer available for the object + * @param string $class + */ + function del_mixin($class) + { + unset($this->_mixins[$class]); + $index = array_search($class, $this->_mixin_priorities); + if ($index !== FALSE) { + unset($this->_mixin_priorities[$index]); + foreach ($this->_disabled_mixins as $method => $disabled_mixins) { + $index = array_search($class, $disabled_mixins); + if (is_int($index)) unset($this->_disabled_mixins[$method][$index]); + } + $this->_flush_cache(); + } + + } + + + function remove_mixin($class) + { + $this->del_mixin($class); + } + + + /** + * Replaces an extension methods with that of another class. + * @param string $method + * @param string $class + * @param string $new_method + */ + function replace_method($method, $class, $new_method=FALSE) + { + if (!$new_method) $new_method = $method; + $this->_overrides[$method] = $class; + $this->add_pre_hook($method, "replacement_{$method}_{$class}_{$new_method}", $class, $new_method); + $this->_flush_cache(); + + } + + + /** + * Restores a method that was replaced by a former call to replace_method() + * @param string $method + */ + function restore_method($method) + { + $class = $this->_overrides[$method]; + unset($this->_overrides[$method]); + $this->del_pre_hook($method, $class); + $this->_flush_cache(); + } + + + /** + * Returns the Mixin which provides the specified method + * @param string $method + */ + function get_mixin_providing($method, $return_obj=FALSE) + { + $retval = FALSE; + + // If it's cached, then we've got it easy + if ($this->is_cached($method)) { + + $object = $this->_method_map_cache[$method]; + $retval = get_class($object); + } + + // Otherwise, we have to look it up + else { + foreach ($this->get_mixin_priorities($method) as $klass) { + $object = $this->_instantiate_mixin($klass); + if (method_exists($object, $method)) { + $retval = $return_obj ? $object : get_class($object); + $this->_cache_method($object, $method); + break; + } + } + } + + return $retval; + } + + + /** + * When an ExtensibleObject is instantiated, it checks whether all + * the registered extensions combined provide the implementation as required + * by the interfaces registered for this object + */ + function _enforce_interface_contracts() + { + $errors = array(); + + foreach ($this->_interfaces as $i) { + $r = new ReflectionClass($i); + foreach ($r->getMethods() as $m) { + if (!$this->has_method($m->name)) { + $klass = $this->get_class_name($this); + $errors[] = "`{$klass}` does not implement `{$m->name}` as required by `{$i}`"; + } + } + } + + if ($errors) throw new Exception(implode(". ", $errors)); + } + + + /** + * Implement a defined interface. Does the same as the 'implements' keyword + * for PHP, except this method takes into account extensions + * @param string $interface + */ + function implement($interface) + { + $this->_interfaces[] = $interface; + } + + + /** + * Adds a hook that gets executed before every method call + * @param string $name + * @param string $class + * @param string $hook_method + */ + function add_global_pre_hook($name, $class, $hook_method) + { + $this->add_pre_hook('*', $name, $class, $hook_method); + } + + /** + * Adds a hook that gets executed after every method call + * + * @param string $name + * @param string $class + * @param string $hook_method + */ + function add_global_post_hook($name, $class, $hook_method) + { + $this->add_pre_hook('*', $name, $class, $hook_method); + } + + + /** + * Adds a hook that will get executed before a particular method call + * @param string $method + * @param string $name + * @param string $class + * @param string $hook_method + */ + function add_pre_hook($method, $name, $class, $hook_method=FALSE) + { + if (!$hook_method) $hook_method = $method; + + // Is this a global pre hook? + if ($method == '*') { + $this->_global_pre_hooks[$name] = array( + new $class, + $hook_method + ); + } + + // This is a method-specific pre hook + else { + if (!isset($this->_pre_hooks[$method])) { + $this->_pre_hooks[$method] = array(); + } + + $this->_pre_hooks[$method][$name] = array( + new $class, + $hook_method + ); + } + } + + + /** + * Adds a hook to be called after a particular method call + * @param string $method + * @param string $hook_name + * @param string $class + * @param string $hook_method + */ + function add_post_hook($method, $hook_name, $class, $hook_method=FALSE) + { + // Is this a global post hook? + if ($method == '*') { + $this->_post_hooks[$hook_name] = array( + new $class, + $hook_method + ); + } + + // This is a method-specific post hook + else { + if (!$hook_method) $hook_method = $method; + + if (!isset($this->_post_hooks[$method])) { + $this->_post_hooks[$method] = array(); + } + + $this->_post_hooks[$method][$hook_name] = array( + new $class, + $hook_method + ); + } + } + + + /** + * Deletes a hook that's executed before the specified method + * @param string $method + * @param string $name + */ + function del_pre_hook($method, $name) + { + + unset($this->_pre_hooks[$method][$name]); + } + + /** + * Deletes all pre hooks registered + **/ + function del_pre_hooks($method=FALSE) + { + if (!$method) + $this->_pre_hooks = array(); + else + unset($this->_pre_hooks[$method]); + } + + + /** + * Deletes a hook that's executed after the specified method + * @param string $method + * @param string $name + */ + function del_post_hook($method, $name) + { + unset($this->_post_hooks[$method][$name]); + } + + /** + * Deletes all post hooks + */ + function del_post_hooks($method=FALSE) + { + if (!$method) + $this->_post_hooks = array(); + else + unset($this->_post_hooks[$method]); + } + + + /** + * Wraps a class within an ExtensibleObject class. + * @param string $klass + * @param array callback, used to tell ExtensibleObject how to instantiate + * the wrapped class + */ + function wrap($klass, $callback=FALSE, $args=array()) + { + if ($callback) { + $this->_wrapped_instance = call_user_func($callback, $args); + } + else { + $this->_wrapped_instance = new $klass(); + } + } + + + /** + * Determines if the ExtensibleObject is a wrapper for an existing class + */ + function is_wrapper() + { + return $this->_wrapped_instance ? TRUE : FALSE; + } + + + /** + * Returns the name of the class which this ExtensibleObject wraps + * @return object + */ + function &get_wrapped_instance() + { + return $this->_wrapped_instance; + } + + + /** + * Returns TRUE if the wrapped class provides the specified method + */ + function wrapped_class_provides($method) + { + $retval = FALSE; + + // Determine if the wrapped class is another ExtensibleObject + if (method_exists($this->_wrapped_instance, 'has_method')) { + $retval = $this->_wrapped_instance->has_method($method); + } + elseif (method_exists($this->_wrapped_instance, $method)){ + $retval = TRUE; + } + + return $retval; + } + + + /** + * Provides a means of calling static methods, provided by extensions + * @param string $method + * @return mixed + */ + static function get_class() + { + // Note: this function is static so $this is not defined + $klass = self::get_class_name(); + $obj = new $klass(__EXTOBJ_STATIC__); + return $obj; + } + + + /** + * Gets the name of the ExtensibleObject + * @return string + */ + static function get_class_name($obj = null) + { + if ($obj) + return get_class($obj); + elseif (function_exists('get_called_class')) + return get_called_class(); + else + return get_class(); + } + + /** + * Gets a property from a wrapped object + * @param string $property + * @return mixed + */ + function &__get($property) + { + $retval = NULL; + if ($this->is_wrapper()) { + try { + $reflected_prop = new ReflectionProperty($this->_wrapped_instance, $property); + + // setAccessible method is only available for PHP 5.3 and above + if (method_exists($reflected_prop, 'setAccessible')) { + $reflected_prop->setAccessible(TRUE); + } + + $retval = $reflected_prop->getValue($this->_wrapped_instance); + } + catch (ReflectionException $ex) + { + $retval = $this->_wrapped_instance->$property; + } + } + + return $retval; + } + + /** + * Determines if a property (dynamic or not) exists for the object + * @param string $property + * @return boolean + */ + function __isset($property) + { + $retval = FALSE; + + if (property_exists($this, $property)) { + $retval = isset($this->$property); + } + elseif ($this->is_wrapper() && property_exists($this->_wrapped_instance, $property)) { + $retval = isset($this->$property); + } + + return $retval; + } + + + /** + * Sets a property on a wrapped object + * @param string $property + * @param mixed $value + * @return mixed + */ + function &__set($property, $value) + { + $retval = NULL; + if ($this->is_wrapper()) { + try { + $reflected_prop = new ReflectionProperty($this->_wrapped_instance, $property); + + // The property must be accessible, but this is only available + // on PHP 5.3 and above + if (method_exists($reflected_prop, 'setAccessible')) { + $reflected_prop->setAccessible(TRUE); + } + + $retval = &$reflected_prop->setValue($this->_wrapped_instance, $value); + } + + // Sometimes reflection can fail. In that case, we need + // some ingenuity as a failback + catch (ReflectionException $ex) { + $this->_wrapped_instance->$property = $value; + $retval = &$this->_wrapped_instance->$property; + } + + } + else { + $this->$property = $value; + $retval = &$this->$property; + } + return $retval; + } + + + /** + * Finds a method defined by an extension and calls it. However, execution + * is a little more in-depth: + * 1) Execute all global pre-hooks and any pre-hooks specific to the requested + * method. Each method call has instance properties that can be set by + * other hooks to modify the execution. For example, a pre hook can + * change the 'run_pre_hooks' property to be false, which will ensure that + * all other pre hooks will NOT be executed. + * 2) Runs the method. Checks whether the path to the method has been cached + * 3) Execute all global post-hooks and any post-hooks specific to the + * requested method. Post hooks can access method properties as well. A + * common usecase is to return the value of a post hook instead of the + * actual method call. To do this, set the 'return_value' property. + * @param string $method + * @param array $args + * @return mixed + */ + function __call($method, $args) + { + $this->reset_method_properties($method, $args); + + // Run pre hooks? + if ($this->are_pre_hooks_enabled($method) && $this->get_method_property($method, self::METHOD_PROPERTY_RUN_PRE_HOOKS)) { + + // Combine global and method-specific pre hooks + $prehooks = $this->_global_pre_hooks; + if (isset($this->_pre_hooks[$method])) { + $prehooks = array_merge($prehooks, $this->_pre_hooks[$method]); + } + + // Apply each hook + foreach ($prehooks as $hook_name => $hook) { + $method_args = $this->get_method_property($method, 'arguments', $args); + $this->_run_prehook( + $hook_name, + $method, + $hook[0], + $hook[1], + $method_args + ); + } + } + + // Are we to run the actual method? A pre hook might have told us + // not to + if ($this->get_method_property($method, self::METHOD_PROPERTY_RUN) && !isset($this->_overrides[$method])) + { + if (($this->get_mixin_providing($method))) { + $this->set_method_property( + $method, + self::METHOD_PROPERTY_RETURN_VALUE, + $this->_exec_cached_method($method, $this->get_method_property($method, 'arguments')) + ); + } + + // This is NOT a wrapped class, and no extensions provide the method + else { + // Perhaps this is a wrapper and the wrapped object + // provides this method + if ($this->is_wrapper() && $this->wrapped_class_provides($method)) + { + $object = $this->add_wrapped_instance_method($method); + $this->set_method_property( + $method, + self::METHOD_PROPERTY_RETURN_VALUE, + call_user_func_array( + array(&$object, $method), + $this->get_method_property($method, 'arguments') + ) + ); + } + elseif ($this->_throw_error) { + throw new Exception("`{$method}` not defined for " . get_class()); + } + else { + return FALSE; + } + } + } + + // Are we to run post hooks? A pre hook might have told us not to + if ($this->are_post_hooks_enabled($method) && $this->get_method_property($method, self::METHOD_PROPERTY_RUN_POST_HOOKS)) { + + // Combine global and method-specific post hooks + $posthooks = $this->_global_post_hooks; + if (isset($this->_post_hooks[$method])) { + $posthooks = array_merge($posthooks, $this->_post_hooks[$method]); + } + + // Apply each hook + foreach ($posthooks as $hook_name => $hook) { + $method_args = $this->get_method_property($method, 'arguments', $args); + $this->_run_post_hook( + $hook_name, + $method, + $hook[0], + $hook[1], + $method_args + ); + } + } + + // Get return value, clear all method properties, and then return + $retval = $this->get_method_property($method, self::METHOD_PROPERTY_RETURN_VALUE); + $this->remove_method_properties($method); + return $retval; + } + + + /** + * Adds the implementation of a wrapped instance method to the ExtensibleObject + * @param string $method + * @return Mixin + */ + function add_wrapped_instance_method($method) + { + $retval = $this->get_wrapped_instance(); + + // If the wrapped instance is an ExtensibleObject, then we don't need + // to use reflection + if (!is_subclass_of($this->get_wrapped_instance(), 'ExtensibleObject')) { + $func = new ReflectionMethod($this->get_wrapped_instance(), $method); + + // Get the entire method definition + $filename = $func->getFileName(); + $start_line = $func->getStartLine() - 1; // it's actually - 1, otherwise you wont get the function() block + $end_line = $func->getEndLine(); + $length = $end_line - $start_line; + $source = file($filename); + $body = implode("", array_slice($source, $start_line, $length)); + $body = preg_replace("/^\s{0,}private|protected\s{0,}/", '', $body); + + // Change the context + $body = str_replace('$this', '$this->object', $body); + $body = str_replace('$this->object->object', '$this->object', $body); + $body = str_replace('$this->object->$', '$this->object->', $body); + + // Define method for mixin + $wrapped_klass = get_class($this->get_wrapped_instance()); + $mixin_klass = "Mixin_AutoGen_{$wrapped_klass}_{$method}"; + if (!class_exists($mixin_klass)) { + eval("class {$mixin_klass} extends Mixin{ + {$body} + }"); + } + $this->add_mixin($mixin_klass); + $retval = $this->_instantiate_mixin($mixin_klass); + $this->_cache_method($retval, $method); + + } + + return $retval; + } + + + /** + * Provides an alternative way to call methods + */ + function call_method($method, $args=array()) + { + if (method_exists($this, $method)) + { + $reflection = new ReflectionMethod($this, $method); + return $reflection->invokeArgs($this, array($args)); + } + else { + return $this->__call($method, $args); + } + } + + + /** + * Returns TRUE if the method in particular has been cached + * @param string $method + * @return type + */ + function is_cached($method) + { + return isset($this->_method_map_cache[$method]); + } + + + /** + * Caches the path to the extension which provides a particular method + * @param string $object + * @param string $method + */ + function _cache_method($object, $method) + { + $this->_method_map_cache[$method] = $object; + } + + + /** + * Gets a list of mixins by their priority, excluding disabled mixins + * @param string $method + * @return array + */ + function get_mixin_priorities($method) + { + $retval = array(); + foreach ($this->_mixin_priorities as $mixin) { + if ($this->is_mixin_disabled($method, $mixin)) + continue; + $retval[] = $mixin; + } + return $retval; + } + + + /** + * Determines if a mixin is disabled for a particular method + * @param string $method + * @param string $mixin + * @return boolean + */ + function is_mixin_disabled($method, $mixin) + { + $retval = FALSE; + if (isset($this->_disabled_mixins[$method])) + if (in_array($mixin, $this->_disabled_mixins[$method]) !== FALSE) + $retval = TRUE; + return $retval; + } + + + /** + * Flushes the method cache + */ + function _flush_cache() + { + $this->_method_map_cache = array(); + } + + + /** + * Returns TRUE if the object provides the particular method + * @param string $method + * @return boolean + */ + function has_method($method) + { + $retval = FALSE; + + // Have we looked up this method before successfully? + if ($this->is_cached($method)) { + $retval = TRUE; + } + + // Is this a local PHP method? + elseif (method_exists($this, $method)) { + $retval = TRUE; + } + + // Is a mixin providing this method + elseif ($this->get_mixin_providing($method)) { + $retval = TRUE; + } + + elseif ($this->is_wrapper() && $this->wrapped_class_provides($method)) { + $retval = TRUE; + } + + return $retval; + } + + + /** + * Runs a particular pre hook for the specified method. The return value + * is assigned to the "[hook_name]_prehook_retval" method property + * @param string $hook_name + * @param string $method_called + * @param Ext $object + * @param string $hook_method + * + */ + function _run_prehook($hook_name, $method_called, $object, $hook_method, &$args) + { + $object->object = &$this; + $object->method_called = $method_called; + + // Are we STILL to execute pre hooks? A pre-executed hook might have changed this + if ($this->get_method_property($method_called, 'run_pre_hooks')) + { + $reflection = new ReflectionMethod($object, $hook_method); + $this->set_method_property( + $method_called, + $hook_name . '_prehook_retval', + $reflection->invokeArgs($object, $args) + ); + } + } + + /** + * Runs the specified post hook for the specified method + * @param string $hook_name + * @param string $method_called + * @param Ext $object + * @param string $hook_method + */ + function _run_post_hook($hook_name, $method_called, $object, $hook_method, &$args) + { + $object->object = &$this; + $object->method_called = $method_called; + + // Are we STILL to execute post hooks? A post-executed hook might have changed this + if ($this->get_method_property($method_called, 'run_post_hooks')) + { + $reflection = new ReflectionMethod($object, $hook_method); + $this->set_method_property( + $method_called, + $hook_name . '_post_hook_retval', + $reflection->invokeArgs($object, $args) + ); + } + } + + /** + * Returns TRUE if a pre-hook has been registered for the specified method + * @param string $method + * @return boolean + */ + function have_prehook_for($method, $name = null) + { + if (is_null($name)) { + return isset($this->_pre_hooks[$method]); + } else { + return isset($this->_pre_hooks[$method][$name]); + } + + } + + + /** + * Returns TRUE if a posthook has been registered for the specified method + * @param string $method + * @return boolean + */ + function have_posthook_for($method, $name = null) + { + $retval = FALSE; + + if (isset($this->_post_hooks[$method])) { + if (!$name) $retval = TRUE; + else $retval = isset($this->_post_hooks[$method][$name]); + } + + return $retval; + } + + /** + * Disables a mixin for a particular method. This ensures that even though + * mixin provides a particular method, it won't be used to provide the + * implementation + * @param string $method + * @param string $klass + */ + function disable_mixin($method, $klass) + { + unset($this->_method_map_cache[$method]); + if (!isset($this->_disabled_mixins[$method])) { + $this->_disabled_mixins[$method] = array(); + } + $this->_disabled_mixins[$method][] = $klass; + } + + + /** + * Enable a mixin for a particular method, that was previously disabled + * @param string $method + * @param string $klass + */ + function enable_mixin($method, $klass) + { + unset($this->_method_map_cache[$method]); + if (isset($this->_disabled_mixins[$method])) { + $index = array_search($klass, $this->_disabled_mixins[$method]); + if ($index !== FALSE) unset($this->_disabled_mixins[$method][$index]); + } + } + + + /** + * Gets a list of mixins that are currently disabled for a particular method + * @see disable_mixin() + * @param string $method + * @return array + */ + function get_disabled_mixins_for($method) + { + $retval = array(); + if (isset($this->_disabled_mixins[$method])) { + $retval = $this->_disabled_mixins[$method]; + } + return $retval; + } + + + /** + * Executes a cached method + * @param string $method + * @param array $args + * @return mixed + */ + function _exec_cached_method($method, $args=array()) + { + $object = $this->_method_map_cache[$method]; + $object->object = &$this; + $reflection = new ReflectionMethod($object, $method); + return $reflection->invokeArgs($object, $args); + } + + + /** + * Sets the value of a method property + * @param string $method + * @param string $property + * @param mixed $value + */ + function set_method_property($method, $property, $value) + { + if (!isset($this->_method_properties[$method])) { + $this->_method_properties[$method] = array(); + } + + return $this->_method_properties[$method][$property] = $value; + } + + + /** + * Gets the value of a method property + * @param string $method + * @param string $property + */ + function get_method_property($method, $property, $default=NULL) + { + $retval = NULL; + + if (isset($this->_method_properties[$method][$property])) { + $retval = $this->_method_properties[$method][$property]; + } + + if (is_null($retval)) $retval=$default; + + return $retval; + } + + + /** + * Clears all method properties to have their default values. This is called + * before every method call (before pre-hooks) + * @param string $method + */ + function reset_method_properties($method, $args=array()) + { + $this->_method_properties[$method] = array( + 'run' => TRUE, + 'run_pre_hooks' => TRUE, + 'run_post_hooks' => TRUE, + 'arguments' => $args + ); + } + + /** + * Removes the cache of the method properties + * @param $method + */ + function remove_method_properties($method) + { + unset($this->_method_properties[$method]); + } + + /** + * Gets all method properties + * @return array + */ + function get_method_properties($method) + { + return $this->_method_properties[$method]; + } + + /** + * Sets all method properties + * @param $method + * @param $props + */ + function set_method_properties($method, $props) + { + foreach ($props as $key => $value) { + $this->set_method_property($method, $key, $value); + } + } + + /** + * Returns TRUE if the ExtensibleObject has decided to implement a + * particular interface + * @param string $interface + * @return boolean + */ + function implements_interface($interface) + { + return in_array($interface, $this->_interfaces); + } + + function get_class_definition_dir($parent=FALSE) + { + return dirname($this->get_class_definition_file($parent)); + } + + function get_class_definition_file($parent=FALSE) + { + $klass = $this->get_class_name($this); + $r = new ReflectionClass($klass); + if ($parent) { + $parent = $r->getParentClass(); + return $parent->getFileName(); + } + return $r->getFileName(); + } + + /** + * Returns get_class_methods() optionally limited by Mixin + * + * @param string (optional) Only show functions provided by a mixin + * @return array Results from get_class_methods() + */ + public function get_instance_methods($name = null) + { + if (is_string($name)) + { + $methods = array(); + foreach ($this->_method_map_cache as $method => $mixin) { + if ($name == get_class($mixin)) + { + $methods[] = $method; + } + } + return $methods; + } else { + $methods = get_class_methods($this); + foreach ($this->_mixins as $mixin) { + $methods = array_unique(array_merge($methods, get_class_methods($mixin))); + sort($methods); + } + + return $methods; + } + } +} + + +/** + * An mixin provides methods for an ExtensibleObject to use + */ +class Mixin extends PopeHelpers +{ + /** + * The ExtensibleObject which called the extension's method + * @var ExtensibleObject + */ + var $object; + + /** + * The name of the method called on the ExtensibleObject + * @var type + */ + var $method_called; + + /** + * There really isn't any concept of 'parent' method. An ExtensibleObject + * instance contains an ordered array of extension classes, which provides + * the method implementations for the instance to use. Suppose that an + * ExtensibleObject has two extension, and both have the same methods.The + * last extension appears to 'override' the first extension. So, instead of calling + * a 'parent' method, we're actually just calling an extension that was added sooner than + * the one that is providing the current method implementation. + */ + function call_parent($method) + { + $retval = NULL; + + // To simulate a 'parent' call, we remove the current extension from the + // ExtensibleObject that is providing the method's implementation, re-emit + // the call on the instance to trigger the implementation from the previously + // added extension, and then restore things by re-adding the current extension. + // It's complicated, but it works. + + // We need to determine the name of the extension. Because PHP 5.2 is + // missing get_called_class(), we have to look it up in the backtrace + $backtrace = debug_backtrace(); + $klass = get_class($backtrace[0]['object']); + + // Get the method properties. We'll store this afterwards. + $props = $this->object->get_method_properties($method); + + // Perform the routine described above... + $this->object->disable_pre_hooks($method); + $this->object->disable_post_hooks($method); + $this->object->disable_mixin($method, $klass); + + // Call anchor + $args = func_get_args(); + + // Remove $method parameter + array_shift($args); + $retval = $this->object->call_method($method, $args); + + // Re-enable hooks + $this->object->enable_pre_hooks($method); + $this->object->enable_post_hooks($method); + $this->object->enable_mixin($method, $klass); + + // Re-set all method properties + $this->object->set_method_properties($method, $props); + + return $retval; + } + + /** + * Although is is preferrable to call $this->object->method(), sometimes + * it's nice to use $this->method() instead. + * @param string $method + * @param array $args + * @return mixed + */ + function __call($method, $args) + { + if ($this->object->has_method($method)) { + return call_user_func_array(array(&$this->object, $method), $args); + } + } + + /** + * Although extensions can have state, it's probably more desirable to maintain + * the state in the parent object to keep a sane environment + * @param string $property + * @return mixed + */ + function __get($property) + { + return $this->object->$property; + } +} + +/** + * An extension which has the purpose of being used as a hook + */ +class Hook extends Mixin +{ + // Similiar to a mixin's call_parent method. + // If a hook needs to call the method that it applied the + // Hook n' Anchor pattern to, then this method should be called + function call_anchor() + { + // Disable hooks, so that we call the anchor point + $this->object->disable_pre_hooks($this->method_called); + $this->object->disable_post_hooks($this->method_called); + + // Call anchor + $args = func_get_args(); + $retval = $this->object->call_method($this->method_called, $args); + + // Re-enable hooks + $this->object->enable_pre_hooks($this->method_called); + $this->object->enable_post_hooks($this->method_called); + + return $retval; + } + + /** + * Provides an alias for call_anchor, as there's no parent + * to call in the context of a hook. + */ + function call_parent($method) + { + $args = func_get_args(); + return call_user_func_array( + array(&$this, 'call_anchor'), + $args + ); + } +}; \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/pope/lib/interface.component.php b/wp-content/plugins/nextgen-gallery/pope/lib/interface.component.php new file mode 100644 index 0000000..b054d3f --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/pope/lib/interface.component.php @@ -0,0 +1,10 @@ +<?php + +/** + * Provides a generic interface to be registered with an adapter to modify any + * component (within a particular context, if desired) + */ +interface I_Component +{ + +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/pope/lib/interface.component_factory.php b/wp-content/plugins/nextgen-gallery/pope/lib/interface.component_factory.php new file mode 100644 index 0000000..57cf3f2 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/pope/lib/interface.component_factory.php @@ -0,0 +1,6 @@ +<?php + +interface I_Component_Factory +{ + +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/pope/lib/interface.pope_module.php b/wp-content/plugins/nextgen-gallery/pope/lib/interface.pope_module.php new file mode 100644 index 0000000..cfa5c5c --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/pope/lib/interface.pope_module.php @@ -0,0 +1,6 @@ +<?php + +interface I_Pope_Module +{ + +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/class.nextgen_product_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/class.nextgen_product_installer.php new file mode 100644 index 0000000..7f9a1ee --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/class.nextgen_product_installer.php @@ -0,0 +1,59 @@ +<?php + +class C_NextGen_Product_Installer +{ + function _filter_modules($pope_modules_list, $product) + { + foreach ($product as $module_name) { + $module = C_Component_Registry::get_instance()->get_module($module_name); + $str = $module->module_id . '|' . $module->module_version; + $search = array_search($str, $pope_modules_list); + if (FALSE !== $search) + unset($pope_modules_list[$search]); + } + return $pope_modules_list; + } + + function uninstall($hard) + { + // remove this products modules from the pope_module_list registry + $pope_modules_list = get_option('pope_module_list', array()); + $pope_modules_list = $this->_filter_modules($pope_modules_list, P_Photocrati_NextGen::$modules); + + // run each modules respective uninstall routines + foreach (P_Photocrati_NextGen::$modules as $module_name) { + if (($handler = C_Photocrati_Installer::get_handler_instance($module_name))) { + if (method_exists($handler, 'uninstall')) $handler->uninstall($hard); + } + } + + // lastly remove this product itself from the pope_module_list registry + $search = array_search('photocrati-nextgen|' . NGG_PLUGIN_VERSION, $pope_modules_list); + if (FALSE !== $search) + unset($pope_modules_list[$search]); + + // TODO: remove this. NextGen Pro's uninstall routine will be updated in a separate release, + // so to maintain proper support we run the same routine as above for it + $pro_version = FALSE; + if (defined('NGG_PRO_PLUGIN_VERSION')) + $pro_version = 'NGG_PRO_PLUGIN_VERSION'; + if (defined('NEXTGEN_GALLERY_PRO_VERSION')) + $pro_version = 'NEXTGEN_GALLERY_PRO_VERSION'; + if (FALSE !== $pro_version) + $pro_version = constant($pro_version); + + if (FALSE !== $pro_version) + { + $pope_modules_list = $this->_filter_modules($pope_modules_list, P_Photocrati_NextGen_Pro::$modules); + $search = array_search('photocrati-nextgen-pro|' . $pro_version, $pope_modules_list); + if (FALSE !== $search) + unset($pope_modules_list[$search]); + } + + if (empty($pope_modules_list)) + delete_option('pope_module_list'); + else + update_option('pope_module_list', $pope_modules_list); + + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/README.txt b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/README.txt new file mode 100644 index 0000000..7c4bfc3 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/README.txt @@ -0,0 +1,30 @@ +AJAX MODULE +====================== + + == Introduction == +------------------- + +This module provides a means for executing AJAX actions through the C_Ajax_Controller class. +This controller is registed as a route, trigged by "/photocrati_ajax" It's designed in mind +with the intention that other modules will adapt this controller to provide custom AJAX +actions. + +This module also adds some client-side variables to assist with executing your AJAX actions: +=> photocrati_ajax.url, the url used to post your AJAX requests to +=> photacrati_ajax.wp_site_url, the url of the WordPress site + +To call an AJAX method using jQuery, you'd do the following: + + jQuery.post(photocrati_ajax.url, {action: "get_gallery", id: 1}, function(response){ + if (typeof response != 'object) response = JSON.parse(response); + }); + +The above AJAX request will execute C_Ajax_Controller->get_gallery_action(), which is +expected to return valid JSON (even if there is an error) + + +== Caveats == +------------- + +This module does not currently have any built-in security mechanisms. Any actions you +mixin using an adapter need to perform their own authorization checks. \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/adapter.ajax_routes.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/adapter.ajax_routes.php new file mode 100644 index 0000000..09ec698 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/adapter.ajax_routes.php @@ -0,0 +1,21 @@ +<?php + +class A_Ajax_Routes extends Mixin +{ + function initialize() + { + // We need to add the route after the router has been fully instantiated + $this->object->add_pre_hook( + 'serve_request', + get_class(), + get_class(), + 'add_ajax_routes' + ); + } + + function add_ajax_routes() + { + $app = $this->object->create_app('/photocrati_ajax'); + $app->route('/', 'I_Ajax_Controller#index'); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/adapter.ajax_settings.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/adapter.ajax_settings.php new file mode 100644 index 0000000..01734b6 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/adapter.ajax_settings.php @@ -0,0 +1,15 @@ +<?php + +class A_Ajax_Settings extends Mixin +{ + // TODO: Investigate this code. The router uses the I_Settings_Manager utility, but it looks like the.. + // I_Settings_Manager utility requires the router. Ugh. + function initialize() + { + $router = $this->get_registry()->get_utility('I_Router'); + $slug = 'photocrati_ajax'; + $this->object->set_default('ajax_slug', $slug); + $this->object->set_default('ajax_url', $router->get_url($slug, FALSE)); + $this->object->set_default('ajax_js_url', $router->get_url($slug.'/js', FALSE)); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/class.ajax_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/class.ajax_controller.php new file mode 100644 index 0000000..4f49878 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/class.ajax_controller.php @@ -0,0 +1,55 @@ +<?php + +class C_Ajax_Controller extends C_MVC_Controller +{ + static $_instances = array(); + + function define($context=FALSE) + { + parent::define($context); + $this->implement('I_Ajax_Controller'); + } + + function index_action() + { + $retval = NULL; + + // Inform the MVC framework what type of content we're returning + $this->set_content_type('json'); + + // Start an output buffer to avoid displaying any PHP warnings/errors + ob_start(); + + // Get the action requested & find and execute the related method + if (($action = $this->param('action'))) { + $method = "{$action}_action"; + if ($this->has_method($method)) { + $retval = $this->call_method($method); + } + else $retval = array('error' => 'Not a valid AJAX action'); + } + else $retval = array('error' => 'No action specified'); + + // Flush the buffer + while (ob_get_level() > 0 ) { + ob_end_clean(); + } + + // Return the JSON to the browser + echo json_encode($retval); + } + + /** + * Returns an instance of this class + * @param string $context + * @return C_Ajax_Controller + */ + static function get_instance($context=FALSE) + { + if (!isset(self::$_instances[$context])) { + $klass = get_class(); + self::$_instances[$context] = new $klass($context); + } + return self::$_instances[$context]; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/class.ajax_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/class.ajax_installer.php new file mode 100644 index 0000000..01ba549 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/class.ajax_installer.php @@ -0,0 +1,13 @@ +<?php + +class C_Ajax_Installer +{ + function install() + { + // Delete cached values. Needed for 2.0.7 and less + $settings = C_NextGen_Settings::get_instance(); + $settings->delete('ajax_url'); + $settings->delete('ajax_slug'); + $settings->delete('ajax_js_url'); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/class.ajax_option_handler.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/class.ajax_option_handler.php new file mode 100644 index 0000000..3fcec30 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/class.ajax_option_handler.php @@ -0,0 +1,29 @@ +<?php + +class C_Ajax_Option_Handler +{ + private $slug = 'photocrati_ajax'; + + function get_router() + { + return C_Component_Registry::get_instance()->get_utility('I_Router'); + } + + function get($key, $default=NULL) + { + $retval = $default; + + switch($key) { + case 'ajax_slug': + $retval = $this->slug; + break; + case 'ajax_url': + $retval = $this->get_router()->get_url($this->slug, FALSE); + break; + case 'ajax_js_url': + $retval = $this->get_router()->get_static_url('photocrati-ajax#ajax.js'); + break; + } + return $retval; + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/interface.ajax_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/interface.ajax_controller.php new file mode 100644 index 0000000..9217362 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/interface.ajax_controller.php @@ -0,0 +1,6 @@ +<?php + +interface I_Ajax_Controller extends I_MVC_Controller +{ + +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/module.ajax.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/module.ajax.php new file mode 100644 index 0000000..2637169 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/module.ajax.php @@ -0,0 +1,103 @@ +<?php + +/* + { + Module: photocrati-ajax, + Depends: { photocrati-mvc } + } + */ +class M_Ajax extends C_Base_Module +{ + function define() + { + parent::define( + 'photocrati-ajax', + 'AJAX', + 'Provides AJAX functionality', + '0.7', + 'http://www.photocrati.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + + include_once('class.ajax_option_handler.php'); + C_NextGen_Settings::get_instance()->add_option_handler('C_Ajax_Option_Handler', array( + 'ajax_slug', + 'ajax_url', + 'ajax_js_url' + )); + if (is_multisite()) C_NextGen_Global_Settings::get_instance()->add_option_handler('C_Ajax_Option_Handler', array( + 'ajax_slug', + 'ajax_url', + 'ajax_js_url' + )); + + include_once('class.ajax_installer.php'); + C_Photocrati_Installer::add_handler($this->module_id, 'C_Ajax_Installer'); + } + + function _register_adapters() + { + $this->get_registry()->add_adapter('I_Router', 'A_Ajax_Routes'); + } + + function _register_utilities() + { + $this->get_registry()->add_utility('I_Ajax_Controller', 'C_Ajax_Controller'); + + } + + /** + * Hooks into the WordPress framework + */ + function _register_hooks() + { + add_action('init', array(&$this, 'enqueue_scripts'), 9); + } + + + /** + * Loads a single script to provide the photocrati_ajax settings to the web browser + */ + function enqueue_scripts() + { + $settings = C_NextGen_Settings::get_instance(); + $router = $this->get_registry()->get_utility('I_Router'); + + wp_register_script('photocrati_ajax', $settings->ajax_js_url); + wp_enqueue_script('photocrati_ajax'); + + $vars = array( + 'url' => $router->get_url($settings->ajax_slug, FALSE), + 'wp_home_url' => $router->get_base_url('home'), + 'wp_site_url' => $router->get_base_url('site'), + 'wp_root_url' => $router->get_base_url('root'), + 'wp_plugins_url' => $router->get_base_url('plugins'), + 'wp_content_url' => $router->get_base_url('content'), + 'wp_includes_url' => includes_url() + ); + wp_localize_script('photocrati_ajax', 'photocrati_ajax', $vars); + + if (defined('NGG_SKIP_LOAD_SCRIPTS') && NGG_SKIP_LOAD_SCRIPTS) + return; + + wp_register_script('persist-js', $router->get_static_url('photocrati-ajax#persist.js')); + wp_register_script('store-js', $router->get_static_url('photocrati-ajax#store.js')); + wp_register_script('ngg-store-js', $router->get_static_url('photocrati-ajax#ngg_store.js'), array('jquery', 'persist-js', 'store-js')); + + wp_enqueue_script('ngg-store-js'); + } + + function get_type_list() + { + return array( + 'A_Ajax_Routes' => 'adapter.ajax_routes.php', + 'C_Ajax_Installer' => 'class.ajax_installer.php', + 'C_Ajax_Controller' => 'class.ajax_controller.php', + 'I_Ajax_Controller' => 'interface.ajax_controller.php', + 'M_Ajax' => 'module.ajax.php' + ); + } +} + +new M_Ajax(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/static/ajax.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/static/ajax.js new file mode 100644 index 0000000..795fa43 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/static/ajax.js @@ -0,0 +1 @@ +// ajax.js is intentionally empty \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/static/ngg_store.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/static/ngg_store.js new file mode 100644 index 0000000..45a8f23 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/static/ngg_store.js @@ -0,0 +1,42 @@ +jQuery(function($){ + +// Store isn't working 100% for me. So disabling it for now. +store.enabled = false; + +window.Ngg_Store = { + driver: store.enabled ? store : new Persist.Store('ngg_store'), + + get: function(key){ + return this.driver.get(key); + }, + + set: function(key, value){ + if (typeof(value) == 'object') { + value = JSON.stringify(value); + } + return this.driver.set(key, value); + }, + + del: function(key){ + this.driver.remove(key); + return !this.has(key); + }, + + has: function(key){ + var value = this.get(key); + return typeof(value) != 'undefined' && value != null; + }, + + save: function(){ + if (typeof(this.driver['save']) != 'undefined') { + return this.driver.save(); + } + else return true; + } +}; + +$(window).unload(function(){ + Ngg_Store.save(); +}) + +}); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/static/persist.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/static/persist.js new file mode 100644 index 0000000..f5a3447 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/static/persist.js @@ -0,0 +1,145 @@ + +var swfobject=function(){var UNDEF="undefined",OBJECT="object",SHOCKWAVE_FLASH="Shockwave Flash",SHOCKWAVE_FLASH_AX="ShockwaveFlash.ShockwaveFlash",FLASH_MIME_TYPE="application/x-shockwave-flash",EXPRESS_INSTALL_ID="SWFObjectExprInst",ON_READY_STATE_CHANGE="onreadystatechange",win=window,doc=document,nav=navigator,plugin=false,domLoadFnArr=[main],regObjArr=[],objIdArr=[],listenersArr=[],storedAltContent,storedAltContentId,storedCallbackFn,storedCallbackObj,isDomLoaded=false,isExpressInstallActive=false,dynamicStylesheet,dynamicStylesheetMedia,autoHideShow=true,ua=function(){var w3cdom=typeof doc.getElementById!=UNDEF&&typeof doc.getElementsByTagName!=UNDEF&&typeof doc.createElement!=UNDEF,u=nav.userAgent.toLowerCase(),p=nav.platform.toLowerCase(),windows=p?/win/.test(p):/win/.test(u),mac=p?/mac/.test(p):/mac/.test(u),webkit=/webkit/.test(u)?parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,ie=!+"\v1",playerVersion=[0,0,0],d=null;if(typeof nav.plugins!=UNDEF&&typeof nav.plugins[SHOCKWAVE_FLASH]==OBJECT){d=nav.plugins[SHOCKWAVE_FLASH].description;if(d&&!(typeof nav.mimeTypes!=UNDEF&&nav.mimeTypes[FLASH_MIME_TYPE]&&!nav.mimeTypes[FLASH_MIME_TYPE].enabledPlugin)){plugin=true;ie=false;d=d.replace(/^.*\s+(\S+\s+\S+$)/,"$1");playerVersion[0]=parseInt(d.replace(/^(.*)\..*$/,"$1"),10);playerVersion[1]=parseInt(d.replace(/^.*\.(.*)\s.*$/,"$1"),10);playerVersion[2]=/[a-zA-Z]/.test(d)?parseInt(d.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0;}} +else if(typeof win.ActiveXObject!=UNDEF){try{var a=new ActiveXObject(SHOCKWAVE_FLASH_AX);if(a){d=a.GetVariable("$version");if(d){ie=true;d=d.split(" ")[1].split(",");playerVersion=[parseInt(d[0],10),parseInt(d[1],10),parseInt(d[2],10)];}}} +catch(e){}} + return{w3:w3cdom,pv:playerVersion,wk:webkit,ie:ie,win:windows,mac:mac};}(),onDomLoad=function(){if(!ua.w3){return;} + if((typeof doc.readyState!=UNDEF&&doc.readyState=="complete")||(typeof doc.readyState==UNDEF&&(doc.getElementsByTagName("body")[0]||doc.body))){callDomLoadFunctions();} + if(!isDomLoaded){if(typeof doc.addEventListener!=UNDEF){doc.addEventListener("DOMContentLoaded",callDomLoadFunctions,false);} + if(ua.ie&&ua.win){doc.attachEvent(ON_READY_STATE_CHANGE,function(){if(doc.readyState=="complete"){doc.detachEvent(ON_READY_STATE_CHANGE,arguments.callee);callDomLoadFunctions();}});if(win==top){(function(){if(isDomLoaded){return;} + try{doc.documentElement.doScroll("left");} + catch(e){setTimeout(arguments.callee,0);return;} + callDomLoadFunctions();})();}} + if(ua.wk){(function(){if(isDomLoaded){return;} + if(!/loaded|complete/.test(doc.readyState)){setTimeout(arguments.callee,0);return;} + callDomLoadFunctions();})();} + addLoadEvent(callDomLoadFunctions);}}();function callDomLoadFunctions(){if(isDomLoaded){return;} + try{var t=doc.getElementsByTagName("body")[0].appendChild(createElement("span"));t.parentNode.removeChild(t);} + catch(e){return;} + isDomLoaded=true;var dl=domLoadFnArr.length;for(var i=0;i<dl;i++){domLoadFnArr[i]();}} + function addDomLoadEvent(fn){if(isDomLoaded){fn();} + else{domLoadFnArr[domLoadFnArr.length]=fn;}} + function addLoadEvent(fn){if(typeof win.addEventListener!=UNDEF){win.addEventListener("load",fn,false);} + else if(typeof doc.addEventListener!=UNDEF){doc.addEventListener("load",fn,false);} + else if(typeof win.attachEvent!=UNDEF){addListener(win,"onload",fn);} + else if(typeof win.onload=="function"){var fnOld=win.onload;win.onload=function(){fnOld();fn();};} + else{win.onload=fn;}} + function main(){if(plugin){testPlayerVersion();} + else{matchVersions();}} + function testPlayerVersion(){var b=doc.getElementsByTagName("body")[0];var o=createElement(OBJECT);o.setAttribute("type",FLASH_MIME_TYPE);var t=b.appendChild(o);if(t){var counter=0;(function(){if(typeof t.GetVariable!=UNDEF){var d=t.GetVariable("$version");if(d){d=d.split(" ")[1].split(",");ua.pv=[parseInt(d[0],10),parseInt(d[1],10),parseInt(d[2],10)];}} + else if(counter<10){counter++;setTimeout(arguments.callee,10);return;} + b.removeChild(o);t=null;matchVersions();})();} + else{matchVersions();}} + function matchVersions(){var rl=regObjArr.length;if(rl>0){for(var i=0;i<rl;i++){var id=regObjArr[i].id;var cb=regObjArr[i].callbackFn;var cbObj={success:false,id:id};if(ua.pv[0]>0){var obj=getElementById(id);if(obj){if(hasPlayerVersion(regObjArr[i].swfVersion)&&!(ua.wk&&ua.wk<312)){setVisibility(id,true);if(cb){cbObj.success=true;cbObj.ref=getObjectById(id);cb(cbObj);}} + else if(regObjArr[i].expressInstall&&canExpressInstall()){var att={};att.data=regObjArr[i].expressInstall;att.width=obj.getAttribute("width")||"0";att.height=obj.getAttribute("height")||"0";if(obj.getAttribute("class")){att.styleclass=obj.getAttribute("class");} + if(obj.getAttribute("align")){att.align=obj.getAttribute("align");} + var par={};var p=obj.getElementsByTagName("param");var pl=p.length;for(var j=0;j<pl;j++){if(p[j].getAttribute("name").toLowerCase()!="movie"){par[p[j].getAttribute("name")]=p[j].getAttribute("value");}} + showExpressInstall(att,par,id,cb);} + else{displayAltContent(obj);if(cb){cb(cbObj);}}}} + else{setVisibility(id,true);if(cb){var o=getObjectById(id);if(o&&typeof o.SetVariable!=UNDEF){cbObj.success=true;cbObj.ref=o;} + cb(cbObj);}}}}} + function getObjectById(objectIdStr){var r=null;var o=getElementById(objectIdStr);if(o&&o.nodeName=="OBJECT"){if(typeof o.SetVariable!=UNDEF){r=o;} + else{var n=o.getElementsByTagName(OBJECT)[0];if(n){r=n;}}} + return r;} + function canExpressInstall(){return!isExpressInstallActive&&hasPlayerVersion("6.0.65")&&(ua.win||ua.mac)&&!(ua.wk&&ua.wk<312);} + function showExpressInstall(att,par,replaceElemIdStr,callbackFn){isExpressInstallActive=true;storedCallbackFn=callbackFn||null;storedCallbackObj={success:false,id:replaceElemIdStr};var obj=getElementById(replaceElemIdStr);if(obj){if(obj.nodeName=="OBJECT"){storedAltContent=abstractAltContent(obj);storedAltContentId=null;} + else{storedAltContent=obj;storedAltContentId=replaceElemIdStr;} + att.id=EXPRESS_INSTALL_ID;if(typeof att.width==UNDEF||(!/%$/.test(att.width)&&parseInt(att.width,10)<310)){att.width="310";} + if(typeof att.height==UNDEF||(!/%$/.test(att.height)&&parseInt(att.height,10)<137)){att.height="137";} + doc.title=doc.title.slice(0,47)+" - Flash Player Installation";var pt=ua.ie&&ua.win?"ActiveX":"PlugIn",fv="MMredirectURL="+win.location.toString().replace(/&/g,"%26")+"&MMplayerType="+pt+"&MMdoctitle="+doc.title;if(typeof par.flashvars!=UNDEF){par.flashvars+="&"+fv;} + else{par.flashvars=fv;} + if(ua.ie&&ua.win&&obj.readyState!=4){var newObj=createElement("div");replaceElemIdStr+="SWFObjectNew";newObj.setAttribute("id",replaceElemIdStr);obj.parentNode.insertBefore(newObj,obj);obj.style.display="none";(function(){if(obj.readyState==4){obj.parentNode.removeChild(obj);} + else{setTimeout(arguments.callee,10);}})();} + createSWF(att,par,replaceElemIdStr);}} + function displayAltContent(obj){if(ua.ie&&ua.win&&obj.readyState!=4){var el=createElement("div");obj.parentNode.insertBefore(el,obj);el.parentNode.replaceChild(abstractAltContent(obj),el);obj.style.display="none";(function(){if(obj.readyState==4){obj.parentNode.removeChild(obj);} + else{setTimeout(arguments.callee,10);}})();} + else{obj.parentNode.replaceChild(abstractAltContent(obj),obj);}} + function abstractAltContent(obj){var ac=createElement("div");if(ua.win&&ua.ie){ac.innerHTML=obj.innerHTML;} + else{var nestedObj=obj.getElementsByTagName(OBJECT)[0];if(nestedObj){var c=nestedObj.childNodes;if(c){var cl=c.length;for(var i=0;i<cl;i++){if(!(c[i].nodeType==1&&c[i].nodeName=="PARAM")&&!(c[i].nodeType==8)){ac.appendChild(c[i].cloneNode(true));}}}}} + return ac;} + function createSWF(attObj,parObj,id){var r,el=getElementById(id);if(ua.wk&&ua.wk<312){return r;} + if(el){if(typeof attObj.id==UNDEF){attObj.id=id;} + if(ua.ie&&ua.win){var att="";for(var i in attObj){if(attObj[i]!=Object.prototype[i]){if(i.toLowerCase()=="data"){parObj.movie=attObj[i];} + else if(i.toLowerCase()=="styleclass"){att+=' class="'+attObj[i]+'"';} + else if(i.toLowerCase()!="classid"){att+=' '+i+'="'+attObj[i]+'"';}}} + var par="";for(var j in parObj){if(parObj[j]!=Object.prototype[j]){par+='<param name="'+j+'" value="'+parObj[j]+'" />';}} + el.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+att+'>'+par+'</object>';objIdArr[objIdArr.length]=attObj.id;r=getElementById(attObj.id);} + else{var o=createElement(OBJECT);o.setAttribute("type",FLASH_MIME_TYPE);for(var m in attObj){if(attObj[m]!=Object.prototype[m]){if(m.toLowerCase()=="styleclass"){o.setAttribute("class",attObj[m]);} + else if(m.toLowerCase()!="classid"){o.setAttribute(m,attObj[m]);}}} + for(var n in parObj){if(parObj[n]!=Object.prototype[n]&&n.toLowerCase()!="movie"){createObjParam(o,n,parObj[n]);}} + el.parentNode.replaceChild(o,el);r=o;}} + return r;} + function createObjParam(el,pName,pValue){var p=createElement("param");p.setAttribute("name",pName);p.setAttribute("value",pValue);el.appendChild(p);} + function removeSWF(id){var obj=getElementById(id);if(obj&&obj.nodeName=="OBJECT"){if(ua.ie&&ua.win){obj.style.display="none";(function(){if(obj.readyState==4){removeObjectInIE(id);} + else{setTimeout(arguments.callee,10);}})();} + else{obj.parentNode.removeChild(obj);}}} + function removeObjectInIE(id){var obj=getElementById(id);if(obj){for(var i in obj){if(typeof obj[i]=="function"){obj[i]=null;}} + obj.parentNode.removeChild(obj);}} + function getElementById(id){var el=null;try{el=doc.getElementById(id);} + catch(e){} + return el;} + function createElement(el){return doc.createElement(el);} + function addListener(target,eventType,fn){target.attachEvent(eventType,fn);listenersArr[listenersArr.length]=[target,eventType,fn];} + function hasPlayerVersion(rv){var pv=ua.pv,v=rv.split(".");v[0]=parseInt(v[0],10);v[1]=parseInt(v[1],10)||0;v[2]=parseInt(v[2],10)||0;return(pv[0]>v[0]||(pv[0]==v[0]&&pv[1]>v[1])||(pv[0]==v[0]&&pv[1]==v[1]&&pv[2]>=v[2]))?true:false;} + function createCSS(sel,decl,media,newStyle){if(ua.ie&&ua.mac){return;} + var h=doc.getElementsByTagName("head")[0];if(!h){return;} + var m=(media&&typeof media=="string")?media:"screen";if(newStyle){dynamicStylesheet=null;dynamicStylesheetMedia=null;} + if(!dynamicStylesheet||dynamicStylesheetMedia!=m){var s=createElement("style");s.setAttribute("type","text/css");s.setAttribute("media",m);dynamicStylesheet=h.appendChild(s);if(ua.ie&&ua.win&&typeof doc.styleSheets!=UNDEF&&doc.styleSheets.length>0){dynamicStylesheet=doc.styleSheets[doc.styleSheets.length-1];} + dynamicStylesheetMedia=m;} + if(ua.ie&&ua.win){if(dynamicStylesheet&&typeof dynamicStylesheet.addRule==OBJECT){dynamicStylesheet.addRule(sel,decl);}} + else{if(dynamicStylesheet&&typeof doc.createTextNode!=UNDEF){dynamicStylesheet.appendChild(doc.createTextNode(sel+" {"+decl+"}"));}}} + function setVisibility(id,isVisible){if(!autoHideShow){return;} + var v=isVisible?"visible":"hidden";if(isDomLoaded&&getElementById(id)){getElementById(id).style.visibility=v;} + else{createCSS("#"+id,"visibility:"+v);}} + function urlEncodeIfNecessary(s){var regex=/[\\\"<>\.;]/;var hasBadChars=regex.exec(s)!=null;return hasBadChars&&typeof encodeURIComponent!=UNDEF?encodeURIComponent(s):s;} + var cleanup=function(){if(ua.ie&&ua.win){window.attachEvent("onunload",function(){var ll=listenersArr.length;for(var i=0;i<ll;i++){listenersArr[i][0].detachEvent(listenersArr[i][1],listenersArr[i][2]);} + var il=objIdArr.length;for(var j=0;j<il;j++){removeSWF(objIdArr[j]);} + for(var k in ua){ua[k]=null;} + ua=null;for(var l in swfobject){swfobject[l]=null;} + swfobject=null;});}}();return{registerObject:function(objectIdStr,swfVersionStr,xiSwfUrlStr,callbackFn){if(ua.w3&&objectIdStr&&swfVersionStr){var regObj={};regObj.id=objectIdStr;regObj.swfVersion=swfVersionStr;regObj.expressInstall=xiSwfUrlStr;regObj.callbackFn=callbackFn;regObjArr[regObjArr.length]=regObj;setVisibility(objectIdStr,false);} + else if(callbackFn){callbackFn({success:false,id:objectIdStr});}},getObjectById:function(objectIdStr){if(ua.w3){return getObjectById(objectIdStr);}},embedSWF:function(swfUrlStr,replaceElemIdStr,widthStr,heightStr,swfVersionStr,xiSwfUrlStr,flashvarsObj,parObj,attObj,callbackFn){var callbackObj={success:false,id:replaceElemIdStr};if(ua.w3&&!(ua.wk&&ua.wk<312)&&swfUrlStr&&replaceElemIdStr&&widthStr&&heightStr&&swfVersionStr){setVisibility(replaceElemIdStr,false);addDomLoadEvent(function(){widthStr+="";heightStr+="";var att={};if(attObj&&typeof attObj===OBJECT){for(var i in attObj){att[i]=attObj[i];}} + att.data=swfUrlStr;att.width=widthStr;att.height=heightStr;var par={};if(parObj&&typeof parObj===OBJECT){for(var j in parObj){par[j]=parObj[j];}} + if(flashvarsObj&&typeof flashvarsObj===OBJECT){for(var k in flashvarsObj){if(typeof par.flashvars!=UNDEF){par.flashvars+="&"+k+"="+flashvarsObj[k];} + else{par.flashvars=k+"="+flashvarsObj[k];}}} + if(hasPlayerVersion(swfVersionStr)){var obj=createSWF(att,par,replaceElemIdStr);if(att.id==replaceElemIdStr){setVisibility(replaceElemIdStr,true);} + callbackObj.success=true;callbackObj.ref=obj;} + else if(xiSwfUrlStr&&canExpressInstall()){att.data=xiSwfUrlStr;showExpressInstall(att,par,replaceElemIdStr,callbackFn);return;} + else{setVisibility(replaceElemIdStr,true);} + if(callbackFn){callbackFn(callbackObj);}});} + else if(callbackFn){callbackFn(callbackObj);}},switchOffAutoHideShow:function(){autoHideShow=false;},ua:ua,getFlashPlayerVersion:function(){return{major:ua.pv[0],minor:ua.pv[1],release:ua.pv[2]};},hasFlashPlayerVersion:hasPlayerVersion,createSWF:function(attObj,parObj,replaceElemIdStr){if(ua.w3){return createSWF(attObj,parObj,replaceElemIdStr);} + else{return undefined;}},showExpressInstall:function(att,par,replaceElemIdStr,callbackFn){if(ua.w3&&canExpressInstall()){showExpressInstall(att,par,replaceElemIdStr,callbackFn);}},removeSWF:function(objElemIdStr){if(ua.w3){removeSWF(objElemIdStr);}},createCSS:function(selStr,declStr,mediaStr,newStyleBoolean){if(ua.w3){createCSS(selStr,declStr,mediaStr,newStyleBoolean);}},addDomLoadEvent:addDomLoadEvent,addLoadEvent:addLoadEvent,getQueryParamValue:function(param){var q=doc.location.search||doc.location.hash;if(q){if(/\?/.test(q)){q=q.split("?")[1];} + if(param==null){return urlEncodeIfNecessary(q);} + var pairs=q.split("&");for(var i=0;i<pairs.length;i++){if(pairs[i].substring(0,pairs[i].indexOf("="))==param){return urlEncodeIfNecessary(pairs[i].substring((pairs[i].indexOf("=")+1)));}}} + return"";},expressInstallCallback:function(){if(isExpressInstallActive){var obj=getElementById(EXPRESS_INSTALL_ID);if(obj&&storedAltContent){obj.parentNode.replaceChild(storedAltContent,obj);if(storedAltContentId){setVisibility(storedAltContentId,true);if(ua.ie&&ua.win){storedAltContent.style.display="block";}} + if(storedCallbackFn){storedCallbackFn(storedCallbackObj);}} + isExpressInstallActive=false;}}};}();(function(){if(window.google&&google.gears){return;} + var F=null;if(typeof GearsFactory!='undefined'){F=new GearsFactory();}else{try{F=new ActiveXObject('Gears.Factory');if(F.getBuildInfo().indexOf('ie_mobile')!=-1){F.privateSetGlobalObject(this);}}catch(e){if((typeof navigator.mimeTypes!='undefined')&&navigator.mimeTypes["application/x-googlegears"]){F=document.createElement("object");F.style.display="none";F.width=0;F.height=0;F.type="application/x-googlegears";document.documentElement.appendChild(F);}}} + if(!F){return;} + if(!window.google){google={};} + if(!google.gears){google.gears={factory:F};}})();Persist=(function(){var VERSION='0.3.1',P,B,esc,init,empty,ec;ec=(function(){var EPOCH='Thu, 01-Jan-1970 00:00:01 GMT',RATIO=1000*60*60*24,KEYS=['expires','path','domain'],esc=escape,un=unescape,doc=document,me;var get_now=function(){var r=new Date();r.setTime(r.getTime());return r;};var cookify=function(c_key,c_val){var i,key,val,r=[],opt=(arguments.length>2)?arguments[2]:{};r.push(esc(c_key)+'='+esc(c_val));for(var idx=0;idx<KEYS.length;idx++){key=KEYS[idx];val=opt[key];if(val){r.push(key+'='+val);}} + if(opt.secure){r.push('secure');} + return r.join('; ');};var alive=function(){var k='__EC_TEST__',v=new Date();v=v.toGMTString();this.set(k,v);this.enabled=(this.remove(k)==v);return this.enabled;};me={set:function(key,val){var opt=(arguments.length>2)?arguments[2]:{},now=get_now(),expire_at,cfg={};if(opt.expires){if(opt.expires==-1){cfg.expires=-1} +else{var expires=opt.expires*RATIO;cfg.expires=new Date(now.getTime()+expires);cfg.expires=cfg.expires.toGMTString();}} + var keys=['path','domain','secure'];for(var i=0;i<keys.length;i++){if(opt[keys[i]]){cfg[keys[i]]=opt[keys[i]];}} + var r=cookify(key,val,cfg);doc.cookie=r;return val;},has:function(key){key=esc(key);var c=doc.cookie,ofs=c.indexOf(key+'='),len=ofs+key.length+1,sub=c.substring(0,key.length);return((!ofs&&key!=sub)||ofs<0)?false:true;},get:function(key){key=esc(key);var c=doc.cookie,ofs=c.indexOf(key+'='),len=ofs+key.length+1,sub=c.substring(0,key.length),end;if((!ofs&&key!=sub)||ofs<0){return null;} + end=c.indexOf(';',len);if(end<0){end=c.length;} + return un(c.substring(len,end));},remove:function(k){var r=me.get(k),opt={expires:EPOCH};doc.cookie=cookify(k,'',opt);return r;},keys:function(){var c=doc.cookie,ps=c.split('; '),i,p,r=[];for(var idx=0;idx<ps.length;idx++){p=ps[idx].split('=');r.push(un(p[0]));} + return r;},all:function(){var c=doc.cookie,ps=c.split('; '),i,p,r=[];for(var idx=0;idx<ps.length;idx++){p=ps[idx].split('=');r.push([un(p[0]),un(p[1])]);} + return r;},version:'0.2.1',enabled:false};me.enabled=alive.call(me);return me;}());var index_of=(function(){if(Array.prototype.indexOf){return function(ary,val){return Array.prototype.indexOf.call(ary,val);};}else{return function(ary,val){var i,l;for(var idx=0,len=ary.length;idx<len;idx++){if(ary[idx]==val){return idx;}} + return-1;};}})();empty=function(){};esc=function(str){return'PS'+str.replace(/_/g,'__').replace(/ /g,'_s');};var C={search_order:['localstorage','globalstorage','gears','cookie','ie','flash'],name_re:/^[a-z][a-z0-9_ \-]+$/i,methods:['init','get','set','remove','load','save','iterate'],sql:{version:'1',create:"CREATE TABLE IF NOT EXISTS persist_data (k TEXT UNIQUE NOT NULL PRIMARY KEY, v TEXT NOT NULL)",get:"SELECT v FROM persist_data WHERE k = ?",set:"INSERT INTO persist_data(k, v) VALUES (?, ?)",remove:"DELETE FROM persist_data WHERE k = ?",keys:"SELECT * FROM persist_data"},flash:{div_id:'_persist_flash_wrap',id:'_persist_flash',path:'persist.swf',size:{w:1,h:1},params:{autostart:true}}};B={gears:{size:-1,test:function(){return(window.google&&window.google.gears)?true:false;},methods:{init:function(){var db;db=this.db=google.gears.factory.create('beta.database');db.open(esc(this.name));db.execute(C.sql.create).close();},get:function(key){var r,sql=C.sql.get;var db=this.db;var ret;db.execute('BEGIN').close();r=db.execute(sql,[key]);ret=r.isValidRow()?r.field(0):null;r.close();db.execute('COMMIT').close();return ret;},set:function(key,val){var rm_sql=C.sql.remove,sql=C.sql.set,r;var db=this.db;var ret;db.execute('BEGIN').close();db.execute(rm_sql,[key]).close();db.execute(sql,[key,val]).close();db.execute('COMMIT').close();return val;},remove:function(key){var get_sql=C.sql.get,sql=C.sql.remove,r,val=null,is_valid=false;var db=this.db;db.execute('BEGIN').close();db.execute(sql,[key]).close();db.execute('COMMIT').close();return true;},iterate:function(fn,scope){var key_sql=C.sql.keys;var r;var db=this.db;r=db.execute(key_sql);while(r.isValidRow()){fn.call(scope||this,r.field(0),r.field(1));r.next();} + r.close();}}},globalstorage:{size:5*1024*1024,test:function(){if(window.globalStorage){var domain='127.0.0.1';if(this.o&&this.o.domain){domain=this.o.domain;} + try{var dontcare=globalStorage[domain];return true;}catch(e){if(window.console&&window.console.warn){console.warn("globalStorage exists, but couldn't use it because your browser is running on domain:",domain);} + return false;}}else{return false;}},methods:{key:function(key){return esc(this.name)+esc(key);},init:function(){this.store=globalStorage[this.o.domain];},get:function(key){key=this.key(key);return this.store.getItem(key);},set:function(key,val){key=this.key(key);this.store.setItem(key,val);return val;},remove:function(key){var val;key=this.key(key);val=this.store.getItem[key];this.store.removeItem(key);return val;}}},localstorage:{size:-1,test:function(){try{if(window.localStorage&&window.localStorage.setItem("test",null)==undefined){if(/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){var ffVersion=RegExp.$1;if(ffVersion>=9){return true;} + if(window.location.protocol=='file:'){return false;}}else{return true;}}else{return false;} + return window.localStorage?true:false;}catch(e){return false;}},methods:{key:function(key){return this.name+'>'+key;},init:function(){this.store=localStorage;},get:function(key){key=this.key(key);return this.store.getItem(key);},set:function(key,val){key=this.key(key);this.store.setItem(key,val);return val;},remove:function(key){var val;key=this.key(key);val=this.store.getItem(key);this.store.removeItem(key);return val;},iterate:function(fn,scope){var l=this.store,key,keys;for(var i=0;i<l.length;i++){key=l.key(i);keys=key.split('>');if((keys.length==2)&&(keys[0]==this.name)){fn.call(scope||this,keys[1],l.getItem(key));}}}}},ie:{prefix:'_persist_data-',size:64*1024,test:function(){return window.ActiveXObject?true:false;},make_userdata:function(id){var el=document.createElement('div');el.id=id;el.style.display='none';el.addBehavior('#default#userdata');document.body.appendChild(el);return el;},methods:{init:function(){var id=B.ie.prefix+esc(this.name);this.el=B.ie.make_userdata(id);if(this.o.defer){this.load();}},get:function(key){var val;key=esc(key);if(!this.o.defer){this.load();} + val=this.el.getAttribute(key);return val;},set:function(key,val){key=esc(key);this.el.setAttribute(key,val);if(!this.o.defer){this.save();} + return val;},remove:function(key){var val;key=esc(key);if(!this.o.defer){this.load();} + val=this.el.getAttribute(key);this.el.removeAttribute(key);if(!this.o.defer){this.save();} + return val;},load:function(){this.el.load(esc(this.name));},save:function(){this.el.save(esc(this.name));}}},cookie:{delim:':',size:4000,test:function(){return P.Cookie.enabled?true:false;},methods:{key:function(key){return this.name+B.cookie.delim+key;},get:function(key,fn){var val;key=this.key(key);val=ec.get(key);return val;},set:function(key,val,fn){key=this.key(key);ec.set(key,val,this.o);return val;},remove:function(key,val){var val;key=this.key(key);val=ec.remove(key);return val;}}},flash:{test:function(){try{if(!swfobject){return false;}}catch(e){return false;} + var major=swfobject.getFlashPlayerVersion().major;return(major>=8)?true:false;},methods:{init:function(){if(!B.flash.el){var key,el,fel,cfg=C.flash;el=document.createElement('div');el.id=cfg.div_id;fel=document.createElement('div');fel.id=cfg.id;el.appendChild(fel);document.body.appendChild(el);B.flash.el=swfobject.createSWF({id:cfg.id,data:this.o.swf_path||cfg.path,width:cfg.size.w,height:cfg.size.h},cfg.params,cfg.id);} + this.el=B.flash.el;},get:function(key){var val;key=esc(key);val=this.el.get(this.name,key);return val;},set:function(key,val){var old_val;key=esc(key);old_val=this.el.set(this.name,key,val);return old_val;},remove:function(key){var val;key=esc(key);val=this.el.remove(this.name,key);return val;}}}};init=function(){var i,l,b,key,fns=C.methods,keys=C.search_order;for(var idx=0,len=fns.length;idx<len;idx++){P.Store.prototype[fns[idx]]=empty;} + P.type=null;P.size=-1;for(var idx2=0,len2=keys.length;!P.type&&idx2<len2;idx2++){b=B[keys[idx2]];if(b.test()){P.type=keys[idx2];P.size=b.size;for(key in b.methods){P.Store.prototype[key]=b.methods[key];}}} + P._init=true;};P={VERSION:VERSION,type:null,size:0,add:function(o){B[o.id]=o;C.search_order=[o.id].concat(C.search_order);init();},remove:function(id){var ofs=index_of(C.search_order,id);if(ofs<0){return;} + C.search_order.splice(ofs,1);delete B[id];init();},Cookie:ec,Store:function(name,o){if(!C.name_re.exec(name)){throw new Error("Invalid name");} + if(!P.type){throw new Error("No suitable storage found");} + o=o||{};this.name=name;o.domain=o.domain||location.hostname||'localhost';o.domain=o.domain.replace(/:\d+$/,'');o.domain=(o.domain=='localhost')?'':o.domain;this.o=o;o.expires=o.expires||365*2;o.path=o.path||'/';if(this.o.search_order){C.search_order=this.o.search_order;init();} + this.init();}};init();return P;})(); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/static/persist.swf b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/static/persist.swf new file mode 100644 index 0000000000000000000000000000000000000000..572ec0d1c1e3be8210d2561120e5cbbd5eb6c497 GIT binary patch literal 502 zcmV<S0SW#?S5pX20{{Sc+Kf`cZqq;zeO|BaO#>;EgE{1ggmU4GkZ2ns5Jl9s67JC^ z**c+)9ob9O-ndb5$k9>{`~iGpm|drofRNb3?97{)H#56)39!$=9^g0_unnD-4?2lM z;;7RlNm?=<Cvti&Q&l}nR9P)5J<>&~u<86@Ci?mY53%DJr&%$P8CGSX3w^axNR`HD zE=x6wCm+>R8{mC0rI?x25*4}6vQO0<rCJsj3QM`jk*Pe@b8<*>s7tNNoDyDdm6M$A zGdWd|v)Mpq*@U`8e>74$DT~#cOr{lT27&Iu!8Znn8N=yXXf4d3tViMt%^24l9D+q; zIH55d;jSM8F8m%?E|&`Kxw-<spbnm*Zh^DFJd@y-&>K>wXEQzFM+9*<I*c2ppkWIB zW{Urli6H+DqTA&>rqsYpL7*6hCeXjF*jhiL>Hg?F`bRNtnfdR<yj|!;_^TGbt>qnV zA8oIBORtBosM`=N5ePSM33}C#2TiKLG1+cddyP#73vU?O=94%}tX=!0QjvD_*8JIX z7=VW5EQ;<_Lum?#dv=QZrc2SWa(`$zzi;AtA9hm4ohJ6d%MeHIJ5sNoP~WE?`lG@4 sw0{yo&llD10^9Yoi(<AT+%8VgFbZa?y2B91Wc~yI0RR630916Gxf1>H9{>OV literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/static/store.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/static/store.js new file mode 100644 index 0000000..0752343 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/static/store.js @@ -0,0 +1,2 @@ +/* Copyright (c) 2010-2013 Marcus Westin */ +this.JSON||(this.JSON={}),function(){function f(e){return e<10?"0"+e:e}function quote(e){return escapable.lastIndex=0,escapable.test(e)?'"'+e.replace(escapable,function(e){var t=meta[e];return typeof t=="string"?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+e+'"'}function str(e,t){var n,r,i,s,o=gap,u,a=t[e];a&&typeof a=="object"&&typeof a.toJSON=="function"&&(a=a.toJSON(e)),typeof rep=="function"&&(a=rep.call(t,e,a));switch(typeof a){case"string":return quote(a);case"number":return isFinite(a)?String(a):"null";case"boolean":case"null":return String(a);case"object":if(!a)return"null";gap+=indent,u=[];if(Object.prototype.toString.apply(a)==="[object Array]"){s=a.length;for(n=0;n<s;n+=1)u[n]=str(n,a)||"null";return i=u.length===0?"[]":gap?"[\n"+gap+u.join(",\n"+gap)+"\n"+o+"]":"["+u.join(",")+"]",gap=o,i}if(rep&&typeof rep=="object"){s=rep.length;for(n=0;n<s;n+=1)r=rep[n],typeof r=="string"&&(i=str(r,a),i&&u.push(quote(r)+(gap?": ":":")+i))}else for(r in a)Object.hasOwnProperty.call(a,r)&&(i=str(r,a),i&&u.push(quote(r)+(gap?": ":":")+i));return i=u.length===0?"{}":gap?"{\n"+gap+u.join(",\n"+gap)+"\n"+o+"}":"{"+u.join(",")+"}",gap=o,i}}typeof Date.prototype.toJSON!="function"&&(Date.prototype.toJSON=function(e){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(e){return this.valueOf()});var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;typeof JSON.stringify!="function"&&(JSON.stringify=function(e,t,n){var r;gap="",indent="";if(typeof n=="number")for(r=0;r<n;r+=1)indent+=" ";else typeof n=="string"&&(indent=n);rep=t;if(!t||typeof t=="function"||typeof t=="object"&&typeof t.length=="number")return str("",{"":e});throw new Error("JSON.stringify")}),typeof JSON.parse!="function"&&(JSON.parse=function(text,reviver){function walk(e,t){var n,r,i=e[t];if(i&&typeof i=="object")for(n in i)Object.hasOwnProperty.call(i,n)&&(r=walk(i,n),r!==undefined?i[n]=r:delete i[n]);return reviver.call(e,t,i)}var j;text=String(text),cx.lastIndex=0,cx.test(text)&&(text=text.replace(cx,function(e){return"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return j=eval("("+text+")"),typeof reviver=="function"?walk({"":j},""):j;throw new SyntaxError("JSON.parse")})}(),function(e){function o(){try{return r in e&&e[r]}catch(t){return!1}}var t={},n=e.document,r="localStorage",i="script",s;t.disabled=!1,t.set=function(e,t){},t.get=function(e){},t.remove=function(e){},t.clear=function(){},t.transact=function(e,n,r){var i=t.get(e);r==null&&(r=n,n=null),typeof i=="undefined"&&(i=n||{}),r(i),t.set(e,i)},t.getAll=function(){},t.forEach=function(){},t.serialize=function(e){return JSON.stringify(e)},t.deserialize=function(e){if(typeof e!="string")return undefined;try{return JSON.parse(e)}catch(t){return e||undefined}};if(o())s=e[r],t.set=function(e,n){return n===undefined?t.remove(e):(s.setItem(e,t.serialize(n)),n)},t.get=function(e){return t.deserialize(s.getItem(e))},t.remove=function(e){s.removeItem(e)},t.clear=function(){s.clear()},t.getAll=function(){var e={};return t.forEach(function(t,n){e[t]=n}),e},t.forEach=function(e){for(var n=0;n<s.length;n++){var r=s.key(n);e(r,t.get(r))}};else if(n.documentElement.addBehavior){var u,a;try{a=new ActiveXObject("htmlfile"),a.open(),a.write("<"+i+">document.w=window</"+i+'><iframe src="/favicon.ico"></iframe>'),a.close(),u=a.w.frames[0].document,s=u.createElement("div")}catch(f){s=n.createElement("div"),u=n.body}function l(e){return function(){var n=Array.prototype.slice.call(arguments,0);n.unshift(s),u.appendChild(s),s.addBehavior("#default#userData"),s.load(r);var i=e.apply(t,n);return u.removeChild(s),i}}var c=new RegExp("[!\"#$%&'()*+,/\\\\:;<=>?@[\\]^`{|}~]","g");function h(e){return e.replace(c,"___")}t.set=l(function(e,n,i){return n=h(n),i===undefined?t.remove(n):(e.setAttribute(n,t.serialize(i)),e.save(r),i)}),t.get=l(function(e,n){return n=h(n),t.deserialize(e.getAttribute(n))}),t.remove=l(function(e,t){t=h(t),e.removeAttribute(t),e.save(r)}),t.clear=l(function(e){var t=e.XMLDocument.documentElement.attributes;e.load(r);for(var n=0,i;i=t[n];n++)e.removeAttribute(i.name);e.save(r)}),t.getAll=function(e){var n={};return t.forEach(function(e,t){n[e]=t}),n},t.forEach=l(function(e,n){var r=e.XMLDocument.documentElement.attributes;for(var i=0,s;s=r[i];++i)n(s.name,t.deserialize(e.getAttribute(s.name)))})}try{var p="__storejs__";t.set(p,p),t.get(p)!=p&&(t.disabled=!0),t.remove(p)}catch(f){t.disabled=!0}t.enabled=!t.disabled,typeof module!="undefined"&&module.exports?module.exports=t:typeof define=="function"&&define.amd?define(t):e.store=t}(this.window||global) \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php new file mode 100644 index 0000000..c74a45d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php @@ -0,0 +1,235 @@ +<?php + +/** + * Provides AJAX actions for the Attach To Post interface + * TODO: Need to add authorization checks to each action + */ +class A_Attach_To_Post_Ajax extends Mixin +{ + var $attach_to_post = NULL; + + /** + * Retrieves the attach to post controller + */ + function get_attach_to_post() + { + if (is_null($this->attach_to_post)) + $this->attach_to_post = $this->object->get_registry()->get_utility('I_Attach_To_Post_Controller'); + return $this->attach_to_post; + } + + + /** + * Returns a list of image sources for the Attach to Post interface + * @return type + */ + function get_attach_to_post_sources_action() + { + $response = array(); + + if ($this->object->validate_ajax_request()) + { + $response['sources'] = $this->get_attach_to_post()->get_sources(); + } + + return $response; + } + + + /** + * Gets existing galleries + * @return array + */ + function get_existing_galleries_action() + { + $response = array(); + + if ($this->object->validate_ajax_request()) + { + $limit = $this->object->param('limit'); + $offset = $this->object->param('offset'); + + // We return the total # of galleries, so that the client can make + // pagination requests + $mapper = $this->object->get_registry()->get_utility('I_Gallery_Mapper'); + $response['total'] = $mapper->count(); + $response['limit'] = $limit = $limit ? $limit : 0; + $response['offset'] = $offset = $offset ? $offset : 0; + + // Get the galleries + $mapper->select(); + if ($limit) $mapper->limit($limit, $offset); + $response['items'] = $mapper->run_query(); + } + + return $response; + } + + + /** + * Gets existing albums + * @return array + */ + function get_existing_albums_action() + { + $response = array(); + + if ($this->object->validate_ajax_request()) + { + $limit = $this->object->param('limit'); + $offset = $this->object->param('offset'); + + // We return the total # of albums, so that the client can make pagination requests + $mapper = $this->object->get_registry()->get_utility('I_Album_Mapper'); + $response['total'] = $mapper->count(); + $response['limit'] = $limit = $limit ? $limit : 0; + $response['offset']= $offset = $offset ? $offset : 0; + + // Get the albums + $mapper->select(); + if ($limit) $mapper->limit($limit, $offset); + $response['items'] = $mapper->run_query(); + } + + return $response; + } + + /** + * Gets existing image tags + * @return array + */ + function get_existing_image_tags_action() + { + $response = array(); + + if ($this->object->validate_ajax_request()) + { + $limit = $this->object->param('limit'); + $offset = $this->object->param('offset'); + $response['limit'] = $limit = $limit ? $limit : 0; + $response['offset'] = $offset = $offset ? $offset : 0; + $response['items'] = array(); + $params = array( + 'number' => $limit, + 'offset' => $offset, + 'fields' => 'names' + ); + foreach (get_terms('ngg_tag', $params) as $term) { + $response['items'][] = array( + 'id' => $term, + 'title' => $term, + 'name' => $term + ); + } + $response['total'] = count(get_terms('ngg_tag', array('fields' => 'ids'))); + } + + return $response; + } + + /** + * Gets entities (such as images) for a displayed gallery (attached gallery) + */ + function get_displayed_gallery_entities_action() + { + $response = array(); + if ($this->object->validate_ajax_request() && ($params = $this->object->param('displayed_gallery'))) { + $limit = $this->object->param('limit'); + $offset = $this->object->param('offset'); + $factory = $this->object->get_registry()->get_utility('I_Component_Factory'); + $displayed_gallery = $factory->create('displayed_gallery'); + foreach ($params as $key => $value) $displayed_gallery->$key = $value; + $response['limit'] = $limit = $limit ? $limit : 0; + $response['offset'] = $offset = $offset ? $offset : 0; + $response['total'] = $displayed_gallery->get_entity_count('both'); + $response['items'] = $displayed_gallery->get_entities($limit, $offset, FALSE, 'both'); + $controller = $this->object->get_registry()->get_utility('I_Display_Type_Controller'); + $storage = $this->object->get_registry()->get_utility('I_Gallery_Storage'); + $image_mapper = $this->object->get_registry()->get_utility('I_Image_Mapper'); + $settings = C_NextGen_Settings::get_instance(); + foreach ( $response['items'] as &$entity) { + $image = $entity; + if (in_array($displayed_gallery->source, array('album','albums'))) { + // Set the alttext of the preview image to the + // name of the gallery or album + if (($image = $image_mapper->find($entity->previewpic))) { + if ($entity->is_album) + $image->alttext = sprintf(__('Album: %s', 'nggallery'), $entity->name); + else + $image->alttext = sprintf(__('Gallery: %s', 'nggallery'), $entity->title); + } + + // Prefix the id of an album with 'a' + if ($entity->is_album) { + $id = $entity->{$entity->id_field}; + $entity->{$entity->id_field} = 'a'.$id; + } + } + + // Get the thumbnail + $entity->thumb_url = $storage->get_image_url($image, 'thumb', TRUE); + $entity->thumb_html = $storage->get_image_html($image, 'thumb'); + $entity->max_width = $settings->thumbwidth; + $entity->max_height = $settings->thumbheight; + } + } + else { + $response['error'] = __('Missing parameters', 'nggallery'); + } + return $response; + } + + + /** + * Saves the displayed gallery + */ + function save_displayed_gallery_action() + { + $response = array(); + $mapper = $this->object->get_registry()->get_utility('I_Displayed_Gallery_Mapper'); + + // Do we have fields to work with? + if ($this->object->validate_ajax_request(true) && ($params = json_decode($this->object->param('displayed_gallery')))) { + + // Existing displayed gallery ? + if (($id = $this->object->param('id'))) { + $displayed_gallery = $mapper->find($id, TRUE); + if ($displayed_gallery) { + foreach ($params as $key => $value) $displayed_gallery->$key = $value; + } + } + else { + $factory = $this->object->get_registry()->get_utility('I_Component_Factory'); + $displayed_gallery = $factory->create('displayed_gallery', $params, $mapper); + } + + // Save the changes + if ($displayed_gallery) { + if ($displayed_gallery->save()) $response['displayed_gallery'] = $displayed_gallery->get_entity(); + else $response['validation_errors'] = $this->get_attach_to_post()->show_errors_for($displayed_gallery, TRUE); + } + else + { + $response['error'] = __('Displayed gallery does not exist', 'nggallery'); + } + } + else $response['error'] = __('Invalid request', 'nggallery'); + + return $response; + } + + function validate_ajax_request($check_token = false) + { + $valid_request = false; + $security = $this->get_registry()->get_utility('I_Security_Manager'); + $sec_token = $security->get_request_token('nextgen_edit_displayed_gallery'); + $sec_actor = $security->get_current_actor(); + + if ($sec_actor->is_allowed('nextgen_edit_displayed_gallery') && (!$check_token || $sec_token->check_current_request())) + { + $valid_request = true; + } + + return $valid_request; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_routes.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_routes.php new file mode 100644 index 0000000..d3d9a99 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_routes.php @@ -0,0 +1,24 @@ +<?php + +class A_Attach_To_Post_Routes extends Mixin +{ + function initialize() + { + $this->object->add_pre_hook( + 'serve_request', + 'Adds Attach To Post Routes', + get_class(), + 'add_attach_to_post_routes' + ); + } + + function add_attach_to_post_routes() + { + $app = $this->object->create_app('/nextgen-attach_to_post'); + $app->rewrite('/preview/{id}', '/preview/id--{id}'); + $app->rewrite('/display_tab_js/{id}', '/display_tab_js/id--{id}'); + $app->route('/preview', 'I_Attach_To_Post_Controller#preview'); + $app->route('/display_tab_js', 'I_Attach_To_Post_Controller#display_tab_js'); + $app->route('/', 'I_Attach_To_Post_Controller#index'); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/adapter.gallery_storage_frame_event.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/adapter.gallery_storage_frame_event.php new file mode 100644 index 0000000..d4e7651 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/adapter.gallery_storage_frame_event.php @@ -0,0 +1,47 @@ +<?php + +class A_Gallery_Storage_Frame_Event extends Mixin +{ + function initialize() + { + $this->object->add_post_hook( + 'generate_thumbnail', + 'After a new thumbnail has been generated, emits a frame event', + get_class(), + 'emit_modified_thumbnail_event' + ); + } + + function emit_modified_thumbnail_event($image) + { + $controller = $this->get_registry()->get_utility('I_Display_Type_Controller'); + $events = $this->get_registry()->get_utility('I_Frame_Event_Publisher', 'attach_to_post'); + $mapper = $this->get_registry()->get_utility('I_Image_Mapper'); + $storage = $this->get_registry()->get_utility('I_Gallery_Storage'); + $app = $this->get_registry()->get_utility('I_Router')->get_routed_app(); + + $image = $mapper->find($image); + $image->thumb_url = $controller->set_param_for( + $app->get_routed_url(TRUE), + 'timestamp', + time(), + NULL, + $storage->get_thumb_url($image) + ); + + if (is_admin()) { + + $event = new stdClass(); + $event->pid = $image->{$image->id_field}; + $event->id_field = $image->id_field; + $event->thumb_url = $image->thumb_url; + + $events->add_event( + array( + 'event' => 'thumbnail_modified', + 'image' => $event, + ) + ); + } + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php new file mode 100644 index 0000000..af13c62 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php @@ -0,0 +1,370 @@ +<?php + +class C_Attach_Controller extends C_NextGen_Admin_Page_Controller +{ + static $_instances = array(); + var $_displayed_gallery; + var $_marked_scripts; + var $_is_rendering; + + static function &get_instance($context='all') + { + if (!isset(self::$_instances[$context])) { + $klass = get_class(); + self::$_instances[$context] = new $klass($context); + } + return self::$_instances[$context]; + } + + function define($context) + { + if (!is_array($context)) $context = array($context); + array_unshift($context, 'ngg_attach_to_post'); + parent::define($context); + $this->add_mixin('Mixin_Attach_To_Post'); + $this->add_mixin('Mixin_Attach_To_Post_Display_Tab'); + $this->implement('I_Attach_To_Post_Controller'); + } + + function initialize() + { + parent::initialize(); + $this->_load_displayed_gallery(); + + $this->_marked_scripts = array(); + + if (did_action('wp_print_scripts')) { + $this->_handle_scripts(); + } + else { + add_action('wp_print_scripts', array($this, '_handle_scripts'), 9999); + } + } + + function _handle_scripts() + { + if (is_admin() && $this->_is_rendering) + { + global $wp_scripts; + + $queue = $wp_scripts->queue; + $marked = $this->_marked_scripts; + + foreach ($marked as $tag => $value) { + $this->_handle_script($tag, $queue); + } + + foreach ($queue as $extra) { + wp_dequeue_script($extra); + } + } + } + + function _handle_script($tag, &$queue) + { + global $wp_scripts; + + $registered = $wp_scripts->registered; + + $idx = array_search($tag, $queue); + if ($idx !== false) { + unset($queue[$idx]); + } + + if (isset($registered[$tag])) { + $script = $registered[$tag]; + + if ($script->deps) { + foreach ($script->deps as $dep) { + $this->_handle_script($dep, $queue); + } + } + } + } +} + +class Mixin_Attach_To_Post extends Mixin +{ + function _load_displayed_gallery() + { + $mapper = $this->get_registry()->get_utility('I_Displayed_Gallery_Mapper'); + if (!($this->object->_displayed_gallery = $mapper->find($this->object->param('id'), TRUE))) { + $this->object->_displayed_gallery = $mapper->create(); + } + } + + function mark_script($script_tag) + { + $this->object->_marked_scripts[$script_tag] = true; + } + + function enqueue_backend_resources() + { + $this->call_parent('enqueue_backend_resources'); + // Enqueue frame event publishing + wp_enqueue_script('frame_event_publisher'); + $this->object->mark_script('frame_event_publisher'); + + // Enqueue JQuery UI libraries + wp_enqueue_script('jquery-ui-tabs'); + wp_enqueue_script('jquery-ui-sortable'); + wp_enqueue_script('jquery-ui-tooltip'); + wp_enqueue_script('ngg_tabs', $this->get_static_url('photocrati-attach_to_post#ngg_tabs.js')); + $this->object->mark_script('jquery-ui-tabs'); + $this->object->mark_script('jquery-ui-sortable'); + $this->object->mark_script('jquery-ui-tooltip'); + $this->object->mark_script('ngg_tabs'); + + // Ensure select2 + wp_enqueue_style('select2'); + wp_enqueue_script('select2'); + $this->object->mark_script('select2'); + + // Ensure that the Photocrati AJAX library is loaded + wp_enqueue_script('photocrati_ajax'); + $this->object->mark_script('photocrati_ajax'); + + // Enqueue logic for the Attach to Post interface as a whole + wp_enqueue_script( + 'ngg_attach_to_post', $this->get_static_url('photocrati-attach_to_post#attach_to_post.js') + ); + wp_enqueue_style( + 'ngg_attach_to_post', $this->get_static_url('photocrati-attach_to_post#attach_to_post.css') + ); + $this->object->mark_script('ngg_attach_to_post'); + + // Enqueue backbone.js library, required by the Attach to Post display tab + wp_enqueue_script('backbone'); // provided by WP + $this->object->mark_script('backbone'); + + // Ensure underscore sting, a helper utility + wp_enqueue_script( + 'underscore.string', + $this->get_static_url('photocrati-attach_to_post#underscore.string.js'), + array('underscore'), + '2.3.0' + ); + $this->object->mark_script('underscore.string'); + + // Enqueue the backbone app for the display tab + $settings = C_NextGen_Settings::get_instance(); + $preview_url = $settings->gallery_preview_url; + $display_tab_js_url = $settings->attach_to_post_display_tab_js_url; + if ($this->object->_displayed_gallery->id()) { + $display_tab_js_url .= '/id--'.$this->object->_displayed_gallery->id(); + } + + wp_enqueue_script( + 'ngg_display_tab', + $display_tab_js_url, + array('backbone', 'underscore.string') + ); + wp_localize_script( + 'ngg_display_tab', + 'ngg_displayed_gallery_preview_url', + $settings->gallery_preview_url + ); + $this->object->mark_script('ngg_display_tab'); + + // TODO: for now mark Pro scripts to ensure they are enqueued properly, remove this after Pro upgrade with tagging added + $display_types = array('photocrati-nextgen_pro_slideshow', 'photocrati-nextgen_pro_horizontal_filmstrip', 'photocrati-nextgen_pro_thumbnail_grid', 'photocrati-nextgen_pro_blog_gallery', 'photocrati-nextgen_pro_film'); + foreach ($display_types as $display_type) { + $this->object->mark_script($display_type . '-js'); + } + + $this->object->mark_script('nextgen_pro_albums_settings_script'); + } + + /** + * Renders the interface + */ + function index_action($return=FALSE) + { + $this->object->do_not_cache(); + + // Enqueue resources + return $this->object->render_view('photocrati-attach_to_post#attach_to_post', array( + 'page_title' => $this->object->_get_page_title(), + 'tabs' => $this->object->_get_main_tabs() + ), $return); + } + + + /** + * Displays a preview image for the displayed gallery + */ + function preview_action() + { + $found_preview_pic = FALSE; + + $dyn_thumbs = $this->object->get_registry()->get_utility('I_Dynamic_Thumbnails_Manager'); + $storage = $this->object->get_registry()->get_utility('I_Gallery_Storage'); + $image_mapper = $this->object->get_registry()->get_utility('I_Image_Mapper'); + + // Get the first entity from the displayed gallery. We will use this + // for a preview pic + $entity = array_pop($this->object->_displayed_gallery->get_included_entities(1)); + $image = FALSE; + if ($entity) { + // This is an album or gallery + if (isset($entity->previewpic)) { + $image = (int)$entity->previewpic; + if (($image = $image_mapper->find($image))) { + $found_preview_pic = TRUE; + } + } + + // Is this an image + else if (isset($entity->galleryid)) { + $image = $entity; + $found_preview_pic = TRUE; + } + } + + // Were we able to find a preview pic? If so, then render it + $image_size = $dyn_thumbs->get_size_name(array( + 'width' => 200, + 'height' => 200, + 'quality' => 90, + 'type' => 'jpg' + ));; + $found_preview_pic = $storage->render_image($image, $image_size, TRUE); + + // Render invalid image if no preview pic is found + if (!$found_preview_pic) { + $filename = $this->object->get_static_abspath('photocrati-attach_to_post#invalid_image.png'); + $this->set_content_type('image/png'); + readfile($filename); + $this->render(); + } + } + + /** + * Returns the page title of the Attach to Post interface + * @return string + */ + function _get_page_title() + { + return __('NextGEN Gallery - Attach To Post', 'nggallery'); + } + + + /** + * Returns the main tabs displayed on the Attach to Post interface + * @returns array + */ + function _get_main_tabs() + { + $retval = array(); + + $security = $this->get_registry()->get_utility('I_Security_Manager'); + $sec_actor = $security->get_current_actor(); + + if ($sec_actor->is_allowed('NextGEN Manage gallery')) { + $retval['displayed_tab'] = array( + 'content' => $this->object->_render_display_tab(), + 'title' => __('Display Galleries', 'nggallery') + ); + } + + if ($sec_actor->is_allowed('NextGEN Upload images')) { + $retval['create_tab'] = array( + 'content' => $this->object->_render_create_tab(), + 'title' => __('Add Gallery / Images', 'nggallery') + ); + } + + if ($sec_actor->is_allowed('NextGEN Manage others gallery') && $sec_actor->is_allowed('NextGEN Manage gallery')) { + $retval['galleries_tab'] = array( + 'content' => $this->object->_render_galleries_tab(), + 'title' => __('Manage Galleries', 'nggallery') + ); + } + + if ($sec_actor->is_allowed('NextGEN Edit album')) { + $retval['albums_tab'] = array( + 'content' => $this->object->_render_albums_tab(), + 'title' => __('Manage Albums', 'nggallery') + ); + } + + if ($sec_actor->is_allowed('NextGEN Manage tags')) { + $retval['tags_tab'] = array( + 'content' => $this->object->_render_tags_tab(), + 'title' => __('Manage Tags', 'nggallery') + ); + } + + return $retval; + } + + /** + * Renders a NextGen Gallery page in an iframe, suited for the attach to post + * interface + * @param string $page + * @return string + */ + function _render_ngg_page_in_frame($page, $tab_id = null) + { + $frame_url = admin_url("/admin.php?page={$page}&attach_to_post"); + $frame_url = nextgen_esc_url($frame_url); + + if ($tab_id) { + $tab_id = " id='ngg-iframe-{$tab_id}'"; + } + + return "<iframe name='{$page}' frameBorder='0'{$tab_id} class='ngg-attach-to-post ngg-iframe-page-{$page}' scrolling='no' src='{$frame_url}'></iframe>"; + } + + /** + * Renders the display tab for adjusting how images/galleries will be + * displayed + * @return type + */ + function _render_display_tab() + { + return $this->object->render_partial('photocrati-attach_to_post#display_tab', array( + 'messages' => array(), + 'tabs' => $this->object->_get_display_tabs() + ), TRUE); + } + + + /** + * Renders the tab used primarily for Gallery and Image creation + * @return type + */ + function _render_create_tab() + { + return $this->object->_render_ngg_page_in_frame('ngg_addgallery', 'create_tab'); + } + + + /** + * Renders the tab used for Managing Galleries + * @return string + */ + function _render_galleries_tab() + { + return $this->object->_render_ngg_page_in_frame('nggallery-manage-gallery', 'galleries_tab'); + } + + + /** + * Renders the tab used for Managing Albums + */ + function _render_albums_tab() + { + return $this->object->_render_ngg_page_in_frame('nggallery-manage-album', 'albums_tab'); + } + + + /** + * Renders the tab used for Managing Albums + * @return string + */ + function _render_tags_tab() + { + return $this->object->_render_ngg_page_in_frame('nggallery-tags', 'tags_tab'); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_to_post_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_to_post_installer.php new file mode 100644 index 0000000..f805e92 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_to_post_installer.php @@ -0,0 +1,13 @@ +<?php + +class C_Attach_To_Post_Installer +{ + function install() + { + // Delete cached values. Needed for 2.0.7 and less + $settings = C_NextGen_Settings::get_instance(); + $settings->delete('attach_to_post_url'); + $settings->delete('gallery_preview_url'); + $settings->delete('attach_to_post_display_tab_js_url'); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_to_post_option_handler.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_to_post_option_handler.php new file mode 100644 index 0000000..ac006fb --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_to_post_option_handler.php @@ -0,0 +1,28 @@ +<?php + +class C_Attach_To_Post_Option_Handler +{ + function get_router() + { + return C_Component_Registry::get_instance()->get_utility('I_Router'); + } + + function get($key, $default=NULL) + { + $retval = $default; + + switch ($key) { + case 'attach_to_post_url': + $retval = $this->get_router()->get_url('/nextgen-attach_to_post', FALSE); + break; + case 'gallery_preview_url': + $retval = $this->get_router()->get_url('/nextgen-attach_to_post/preview', FALSE); + break; + case 'attach_to_post_display_tab_js_url': + $retval = $this->get_router()->get_url('/nextgen-attach_to_post/display_tab_js', FALSE); + break; + } + + return $retval; + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_to_post_proxy_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_to_post_proxy_controller.php new file mode 100644 index 0000000..749f1ec --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_to_post_proxy_controller.php @@ -0,0 +1,62 @@ +<?php + +/** + * Work in progress. This won't quite work as expected + * as we can't cache the Attach to post interface since + * it needs to be invalided when the displayed gallery changes + * Class C_Attach_To_Post_Proxy_Controller + */ +class C_Attach_To_Post_Proxy_Controller +{ + static $_instance = NULL; + + static function get_instance() + { + if (is_null(self::$_instance)) { + $klass = get_class(); + self::$_instance = new $klass(); + } + return self::$_instance; + } + + function index_action() + { + $url = C_Router::get_instance()->get_routed_app()->get_routed_url(TRUE); + $key = C_Photocrati_Cache::generate_key($url); + + // Try fetching the contents from the cache + if (($html = C_Photocrati_Cache::get($key, FALSE))) { + echo $html; + } + else { + $controller = C_Attach_Controller::get_instance(FALSE); + $html = $controller->index_action(TRUE); + C_Photocrati_Cache::set($key, $html); + echo $html; + } + + } + + function display_tab_js_action() + { + $url = C_Router::get_instance()->get_routed_app()->get_routed_url(TRUE); + $key = C_Photocrati_Cache::generate_key($url); + + // Try fetching the contents from the cache + if (($html = C_Photocrati_Cache::get($key, FALSE))) { + echo $html; + } + else { + $html = C_Attach_Controller::get_instance(FALSE)->display_tab_js_action(TRUE); + C_Photocrati_Cache::set($key, $html); + echo $html; + } + } + + function preview_action() + { + return C_Attach_Controller::get_instance(FALSE)->preview_action(); + } + + private function __construct() {} +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/interface.attach_to_post_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/interface.attach_to_post_controller.php new file mode 100644 index 0000000..07c5757 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/interface.attach_to_post_controller.php @@ -0,0 +1,6 @@ +<?php + +interface I_Attach_To_Post_Controller +{ + function index_action(); +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php new file mode 100644 index 0000000..bb678b2 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php @@ -0,0 +1,285 @@ +<?php + +/** + * Provides the "Display Tab" for the Attach To Post interface/controller + */ +class Mixin_Attach_To_Post_Display_Tab extends Mixin +{ + /** + * Renders the JS required for the Backbone-based Display Tab + */ + function display_tab_js_action($return=FALSE) + { + // Cache appropriately + $this->object->do_not_cache(); + + // Ensure that JS is returned + $this->object->set_content_type('javascript'); + + while (ob_get_level() > 0) { + ob_end_clean(); + } + + // Get all entities used by the display tab + $context = 'attach_to_post'; + $gallery_mapper = $this->get_registry()->get_utility('I_Gallery_Mapper', $context); + $album_mapper = $this->get_registry()->get_utility('I_Album_Mapper', $context); + $image_mapper = $this->get_registry()->get_utility('I_Image_Mapper', $context); + $display_type_mapper= $this->get_registry()->get_utility('I_Display_Type_Mapper', $context); + $source_mapper = $this->get_registry()->get_utility('I_Displayed_Gallery_Source_Mapper', $context); + $security = $this->get_registry()->get_utility('I_Security_Manager'); + + // Get the nextgen tags + global $wpdb; + $tags = $wpdb->get_results( + "SELECT DISTINCT name AS 'id', name FROM {$wpdb->terms} + WHERE term_id IN ( + SELECT term_id FROM {$wpdb->term_taxonomy} + WHERE taxonomy = 'ngg_tag' + )"); + $all_tags = new stdClass; + $all_tags->name = "All"; + $all_tags->id = "All"; + array_unshift($tags, $all_tags); + + $display_types = $display_type_mapper->find_all(); + + usort($display_types, array($this->object, '_display_type_list_sort')); + + $output = $this->object->render_view('photocrati-attach_to_post#display_tab_js', array( + 'displayed_gallery' => json_encode($this->object->_displayed_gallery->get_entity()), + 'sources' => json_encode($source_mapper->select()->order_by('title')->run_query()), + 'gallery_primary_key' => $gallery_mapper->get_primary_key_column(), + 'galleries' => json_encode($gallery_mapper->find_all()), + 'albums' => json_encode($album_mapper->find_all()), + 'tags' => json_encode($tags), + 'display_types' => json_encode($display_types), + 'sec_token' => $security->get_request_token('nextgen_edit_displayed_gallery')->get_json(), + 'image_primary_key' => $image_mapper->get_primary_key_column() + ), $return); + + return $output; + } + + function _display_type_list_sort($type_1, $type_2) + { + $order_1 = $type_1->view_order; + $order_2 = $type_2->view_order; + + if ($order_1 == null) { + $order_1 = NGG_DISPLAY_PRIORITY_BASE; + } + + if ($order_2 == null) { + $order_2 = NGG_DISPLAY_PRIORITY_BASE; + } + + if ($order_1 > $order_2) { + return 1; + } + + if ($order_1 < $order_2) { + return -1; + } + + return 0; + } + + + /** + * Gets a list of tabs to render for the "Display" tab + */ + function _get_display_tabs() + { + // The ATP requires more memmory than some applications, somewhere around 60MB. + // Because it's such an important feature of NextGEN Gallery, we temporarily disable + // any memory limits + if (!extension_loaded('suhosin')) @ini_set('memory_limit', -1); + + return array( + $this->object->_render_display_types_tab(), + $this->object->_render_display_source_tab(), + $this->object->_render_display_settings_tab(), + $this->object->_render_preview_tab() + ); + } + + + /** + * Renders the accordion tab, "What would you like to display?" + */ + function _render_display_source_tab() + { + return $this->object->render_partial('photocrati-attach_to_post#accordion_tab', array( + 'id' => 'source_tab', + 'title' => __('What would you like to display?', 'nggallery'), + 'content' => $this->object->_render_display_source_tab_contents() + ), TRUE); + } + + + /** + * Renders the contents of the source tab + * @return string + */ + function _render_display_source_tab_contents() + { + return $this->object->render_partial('photocrati-attach_to_post#display_tab_source', array(),TRUE); + } + + + /** + * Renders the accordion tab for selecting a display type + * @return string + */ + function _render_display_types_tab() + { + return $this->object->render_partial('photocrati-attach_to_post#accordion_tab', array( + 'id' => 'display_type_tab', + 'title' => __('Select a display type', 'nggallery'), + 'content' => $this->object->_render_display_type_tab_contents() + ), TRUE); + } + + + /** + * Renders the contents of the display type tab + */ + function _render_display_type_tab_contents() + { + return $this->object->render_partial('photocrati-attach_to_post#display_tab_type', array(), TRUE); + } + + + /** + * Renders the display settings tab for the Attach to Post interface + * @return type + */ + function _render_display_settings_tab() + { + return $this->object->render_partial('photocrati-attach_to_post#accordion_tab', array( + 'id' => 'display_settings_tab', + 'title' => __('Customize the display settings', 'nggallery'), + 'content' => $this->object->_render_display_settings_contents() + ), TRUE); + } + + /** + * If editing an existing displayed gallery, retrieves the name + * of the display type + * @return string + */ + function _get_selected_display_type_name() + { + $retval = ''; + + if ($this->object->_displayed_gallery) + $retval = $this->object->_displayed_gallery->display_type; + + return $retval; + } + + + /** + * Is the displayed gallery that's being edited using the specified display + * type? + * @param string $name name of the display type + * @return bool + */ + function is_displayed_gallery_using_display_type($name) + { + $retval = FALSE; + + if ($this->object->_displayed_gallery) { + $retval = $this->object->_displayed_gallery->display_type == $name; + } + + return $retval; + } + + + /** + * Renders the contents of the display settings tab + * @return string + */ + function _render_display_settings_contents() + { + $retval = array(); + + // Get all display setting forms + $form_manager = C_Form_Manager::get_instance(); + $forms = $form_manager->get_forms( + NGG_DISPLAY_SETTINGS_SLUG, TRUE + ); + + // Display each form + foreach ($forms as $form) { + + // Enqueue the form's static resources + $form->enqueue_static_resources(); + + // Determine which classes to use for the form's "class" attribute + $model = $form->get_model(); + $current = $this->object->is_displayed_gallery_using_display_type($model->name); + $css_class = $current ? 'display_settings_form' : 'display_settings_form hidden'; + + // If this form is used to provide the display settings for the current + // displayed gallery, then we need to override the forms settings + // with the displayed gallery settings + if ($current) { + $settings = $this->array_merge_assoc( + $model->settings, + $this->object->_displayed_gallery->display_settings, + TRUE + ); + + $model->settings = $settings; + } + + // Output the display settings form + $retval[] = $this->object->render_partial('photocrati-attach_to_post#display_settings_form', array( + 'settings' => $form->render(), + 'display_type_name' => $model->name, + 'css_class' => $css_class + ), TRUE); + } + + // In addition, we'll render a form that will be displayed when no + // display type has been selected in the Attach to Post interface + // Render the default "no display type selected" view + $css_class = $this->object->_get_selected_display_type_name() ? + 'display_settings_form hidden' : 'display_settings_form'; + $retval[] = $this->object->render_partial('photocrati-attach_to_post#no_display_type_selected', array( + 'no_display_type_selected' => __('No display type selected', 'nggallery'), + 'css_class' => $css_class + + ), TRUE); + + // Return all display setting forms + return implode("\n", $retval); + } + + + /** + * Renders the tab used to preview included images + * @return string + */ + function _render_preview_tab() + { + return $this->object->render_partial('photocrati-attach_to_post#accordion_tab', array( + 'id' => 'preview_tab', + 'title' => __('Sort or Exclude Images', 'nggallery'), + 'content' => $this->object->_render_preview_tab_contents() + ), TRUE); + } + + + /** + * Renders the contents of the "Preview" tab. + * @return string + */ + function _render_preview_tab_contents() + { + return $this->object->render_partial('photocrati-attach_to_post#preview_tab', array(), TRUE); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/module.attach_to_post.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/module.attach_to_post.php new file mode 100644 index 0000000..fa6df74 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/module.attach_to_post.php @@ -0,0 +1,418 @@ +<?php +/** + { + Module: photocrati-attach_to_post, + Depends: { photocrati-nextgen_gallery_display } + } + */ + +define('NGG_ATTACH_TO_POST_SLUG', 'nextgen-attach_to_post'); + +class M_Attach_To_Post extends C_Base_Module +{ + var $attach_to_post_tinymce_plugin = 'NextGEN_AttachToPost'; + var $_event_publisher = NULL; + + /** + * Defines the module + * @param string|bool $context + */ + function define($context=FALSE) + { + parent::define( + 'photocrati-attach_to_post', + 'Attach To Post', + 'Provides the "Attach to Post" interface for displaying galleries and albums', + '0.10', + 'http://www.nextgen-gallery.com', + 'Photocrati Media', + 'http://www.photocrati.com', + $context + ); + + include_once('class.attach_to_post_option_handler.php'); + C_NextGen_Settings::get_instance()->add_option_handler('C_Attach_To_Post_Option_Handler', array( + 'attach_to_post_url', + 'gallery_preview_url', + 'attach_to_post_display_tab_js_url' + )); + if (is_multisite()) C_NextGen_Global_Settings::get_instance()->add_option_handler('C_Attach_To_Post_Option_Handler', array( + 'attach_to_post_url', + 'gallery_preview_url', + 'attach_to_post_display_tab_js_url' + )); + + include_once('class.attach_to_post_installer.php'); + C_Photocrati_Installer::add_handler($this->module_id, 'C_Attach_To_Post_Installer'); + + // Set WP_ADMIN=true for better compatibility with certain themes & plugins. + // Unfortunately as of 3.9 in a multisite environment this causes problems. + if (self::is_atp_url() && (!defined('MULTISITE') || (defined('MULTISITE') && !MULTISITE))) + define('WP_ADMIN', true); + } + + // We only register our display-type settings forms when IS_ADMIN, but Wordpress 3.9 introduced a problem + // with doing this on multisite sub-sites. Now we register our forms when is_atp_url() is true OR is_admin() + static function is_atp_url() + { + return (strpos(strtolower($_SERVER['REQUEST_URI']), '/nextgen-attach_to_post') !== false) ? TRUE : FALSE; + } + + /** + * Gets the Frame Event Publisher + * @return C_Component + */ + function _get_frame_event_publisher() + { + if (is_null($this->_event_publisher)) { + $this->_event_publisher = $this->get_registry()->get_utility('I_Frame_Event_Publisher', 'attach_to_post'); + } + + return $this->_event_publisher; + } + + + /** + * Registers requires the utilites that this module provides + */ + function _register_utilities() + { + // This utility provides a controller that renders the + // Attach to Post interface, used to manage Displayed Galleries + $this->get_registry()->add_utility( + 'I_Attach_To_Post_Controller', + 'C_Attach_Controller' +// 'C_Attach_To_Post_Proxy_Controller' + ); + } + + /** + * Registers the adapters that this module provides + */ + function _register_adapters() + { + // Installs the Attach to Post module + $this->get_registry()->add_adapter( + 'I_Installer', 'A_Attach_To_Post_Installer' + ); + + // Provides routing for the Attach To Post interface + $this->get_registry()->add_adapter( + 'I_Router', 'A_Attach_To_Post_Routes' + ); + + // Provides AJAX actions for the Attach To Post interface + $this->get_registry()->add_adapter( + 'I_Ajax_Controller', 'A_Attach_To_Post_Ajax' + ); + + // Applies a post hook to the generate_thumbnail method of the + // gallery storage component + $this->get_registry()->add_adapter( + 'I_Gallery_Storage', 'A_Gallery_Storage_Frame_Event' + ); + } + + + function _register_hooks() + { + if (is_admin()) { + add_action( + 'admin_enqueue_scripts', + array(&$this, 'enqueue_static_resources'), + 1 + ); + } + + // Add hook to delete displayed galleries when removed from a post + add_action('pre_post_update', array(&$this, 'locate_stale_displayed_galleries')); + add_action('before_delete_post', array(&$this, 'locate_stale_displayed_galleries')); + add_action('post_updated', array(&$this, 'cleanup_displayed_galleries')); + add_action('after_delete_post', array(&$this, 'cleanup_displayed_galleries')); + + // Add hook to subsitute displayed gallery placeholders + add_filter('the_content', array(&$this, 'substitute_placeholder_imgs'), PHP_INT_MAX, 1); + + // Emit frame communication events + add_action('ngg_created_new_gallery', array(&$this, 'new_gallery_event')); + add_action('ngg_after_new_images_added',array(&$this, 'images_added_event')); + add_action('ngg_page_event', array(&$this, 'nextgen_page_event')); + add_action('ngg_manage_tags', array(&$this, 'manage_tags_event')); + + // We use two hooks here because we need it to execute for both the post-new.php + // page and ATP interface + add_action('plugins_loaded', array(&$this, 'fix_ie11'), 1); + add_action('admin_init', array(&$this, 'fix_ie11'), PHP_INT_MAX-1); + add_action('admin_enqueue_scripts', array(&$this, 'fix_ie11'), 1); + add_action('admin_enqueue_scripts', array(&$this, 'fix_ie11'), PHP_INT_MAX-1); + } + + /** + * WordPress sets the X-UA-Compatible header to IE=edge. Unfortunately, this causes problems with Plupload, + * so we have the send this header + */ + function fix_ie11() + { + if ((array_search('attach_to_post', array_keys($_REQUEST)) !== FALSE OR strpos($_SERVER['REQUEST_URI'], NGG_ATTACH_TO_POST_SLUG) !== FALSE OR strpos($_SERVER['REQUEST_URI'], 'wp-admin/post.php') !== FALSE OR strpos($_SERVER['REQUEST_URI'], 'wp-admin/post-new.php') !== FALSE)) { + if (!headers_sent()) { + header('X-UA-Compatible: IE=EmulateIE10'); + } + } + } + + /** + * Substitutes the gallery placeholder content with the gallery type frontend + * view, returns a list of static resources that need to be loaded + * @param string $content + */ + function substitute_placeholder_imgs($content) + { + // Get some utilities + $mapper = $this->get_registry()->get_utility('I_Displayed_Gallery_Mapper'); + $router = $this->get_registry()->get_utility('I_Router'); + + // To match ATP entries we compare the stored url against a generic path + // We must check HTTP and HTTPS as well as permalink and non-permalink forms + $preview_url = parse_url($router->join_paths( + $router->remove_url_segment('index.php', $router->get_base_url('root')), + '/nextgen-attach_to_post/preview' + )); + $router->debug = TRUE; + $preview_url = preg_quote($preview_url['host'] . $preview_url['path'], '#'); + + $alt_preview_url = parse_url($router->join_paths( + $router->remove_url_segment('index.php', $router->get_base_url('root')), + 'index.php/nextgen-attach_to_post/preview' + )); + $alt_preview_url = preg_quote($alt_preview_url['host'] . $alt_preview_url['path'], '#'); + + // The placeholder MUST have a gallery instance id + if (preg_match_all("#<img.*http(s)?://({$preview_url}|{$alt_preview_url})/id--(\\d+).*\\/>#mi", $content, $matches, PREG_SET_ORDER)) { + foreach ($matches as $match) { + // Find the displayed gallery + $displayed_gallery_id = $match[3]; + $displayed_gallery = $mapper->find($displayed_gallery_id, TRUE); + + // Get the content for the displayed gallery + $retval = '<p>'._('Invalid Displayed Gallery').'</p>'; + if ($displayed_gallery) { + $renderer = $this->get_registry()->get_utility('I_Displayed_Gallery_Renderer'); + $retval = $renderer->render($displayed_gallery, TRUE); + } + $content = str_replace($match[0], $retval, $content); + } + } + + return $content; + } + + /** + * Enqueues static resources required by the Attach to Post interface + */ + function enqueue_static_resources() + { + $router = $this->get_registry()->get_utility('I_Router'); + + // Enqueue resources needed at post/page level + if (preg_match("/\/wp-admin\/(post|post-new)\.php$/", $_SERVER['SCRIPT_NAME'])) { + $this->_enqueue_tinymce_resources(); + wp_enqueue_style( + 'ngg_attach_to_post_dialog', $router->get_static_url('photocrati-attach_to_post#attach_to_post_dialog.css') + ); + } + + elseif (isset($_REQUEST['attach_to_post']) OR + (isset($_REQUEST['page']) && strpos($_REQUEST['page'], 'nggallery') !== FALSE)) { + wp_enqueue_script('iframely', $router->get_static_url('photocrati-attach_to_post#iframely.js')); + wp_enqueue_style('iframely', $router->get_static_url('photocrati-attach_to_post#iframely.css')); + } + } + + + /** + * Enqueues resources needed by the TinyMCE editor + */ + function _enqueue_tinymce_resources() + { + wp_localize_script( + 'media-editor', + 'nextgen_gallery_attach_to_post_url', + C_NextGen_Settings::get_instance()->attach_to_post_url + ); + + // Registers our tinymce button and plugin for attaching galleries + $security = $this->get_registry()->get_utility('I_Security_Manager'); + $sec_actor = $security->get_current_actor(); + $checks = array( + $sec_actor->is_allowed('NextGEN Attach Interface'), + $sec_actor->is_allowed('NextGEN Use TinyMCE') + ); + if (!in_array(FALSE, $checks)) { + if (get_user_option('rich_editing') == 'true') { + add_filter('mce_buttons', array(&$this, 'add_attach_to_post_button')); + add_filter('mce_external_plugins', array(&$this, 'add_attach_to_post_tinymce_plugin')); + add_filter('wp_mce_translation', array($this, 'add_attach_to_post_tinymce_i18n')); + } + } + } + + + /** + * Adds a TinyMCE button for the Attach To Post plugin + * @param array $buttons + * @returns array + */ + function add_attach_to_post_button($buttons) + { + array_push( + $buttons, + 'separator', + $this->attach_to_post_tinymce_plugin + ); + return $buttons; + } + + + /** + * Adds the Attach To Post TinyMCE plugin + * @param array $plugins + * @return array + * @uses mce_external_plugins filter + */ + function add_attach_to_post_tinymce_plugin($plugins) + { + global $wp_version; + $router = $this->get_registry()->get_utility('I_Router'); + + if ($wp_version >= 3.9) + $file = $router->get_static_url('photocrati-attach_to_post#ngg_attach_to_post_tinymce_plugin.js'); + else + $file = $router->get_static_url('photocrati-attach_to_post#ngg_attach_to_post_tinymce_plugin_wp38_compat.js'); + + $plugins[$this->attach_to_post_tinymce_plugin] = $file; + return $plugins; + } + + + /** + * Adds the Attach To Post TinyMCE i18n strings + * @param $mce_translation + * @return mixed + */ + function add_attach_to_post_tinymce_i18n($mce_translation) + { + $mce_translation['ngg_attach_to_post.title'] = __('Attach NextGEN Gallery to Post', 'nggallery'); + return $mce_translation; + } + + + /** + * Locates the ids of displayed galleries that have been + * removed from the post, and flags then for cleanup (deletion) + * @global array $displayed_galleries_to_cleanup + * @param int $post_id + */ + function locate_stale_displayed_galleries($post_id) + { + global $displayed_galleries_to_cleanup; + $displayed_galleries_to_cleanup = array(); + $post = get_post($post_id); + $gallery_preview_url = C_NextGen_Settings::get_instance()->get('gallery_preview_url'); + $preview_url = preg_quote($gallery_preview_url, '#'); + if (preg_match_all("#{$preview_url}/id--(\d+)#", html_entity_decode($post->post_content), $matches, PREG_SET_ORDER)) { + foreach ($matches as $match) { + $preview_url = preg_quote($match[0], '/'); + // The post was edited, and the displayed gallery placeholder was removed + if (isset($_REQUEST['post_content']) && (!preg_match("/{$preview_url}/", $_POST['post_content']))) { + $displayed_galleries_to_cleanup[] = intval($match[1]); + } + // The post was deleted + elseif (!isset($_REQUEST['action'])) { + $displayed_galleries_to_cleanup[] = intval($match[1]); + } + } + } + } + + /** + * Deletes any displayed galleries that are no longer associated with + * a post/page + * @global array $displayed_galleries_to_cleanup + * @param int $post_id + */ + function cleanup_displayed_galleries($post_id) + { + global $displayed_galleries_to_cleanup; + $mapper = $this->get_registry()->get_utility('I_Displayed_Gallery_Mapper'); + foreach ($displayed_galleries_to_cleanup as $id) $mapper->destroy($id); + } + + + /** + * Notify frames that a new gallery has been created + * @param int $gallery_id + */ + function new_gallery_event($gallery_id) + { + $gallery = $this->get_registry()->get_utility('I_Gallery_Mapper')->find($gallery_id); + if ($gallery) { + $this->_get_frame_event_publisher()->add_event(array( + 'event' => 'new_gallery', + 'gallery_id'=> intval($gallery_id), + 'gallery_title' => $gallery->title + )); + } + } + + /** + * Notifies a frame that images have been added to a gallery + * @param int $gallery_id + * @param array $image_ids + */ + function images_added_event($gallery_id, $image_ids=array()) + { + $this->_get_frame_event_publisher()->add_event(array( + 'event' => 'images_added', + 'gallery_id' => intval($gallery_id) + )); + } + + /** + * Notifies a frame that the tags have changed + * + * @param array $tags + */ + function manage_tags_event($tags = array()) + { + $this->_get_frame_event_publisher()->add_event(array( + 'event' => 'manage_tags', + 'tags' => $tags + )); + } + + /** + * Notifies a frame that an action has been performed on a particular + * NextGEN page + * @param array $event + */ + function nextgen_page_event($event) + { + $this->_get_frame_event_publisher()->add_event($event); + } + + function get_type_list() + { + return array( + 'A_Attach_To_Post_Ajax' => 'adapter.attach_to_post_ajax.php', + 'C_Attach_To_Post_Installer' => 'class.attach_to_post_installer.php', + 'A_Attach_To_Post_Routes' => 'adapter.attach_to_post_routes.php', + 'A_Gallery_Storage_Frame_Event' => 'adapter.gallery_storage_frame_event.php', + 'C_Attach_Controller' => 'class.attach_controller.php', + 'C_Attach_To_Post_Proxy_Controller' => 'class.attach_to_post_proxy_controller.php', + 'I_Attach_To_Post_Controller' => 'interface.attach_to_post_controller.php', + 'Mixin_Attach_To_Post_Display_Tab' => 'mixin.attach_to_post_display_tab.php' + ); + } +} + +new M_Attach_To_Post(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/atp_button.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/atp_button.png new file mode 100644 index 0000000000000000000000000000000000000000..5ad79e6667f5dc774193dd3bb1aa4a46a817710e GIT binary patch literal 346 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1SFYWcSQjy&H|6fVg?3oVGw3ym^DWND9B#o z>FdgVkC|6kf<4$YRS_uk)6>N<#NzbPD~5i|h61bs|3AJ{bC_i^r9){;OyeYO#lB;L z8G^d(4qGM~MBX;OFVfv&)}6x5wQS?;<v*n=djy((=XU;fF1`G5!T0={cXvHSRm98w zeLHr)_HlS^RcF6;NodW2JoD+B&)xH5m#wl~o%HzL?W&^q9V?RE1VapYUFSxhHJIUO zlF-x^nUl6rL+$Is*`6oeEiB!RZ@Y2j@wp9wXRdG5-0?z3rZv_%C-&I64IG=T(x$n- zVUY$3ywN#*BcWv@qxuwiHnG;6j=9sAXUlmya_d>$UuDtv(6(U3`os>!r6z~PZ)acl pUKe{b(Eglx_+{Du-zL{EtyY_SpYv3W5ik%KJYD@<);T3K0RX5}h(-Va literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.css new file mode 100644 index 0000000..ed61fc0 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.css @@ -0,0 +1,279 @@ +html,body { + width: 100%; + min-height: 100%; + padding: 0px; + margin: 0px; + font-size: 13px; +} + +body { + position: absolute; + visibility: hidden; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + opacity: 0.0; +} + +.entity_errors { + color: red; +} + +.entity_errors ul { + margin-left: 30px; +} +.entity_errors ul li{ + list-style-type: disc; +} + +.ui-helper-reset { + font-size: 13px; +} + +#attach_to_post_tabs { + border: 0px; + background: none; + min-height: 100%; +} + +.ui-tabs-panel { + min-height: 100%; +} + +.ui-widget-header { + border: 0px; + border-bottom: 1px solid #dfdfdf; + background: none; +} + +iframe { + width: 100%; + min-height: 100%; + border: none; + padding: 0px; + margin: 0px; + background: transparent; +} + +#displayed_gallery_source { + width: 400px; +} + +/** Would would you like to display tab? **/ +#source_configuration td { + vertical-align: top; +} + +#source_configuration .chzn-choices input[type=text] { + height: auto !important; +} + +#slug_configuration #slug_label { + width: 52px; +} + +#slug_configuration #slug_column input[type=text] { + width: 498px; +} + +/** Select a display type tab **/ +.display_type_preview { + float: left; + width: 25%; +} +.display_type_preview .image_container { + width: 100%; + vertical-align: middle; + text-align: center; + font-size: 12px; + font-weight: 600; +} +.display_type_preview .image_container p { + display: inline-block; +} + +/** Display Tab **/ +#preview_tab_content .previewed_entity { + width: 100%; + border-bottom: solid 1px #E0E0D6; + background-color: #FAFAF0; +} + +#preview_tab_content .previewed_entity .container { + padding-top: 15px; +} + +#preview_tab_content .previewed_entity.header { + background-color: #F0F0E6; + padding-bottom: 5px; + padding-top: 5px; +} + +#preview_tab_content .header label { + font-size: 12px; + color: rgb(100,150,100); + font-weight: 600; +} + +#preview_tab_content .ui-sortable-helper { + background: none; +} + +#preview_tab_content ul { + list-style-type: none; + display: block; + border: solid 2px #E0E0D6; + padding: 0px; + position: relative; +} + + +#preview_tab_content .inclusion_checkbox { + margin-right: 7px; + display: block; + float: left; +} + +#preview_tab_content .image_container { + background-color: white; + background-repeat: no-repeat; + background-position: center center; + padding: 19px; + margin: 7px; + border: solid 1px black; + display: block; + vertical-align: middle; + text-align: center; + position: relative; +} + +#preview_tab_content .image_container img { + border: 0px; +} + +#preview_tab_content #entity_list li{ + float: left; +} + +#preview_tab_content #entity_list .ui-state-default { + background: none; + border: none; +} + +#preview_tab_content .placeholder{ + background-color: #e0ddc1; + position: relative; +} + +#preview_tab_content #entity_list .exclude_container { + display: block; + text-align: center; + margin: 0 auto; + color: black; + font-weight: normal; + position: absolute; + bottom: 2px; + left: 0px; + width: 100%; +} + +#preview_tab_content .header_row { + margin-bottom: 5px; +} +#preview_tab_content .header_row strong { + width: 70px; + display: inline-block; +} +#preview_tab_content .header_row .separator { + display: inline-block; + margin: 0px 5px; +} + +#preview_tab_content .header_row .selected { + font-weight: bold; +} + +#preview_tab_content #entity_list li.clear { + float: none; + clear: both; +} + +.clear { + clear: both; + float: none; +} + +table { + font-size: 13px; +} + +#display_settings_form table tr td:first-child { + vertical-align: top; + text-align: right; + padding-right: 7px; + width: 180px; +} + +#display_settings_form table td { + text-align: left; +} + +#display_settings_form table textarea { + height: 60px; +} + +#display_settings_form textarea, +#display_settings_form input[type=text], +#display_settings_form input[type=number], +#display_settings_form select { + width: 157px; +} + +#display_settings_form .ngg_slideshow_gallery_width, +#display_settings_form .ngg_slideshow_gallery_height, +#display_settings_form .ngg_thumbnail_dimension_width, +#display_settings_form .ngg_thumbnail_dimension_height { + width: 65px !important; +} + +#display_settings_form .nextgen_settings_colorpicker { + width: 85px !important; + text-align: center; +} + +/** + * Hacks used to ensure that Firefox can calculate the height of hidden content + * in iframes +**/ +.ui-tabs { + visibility: visible; + position: relative; +} +.ui-tabs +.ui-tabs-hide { + display: block !important; + visibility: hidden; + position: absolute; + top: -5000px; +} +.ui-tabs .main_menu_tab { + overflow: visible; +} +/** + * Make the active tab still clickable + **/ +.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: pointer; +} + +.select2-result-label { + white-space: nowrap; +} +.select2-results { + font-family: 'segoe ui', Arial, sans-serif; + font-size: 13px; +} + +/** Refresh button in the preview area **/ +.refresh_button { + float: right; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.js new file mode 100644 index 0000000..d047b8f --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.js @@ -0,0 +1,122 @@ +// Provides a function to close the TinyMCE popup window +function close_attach_to_post_window() +{ + parent.tinyMCE.activeEditor.windowManager.close(window); +} + +// Adjusts the height of a frame on the page, and then executes +// the specified callback +function adjust_height_for_frame(parent_window, current_window, callback) +{ + // Adjust height of the frame + var $frame = jQuery(current_window.frameElement); + var new_height = $frame.contents().height()/3; + var new_height_body = $frame.contents().find('#wpbody').height(); + var parent_height = jQuery(parent_window.document).height(); + var current_height = $frame.height(); + + if (new_height < new_height_body) new_height = new_height_body; + if (new_height < parent_height) new_height = parent_height; + + if (current_height < new_height) { + $frame.height(new_height); + + var frame_id = $frame.attr('id'); + if (frame_id && frame_id.indexOf('ngg-iframe-') == 0) { + var tab_id = frame_id.substr(11); + + if (tab_id) { + jQuery('#' + tab_id).height(new_height); + } + } + } + + if (callback != undefined) + return callback(parent_window, current_window, new_height); + else + return true; +} + +function ngg_get_measures_for_frame(frame) +{ + var $frame = jQuery(frame); + var frame_id = $frame.attr('id'); + var measures = {}; + + if (frame_id && frame_id.indexOf('ngg-iframe-') == 0) { + var tab_id = frame_id.substr(11); + + if (tab_id) { + var jDoc = jQuery(document); + + measures.scrollTop = jDoc.scrollTop() - 40; // remove around 40 for tabs and padding + + if (window.parent) { + var jparDoc = jQuery(window.parent.document); + + measures.scrollHeight = jparDoc.find('.ngg_attach_to_post_window').height() - 40; // remove around 40 for tabs and padding + } + else { + measures.scrollHeight = jDoc.height(); + } + + if (typeof(window.console) != 'undefined') { + console.log(measures); + } + } + } + + return measures; +} + +// Activates the attach to post screen elements +jQuery(function($){ + // Activate horizontal tabs + $('#attach_to_post_tabs').ngg_tabs(); + + // If the preview area is being displayed, emit an event for that + $('.accordion h3').bind('click', function(e){ + if ($(this).attr('id') == 'preview_tab') { + $('#preview_area').trigger('opened'); + } + }); + + // Activate accordion for display tab + $('.accordion').accordion({ + clearStyle: true, + autoHeight: false, + heightStyle: 'content' + }); + + // If the active display tab is clicked, then we assume that the user + // wants to display the original tab content + $('.ui-tabs-nav a').click(function(e){ + + var element = e.target ? e.target : e.srcElement; + + // If the accordion tab is used to display an iframe, ensure when + // clicked that the original iframe content is always displayed + if ($(element).parent().hasClass('ui-state-active')) { + var iframe = $(element.hash+' iframe'); + if (iframe.length > 0) { + if (iframe[0].contentDocument.location != iframe.attr('src')) { + iframe[0].contentDocument.location = iframe.attr('src'); + } + } + } + }); + + // Close the window when the escape key is pressed + $(this).keydown(function(e){ + if (e.keyCode == 27) close_attach_to_post_window(); + return; + }); + + // Fade in now that all GUI elements are intact + $('body').css({ + position: 'static', + visibility: 'visible' + }).animate({ + opacity: 1.0 + }); +}); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post_dialog.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post_dialog.css new file mode 100644 index 0000000..991c35b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post_dialog.css @@ -0,0 +1,56 @@ +/* TinyMCE 4 rules */ +#ngg_attach_to_post_dialog-title { + display: none; +} + +#ngg_attach_to_post_dialog-head { + min-height: 0; + height: 0; +} + +#ngg_attach_to_post_dialog-head .mce-close { + position: absolute; + top: 6px !important; + right: 20px !important; + z-index: 2; +} + +.ngg_attach_to_post_window { + position: relative; + border: none !important; +} + +/* TinyMCE 3 rules */ +.ngg_attach_to_post_window .mceResize, +.ngg_attach_to_post_window .mceTop, +.ngg_attach_to_post_window .mceBottom, +.ngg_attach_to_post_window .mceLeft, +.ngg_attach_to_post_window .mceRight, +.ngg_attach_to_post_window .mceCenter { + background: transparent !important; + border: none !important; +} + +.ngg_attach_to_post_window .mceMiddle span { + padding-top: 6px !important; +} + +.ngg_attach_to_post_window .mceTop { + display: block !important; + height: 0px !important; + font-size: 0px !important; +} + +.ngg_attach_to_post_window .mceClose { + background: url('uploader-icons.png') !important; + display: block !important; + margin: 0 !important; + padding: 0 !important; + width: 15px !important; + height: 15px !important; + background-position: -100px 0 !important; + position: absolute !important; + top: 44px !important; + right: 30px !important; +} + diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.css new file mode 100644 index 0000000..0d4fed0 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.css @@ -0,0 +1,30 @@ +/* keep the ATP background white */ +html#iframely { + background: white !important; +} + +#iframely, #iframely body { + padding: 0px; + width: 100%; + height: 100%; +} + +#iframely { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + opacity: 0.0; + background-position: center center; + background-repeat: no-repeat; + position: absolute; + visibility: hidden; +} + +#iframely #wpbody-content { + float: none; + padding: 0px; +} + +#iframely h2, +#iframely #icon-nextgen-gallery { + display: none; +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.js new file mode 100644 index 0000000..441f459 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.js @@ -0,0 +1,63 @@ +if (window.frameElement) { + document.getElementsByTagName('html')[0].id = 'iframely'; + jQuery(function($){ + $('#wpwrap').html($('#wpbody').html($('#wpbody-content').html($('#ngg_page_content')))); + + // We need to ensure that any POST operation includes the "attach_to_post" + // parameter, to display subsequent clicks in iframely. + $('form').each(function(){ + $(this).append("<input type='hidden' name='attach_to_post' value='1'/>"); + }); + + var parent = window.parent; + + if (parent == null || typeof(parent.adjust_height_for_frame) == "undefined") { + if (window != null && typeof(window.adjust_height_for_frame) != "undefined") { + parent = window; + } + } + + // Adjust the height of the frame + var recursive_check = true; + if (recursive_check) { + if (typeof(parent.adjust_height_for_frame) != "undefined") { + parent.adjust_height_for_frame(parent, window, iframely_callback); + } + } + else { + if (typeof(parent.adjust_height_for_frame) != "undefined") { + // Adjust the height of the frame + parent.adjust_height_for_frame(parent, window, function(){ + $('#iframely').css({ + position: 'static', + visibility: 'visible' + }).animate({ + opacity: 1.0 + }); + }); + } + } + }); +} + +function iframely_callback(parent_window, current_window, new_height) +{ + var $current_window = jQuery(current_window); + + if (typeof($current_window.data('iframely')) == 'undefined') $current_window.data('iframely', {attempts: 1}); + var iframely = $current_window.data('iframely'); + + // After we've attempted to resize the frame 3 times, give up + if (iframely.attempts == 3) { + jQuery('#iframely').css({ + position: 'static', + visibility: 'visible' + }).animate({ opacity: 1.0 }); + } + else { + iframely.attempts += 1; + setTimeout(function(){ + parent_window.adjust_height_for_frame(parent_window, current_window, iframely_callback); + }, 400); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/invalid_image.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/invalid_image.png new file mode 100644 index 0000000000000000000000000000000000000000..28ad61bfcb29d31f649315119259faf3a45ef64b GIT binary patch literal 2857 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 Hu0mjftaoAQ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/nextgen.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/nextgen.gif new file mode 100644 index 0000000000000000000000000000000000000000..24d0f2b520d60a60a2ec82a6dd7b9bbe093c0389 GIT binary patch literal 963 zcmXX_VMtq76#ia(YSx<7t^Rmx6Ny{Px>+OyX{{FOR5}YXUnQ)vW#W677~^Y6ov+V9 z#Au~UYkuTMO5G@1TBNL^ophxLO}&XY=Om1=`D1Ltbd$9vVGK2sX~^4svG>Ql-#z!c z=X~d!d*3~Gw(68nf)Z>4td5<yaXK&_I(@b`{_C>M8L<y_Ogwnh^nM_<vDNW~Wbc`? zwFM&gdT-B6to@Z5n}3wq$=DxAp`Ii0$HNUR0sE!M+~*CpworU=Df5sWo(VOzc$fc3 z+1!zi8&cB;fvtZtz4yEwSLRZQtxPr}J@$sKRNBPQ+)r^AH~^zwi~}x;fN8kz18ztZ z^Qw<glLF;1bf?pf_r^*s@^W?{xMr2sR}756G76S&;rSRi5l{|{o`Td5gYf{X@NqD^ z5VTN$N$+8G1}9hrzg+J-$v1U79MpU)8#tr>-K}y^(YIs52^OLgih_+USkDWh0}5p| z0M&rK7=6LCAd!m(;$dY^1U2hSi~|AWQv7xjgCfETwyX4D5-;NJe2Ek75Jk=9w`0+P z_G+W(pct0{uLZ_E|33l=Eniv_bV^K@0hd^OjP!AkBnSr?Sb2i=GvL0Xv5@Wr83!qZ zJmigMnO#-jRL}%WHDF_K5-2iX_6hT0OmJx0TC>ptwYpn%Pzuj&GKsqaH$&~CZHLDX z`CL!Kkhk~BEKmis{s6;Z4_~lQX~;<fte=9IK+=$V_)1F2aiY+ri;zr$<7lg<i@ws` zNuXKFrJptcyYzBD&9(Ijk}vcZ&HoPaJxBr7zvRiTKUKMAO@H3)O)T6+v!?BOrJu*3 z19gbPYl|XL4NmJ9b(MP+biu~6w3Q@9!YML-W=6gS(S!6t_F@3=0b%I2M=?Sx<;wM_ zvBHhc%Nt#dc}|r5$7+uY$F)iO6NUOP7`?G^Djd72KlrwN!LsVlf8+JK;i}oXy8TD3 z?xkt->d>nt75wwshxP0Tdp;bE#_Ik14^@Ox#k2MA6uo9O{u4B>Exi1e`N%Q8xZzsC zoBM+1bJ0P4{=UZIqkeO}@1^`w$x?Qw`@;SFSH@hvo3(}CI6r&O)LQmzQ0Mt`@uTvo hN#ylymU6+Vi$9Qo@~z3*>8aIg{)6Rh5sMi${{vJgMic-5 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.js new file mode 100644 index 0000000..e14feab --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.js @@ -0,0 +1,136 @@ +// Self-executing function to create and register the TinyMCE plugin +(function(siteurl) { + + // Create the plugin. We'll register it afterwards + tinymce.create('tinymce.plugins.NextGEN_AttachToPost', { + + /** + * The WordPress Site URL + */ + siteurl: siteurl, + + /** + * Returns metadata about this plugin + */ + getInfo: function() { + return { + longname: 'NextGEN Gallery', + author: 'Photocrati Media', + authorurl: 'http://www.photocrati.com', + infourl: 'http://www.nextgen-gallery.com', + version: '0.1' + }; + }, + + /** + * Initializes the plugin, this will be executed after the plugin has been created. + */ + init: function(editor, plugin_url) { + var self = this; + + // TinyMCE 4s events are a bit weird, but this lets us listen to the window-manager close event + editor.windowManager.nggOldOpen = editor.windowManager.open; + editor.windowManager.open = function(one, two) { + var modal = editor.windowManager.nggOldOpen(one, two); + modal.on('close', self.wm_close_event); + }; + + // Register a new TinyMCE command + editor.addCommand('ngg_attach_to_post', this.render_attach_to_post_interface, { + editor: editor, + plugin: editor.plugins.NextGEN_AttachToPost + }); + + // Add a button to trigger the above command + editor.addButton('NextGEN_AttachToPost', { + title: 'ngg_attach_to_post.title', + cmd: 'ngg_attach_to_post', + image: plugin_url+'/atp_button.png' + }); + + // When the shortcode is clicked, open the attach to post interface + editor.settings.extended_valid_elements += ",shortcode"; + editor.settings.custom_elements = "shortcode"; + + editor.on('mouseup', function(e) { + if (e.target.tagName == 'IMG') { + if (self.get_class_name(e.target).indexOf('ngg_displayed_gallery') >= 0) { + editor.dom.events.cancel(e); + var id = e.target.src.match(/\d+$/); + if (id) id = id.pop(); + var obj = tinymce.extend(self, { + editor: editor, + plugin: editor.plugins.NextGEN_AttachToPost, + id: id + }); + self.render_attach_to_post_interface(id); + } + } + }); + }, + + get_class_name: function(node) { + var class_name = node.getAttribute('class') ? node.getAttribute('class') : node.className; + if (class_name) { + return class_name; + } else { + return ""; + } + }, + + wm_close_event: function() { + // Restore scrolling for the main content window when the attach to post interface is closed + jQuery('html,body').css('overflow', 'auto'); + tinyMCE.activeEditor.selection.select(tinyMCE.activeEditor.dom.select('p')[0]); + tinyMCE.activeEditor.selection.collapse(0); + }, + + /** + * Renders the attach to post interface + */ + render_attach_to_post_interface: function(id) { + // Determine the attach to post url + var attach_to_post_url = nextgen_gallery_attach_to_post_url; + if (typeof(id) != 'undefined') { + attach_to_post_url += "?id=" + this.id; + } + + var win = window; + while (win.parent != null && win.parent != win) { + win = win.parent; + } + + win = jQuery(win); + var winWidth = win.width(); + var winHeight = win.height(); + var popupWidth = 1200; + var popupHeight = 600; + var minWidth = 800; + var minHeight = 600; + var maxWidth = winWidth - (winWidth * 0.05); + var maxHeight = winHeight - (winHeight * 0.05); + + if (maxWidth < minWidth) { maxWidth = winWidth - 10; } + if (maxHeight < minHeight) { maxHeight = winHeight - 10; } + if (popupWidth > maxWidth) { popupWidth = maxWidth; } + if (popupHeight > maxHeight) { popupHeight = maxHeight; } + + // Open a window, occupying 90% of the screen real estate + this.editor.windowManager.open({ + url: attach_to_post_url, + id: 'ngg_attach_to_post_dialog', + width: popupWidth, + height: popupHeight, + title: "NextGEN Gallery - Attach To Post" + }); + + // Ensure that the window cannot be scrolled - XXX actually allow scrolling in the main window and disable it for the inner-windows/frames/elements as to create a single scrollbar + jQuery('html,body').css('overflow', 'hidden'); + jQuery('#ngg_attach_to_post_dialog_ifr').css('overflow-y', 'auto'); + jQuery('#ngg_attach_to_post_dialog_ifr').css('overflow-x', 'hidden'); + } + }); + + // Register plugin + tinymce.PluginManager.add('NextGEN_AttachToPost', tinymce.plugins.NextGEN_AttachToPost); +})(photocrati_ajax.wp_site_url); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin_wp38_compat.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin_wp38_compat.js new file mode 100644 index 0000000..e4c71bf --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin_wp38_compat.js @@ -0,0 +1,200 @@ +// Self-executing function to create and register the TinyMCE plugin +(function(siteurl) { + + tinyMCE.addI18n('en.ngg_attach_to_post', { + title: 'Attach NextGEN Gallery to Post' + }); + + // Create the plugin. We'll register it afterwards + tinymce.create('tinymce.plugins.NextGEN_AttachToPost', { + + /** + * The WordPress Site URL + **/ + siteurl: siteurl, + + /** + * Returns metadata about this plugin + */ + getInfo: function() { + return { + longname: 'NextGEN Gallery', + author: 'Photocrati Media', + authorurl: 'http://www.photocrati.com', + infourl: 'http://www.nextgen-gallery.com', + version: '0.1' + }; + }, + + + /** + * Initializes the plugin, this will be executed after the plugin has been created. + */ + init: function(editor, plugin_url) { + + // Register a new TinyMCE command + editor.addCommand('ngg_attach_to_post', this.render_attach_to_post_interface, { + editor: editor, + plugin: editor.plugins.NextGEN_AttachToPost + }); + + // Add a button to trigger the above command + editor.addButton('NextGEN_AttachToPost', { + title: 'ngg_attach_to_post.title', + cmd: 'ngg_attach_to_post', + image: plugin_url+'/nextgen.gif' + }); + + // When the shortcode is clicked, open the attach to post interface + editor.settings.extended_valid_elements += ",shortcode"; + editor.settings.custom_elements = "shortcode"; + var self = this; + var drag_in_progress = false; + var click_timer; + + editor.onMouseDown.addToTop(function(editor, e) { + if (e.target.tagName == 'IMG') { + if (self.get_class_name(e.target).indexOf('ngg_displayed_gallery') >= 0) { + click_timer = setTimeout(function() { + drag_in_progress = true; + }, 250); + } + } + }); + + editor.onMouseUp.addToTop(function(editor, e) { + if (!drag_in_progress && e.target.tagName == 'IMG') { + if (self.get_class_name(e.target).indexOf('ngg_displayed_gallery') >= 0) { + editor.dom.events.cancel(e); + editor.dom.events.stop(e); + var id = e.target.src.match(/\d+$/); + if (id) id = id.pop(); + var obj = tinymce.extend(self, { + editor: editor, + plugin: editor.plugins.NextGEN_AttachToPost, + id: id + }); + self.render_attach_to_post_interface.call(obj); + } + } + clearTimeout(click_timer); + drag_in_progress = false; + }); + }, + + get_class_name: function(node) { + var class_name = node.getAttribute('class') ? + node.getAttribute('class') : node.className; + + if (class_name) return class_name; + else return ""; + }, + + + /** + * Renders the attach to post interface + */ + render_attach_to_post_interface: function(id) { + + // Determine the attach to post url + var attach_to_post_url = nextgen_gallery_attach_to_post_url; + if (typeof(this.id) != 'undefined') { + attach_to_post_url += "?id="+this.id; + } + + // We're going to open a dialog window. TinyMCE doesn't + // get the positioning exactly right, so we add an event + // handler to make adjustments + // + // We also make the parent window unscrollable, to avoid + // multiple scrollbars + this.editor.windowManager.onOpen.add(function(win){ + + // Assign the window the "ngg_attach_to_post_window" so that + // we can style it + var window_selector = '#'; + if (win.params && win.params.mce_window_id) + window_selector += win.params.mce_window_id; + else if (win.features && win.features.id) + window_selector += win.features.id; + + var callback = function(selector, callback){ + var obj = jQuery(selector); + if (obj.length == 0) { + setTimeout(function(){ + callback.call(null, selector, callback); + }, 5); + } + else { + obj.addClass('ngg_attach_to_post_window'); + } + } + setTimeout(function(){ + callback.call(null, window_selector, callback); + },5); + + jQuery('html,body').css('overflow', 'hidden'); + }); + + // Restore scrolling for the main content window + // when the attach to post interface is closed + this.editor.windowManager.onClose.add(function(win){ + jQuery('html,body').css('overflow', 'auto'); + tinyMCE.activeEditor.selection.select(tinyMCE.activeEditor.dom.select('p')[0]); + tinyMCE.activeEditor.selection.collapse(0); + }); + + var popupDialog = jQuery('<div style="display:none;"><div id="ngg_attach_to_post_dialog" tabindex="-1" action=""></div></div>'); + popupDialog.appendTo(jQuery(document.body)); + + var win = window; + + while (win.parent != null && win.parent != win) { + win = win.parent; + } + + win = jQuery(win); + var winWidth = win.width(); + var winHeight = win.height(); + var popupWidth = 1200; + var popupHeight = 600; + var minWidth = 800; + var minHeight = 600; + var maxWidth = winWidth - (winWidth * 0.05); + var maxHeight = winHeight - (winHeight * 0.05); + + if (maxWidth < minWidth) { + maxWidth = winWidth - 10; + } + + if (maxHeight < minHeight) { + maxHeight = winHeight - 10; + } + + if (popupWidth > maxWidth) { + popupWidth = maxWidth; + } + + if (popupHeight > maxHeight) { + popupHeight = maxHeight; + } + + // Open a window, occupying 90% of the screen real estate + var popup = this.editor.windowManager.open({ + file: attach_to_post_url, + id: 'ngg_attach_to_post_dialog', + width: popupWidth, + height: popupHeight, + inline: true, + title: "NextGEN Gallery - Attach To Post" + }); + + // Ensure that the window cannot be scrolled - XXX actually allow scrolling in the main window and disable it for the inner-windows/frames/elements as to create a single scrollbar + jQuery('#'+popup.id+'_ifr').css('overflow-y', 'auto'); + jQuery('#'+popup.id+'_ifr').css('overflow-x', 'hidden'); + } + }); + + // Register plugin + tinymce.PluginManager.add('NextGEN_AttachToPost', tinymce.plugins.NextGEN_AttachToPost); +})(photocrati_ajax.wp_site_url); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_tabs.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_tabs.js new file mode 100644 index 0000000..265b141 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_tabs.js @@ -0,0 +1,57 @@ +jQuery(function($){ + + // Creates a Firefox-friendly wrapper around jQuery Tabs + $.fn.ngg_tabs = function(options){ + + // Create jQuery tabs + this.tabs(options); + + // Change from display:none to visbibility:hidden + var i = 0; + this.find('.main_menu_tab').each(function(){ + if (i == 0) $.fn.ngg_tabs.show_tab(this); + else $.fn.ngg_tabs.hide_tab(this); + i++; + }); + + // When the selected tab changes, then we need to re-adjust + this.bind('tabsactivate', function(event, ui){ + + // Ensure that all tabs are still displayed, but hidden ;) + $.fn.ngg_tabs.hide_tab($.fn.ngg_tabs.get_tab_by_li(ui.oldTab)); + $.fn.ngg_tabs.show_tab($.fn.ngg_tabs.get_tab_by_li(ui.newTab)); + }); + }; + + $.fn.ngg_tabs.hide_tab = function(tab){ + tab = $(tab); + setTimeout(function(){ + tab.css({ + display: 'block', + position: 'absolute', + top: -1000, + visibility: 'hidden', + height: 0 + }); + }, 0); + }; + + $.fn.ngg_tabs.show_tab = function(tab){ + tab = $(tab); + setTimeout(function(){ + tab.css({ + display: 'block', + position: 'static', + top: 0, + visibility: 'visible', + height: '100%' + }); + }, 0); + }; + + $.fn.ngg_tabs.get_tab_by_li = function(list_item){ + var active_id = list_item.attr('aria-labelledby'); + var active_tab = list_item.parents('div').find('.main_menu_tab[aria-labelledby="'+active_id+'"]'); + return active_tab; + } +}); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/spinner.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..5b33f7e54f4e55b6b8774d86d96895db9af044b4 GIT binary patch literal 1849 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 EAHN$8j{pDw literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/underscore.string.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/underscore.string.js new file mode 100644 index 0000000..965a477 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/underscore.string.js @@ -0,0 +1,600 @@ +// Underscore.string +// (c) 2010 Esa-Matti Suuronen <esa-matti aet suuronen dot org> +// Underscore.string is freely distributable under the terms of the MIT license. +// Documentation: https://github.com/epeli/underscore.string +// Some code is borrowed from MooTools and Alexandru Marasteanu. +// Version '2.3.0' + +!function(root, String){ + 'use strict'; + + // Defining helper functions. + + var nativeTrim = String.prototype.trim; + var nativeTrimRight = String.prototype.trimRight; + var nativeTrimLeft = String.prototype.trimLeft; + + var parseNumber = function(source) { return source * 1 || 0; }; + + var strRepeat = function(str, qty){ + if (qty < 1) return ''; + var result = ''; + while (qty > 0) { + if (qty & 1) result += str; + qty >>= 1, str += str; + } + return result; + }; + + var slice = [].slice; + + var defaultToWhiteSpace = function(characters) { + if (characters == null) + return '\\s'; + else if (characters.source) + return characters.source; + else + return '[' + _s.escapeRegExp(characters) + ']'; + }; + + var escapeChars = { + lt: '<', + gt: '>', + quot: '"', + apos: "'", + amp: '&' + }; + + var reversedEscapeChars = {}; + for(var key in escapeChars){ reversedEscapeChars[escapeChars[key]] = key; } + + // sprintf() for JavaScript 0.7-beta1 + // http://www.diveintojavascript.com/projects/javascript-sprintf + // + // Copyright (c) Alexandru Marasteanu <alexaholic [at) gmail (dot] com> + // All rights reserved. + + var sprintf = (function() { + function get_type(variable) { + return Object.prototype.toString.call(variable).slice(8, -1).toLowerCase(); + } + + var str_repeat = strRepeat; + + var str_format = function() { + if (!str_format.cache.hasOwnProperty(arguments[0])) { + str_format.cache[arguments[0]] = str_format.parse(arguments[0]); + } + return str_format.format.call(null, str_format.cache[arguments[0]], arguments); + }; + + str_format.format = function(parse_tree, argv) { + var cursor = 1, tree_length = parse_tree.length, node_type = '', arg, output = [], i, k, match, pad, pad_character, pad_length; + for (i = 0; i < tree_length; i++) { + node_type = get_type(parse_tree[i]); + if (node_type === 'string') { + output.push(parse_tree[i]); + } + else if (node_type === 'array') { + match = parse_tree[i]; // convenience purposes only + if (match[2]) { // keyword argument + arg = argv[cursor]; + for (k = 0; k < match[2].length; k++) { + if (!arg.hasOwnProperty(match[2][k])) { + throw new Error(sprintf('[_.sprintf] property "%s" does not exist', match[2][k])); + } + arg = arg[match[2][k]]; + } + } else if (match[1]) { // positional argument (explicit) + arg = argv[match[1]]; + } + else { // positional argument (implicit) + arg = argv[cursor++]; + } + + if (/[^s]/.test(match[8]) && (get_type(arg) != 'number')) { + throw new Error(sprintf('[_.sprintf] expecting number but found %s', get_type(arg))); + } + switch (match[8]) { + case 'b': arg = arg.toString(2); break; + case 'c': arg = String.fromCharCode(arg); break; + case 'd': arg = parseInt(arg, 10); break; + case 'e': arg = match[7] ? arg.toExponential(match[7]) : arg.toExponential(); break; + case 'f': arg = match[7] ? parseFloat(arg).toFixed(match[7]) : parseFloat(arg); break; + case 'o': arg = arg.toString(8); break; + case 's': arg = ((arg = String(arg)) && match[7] ? arg.substring(0, match[7]) : arg); break; + case 'u': arg = Math.abs(arg); break; + case 'x': arg = arg.toString(16); break; + case 'X': arg = arg.toString(16).toUpperCase(); break; + } + arg = (/[def]/.test(match[8]) && match[3] && arg >= 0 ? '+'+ arg : arg); + pad_character = match[4] ? match[4] == '0' ? '0' : match[4].charAt(1) : ' '; + pad_length = match[6] - String(arg).length; + pad = match[6] ? str_repeat(pad_character, pad_length) : ''; + output.push(match[5] ? arg + pad : pad + arg); + } + } + return output.join(''); + }; + + str_format.cache = {}; + + str_format.parse = function(fmt) { + var _fmt = fmt, match = [], parse_tree = [], arg_names = 0; + while (_fmt) { + if ((match = /^[^\x25]+/.exec(_fmt)) !== null) { + parse_tree.push(match[0]); + } + else if ((match = /^\x25{2}/.exec(_fmt)) !== null) { + parse_tree.push('%'); + } + else if ((match = /^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(_fmt)) !== null) { + if (match[2]) { + arg_names |= 1; + var field_list = [], replacement_field = match[2], field_match = []; + if ((field_match = /^([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) { + field_list.push(field_match[1]); + while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') { + if ((field_match = /^\.([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) { + field_list.push(field_match[1]); + } + else if ((field_match = /^\[(\d+)\]/.exec(replacement_field)) !== null) { + field_list.push(field_match[1]); + } + else { + throw new Error('[_.sprintf] huh?'); + } + } + } + else { + throw new Error('[_.sprintf] huh?'); + } + match[2] = field_list; + } + else { + arg_names |= 2; + } + if (arg_names === 3) { + throw new Error('[_.sprintf] mixing positional and named placeholders is not (yet) supported'); + } + parse_tree.push(match); + } + else { + throw new Error('[_.sprintf] huh?'); + } + _fmt = _fmt.substring(match[0].length); + } + return parse_tree; + }; + + return str_format; + })(); + + + + // Defining underscore.string + + var _s = { + + VERSION: '2.3.0', + + isBlank: function(str){ + if (str == null) str = ''; + return (/^\s*$/).test(str); + }, + + stripTags: function(str){ + if (str == null) return ''; + return String(str).replace(/<\/?[^>]+>/g, ''); + }, + + capitalize : function(str){ + str = str == null ? '' : String(str); + return str.charAt(0).toUpperCase() + str.slice(1); + }, + + chop: function(str, step){ + if (str == null) return []; + str = String(str); + step = ~~step; + return step > 0 ? str.match(new RegExp('.{1,' + step + '}', 'g')) : [str]; + }, + + clean: function(str){ + return _s.strip(str).replace(/\s+/g, ' '); + }, + + count: function(str, substr){ + if (str == null || substr == null) return 0; + return String(str).split(substr).length - 1; + }, + + chars: function(str) { + if (str == null) return []; + return String(str).split(''); + }, + + swapCase: function(str) { + if (str == null) return ''; + return String(str).replace(/\S/g, function(c){ + return c === c.toUpperCase() ? c.toLowerCase() : c.toUpperCase(); + }); + }, + + escapeHTML: function(str) { + if (str == null) return ''; + return String(str).replace(/[&<>"']/g, function(m){ return '&' + reversedEscapeChars[m] + ';'; }); + }, + + unescapeHTML: function(str) { + if (str == null) return ''; + return String(str).replace(/\&([^;]+);/g, function(entity, entityCode){ + var match; + + if (entityCode in escapeChars) { + return escapeChars[entityCode]; + } else if (match = entityCode.match(/^#x([\da-fA-F]+)$/)) { + return String.fromCharCode(parseInt(match[1], 16)); + } else if (match = entityCode.match(/^#(\d+)$/)) { + return String.fromCharCode(~~match[1]); + } else { + return entity; + } + }); + }, + + escapeRegExp: function(str){ + if (str == null) return ''; + return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1'); + }, + + splice: function(str, i, howmany, substr){ + var arr = _s.chars(str); + arr.splice(~~i, ~~howmany, substr); + return arr.join(''); + }, + + insert: function(str, i, substr){ + return _s.splice(str, i, 0, substr); + }, + + include: function(str, needle){ + if (needle === '') return true; + if (str == null) return false; + return String(str).indexOf(needle) !== -1; + }, + + join: function() { + var args = slice.call(arguments), + separator = args.shift(); + + if (separator == null) separator = ''; + + return args.join(separator); + }, + + lines: function(str) { + if (str == null) return []; + return String(str).split("\n"); + }, + + reverse: function(str){ + return _s.chars(str).reverse().join(''); + }, + + startsWith: function(str, starts){ + if (starts === '') return true; + if (str == null || starts == null) return false; + str = String(str); starts = String(starts); + return str.length >= starts.length && str.slice(0, starts.length) === starts; + }, + + endsWith: function(str, ends){ + if (ends === '') return true; + if (str == null || ends == null) return false; + str = String(str); ends = String(ends); + return str.length >= ends.length && str.slice(str.length - ends.length) === ends; + }, + + succ: function(str){ + if (str == null) return ''; + str = String(str); + return str.slice(0, -1) + String.fromCharCode(str.charCodeAt(str.length-1) + 1); + }, + + titleize: function(str){ + if (str == null) return ''; + return String(str).replace(/(?:^|\s)\S/g, function(c){ return c.toUpperCase(); }); + }, + + camelize: function(str){ + return _s.trim(str).replace(/[-_\s]+(.)?/g, function(match, c){ return c.toUpperCase(); }); + }, + + underscored: function(str){ + return _s.trim(str).replace(/([a-z\d])([A-Z]+)/g, '$1_$2').replace(/[-\s]+/g, '_').toLowerCase(); + }, + + dasherize: function(str){ + return _s.trim(str).replace(/([A-Z])/g, '-$1').replace(/[-_\s]+/g, '-').toLowerCase(); + }, + + classify: function(str){ + return _s.titleize(String(str).replace(/_/g, ' ')).replace(/\s/g, ''); + }, + + humanize: function(str){ + return _s.capitalize(_s.underscored(str).replace(/_id$/,'').replace(/_/g, ' ')); + }, + + trim: function(str, characters){ + if (str == null) return ''; + if (!characters && nativeTrim) return nativeTrim.call(str); + characters = defaultToWhiteSpace(characters); + return String(str).replace(new RegExp('\^' + characters + '+|' + characters + '+$', 'g'), ''); + }, + + ltrim: function(str, characters){ + if (str == null) return ''; + if (!characters && nativeTrimLeft) return nativeTrimLeft.call(str); + characters = defaultToWhiteSpace(characters); + return String(str).replace(new RegExp('^' + characters + '+'), ''); + }, + + rtrim: function(str, characters){ + if (str == null) return ''; + if (!characters && nativeTrimRight) return nativeTrimRight.call(str); + characters = defaultToWhiteSpace(characters); + return String(str).replace(new RegExp(characters + '+$'), ''); + }, + + truncate: function(str, length, truncateStr){ + if (str == null) return ''; + str = String(str); truncateStr = truncateStr || '...'; + length = ~~length; + return str.length > length ? str.slice(0, length) + truncateStr : str; + }, + + /** + * _s.prune: a more elegant version of truncate + * prune extra chars, never leaving a half-chopped word. + * @author github.com/rwz + */ + prune: function(str, length, pruneStr){ + if (str == null) return ''; + + str = String(str); length = ~~length; + pruneStr = pruneStr != null ? String(pruneStr) : '...'; + + if (str.length <= length) return str; + + var tmpl = function(c){ return c.toUpperCase() !== c.toLowerCase() ? 'A' : ' '; }, + template = str.slice(0, length+1).replace(/.(?=\W*\w*$)/g, tmpl); // 'Hello, world' -> 'HellAA AAAAA' + + if (template.slice(template.length-2).match(/\w\w/)) + template = template.replace(/\s*\S+$/, ''); + else + template = _s.rtrim(template.slice(0, template.length-1)); + + return (template+pruneStr).length > str.length ? str : str.slice(0, template.length)+pruneStr; + }, + + words: function(str, delimiter) { + if (_s.isBlank(str)) return []; + return _s.trim(str, delimiter).split(delimiter || /\s+/); + }, + + pad: function(str, length, padStr, type) { + str = str == null ? '' : String(str); + length = ~~length; + + var padlen = 0; + + if (!padStr) + padStr = ' '; + else if (padStr.length > 1) + padStr = padStr.charAt(0); + + switch(type) { + case 'right': + padlen = length - str.length; + return str + strRepeat(padStr, padlen); + case 'both': + padlen = length - str.length; + return strRepeat(padStr, Math.ceil(padlen/2)) + str + + strRepeat(padStr, Math.floor(padlen/2)); + default: // 'left' + padlen = length - str.length; + return strRepeat(padStr, padlen) + str; + } + }, + + lpad: function(str, length, padStr) { + return _s.pad(str, length, padStr); + }, + + rpad: function(str, length, padStr) { + return _s.pad(str, length, padStr, 'right'); + }, + + lrpad: function(str, length, padStr) { + return _s.pad(str, length, padStr, 'both'); + }, + + sprintf: sprintf, + + vsprintf: function(fmt, argv){ + argv.unshift(fmt); + return sprintf.apply(null, argv); + }, + + toNumber: function(str, decimals) { + if (str == null || str == '') return 0; + str = String(str); + var num = parseNumber(parseNumber(str).toFixed(~~decimals)); + return num === 0 && !str.match(/^0+$/) ? Number.NaN : num; + }, + + numberFormat : function(number, dec, dsep, tsep) { + if (isNaN(number) || number == null) return ''; + + number = number.toFixed(~~dec); + tsep = tsep || ','; + + var parts = number.split('.'), fnums = parts[0], + decimals = parts[1] ? (dsep || '.') + parts[1] : ''; + + return fnums.replace(/(\d)(?=(?:\d{3})+$)/g, '$1' + tsep) + decimals; + }, + + strRight: function(str, sep){ + if (str == null) return ''; + str = String(str); sep = sep != null ? String(sep) : sep; + var pos = !sep ? -1 : str.indexOf(sep); + return ~pos ? str.slice(pos+sep.length, str.length) : str; + }, + + strRightBack: function(str, sep){ + if (str == null) return ''; + str = String(str); sep = sep != null ? String(sep) : sep; + var pos = !sep ? -1 : str.lastIndexOf(sep); + return ~pos ? str.slice(pos+sep.length, str.length) : str; + }, + + strLeft: function(str, sep){ + if (str == null) return ''; + str = String(str); sep = sep != null ? String(sep) : sep; + var pos = !sep ? -1 : str.indexOf(sep); + return ~pos ? str.slice(0, pos) : str; + }, + + strLeftBack: function(str, sep){ + if (str == null) return ''; + str += ''; sep = sep != null ? ''+sep : sep; + var pos = str.lastIndexOf(sep); + return ~pos ? str.slice(0, pos) : str; + }, + + toSentence: function(array, separator, lastSeparator, serial) { + separator = separator || ', ' + lastSeparator = lastSeparator || ' and ' + var a = array.slice(), lastMember = a.pop(); + + if (array.length > 2 && serial) lastSeparator = _s.rtrim(separator) + lastSeparator; + + return a.length ? a.join(separator) + lastSeparator + lastMember : lastMember; + }, + + toSentenceSerial: function() { + var args = slice.call(arguments); + args[3] = true; + return _s.toSentence.apply(_s, args); + }, + + slugify: function(str) { + if (str == null) return ''; + + var from = "ąà áäâãåæćęèéëêìíïîłńòóöôõøùúüûñçżź", + to = "aaaaaaaaceeeeeiiiilnoooooouuuunczz", + regex = new RegExp(defaultToWhiteSpace(from), 'g'); + + str = String(str).toLowerCase().replace(regex, function(c){ + var index = from.indexOf(c); + return to.charAt(index) || '-'; + }); + + return _s.dasherize(str.replace(/[^\w\s-]/g, '')); + }, + + surround: function(str, wrapper) { + return [wrapper, str, wrapper].join(''); + }, + + quote: function(str) { + return _s.surround(str, '"'); + }, + + exports: function() { + var result = {}; + + for (var prop in this) { + if (!this.hasOwnProperty(prop) || prop.match(/^(?:include|contains|reverse)$/)) continue; + result[prop] = this[prop]; + } + + return result; + }, + + repeat: function(str, qty, separator){ + if (str == null) return ''; + + qty = ~~qty; + + // using faster implementation if separator is not needed; + if (separator == null) return strRepeat(String(str), qty); + + // this one is about 300x slower in Google Chrome + for (var repeat = []; qty > 0; repeat[--qty] = str) {} + return repeat.join(separator); + }, + + levenshtein: function(str1, str2) { + if (str1 == null && str2 == null) return 0; + if (str1 == null) return String(str2).length; + if (str2 == null) return String(str1).length; + + str1 = String(str1); str2 = String(str2); + + var current = [], prev, value; + + for (var i = 0; i <= str2.length; i++) + for (var j = 0; j <= str1.length; j++) { + if (i && j) + if (str1.charAt(j - 1) === str2.charAt(i - 1)) + value = prev; + else + value = Math.min(current[j], current[j - 1], prev) + 1; + else + value = i + j; + + prev = current[j]; + current[j] = value; + } + + return current.pop(); + } + }; + + // Aliases + + _s.strip = _s.trim; + _s.lstrip = _s.ltrim; + _s.rstrip = _s.rtrim; + _s.center = _s.lrpad; + _s.rjust = _s.lpad; + _s.ljust = _s.rpad; + _s.contains = _s.include; + _s.q = _s.quote; + + // CommonJS module is defined + if (typeof exports !== 'undefined') { + if (typeof module !== 'undefined' && module.exports) { + // Export module + module.exports = _s; + } + exports._s = _s; + + } else if (typeof define === 'function' && define.amd) { + // Register as a named module with AMD. + define('underscore.string', [], function() { + return _s; + }); + + } else { + // Integrate with Underscore.js if defined + // or create our own underscore object. + root._ = root._ || {}; + root._.string = root._.str = _s; + } + +}(this, String); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/uploader-icons-2x.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/uploader-icons-2x.png new file mode 100644 index 0000000000000000000000000000000000000000..d40389c7639683d37cdc5eb2b0461933d515b573 GIT binary patch literal 3915 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 Z{y!rA8S7stK+pgH002ovPDHLkV1nleUUC2c literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/uploader-icons.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/uploader-icons.png new file mode 100644 index 0000000000000000000000000000000000000000..b72a074b08cb52bc860946ca71085ed2e42ae729 GIT binary patch literal 1593 zcmV-92FCe`P)<h;3K|Lk000e1NJLTq004#n000jN1ONa4i_d=w0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU%+et)0R7l6Ymu*Z_R~W}nZz&+KQWZp_ z6BT)XYXId<X5AF<!^{ZF%swnr6HVrfMrS8%EI3VAjAqO@Ux>jdFELq6jB|0(Wxhlv z%Stpxokqr(NMKVDc`3cO?d^ZhZK1ul-oieto|9Ydy(!Q6pWk`T^FL)QK!c`y&dPb< z*pzK#mURx(uwXV#UxZ==|L1YVMG?>he)hhfHuW37z;#Jkota&`Q>VglW3J<#<H4QR zgNP%nyO#g6A%#sS;ZCLte|1%}FoohUQ*C-@b@GH>aMj7_ou*oZDY4#PAa;#>%zU%b zTK9@Ke~p_2#gX{D&SES>UMCEb>AVmt+;+hQ;WpC+2}Nj|SsG!uw;|I#1+F1;q)&R& zw%s=-Lf4v?klvgg&+>uWoto3L3`?-qj8I>&hG_dA(*Hi&I*vp8VxL>TWnFjx6es2` z`Mn4$k>P4-M0{YKKTH=aBAgKUv+GzykYGe5R^A(MLG<9zN+?8<e{UeMl0|tnM|D@O z9w?f?q4l6B!s>zUN<_({-KcVj;sg%uivv<*(Q#p;s(xs`i_5=VNGQ^9{w6*^Y#@~_ zdfN>V4hnT*CyQ4m?f<z+Si$VZ4qk#j+<)@D;eLXT4nF2M%lD0mFcds#tl$e#OgL)Z z$>}LZAu9Oi$5EizDAU-Y^ZQ&Psm9YCL-ij0r*_HoLs$6zhB=;M^K(o=$5OmWD9+r) zM_7muStxGo-M$#l?fyvHRVVBe>U0fDV39$q85(9_WpORHcqa*W(d8r*Gn-f`i}sBP z4GbuI+Omevr|ig}E1ysdHlY;JiXzIf*I3f|eWIis&IuHfer|lfz5Rs|#)k(Mfx9%b z_?JAGkb=|qu>}c`R|4+YR+|2uE3=uVA;R{f13X;fnJ?L5N>^_|f*}!sx}yH*5U}~x z9}kY!Tf6`p1QirA9Ib2k6)2|}sG^YJa8fKAp=kb0j)L2>G7WDa54l~(a!an}(7h2& z53!BZ%SCB!8AXf{QQ_{zh1T!wbnn2qI+iF$LGg@<6hW;M45KWb0TfHE6AZ&k*)e0q z=Eq}Wu+jv&N0)74)77jMGuk(ojG6EjmcumKu?f@Ftd-On9vrq)EGx~xvYY9>`k}+p zgKb7itX!lCxhNqNC%Ui$NznO)m~m~d9ix;FqLrt=c3jxcl8Cdyd|{d-Gfc8C#!iwM z{&k8wk~Q?VKv^*c>2t8}NEUm^^1;<+<@V*$JTf7D=JoDLQ#}}HpMPa{XNBFpxKFnE zU~p6ywjb-xrrKLV<tH159>GleB=n`#iDZeFz7a5jVY&odKFpH+QAnAAdR$TM^~%g( z*=)IL&-Tj<x0&)ZqD7e3Wf25g4zJP5Q0z%F_U6#=6+(Ykg<wRE*Jza}UerktM8~%^ zXTFy5!|pR$sb(M*yAC~)aAc$YF{-J0hN`BQo+V#C%wve;TyJ10vIO&qGLRmVYBwrt z22D9uwHp*Q!;Qj5BT}tsWmR#fJ9wVfb)-*@LxzGMY(>>zYXz^0gU%HK0T3OHW|qb> zBxjKpc3`^?M;OvkeXu7Tb^WNJVjRdOB^)W&jymvLGfP!N5rh`r^r=JSJ!P|uEU;X1 z78@Mm$xoQ~poH+9=46-AQ#Q*GkFvq0N}CbMuAOGcj#KLlqa8e)0-;Ettk$!nb9F9? zKJ=3>mV_e%yDnbB=ad|iofzENadac0h<+s~7;Vn-E$tTTxPx#WqqSH!wh@|0ul`7s zH@8<<#~p;Dt90;G<!Ey|Sxcn+&{drGPY0cgJPzV^ma}_%uP0<E4qb#JiAsJ7!lw`? z1&E<b%U(^>k?{4bnynf)Q^{ycSrz+`Es`C_by$oIw82+-%#@rZn$C??SWoYDifFT_ z=+F0>sWh7f^d^RdD0h1Z!V&VHjzQWW|4Q}85l8a%-Z3?FKc6P0a67^ghxyP?m?`1V r({mjBe=~(p4ur|Fnxm&_9u)rqhUfmJese0l00000NkvXXu0mjfQ{wx6 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/accordion_tab.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/accordion_tab.php new file mode 100644 index 0000000..3c34314 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/accordion_tab.php @@ -0,0 +1,4 @@ +<h3 class="accordion_tab" id="<?php echo esc_attr($id) ?>"><a href="#"><?php echo_h($title) ?></a></h3> +<div id="<?php echo esc_attr($id) ?>_content"> + <?php echo $content ?> +</div> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/attach_to_post.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/attach_to_post.php new file mode 100644 index 0000000..8b3767d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/attach_to_post.php @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html> + <head> + <title><?php echo_h($page_title)?> + + + +
+
+
    + $tab_params): ?> +
  • + + + +
  • + +
+ $tab_params): ?> + + +
+ + + + diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_settings_form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_settings_form.php new file mode 100644 index 0000000..9defe7b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_settings_form.php @@ -0,0 +1,3 @@ +
'> + +
\ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab.php new file mode 100644 index 0000000..cdbd4ee --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab.php @@ -0,0 +1,11 @@ +
+ +
+
+ + + +
+

+ +

\ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php new file mode 100644 index 0000000..c841e17 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php @@ -0,0 +1,1717 @@ +jQuery(function($){ + + /***************************************************************************** + ** NGG DEFINITION + ***/ + + /** + Setup a namespace for NextGEN-offered Backbone components + **/ + var Ngg = { + Models: {}, + Views: {} + }; + + /***************************************************************************** + ** NGG MODELS + ***/ + + /** + * Ngg.Models.SelectableItems + * A collection of items that can be selectable. Commonly used with the + * Ngg.Views.SelectTag widget (view) + **/ + Ngg.Models.SelectableItems = Backbone.Collection.extend({ + selected: function(){ + return this.filter(function(item){ + return item.get('selected') == true; + }); + }, + + deselect_all: function(){ + this.each(function(item){ + item.set('selected', false); + }); + }, + + selected_ids: function(){ + return _.pluck(this.selected(), 'id'); + }, + + select: function(ids){ + if (!_.isArray(ids)) ids = [ids]; + this.each(function(item){ + if (_.indexOf(ids, item.id) >= 0) { + item.set('selected', true); + } + }); + this.trigger('selected'); + } + }); + + + /***************************************************************************** + ** NGG VIEWS + ***/ + + /** + * Ngg.Views.SelectTag + * Used to render a Select tag (drop-down list) + **/ + Ngg.Views.SelectTag = Backbone.View.extend({ + tagName: 'select', + + collection: null, + + multiple: false, + + value_field: 'id', + + text_field: 'title', + + initialize: function(options) { + this.options = options || {}; + _.each(this.options, function(value, key){ + this[key] = value; + }, this); + this.collection.on('add', this.render_new_option, this); + this.collection.on('remove', this.remove_existing_option, this); + this.collection.on('reset', this.empty_list, this); + }, + + events: { + 'change': 'selection_changed' + }, + + empty_list: function(){ + this.$el.empty(); + }, + + render_new_option: function(item){ + this.$el.append(new this.Option({ + model: item, + value_field: this.value_field, + text_field: this.text_field + }).render().el); + }, + + remove_existing_option: function(item){ + this.$el.find("option[value='"+item.id+"']").remove(); + }, + + /** + * After a selection has changed, set the 'selected' property for each item in the + * collection + * @triggers 'selected' + **/ + selection_changed: function(){ + // Get selected options from DOM + var selections = _.map(this.$el.find(':selected'), function(element){ + return $(element).val(); + }); + + // Set the 'selected' attribute for each item in the collection + this.collection.each(function(item){ + if (_.indexOf(selections, item.id) >= 0 || _.indexOf(selections, item.id.toString()) >= 0) + item.set('selected', true); + else + item.set('selected', false); + }); + this.collection.trigger('selected'); + }, + + render: function(){ + this.$el.empty(); + if (this.options.include_blank) { + this.$el.append(""); + } + this.collection.each(function(item){ + var option = new this.Option({ + model: item, + value_field: this.value_field, + text_field: this.text_field + }); + this.$el.append(option.render().el); + }, this); + if (this.multiple) this.$el.prop('multiple', true); + if (this.width) this.$el.width(this.width); + return this; + }, + + /** + * Represents an option in the Select drop-down + **/ + Option: Backbone.View.extend({ + tagName: 'option', + + model: null, + + initialize: function(options) { + this.options = options || {}; + _.each(this.options, function(value, key){ + this[key] = value; + }, this); + this.model.on('change', this.render, this); + }, + + render: function(){ + var self = this; + this.$el.html(this.model.get(this.text_field).replace(/\\&/g, '&').replace(/\\'/g, "'")); + this.$el.prop({ + value: this.value_field == 'id' ? this.model.id : this.model.get(this.value_field), + }); + if (self.model.get('selected') == true) { + this.$el.attr('selected', 'selected'); + } + return this; + } + }) + }); + + + Ngg.Views.Chosen = Backbone.View.extend({ + tagName: 'span', + + initialize: function(options) { + this.options = options || {}; + this.collection = this.options.collection; + if (!this.options.multiple) this.options.include_blank = true; + this.select_tag = new Ngg.Views.SelectTag(this.options); + this.collection.on('change', this.selection_changed, this); + }, + + selection_changed: function(e){ + if (_.isUndefined(e.changed['selected'])) this.render(); + }, + + render: function(){ + + this.$el.append(this.select_tag.render().$el); + if (this.options.width) + this.select_tag.$el.width(this.options.width); + + // Configure select2 options + this.select2_opts = { + placeholder: this.options.placeholder + }; + + // Create the select2 drop-down + if (this.$el.parent().length == 0) { + $('body').append(this.$el); + this.select_tag.$el.select2(this.select2_opts); + var container = this.select_tag.$el.select2('container').detach(); + this.$el.append(container); + this.$el.detach(); + + } + else this.select_tag.$el.select2(this.select2_opts); + + // Hack for multi-select elements + if (this.options.multiple && this.collection.selected().length == 0) + this.select_tag.$el.select2('val', ''); + + // For IE, ensure that the text field has a width + this.$el.find('.select2-input').width(this.options.width-20); + + // For IE8, ensure that the selection is being displayed + if (!this.options.multiple) { + var selected_value = this.$el.find('.select2-choice span:first'); + if (selected_value.text().length == 0 && this.collection.selected().length > 0) { + var selected_item = this.collection.selected().pop(); + selected_value.text(selected_item.get(this.select_tag.text_field)); + } + } + else { + var selected_values = this.$el.find('.select2-search-choice'); + if (this.collection.selected().length > 0 && selected_values.length == 0) { + this.select_tag.$el.select2('val', ''); + var data = []; + var value_field = this.select_tag.value_field; + _.each(this.collection.selected(), function(item){ + var value = value_field == 'id' ? item.id : item.get(value_field); + data.push({ + id: value, + text: item.get(this.select_tag.text_field) + }); + }, this); + this.select_tag.$el.select2('data', data); + } + } + + return this; + } + }); + + /***************************************************************************** + ** DISPLAY TAB DEFINITION + ***/ + + /** + * Setup a namespace + **/ + Ngg.DisplayTab = { + Models: {}, + Views: {}, + App: {} + }; + + /***************************************************************************** + * MODEL CLASSES + **/ + + /** + * A collection that can fetch it's entities from the server + **/ + Ngg.Models.Remote_Collection = Ngg.Models.SelectableItems.extend({ + fetch_limit: 5000, + in_progress: false, + fetch_url: photocrati_ajax.url, + action: '', + extra_data: {}, + + _create_request: function(limit, offset) { + var request = ; + request = _.extend(request, { + action: this.action, + limit: limit ? limit : this.fetch_limit, + offset: offset ? offset : 0 + + }); + for (var index in this.extra_data) { + var value = this.extra_data[index]; + if (typeof(request[index]) == 'undefined') { + request[index] = {}; + } + if (typeof(value['toJSON']) != 'undefined') { + value = value.toJSON(); + } + request[index] = _.extend(request[index], value); + } + return request; + }, + + _add_item: function(item) { + this.push(item); + }, + + fetch: function(limit, offset){ + // Request the entities from the server + var self = this; + this.in_progress = true; + $.post(this.fetch_url, this._create_request(limit, offset), function(response){ + if (typeof(_) == 'undefined') return; + if (!_.isObject(response)) response = JSON.parse(response); + + if (response.items) { + _.each(response.items, function(item){ + self._add_item(item); + }); + + // Continue fetching ? + if (response.total >= response.limit+response.offset) { + self.fetch(response.limit, response.offset+response.limit); + } + else { + self.in_progress = false; + self.trigger('finished_fetching'); + } + } + }); + } + }); + + + /** + * Ngg.DisplayTab.Models.Displayed_Gallery + * Represents the displayed gallery being edited or created by the Display Tab + **/ + Ngg.DisplayTab.Models.Displayed_Gallery = Backbone.Model.extend({ + defaults: { + source: null, + container_ids: [], + entity_ids: [], + display_type: null, + display_settings: {}, + exclusions: [], + sortorder: [], + slug: null + } + }); + + /** + * Ngg.DisplayTab.Models.Source + * Represents an individual source used to collect displayable entities from + **/ + Ngg.DisplayTab.Models.Source = Backbone.Model.extend({ + idAttribute: 'name', + defaults: { + title: '', + name: '', + selected: false + } + }); + + /** + * Ngg.DisplayTab.Models.Source_Collection + * Used as a collection of all the available sources for entities + **/ + Ngg.DisplayTab.Models.Source_Collection = Ngg.Models.SelectableItems.extend({ + model: Ngg.DisplayTab.Models.Source, + + selected_value: function(){ + var retval = null; + var selected = this.selected(); + if (selected.length > 0) { + retval = selected[0].get('name'); + } + return retval; + } + }); + + /** + * Ngg.DisplayTab.Models.Gallery + * Represents an individual gallery entity + **/ + Ngg.DisplayTab.Models.Gallery = Backbone.Model.extend({ + idAttribute: '', + defaults: { + title: '', + name: '' + } + }); + + /** + * Ngg.DisplayTab.Models.Gallery_Collection + * Collection of gallery objects + **/ + Ngg.DisplayTab.Models.Gallery_Collection = Ngg.Models.Remote_Collection.extend({ + model: Ngg.DisplayTab.Models.Gallery, + + action: 'get_existing_galleries' + }); + + /** + * Ngg.DisplayTab.Models.Album + * Represents an individual Album object + **/ + Ngg.DisplayTab.Models.Album = Backbone.Model.extend({ + defaults: { + title: '', + name: '' + } + }); + + /** + * Ngg.DisplayTab.Models.Album_Collection + * Used as a collection of album objects + **/ + Ngg.DisplayTab.Models.Album_Collection = Ngg.Models.Remote_Collection.extend({ + model: Ngg.DisplayTab.Models.Album, + + action: 'get_existing_albums' + }); + + /** + * Ngg.DisplayTab.Models.Tag + * Represents an individual tag object + **/ + Ngg.DisplayTab.Models.Tag = Backbone.Model.extend({ + defaults: { + title: '' + } + }); + + /** + * Ngg.DisplayTab.Models.Tag_Collection + * Represents a collection of tag objects + **/ + Ngg.DisplayTab.Models.Tag_Collection = Ngg.Models.Remote_Collection.extend({ + model: Ngg.DisplayTab.Models.Tag, + /* + selected_ids: function(){ + return this.selected().map(function(item){ + return item.get('name'); + }); + }, + */ + + action: 'get_existing_image_tags' + }); + + /** + * Ngg.DisplayTab.Models.Display_Type + * Represents an individual display type + **/ + Ngg.DisplayTab.Models.Display_Type = Backbone.Model.extend({ + idAttribute: 'name', + defaults: { + title: '' + }, + + is_compatible_with_source: function(source){ + var success = true; + for (index in source.get('returns')) { + var returned_entity_type = source.get('returns')[index]; + if (_.indexOf(this.get('entity_types'), returned_entity_type) < 0) { + success = false; + break; + } + } + return success; + } + }); + + /** + * Ngg.DisplayTab.Models.Display_Type_Collection + * Represents a collection of display type objects + **/ + Ngg.DisplayTab.Models.Display_Type_Collection = Ngg.Models.SelectableItems.extend({ + model: Ngg.DisplayTab.Models.Display_Type, + + selected_value: function(){ + var retval = null; + var selected = this.selected(); + if (selected.length > 0) { + return selected[0].get('name'); + } + return retval; + } + }); + + /** + * Ngg.DisplayTab.Models.Entity + * Represents an entity to display on the front-end + **/ + Ngg.DisplayTab.Models.Entity = Backbone.Model.extend({ + entity_id: function(){ + return this.get(this.get('id_field')); + }, + + is_excluded: function() { + current_value = this.get('exclude'); + if (_.isUndefined(current_value)) return false; + else if (_.isBoolean(current_value)) return current_value; + else return parseInt(current_value) == 0 ? false : true; + }, + + is_included: function(){ + return !this.is_excluded(); + }, + + is_gallery: function(){ + retval = false; + if (this.get('is_gallery') == true) retval = true; + return retval; + }, + + is_album: function(){ + retval = false; + if (this.get('is_album') == true) retval = true; + return retval; + }, + + is_image: function(){ + return !this.is_album() && !this.is_gallery(); + }, + + alttext: function(){ + if (this.is_image()) { + return this.get('alttext'); + } + else if (this.is_gallery()) { + return this.get('title'); + } + else if (this.is_album()) { + return this.get('name'); + } + } + }); + + /** + * Ngg.DisplayTab.Models.Entity_Collection + * Represents a collection of entities + **/ + Ngg.DisplayTab.Models.Entity_Collection = Ngg.Models.Remote_Collection.extend({ + model: Ngg.DisplayTab.Models.Entity, + + action: 'get_displayed_gallery_entities', + + _add_item: function(item){ + item.exclude = parseInt(item.exclude) == 1 ? true : false; + item.is_gallery = parseInt(item.is_gallery) == 1 ? true : false; + item.is_album = parseInt(item.is_album) == 1 ? true : false; + this.push(item); + }, + + entity_ids: function(){ + return this.map(function(item){ + return item.entity_id(); + }); + }, + + included_ids: function(){ + return _.compact(this.map(function(item){ + if (item.is_included()) return item.entity_id(); + })); + }, + + excluded_ids: function() { + return _.compact(this.map(function(item) { + if (!item.is_included()) { + return item.entity_id(); + } + })); + } + }); + + + Ngg.DisplayTab.Models.SortOrder = Backbone.Model.extend({ + }); + + Ngg.DisplayTab.Models.SortOrder_Options = Ngg.Models.SelectableItems.extend({ + model: Ngg.DisplayTab.Models.SortOrder + }); + Ngg.DisplayTab.Models.SortDirection = Backbone.Model.extend({ + + }); + Ngg.DisplayTab.Models.SortDirection_Options = Backbone.Collection.extend({ + model: Ngg.DisplayTab.Models.SortDirection + }); + + Ngg.DisplayTab.Models.Slug = Backbone.Model.extend({}); + + /***************************************************************************** + * VIEW CLASSES + **/ + + /** + * Ngg.DisplayTab.Views.Source_Config + * Used to populate the source configuration tab + **/ + Ngg.DisplayTab.Views.Source_Config = Backbone.View.extend({ + el: '#source_configuration', + + selected_view: null, + + /** + * Bind to the "sources" collection to know when a selection has been made + * and determine what sub-view to render + **/ + initialize: function(){ + this.sources = Ngg.DisplayTab.instance.sources; + this.sources.on('selected', this.render, this); + _.bindAll(this, 'render'); + this.render(); + }, + + render: function(){ + var chosen = new Ngg.Views.Chosen({ + id: 'source_select', + collection: this.sources, + placeholder: 'Select a source', + width: 500 + }); + + this.$el.html(''); + this.$el.find('#source_column').append(chosen.render().el); + + var selected = this.sources.selected(); + if (selected.length) { + var view_name = _.str.capitalize(selected.pop().id)+"Source"; + if (typeof(Ngg.DisplayTab.Views[view_name]) != 'undefined') { + var selected_view = new Ngg.DisplayTab.Views[view_name]; + this.$el.append(selected_view.render().el); + } + } + + return this; + } + }); + + Ngg.DisplayTab.Views.Slug_Config = Backbone.View.extend({ + el: '#slug_configuration', + + selected_view: null, + + initialize: function() { + this.displayed_gallery = Ngg.DisplayTab.instance.displayed_gallery; + this.slug = Ngg.DisplayTab.instance.displayed_gallery.get('slug'); + this.render(); + }, + + render: function() { + var self = this; + + var input = $('').prop({ + type: 'text', + name: 'slug', + value: this.slug, + placeholder: '', + id: 'field_slug' + }); + + input.change(function() { + self.displayed_gallery.set('slug', $(this).val()); + }); + + var tooltip = ''; + this.$el.append(''); + this.$el.find('#slug_column').append(input); + + return this; + } + }); + + Ngg.DisplayTab.Views.Display_Type_Selector = Backbone.View.extend({ + el: '#display_type_selector', + + initialize: function(){ + this.display_types = Ngg.DisplayTab.instance.display_types; + this.display_type_order_base = Ngg.DisplayTab.instance.display_type_order_base; + this.display_type_order_step = Ngg.DisplayTab.instance.display_type_order_step; + this.sources = Ngg.DisplayTab.instance.sources; + this.render(); + }, + + selection_changed: function(value){ + var selected_type = null; + this.display_types.each(function(item){ + if (item.get('name') == value) { + selected_type = item; + item.set('selected', true); + } + else { + item.set('selected', false); + } + }); + + if (selected_type) { + var selected_source = this.sources.selected_value(); + var default_source = selected_type.get('default_source'); + + // If the default source isn't selected, then select it + if (default_source && selected_source != default_source) { + + // Get the default source object by name + default_source = this.sources.where({ + name: default_source + }); + + // Does the default source exist ? + if (default_source.length > 0) { + default_source = default_source[0]; + this.sources.deselect_all(); + this.sources.select(default_source.id); + } + } + } + + $('.display_settings_form').each(function(){ + $this = $(this); + if ($this.attr('rel') == value) $this.removeClass('hidden'); + else $this.addClass('hidden'); + }); + }, + + render: function(){ + var selected_source = this.sources.selected(); + var current_step = 0; + selected_source = selected_source.length > 0 ? selected_source[0] : false; + this.$el.empty(); + + var order_base = this.display_type_order_base; + var order_step = this.display_type_order_step; + + this.display_types.each(function(item){ + if (selected_source && !item.is_compatible_with_source(selected_source)) { + + // Show all display types if we're viewing the display type + // selector tab + var display_tab = $('#display_type_tab_content:visible'); + if (display_tab.length == 0) return; + else if (display_tab.css('visibility') == 'hidden') return; + } + var display_type = new this.DisplayType; + display_type.model = item; + display_type.on('selected', this.selection_changed, this); + if (!this.display_types.selected_value()) { + item.set('selected', true); + this.selection_changed(item.id); + } + var display_order = item.get('view_order'); + if (!display_order) + display_order = order_base; + var display_step = Math.floor(display_order / order_step); + if (current_step > 0 && display_step > current_step) { + this.$el.append('
  • '); + } + current_step = display_step; + this.$el.append(display_type.render().el); + }, this); + return this; + }, + + DisplayType: Backbone.View.extend({ + className: 'display_type_preview', + + events: { + click: 'clicked' + }, + + clicked: function(e){ + this.trigger('selected', this.model.get('name')); + }, + + render: function() { + // Create all elements + var image_container = $('
    ').addClass('image_container'); + + // 2.0.66 did not support plugins_url, 2.0.66.3+ does + var installed_at_version = this.model.get('installed_at_version'); + var baseurl = photocrati_ajax.wp_plugins_url; + var preview_image_relpath = this.model.get('preview_image_relpath'); + if (typeof installed_at_version == 'undefined') { + baseurl = photocrati_ajax.wp_site_url; + // those who installed 2.0.66.3 lack the 'installed_at_version' setting but have a + // plugin-relative path + if (preview_image_relpath.indexOf('/nextgen-gallery') == 0) { + baseurl = photocrati_ajax.wp_plugins_url; + } + } + + + var img = $('').attr({ + src: baseurl + '/' + preview_image_relpath, + title: this.model.get('title'), + alt: this.model.get('alt') + }); + var inner_div = $('
    '); + var radio_button = $('').prop({ + type: 'radio', + value: this.model.get('name'), + title: this.model.get('title'), + name: 'display_type', + checked: this.model.get('selected') + }); + image_container.append(inner_div); + image_container.append(img); + inner_div.append(radio_button); + inner_div.append(this.model.get('title')); + this.$el.append(image_container); + return this; + } + }) + }); + + Ngg.DisplayTab.Views.Preview_Area = Backbone.View.extend({ + el: '#preview_area', + + initialize: function(){ + this.entities = Ngg.DisplayTab.instance.entities; + this.sources = Ngg.DisplayTab.instance.sources; + this.displayed_gallery = Ngg.DisplayTab.instance.displayed_gallery; + + // Create the entity list + this.entity_list = $('
      ').attr('id', 'entity_list').append('
    • '); + + // When an entity is added/removed to the collection, we'll add/remove it on the DOM + this.entities.on('add', this.render_entity, this); + this.entities.on('remove', this.remove_entity, this); + + // When the collection is reset, we add a list item to clear the float. This is important - + // jQuery sortable() will break without the cleared element. + this.entities.on('reset', this.entities_reset, this); + + // When jQuery sortable() is finished sorting, we need to adjust the order of models in the collection + this.entities.on('change:sortorder', function(model){ + this.entities.remove(model, {silent: true}); + this.entities.add(model, {at: model.changed.sortorder, silent: true}); + this.displayed_gallery.set('sortorder', this.entities.entity_ids()); + if (typeof(console) != 'undefined' && typeof(console.log) != 'undefined') { + console.log(this.entities.entity_ids()); + } + this.displayed_gallery.set('order_by', 'sortorder'); + }, this); + + // Reset when the source changes + this.sources.on('selected', this.render, this); + + this.render(); + }, + + events: { + opened: 'entities_reset' + }, + + entities_reset: function(e){ + this.entities.reset(null, {silent: true}); + this.entity_list.empty().append('
    • '); + if (!this.entities.in_progress) this.entities.fetch(); + }, + + render_entity: function(model){ + var entity_element = new this.EntityElement({model: model}); + this.entity_list.find('.clear').before(entity_element.render().$el); + entity_element.$el.css('visibility', 'hidden'); + setTimeout(function(){ + entity_element.$el.css('visibility', 'visible'); + }, 0); + if (this.$el.find('.no_entities').length == 1) { + this.render(); + } + else if (this.entities.length > 1) { + this.entity_list.sortable('refresh'); + } + }, + + remove_entity: function(model){ + var id = this.id = model.get('id_field')+'_'+model.entity_id(); + var entity = this.entity_list.find('#'+id).remove(); + this.entity_list.sortable('refresh'); + if (this.entities.length == 0) { + this.render_no_images_notice(); + } + }, + + render_no_images_notice: function(){ + this.$el.empty(); + this.$el.append("

      "); + }, + + render: function(){ + this.$el.empty(); + if (this.entities.length > 0 && this.displayed_gallery.get('container_ids').length > 0) { + + // Render header rows + this.$el.append(new this.RefreshButton({ + entities: this.entities + }).render().el); + this.$el.append(new this.SortButtons({ + entities: this.entities, + displayed_gallery: this.displayed_gallery, + sources: this.sources + }).render().el); + this.$el.append(new this.ExcludeButtons({ + entities: this.entities + }).render().el); + + this.$el.append(this.entity_list); + + // Activate jQuery Sortable for the entity list + this.entity_list.sortable({ + placeholder: 'placeholder', + forcePlaceholderSize: true, + containment: 'parent', + opacity: 0.7, + revert: true, + dropOnEmpty: true, + start: function(e, ui){ + ui.placeholder.css({ + height: ui.item.height() + }); + return true; + }, + stop: function(e, ui) { + ui.item.trigger('drop', ui.item.index()); + } + }); + this.entity_list.disableSelection(); + } + else { + this.render_no_images_notice(); + } + return this; + }, + + RefreshButton: Backbone.View.extend({ + className: 'refresh_button', + + tagName: 'input', + + label: 'Refresh', + + events: { + click: 'clicked' + }, + + clicked: function(){ + this.entities.reset(); + }, + + initialize: function(options) { + this.options = options || {}; + _.each(this.options, function(value, key){ + this[key] = value; + }, this); + }, + + render: function(){ + this.$el.attr({ + value: this.label, + type: 'button' + }); + return this; + } + }), + + ExcludeButtons: Backbone.View.extend({ + className: 'header_row', + + initialize: function(options) { + this.options = options || {}; + _.each(this.options, function(value, key){ + this[key] = value; + }, this); + }, + + render: function(){ + this.$el.empty(); + this.$el.append('Exclude:'); + var all_button = new this.Button({ + value: true, + text: 'All', + entities: this.entities + }); + this.$el.append(all_button.render().el); + this.$el.append('|'); + var none_button = new this.Button({ + value: false, + text: 'None', + entities: this.entities + }); + this.$el.append(none_button.render().el); + return this; + }, + + Button: Backbone.View.extend({ + tagName: 'a', + + value: 1, + + text: '', + + events: { + click: 'clicked' + }, + + initialize: function(options) { + this.options = options || {}; + _.each(this.options, function(value, key){ + this[key] = value; + }, this); + }, + + clicked: function(e){ + e.preventDefault(); + this.entities.each(function(item){ + item.set('exclude', this.value); + }, this); + }, + + render: function(){ + this.$el.text(this.text).attr('href', '#'); + return this; + } + }) + }), + + SortButtons: Backbone.View.extend({ + className: 'header_row', + + initialize: function(options) { + this.options = options || {}; + _.each(this.options, function(value, key){ + this[key] = value; + }, this); + this.sortorder_options = new Ngg.DisplayTab.Models.SortOrder_Options(); + this.sortorder_options.on('change:selected', this.sortoption_changed, this); + + // Create sort directions and listen for selection changes + this.sortdirection_options = new Ngg.DisplayTab.Models.SortDirection_Options([ + { + value: 'ASC', + title: 'Ascending', + selected: this.displayed_gallery.get('order_direction') == 'ASC' + }, + { + value: 'DESC', + title: 'Descending', + selected: this.displayed_gallery.get('order_direction') == 'DESC' + } + ]); + this.sortdirection_options.on('change:selected', this.sortdirection_changed, this); + this.displayed_gallery.on('change:order_by', this.displayed_gallery_order_changed, this); + this.displayed_gallery.on('change.order_direction', this.displayed_gallery_order_dir_changed, this); + }, + + populate_sorting_fields: function(){ + // We display difference sorting buttons depending on what type of entities we're dealing with. + var entity_types = this.sources.selected().pop().get('returns'); + if (_.indexOf(entity_types, 'image') !== -1) { + this.fill_image_sortorder_options(); + } + else { + this.fill_gallery_sortorder_options(); + } + }, + + create_sortorder_option: function(name, title){ + return new Ngg.DisplayTab.Models.SortOrder({ + name: name, + title: title, + value: name, + selected: this.displayed_gallery.get('order_by') == name + }); + }, + + fill_image_sortorder_options: function(){ + this.sortorder_options.reset(); + this.sortorder_options.push(this.create_sortorder_option('', 'None')); + this.sortorder_options.push(this.create_sortorder_option('sortorder', 'Custom')); + this.sortorder_options.push(this.create_sortorder_option(Ngg.DisplayTab.instance.image_key, 'Image ID')); + this.sortorder_options.push(this.create_sortorder_option('filename', 'Filename')); + this.sortorder_options.push(this.create_sortorder_option('alttext', 'Alt/Title Text')); + this.sortorder_options.push(this.create_sortorder_option('imagedate', 'Date/Time')); + }, + + fill_gallery_sortorder_options: function(){ + this.sortorder_options.reset(); + this.sortorder_options.push(this.create_sortorder_option('', 'None')); + this.sortorder_options.push(this.create_sortorder_option('sortorder' ,'Custom')); + this.sortorder_options.push(this.create_sortorder_option('name', 'Name')); + this.sortorder_options.push(this.create_sortorder_option('galdesc', 'Description')); + }, + + displayed_gallery_order_changed: function(e){ + this.sortorder_options.findWhere({value: e.get('order_by')}).set('selected', true); + }, + + + displayed_gallery_order_dir_changed: function(e){ + this.sortdirection_options.findWhere({value: e.get('order_direction')}).set('selected', true); + }, + + sortoption_changed: function(model){ + this.sortorder_options.each(function(item){ + item.set('selected', model.get('value') == item.get('value') ? true : false, {silent: true}); + }); + + this.displayed_gallery.set('sortorder', []); + + var sort_by = model.get('value'); + + // If "None" was selected, then clear the "sortorder" property + if (model.get('value').length == 0) { + sort_by = 'sortorder'; + } + + // Change the "sort by" parameter + this.displayed_gallery.set('order_by', sort_by); + + this.entities.reset(); + this.$el.find('a.sortorder').each(function(){ + var $item = $(this); + if ($item.attr('value') == model.get('value')) + $item.addClass('selected'); + else + $item.removeClass('selected'); + }); + }, + + sortdirection_changed: function(model){ + + this.sortdirection_options.each(function(item){ + item.set('selected', model.get('value') == item.get('value') ? true : false, {silent: true}); + }); + this.displayed_gallery.set('order_direction', model.get('value')); + this.entities.reset(); + this.$el.find('a.sortdirection').each(function(){ + var $item = $(this); + if ($item.attr('value') == model.get('value')) + $item.addClass('selected'); + else + $item.removeClass('selected'); + }); + }, + + render: function(){ + this.$el.empty(); + this.populate_sorting_fields(); + this.$el.append('Sort By:'); + this.sortorder_options.each(function(item, index){ + var button = new this.Button({model: item, className: 'sortorder'}); + this.$el.append(button.render().el); + if (this.sortorder_options.length-1 > index) { + this.$el.append('|'); + } + }, this); + this.$el.append('Order By:'); + this.sortdirection_options.each(function(item, index){ + var button = new this.Button({model: item, className: 'sortdirection'}); + this.$el.append(button.render().el); + if (this.sortdirection_options.length-1 > index) { + this.$el.append('|'); + } + }, this); + return this; + }, + + Button: Backbone.View.extend({ + tagName: 'a', + + initialize: function(options) { + this.options = options || {}; + _.each(this.options, function(value, key){ + this[key] = value; + }, this); + }, + + events: { + click: 'clicked' + }, + + clicked: function(e){ + e.preventDefault(); + this.model.set('selected', true); + }, + + render: function(){ + this.$el.prop({ + value: this.model.get('value'), + href: '#' + }); + this.$el.text(this.model.get('title')); + if (this.model.get('selected')) this.$el.addClass('selected'); + return this; + } + }) + }), + + // Individual entity in the preview area + EntityElement: Backbone.View.extend({ + tagName: 'li', + + events: { + drop: 'item_dropped' + }, + + initialize: function(options) { + this.options = options || {}; + _.each(this.options, function(value, key){ + this[key] = value; + }, this); + this.model.on('change', this.render, this); + if (this.model.get('sortorder') == 0) { + this.model.set('sortorder', -1, {silent: true}); + } + this.id = this.model.get('id_field')+'_'+this.model.entity_id() + }, + + item_dropped: function(e, index){ + Ngg.DisplayTab.instance.displayed_gallery.set('order_by', 'sortorder'); + //Ngg.DisplayTab.instance.displayed_gallery.set('order_direction', 'ASC'); + this.model.set('sortorder', index); + }, + + render: function(){ + this.$el.empty(); + var image_container = $('
      ').addClass('image_container'); + var alt_text = this.model.alttext().replace(/\\&/g, '&').replace(/\\'/g, "'"); + var timestamp = new Date().getTime(); + image_container.attr({ + title: alt_text, + style: "background-image: url('"+this.model.get('thumb_url')+"?timestamp"+timestamp+"')" + }).css({ + width: this.model.get('max_width'), + height: this.model.get('max_height'), + 'max-width': this.model.get('max_width'), + 'max-height': this.model.get('max_height') + }); + + this.$el.append(image_container).addClass('ui-state-default'); + + // Add exclude checkbox + var exclude_container = $('
      ').addClass('exclude_container'); + exclude_container.append('Exclude?'); + var exclude_checkbox = new this.ExcludeCheckbox({model: this.model}); + exclude_container.append(exclude_checkbox.render().el); + image_container.append(exclude_container); + return this; + }, + + ExcludeCheckbox: Backbone.View.extend({ + tagName: 'input', + + events: { + 'change': 'entity_excluded' + }, + + type_set: false, + + entity_excluded: function(e){ + this.model.set('exclude', e.target.checked); + }, + + initialize: function(options) { + this.options = options || {}; + _.each(this.options, function(value, key){ + this[key] = value; + }, this); + this.model.on('change:exclude', this.render, this); + }, + + render: function(){ + if (!this.type_set) { + this.$el.attr('type', 'checkbox'); + this.type_set = true; + } + if (this.model.is_excluded()) this.$el.prop('checked', true); + else this.$el.prop('checked', false); + return this; + } + }) + }) + }); + + + // Additional source configuration views. These will be rendered dynamically by PHP. + // Adapters will add them. + Ngg.DisplayTab.Views.GalleriesSource = Backbone.View.extend({ + tagName: 'tbody', + + initialize: function(){ + this.galleries = Ngg.DisplayTab.instance.galleries; + }, + + render: function(){ + var select = new Ngg.Views.Chosen({ + collection: this.galleries, + placeholder: '', + multiple: true, + width: 500 + }); + var html = $(''); + this.$el.empty(); + this.$el.append(html); + this.$el.find('.galleries_column').append(select.render().el); + return this; + } + }); + + Ngg.DisplayTab.Views.AlbumsSource = Backbone.View.extend({ + tagName: 'tbody', + + initialize: function(){ + this.albums = Ngg.DisplayTab.instance.albums; + }, + + render: function(){ + var album_select = new Ngg.Views.Chosen({ + collection: this.albums, + multiple: true, + placeholder: 'Select an album', + text_field: 'name', + width: 500 + }); + this.$el.empty(); + this.$el.append(''); + this.$el.find('.albums_column').append(album_select.render().el); + return this; + } + }); + + Ngg.DisplayTab.Views.TagsSource = Backbone.View.extend({ + tagName: 'tbody', + + initialize: function(){ + this.tags = Ngg.DisplayTab.instance.tags; + }, + + render: function(){ + var tag_select = new Ngg.Views.Chosen({ + collection: this.tags, + multiple: true, + placeholder: 'Select a tag', + text_field: 'name', + width: 500 + }); + this.$el.empty(); + this.$el.append(''); + this.$el.find('.tags_column').append(tag_select.render().el); + return this; + } + }); + + Ngg.DisplayTab.Views.Recent_imagesSource = Backbone.View.extend({ + tagName: 'tbody', + + initialize: function(){ + this.displayed_gallery = Ngg.DisplayTab.instance.displayed_gallery; + this.maximum_entity_count = Ngg.DisplayTab.instance.displayed_gallery.get('maximum_entity_count'); + this.displayed_gallery.set('container_ids', []); + }, + + render: function(){ + var self = this; + var edit_field = $('').prop({ + type: 'text', + value: this.maximum_entity_count, + name: 'maximum_entity_count' + }); + + edit_field.change(function () { + self.displayed_gallery.set('maximum_entity_count', $(this).val()); + }); + + this.$el.empty(); + this.$el.append(''); + this.$el.find('.recent_images_column').append(edit_field); + return this; + } + }); + + Ngg.DisplayTab.Views.Random_imagesSource = Backbone.View.extend({ + tagName: 'tbody', + + initialize: function(){ + this.displayed_gallery = Ngg.DisplayTab.instance.displayed_gallery; + this.maximum_entity_count = Ngg.DisplayTab.instance.displayed_gallery.get('maximum_entity_count'); + this.displayed_gallery.set('container_ids', []); + }, + + render: function(){ + var self = this; + var edit_field = $('').prop({ + type: 'text', + value: this.maximum_entity_count, + name: 'maximum_entity_count' + }); + + edit_field.change(function () { + self.displayed_gallery.set('maximum_entity_count', $(this).val()); + }); + + this.$el.empty(); + this.$el.append(''); + this.$el.find('.random_images_column').append(edit_field); + return this; + } + }); + + Ngg.DisplayTab.Views.SaveButton = Backbone.View.extend({ + el: '#save_displayed_gallery', + + errors_el: '#errors', + + displayed_gallery: null, + + events: { + click: 'clicked' + }, + + initialize: function(){ + this.displayed_gallery = Ngg.DisplayTab.instance.displayed_gallery; + this.entities = Ngg.DisplayTab.instance.entities; + this.render(); + }, + + clicked: function(){ + this.set_display_settings(); + var request = ; + request = _.extend(request, { + action: 'save_displayed_gallery', + displayed_gallery: JSON.stringify(this.displayed_gallery.toJSON()) + }); + + var self = this; + $.post(photocrati_ajax.url, request, function(response){ + if (!_.isObject(response)) response = JSON.parse(response); + if (response['validation_errors'] != undefined) { + $(self.errors_el).empty().append(response.validation_errors); + } + else if (response['error'] != undefined) { + alert(response.error); + } + else { + var id_field = response.displayed_gallery.id_field; + var id = response.displayed_gallery[id_field]; + self.displayed_gallery.set('id', id); + var editor = parent.tinyMCE.activeEditor; + var preview_url = ngg_displayed_gallery_preview_url + '/id--'+id; + var snippet = ""; + if (editor.getContent().indexOf(preview_url) < 0) + editor.execCommand('mceInsertContent', false, snippet); + else { + $(editor.contentDocument).find(".ngg_displayed_gallery[src='"+preview_url+"']").attr('src', preview_url); + } + close_attach_to_post_window(); + } + }); + }, + + set_display_settings: function(){ + var display_type = this.displayed_gallery.get('display_type'); + if (display_type) { + // Collect display settings + var form = $("form[rel='"+display_type+"']"); + var display_settings = (function(item){ + var obj = {}; + $.each(item.serializeArray(), function(key, item) { + var parts = item.name.split('['); + var current_obj = obj; + for (var i=0; i + ); + + this.original_displayed_gallery = new Ngg.DisplayTab.Models.Displayed_Gallery( + + ); + this.galleries = new Ngg.DisplayTab.Models.Gallery_Collection( + + ); + this.albums = new Ngg.DisplayTab.Models.Album_Collection( + + ); + this.tags = new Ngg.DisplayTab.Models.Tag_Collection( + + ); + this.sources = new Ngg.DisplayTab.Models.Source_Collection( + + ) + this.display_types = new Ngg.DisplayTab.Models.Display_Type_Collection( + + ); + this.display_type_order_base = ; + this.display_type_order_step = ; + this.entities = new Ngg.DisplayTab.Models.Entity_Collection(); + this.entities.extra_data.displayed_gallery = this.displayed_gallery; + this.image_key = ""; + + // Pre-select current displayed gallery values + if (this.displayed_gallery.get('source')) { + + // Pre-select source + if (this.displayed_gallery.get('source')) { + var source = this.sources.find(function(item){ + return item.get('name') == this.displayed_gallery.get('source'); + }, this); + if (source) source.set('selected', true); + } + + // Pre-select containers + if (this.displayed_gallery.get('container_ids')) { + _.each(this.displayed_gallery.get('container_ids'), function(id){ + var container = this[this.displayed_gallery.get('source')].find(function(item){ + return item.id == id; + }, this); + if (container) container.set('selected', true); + }, this); + } + + // Pre-select display type + if (this.displayed_gallery.get('display_type')) { + var display_type = this.display_types.find(function(item){ + return item.get('name') == this.displayed_gallery.get('display_type'); + }, this); + if (display_type) display_type.set('selected', true); + } + } + + // Bind to the 'selected' event for each of the collections, and update the displayed + // gallery object's 'container_ids' attribute when something has changed + collections = ['galleries', 'albums', 'tags']; + _.each(collections, function(collection){ + this[collection].on('selected', function(){this.update_selected_containers(collection);}, this); + }, this); + + // Bind to the 'selected' event for the display types collection, updating the displayed gallery + this.display_types.on('change:selected', function(){ + this.displayed_gallery.set('display_type', this.display_types.selected_value()); + }, this); + + // Bind to the 'selected' event for the source, updating the displayed gallery + this.sources.on('selected', function(){ + this.displayed_gallery.set('source', this.sources.selected_value()); + + // If the source changed, and it's not the set to the original value, then + // exclusions get's set to [] + if (this.sources.selected_value() != this.original_displayed_gallery.get('source')) + this.displayed_gallery.set('exclusions', this.entities.excluded_ids()); + + // Otherwise, we revert to the original exclusions + else + this.displayed_gallery.set('exclusions', this.original_displayed_gallery.get('exclusions')); + + // special exemption: these should default to a reasonable limit + if (this.sources.selected_value() == 'random_images' || this.sources.selected_value() == 'recent_images') { + this.displayed_gallery.set('maximum_entity_count', 20); + } + + // Reset everything else + this.galleries.deselect_all(); + this.albums.deselect_all(); + this.tags.deselect_all(); + + // If the selected source is incompatible with the current display type, then + // display a new list + var selected_display_type = this.display_types.selected(); + var selected_source = this.sources.selected(); + if (selected_display_type.length > 0 && selected_source.length > 0) { + selected_display_type = selected_display_type[0]; + selected_source = selected_source[0]; + if (!selected_display_type.is_compatible_with_source(selected_source)) + this.display_types.deselect_all(); + if (this.display_type_selector) this.display_type_selector.render(); + } + if (this.preview_area) this.preview_area.render(); + }, this); + + // Synchronize changes made to entities with the displayed gallery + this.entities.on('change:exclude finished_fetching', function(){ + //this.displayed_gallery.set('sortorder', this.entities.entity_ids()); + this.displayed_gallery.set('exclusions', this.entities.excluded_ids()); + }, this); + + // Monitor events in other tabs and respond as appropriate + if (window.Frame_Event_Publisher) { + var app = this; + + // New gallery event + Frame_Event_Publisher.listen_for('attach_to_post:new_gallery', function(){ + app.galleries.reset(); + app.galleries.fetch(); + }); + + // A change has been made using the "Manage Galleries" page + Frame_Event_Publisher.listen_for('attach_to_post:manage_galleries attach_to_post:manage_images', function(data){ + + // Refresh the list of galleries + app.galleries.reset(); + app.galleries.fetch(); + + // If we're viewing galleries or images, then we need to refresh the entity list + var selected_source = app.sources.selected().pop(); + if (selected_source) { + if (_.indexOf(selected_source.get('returns'), 'image') >= 0 || + _.indexOf(selected_source.get('returns'), 'gallery')) { + app.entities.reset(); + } + } + }); + + // A change has been made using the "Manage Albums" page + Frame_Event_Publisher.listen_for('attach_to_post:manage_album', function(data){ + // Refresh the list of albums + app.albums.reset(); + app.albums.fetch(); + + // If we're viewing albums, then we need to refresh the entity list + var selected_source = app.sources.selected().pop(); + if (selected_source) { + if (_.indexOf(selected_source.get('returns'), 'album') >= 0) { + app.entities.reset(); + } + } + }); + + // A change has been made using the "Manage Tags" page + Frame_Event_Publisher.listen_for('attach_to_post:manage_tags attach_to_post:manage_images', function(data){ + // Refresh the list of tags + app.tags.reset(); + app.tags.fetch(); + + // If we're viewing galleries or images, then we need to refresh the entity list + var selected_source = app.sources.selected().pop(); + if (selected_source) { + if (_.indexOf(selected_source.get('returns'), 'image') >= 0 || + _.indexOf(selected_source.get('returns'), 'gallery')) { + app.entities.reset(); + } + } + }); + + // Thumbnail modified event + Frame_Event_Publisher.listen_for('attach_to_post:thumbnail_modified', function(data){ + var selected_source = app.sources.selected().pop(); + var image_id = data.image[data.image.id_field]; + + if (selected_source) { + + // Does the currently selected source return images? If so, + // check refresh the modified image's thumbnail + if(_.indexOf(selected_source.get('returns'), 'image') >= 0) { + var image = app.entities.find(function(item){ + return parseInt(item.entity_id()) == parseInt(image_id); + }, this); + if (image) image.set('thumb_url', data.image.thumb_url); + } + + // It must be an album or gallery + else { + var entity = app.entities.find(function(item){ + return parseInt(item.get('previewpic')) == image_id; + }, this); + if (entity) entity.trigger('change'); + } + } + }); + } + }, + + // Updates the selected container_ids for the displayed gallery + update_selected_containers: function(collection){ + this.displayed_gallery.set('container_ids', this[collection].selected_ids()); + }, + + render: function(){ + this.display_type_selector = new Ngg.DisplayTab.Views.Display_Type_Selector(); + new Ngg.DisplayTab.Views.Source_Config(); + new Ngg.DisplayTab.Views.Slug_Config(); + this.preview_area = new Ngg.DisplayTab.Views.Preview_Area(); + new Ngg.DisplayTab.Views.SaveButton(); + } + }); + Ngg.DisplayTab.instance = new Ngg.DisplayTab.App(); + Ngg.DisplayTab.instance.render(); + + window.Ngg = Ngg; + + // Invoke styling libraries + $('span.tooltip, label.tooltip').tooltip(); +}); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_source.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_source.php new file mode 100644 index 0000000..2a00bec --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_source.php @@ -0,0 +1,2 @@ +
      +
      \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_type.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_type.php new file mode 100644 index 0000000..32bf167 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_type.php @@ -0,0 +1,3 @@ +
      + +
      \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/no_display_type_selected.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/no_display_type_selected.php new file mode 100644 index 0000000..445f2fb --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/no_display_type_selected.php @@ -0,0 +1,3 @@ +

      + +

      \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/preview_tab.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/preview_tab.php new file mode 100644 index 0000000..47d94fc --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/preview_tab.php @@ -0,0 +1,3 @@ +
      + +
      \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/cache/class.cache.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/cache/class.cache.php new file mode 100644 index 0000000..0a9ed9d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/cache/class.cache.php @@ -0,0 +1,85 @@ +add_mixin('Mixin_Cache'); + $this->implement('I_Cache'); + } + + public static function get_instance($context = False) + { + if (!isset(self::$_instances[$context])) + { + self::$_instances[$context] = new C_Cache($context); + } + return self::$_instances[$context]; + } +} + +class Mixin_Cache extends Mixin +{ + /** + * Empties a directory of all of its content + * + * @param string $directory Absolute path + * @param bool $recursive Remove files from subdirectories of the cache + * @param string $regex (optional) Only remove files matching pattern; '/^.+\.png$/i' will match all .png + */ + public function flush_directory($directory, $recursive = TRUE, $regex = NULL) + { + // It is possible that the cache directory has not been created yet + if (!is_dir($directory)) + { + return; + } + + if ($recursive) + { + $directory = new DirectoryIterator($directory); + } + else { + $directory = new RecursiveIteratorIterator( + new RecursiveDirectoryIterator($directory), + RecursiveIteratorIterator::CHILD_FIRST + ); + } + + if (!is_null($regex)) + { + $iterator = RegexIterator($directory, $regex, RecursiveRegexIterator::GET_MATCH); + } + else { + $iterator = $directory; + } + + foreach ($iterator as $file) { + if ($file->isFile() || $file->isLink()) { + @unlink($file->getPathname()); + } + elseif ($file->isDir() && !$file->isDot() && $recursive) { + @rmdir($file->getPathname()); + } + } + } + + /** + * Flushes cache from all available galleries + * + * @param array $galleries When provided only the requested galleries' cache is flushed + */ + public function flush_galleries($galleries = array()) + { + if (empty($galleries)) + $galleries = $this->object->get_registry()->get_utility('I_Gallery_Mapper')->find_all(); + + foreach ($galleries as $gallery) { + $this->object->get_registry()->get_utility('I_Gallery_Storage')->flush_cache($gallery); + } + } + +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/cache/interface.cache.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/cache/interface.cache.php new file mode 100644 index 0000000..40340a8 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/cache/interface.cache.php @@ -0,0 +1,7 @@ +get_registry()->add_utility('I_Cache', 'C_Cache'); + } + + function get_type_list() + { + return array( + 'C_Cache' => 'class.cache.php', + 'I_Cache' => 'interface.cache.php' + ); + } +} + +new M_Cache(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/README.txt b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/README.txt new file mode 100644 index 0000000..4b1f6eb --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/README.txt @@ -0,0 +1 @@ +See the datamapper unit tests for details about the API \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/adapter.datamapper_factory.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/adapter.datamapper_factory.php new file mode 100644 index 0000000..a9b40bb --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/adapter.datamapper_factory.php @@ -0,0 +1,24 @@ +object->_query_args = array( + 'post_type' => $this->object->get_object_name(), + 'paged' => FALSE, + 'fields' => $fields, + 'post_status' => 'any', + 'datamapper' => TRUE, + 'posts_per_page'=> -1, + 'is_select' => TRUE, + 'is_delete' => FALSE + ); + + return $this->object; + } + + + /** + * Specifies an order clause + * @param type $order_by + * @param type $direction + * @return C_DataMapper_Driver_Base + */ + function order_by($order_by, $direction='ASC') + { + // Make an exception for the rand() method + $order_by = preg_replace("/rand\(\s*\)/", 'rand', $order_by); + + if (in_array($order_by, $this->object->_get_querable_table_columns())) { + $this->object->_query_args['orderby'] = $order_by; + } + else { // ordering by a meta value + $this->object->_query_args['orderby'] = 'meta_value'; + $this->object->_query_args['meta_key'] = $order_by; + } + $this->object->_query_args['order'] = $direction; + + return $this->object; + } + + /** + * Specifies a limit and optional offset + * @param integer $max + * @param integer $offset + * @return C_DataMapper_Driver_Base + */ + function limit($max, $offset=FALSE) + { + if ($max) { + $this->object->_query_args['paged'] = TRUE; + $this->object->_query_args['offset'] = $offset; + $this->object->_query_args['posts_per_page'] = $max; + } + + return $this->object; + } + + + /** + * Specifies a list of columns to group by + * @param array|string $columns + */ + function group_by($columns=array()) + { + if (!isset($this->object->_query_args['group_by_columns'])) + $this->object->_query_args['group_by_columns'] = $columns; + else { + $this->object->_query_args['group_by_columns'] = array_merge( + $this->object->_query_args['group_by_columns'], + $columns + ); + } + + return $this->object; + } + + /** + * Adds a WP_Query where clause + * @param array $where_clauses + * @param string $join + */ + function _add_where_clause($where_clauses, $join) + { + foreach ($where_clauses as $clause) { + // $clause => array( + // 'column' => 'ID', + // 'value' => 1210, + // 'compare' => '=' + // ) + + // Determine where what the where clause is comparing + switch($clause['column']) { + case 'author': + case 'author_id': + $this->object->_query_args['author'] = $clause['value']; + break; + case 'author_name': + $this->object->_query_args['author_name'] = $clause['value']; + break; + case 'cat': + case 'cat_id': + case 'category_id': + switch($clause['compare']) { + case '=': + case 'BETWEEN'; + case 'IN'; + if (!isset($this->object->_query_args['category__in'])) { + $this->object->_query_args['category__in'] = array(); + } + $this->object->_query_args['category__in'][] = $clause['value']; + break; + case '!=': + case 'NOT BETWEEN'; + case 'NOT IN'; + if (!isset($this->object->_query_args['category__not_in'])) { + $this->object->_query_args['category__not_in'] = array(); + } + $this->object->_query_args['category__not_in'][] = $clause['value']; + break; + } + break; + case 'category_name': + $this->object->_query_args['category_name'] = $clause['value']; + break; + case 'post_id': + case $this->object->get_primary_key_column(): + switch ($clause['compare']) { + case '=': + case 'IN'; + case 'BETWEEN'; + if (!isset($this->object->_query_args['post__in'])) { + $this->object->_query_args['post__in'] = array(); + } + $this->object->_query_args['post__in'][] = $clause['value']; + break; + default: + if (!isset($this->object->_query_args['post__not_in'])) { + $this->object->_query_args['post__not_in'] = array(); + } + $this->object->_query_args['post__not_in'][] = $clause['value']; + break; + } + break; + case 'pagename': + case 'postname': + case 'page_name': + case 'post_name': + if ($clause['compare'] == 'LIKE') + $this->object->_query_args['page_name__like'] = $clause['value']; + elseif ($clause['compare'] == '=') + $this->object->_query_args['pagename'] = $clause['value']; + elseif ($clause['compare'] == 'IN') + $this->object->_query_args['page_name__in'] = $clause['value']; + break; + case 'post_title': + // Post title uses custom WHERE clause + if ($clause['compare'] == 'LIKE') + $this->object->_query_args['post_title__like'] = $clause['value']; + else + $this->object->_query_args['post_title'] = $clause['value']; + break; + default: + // Must be metadata + $clause['key'] = $clause['column']; + unset($clause['column']); + + // Convert values to array, when required + if (in_array($clause['compare'], array('IN', 'BETWEEN'))) { + $clause['value'] = explode(',', $clause['value']); + foreach ($clause['value'] as &$val) { + if (!is_numeric($val)) { + + // In the _parse_where_clause() method, we + // quote the strings and add slashes + $val = stripslashes($val); + $val = substr($val, 1, strlen($val)-2); + } + } + } + + if (!isset($this->object->_query_args['meta_query'])) { + $this->object->_query_args['meta_query'] = array(); + } + $this->object->_query_args['meta_query'][] = $clause; + break; + } + } + + // If any where clauses have been added, specify how the conditions + // will be conbined/joined + if (isset($this->object->_query_args['meta_query'])) { + $this->object->_query_args['meta_query']['relation'] = $join; + } + + } + + + /** + * Destroys/deletes an entity from the database + * @param stdObject|C_DataMapper_Model $entity + * @return type + */ + function destroy($entity, $skip_trash=TRUE) + { + $retval = FALSE; + + $key = $this->object->get_primary_key_column(); + + // Find the id of the entity + if (is_object($entity) && isset($entity->$key)) { + $id = (int)$entity->$key; + } + else { + $id = (int)$entity; + } + + // If we have an ID, then delete the post + if (is_integer($id)) { + + // TODO: We assume that we can skip the trash. Is that correct? + // FYI, Deletes postmeta as wells + if (is_object(wp_delete_post($id, TRUE))) $retval = TRUE; + } + + return $retval; + } + + /** + * Converts a post to an entity + * @param \stdClass $post + * @param boolean $model + * @return \stdClass + */ + function convert_post_to_entity($post, $model=FALSE) + { + $entity = new stdClass(); + + // Unserialize the post content field + if (is_string($post->post_content)) { + if (($post_content = $this->object->unserialize($post->post_content))) { + foreach ($post_content as $key => $value) { + $post->$key = $value; + } + } + + } + unset($post->post_content); + + // Copy all fields to the entity + foreach ($post as $key => $value) { + $entity->$key = $value; + } + $this->object->_convert_to_entity($entity); + return $model? $this->object->convert_to_model($entity) : $entity; + } + + + /** + * Converts an entity to a post + * @param type $entity + * @return type + */ + function _convert_entity_to_post($entity) + { + // Was a model passed instead of an entity? + $post = $entity; + if (!($entity instanceof stdClass)) $post = $entity->get_entity(); + + // Create the post content + $post_content = clone $post; + foreach ($this->object->_table_columns as $column) unset($post_content->$column); + unset($post->id_field); + unset($post->post_content_filtered); + unset($post->post_content); + $post->post_content = $this->object->serialize($post_content); + $post->post_content_filtered = $post->post_content; + $post->post_type = $this->object->get_object_name(); + + // Sometimes an entity can contain a data stored in an array or object + // Those will be removed from the post, and serialized in the + // post_content field + foreach ($post as $key => $value) { + if (in_array(strtolower(gettype($value)), array('object','array'))) + unset($post->$key); + } + + // A post required a title + if (!property_exists($post, 'post_title')) { + $post->post_title = $this->object->get_post_title($post); + } + + // A post also requires an excerpt + if (!property_exists($post, 'post_excerpt')) { + $post->post_excerpt = $this->object->get_post_excerpt($post); + } + + return $post; + } + + /** + * Returns the WordPress database class + * @global wpdb $wpdb + * @return wpdb + */ + function _wpdb() + { + global $wpdb; + return $wpdb; + } + + + /** + * Flush and update all postmeta for a particular post + * @param int $post_id + */ + function _flush_and_update_postmeta($post_id, $entity, $omit=array()) + { + // We need to insert post meta data for each property + // Unfortunately, that means flushing all existing postmeta + // and then inserting new values. Depending on the number of + // properties, this could be slow. So, we directly access the database + /* @var $wpdb wpdb */ + global $wpdb; + if (!is_array($omit)) $omit = array($omit); + + // By default, we omit creating meta values for columns in the posts table + $omit = array_merge($omit, $this->object->_table_columns); + + // Delete the existing meta values + $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->postmeta} WHERE post_id = %s", $post_id)); + + // Create query for new meta values + $sql_parts = array(); + foreach($entity as $key => $value) { + if (in_array($key, $omit)) continue; + if (is_array($value) or is_object($value)) { + $value = $this->object->serialize($value); + } + $sql_parts[] = $wpdb->prepare("(%s, %s, %s)", $post_id, $key, $value); + } + $wpdb->query("INSERT INTO {$wpdb->postmeta} (post_id, meta_key, meta_value) VALUES ".implode(',', $sql_parts)); + } + + + /** + * Saves an entity to the database + * @param stdObject $entity + */ + function _save_entity($entity) + { + $post = $this->object->_convert_entity_to_post($entity); + $primary_key = $this->object->get_primary_key_column(); + + // TODO: unsilence this. Wordpress 3.9-beta2 is generating an error that should be corrected before its + // final release. + if (($post_id = @wp_insert_post($post))) { + + $new_entity = $this->object->find($post_id, TRUE); + foreach ($new_entity->get_entity() as $key => $value) $entity->$key = $value; + + // Save properties as post meta + $this->object->_flush_and_update_postmeta( + $post_id, + $entity instanceof stdClass ? $entity : $entity->get_entity() + ); + + $entity->$primary_key = $post_id; + } + $entity->id_field = $primary_key; + + return $post_id; + } + + + /** + * Determines whether the current statement is SELECT + * @return boolean + */ + function is_select_statement() + { + return isset($this->object->_query_args['is_select']) && $this->object->_query_args['is_select']; + } + + + /** + * Determines whether the current statement is DELETE + * @return type + */ + function is_delete_statement() + { + return isset($this->object->_query_args['is_delete']) && $this->object->_query_args['is_delete']; + } + + + /** + * Starts a new DELETE statement + */ + function delete() + { + $this->object->select(); + $this->object->_query_args['is_select'] = FALSE; + $this->object->_query_args['is_delete'] = TRUE; + return $this->object; + } + + + /** + * Runs the query + * @param string $sql optionally run the specified query + * @return array + */ + function run_query($sql=FALSE, $model=FALSE, $convert_to_entities=TRUE) + { + $retval = array(); + + if ($sql) + { + $this->object->_query_args['cache_results'] = FALSE; + $this->object->_query_args['custom_sql'] = $sql; + } + + // Execute the query + $query = new WP_Query(); + if (isset($this->object->debug)) $this->object->_query_args['debug'] = TRUE; + $query->query_vars = $this->object->_query_args; + add_action('pre_get_posts', array(&$this, 'set_query_args'), PHP_INT_MAX-1, 1); + if ($convert_to_entities) foreach ($query->get_posts() as $row) { + $retval[] = $this->object->convert_post_to_entity($row, $model); + } + else $retval = $query->get_posts(); + remove_action('pre_get_posts', array(&$this, 'set_query_args'), PHP_INT_MAX-1, 1); + + return $retval; + } + + /** + * Ensure that the query args are set. We need to do this in case a third-party + * plugin overrides our query + * @param $query + */ + function set_query_args($query) + { + if ($query->get('datamapper')) $query->query_vars = $this->object->_query_args; + } + + /** + * Fetches the last row + * @param array $conditions + * @return C_DataMapper_Entity + */ + function find_last($conditions=array(), $model=FALSE) + { + $retval = NULL; + + // Get row number for the last row + $table_name = $this->object->_clean_column($this->object->get_table_name()); + $object_name = $this->object->_clean_column($this->object->get_object_name()); + $sql = $this->_wpdb()->prepare("SELECT COUNT(*) FROM {$table_name} WHERE post_type = %s", $object_name); + $count = $this->_wpdb()->get_var($sql); + $offset = $count-1; + $results = $this->select()->where_and($conditions)->limit(1, $offset)->run_query(); + if ($results) { + $retval = $model? $this->object->convert_to_model($results[0]) : $results[0]; + } + + return $retval; + } + + + + /** + * Returns the number of total records/entities that exist + * @return int + */ + function count() + { + $this->object->select($this->object->get_primary_key_column()); + $retval = $this->object->run_query(FALSE, FALSE, FALSE); + + return count($retval); + } + + + /** + * Returns the title of the post. Used when post_title is not set + * @param stdClass $entity + * @return string + */ + function get_post_title($entity) + { + return "Untitled {$this->object->get_object_name()}"; + } + + /** + * Returns the excerpt of the post. Used when post_excerpt is not set + * @param stdClass $entity + * @return string + */ + function get_post_excerpt($entity) + { + return ''; + } +} + +class C_CustomPost_DataMapper_Driver extends C_DataMapper_Driver_Base +{ + var $_query_args = array(); + var $_primary_key_column = 'ID'; + + function define($object_name, $context=FALSE) + { + if (strlen($object_name) > 20) throw new Exception("The custom post name can be no longer than 20 characters long"); + + parent::define($object_name, $context); + $this->add_mixin('Mixin_CustomPost_DataMapper_Driver'); + $this->implement('I_CustomPost_DataMapper'); + } + + + /** + * Gets the name of the table + * @global string $table_prefix + * @return string + */ + function get_table_name() + { + global $table_prefix; + return $table_prefix.'posts'; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.customtable_datamapper_driver.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.customtable_datamapper_driver.php new file mode 100644 index 0000000..5c9343f --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.customtable_datamapper_driver.php @@ -0,0 +1,475 @@ +object->_primary_key_column; + } + + + /** + * Selects which fields to collect from the table. + * NOTE: Not protected from SQL injection - DO NOT let your users + * specify DB columns + * @param string $fields + */ + function select($fields=NULL) + { + // Create a fresh slate + $this->object->_init(); + if (!$fields OR $fields == '*') $fields = $this->get_table_name().'.*'; + $this->object->_select_clause = "SELECT {$fields}"; + + return $this->object; + } + + /** + * Determines whether we're going to execute a SELECT statement + * @return boolean + */ + function is_select_statement() + { + return ($this->object->_select_clause) ? TRUE : FALSE; + } + + /** + * Determines if we're going to be executing a DELETE statement + * @return type + */ + function is_delete_statement() + { + return $this->object->_delete_clause ? TRUE : FALSE; + } + + + /** + * Start a delete statement + */ + function delete() + { + // Create a fresh slate + $this->object->_init(); + $this->object->_delete_clause = "DELETE"; + return $this->object; + } + + + /** + * Orders the results of the query + * This method may be used multiple of times to order by more than column + * @param $order_by + * @param $direction + */ + function order_by($order_by, $direction='ASC') + { + // We treat the rand() function as an exception + if (preg_match("/rand\(\s*\)/", $order_by)) { + $order = 'rand()'; + } + else { + $order_by = $this->object->_clean_column($order_by); + + // If the order by clause is a column, then it should be backticked + if ($this->object->has_column($order_by)) $order_by = "`{$order_by}`"; + + $direction = $this->object->_clean_column($direction); + $order = "{$order_by} {$direction}"; + } + + $this->object->_order_clauses[] = $order; + + return $this->object; + } + + /** + * Specifies a limit and optional offset + * @param integer $max + * @param integer $offset + */ + function limit($max, $offset=0) + { + if ($offset) + $limit = $this->_wpdb()->prepare("LIMIT %d, %d",$offset,$max); + else + $limit = $this->_wpdb()->prepare("LIMIT %d", $max); + if ($limit) $this->object->_limit_clause = $limit; + + return $this->object; + } + + + /** + * Specifics a group by clause for one or more columns + * @param array|string $columns + */ + function group_by($columns=array()) + { + if (!is_array($columns)) $columns = array($columns); + $this->object->_group_by_columns = array_merge($this->object->_group_by_columns, $columns); + return $this->object; + } + + + /** + * Adds a where clause to the driver + * @param array $where_clauses + * @param string $join + */ + function _add_where_clause($where_clauses, $join) + { + $clauses = array(); + + foreach ($where_clauses as $clause) { + extract($clause); + if ($this->object->has_column($column)) $column = "`{$column}`"; + if (!is_array($value)) $value = array($value); + foreach ($value as $index => $v) { + $v = $clause['type'] == 'numeric' ? $v : "'{$v}'"; + $value[$index] = $v; + } + if ($compare == 'BETWEEN') { + $value = "{$value[0]} AND {$value[1]}"; + } + else { + $value = implode(', ', $value); + if (strpos($compare, 'IN') !== FALSE) $value = "({$value})"; + } + + $clauses[] = "{$column} {$compare} {$value}"; + } + + $this->object->_where_clauses[] = implode(" {$join} ", $clauses); + } + + + /** + * Returns the total number of entities known + * @return type + */ + function count() + { + $retval = 0; + + $key = $this->object->get_primary_key_column(); + $results = $this->object->run_query( + "SELECT COUNT(`{$key}`) AS `{$key}` FROM `{$this->object->get_table_name()}`" + ); + if ($results && isset($results[0]->$key)) + $retval = (int)$results[0]->$key; + + return $retval; + } + + /** + * Returns the generated SQL query to be executed + * @return string + */ + function get_generated_query($no_entities=FALSE) + { + $sql = array(); + + if ($this->object->is_select_statement()) $sql[] = $this->object->_select_clause; + elseif ($this->object->is_delete_statement()) $sql[] = $this->object->_delete_clause; + $sql[] = 'FROM `'.$this->object->get_table_name().'`'; + $where_clauses = array(); + foreach ($this->object->_where_clauses as $where) { + $where_clauses[] = '('.$where.')'; + } + if ($where_clauses) $sql[] = 'WHERE '.implode(' AND ', $where_clauses); + + if ($this->object->is_select_statement()) { + if ($this->object->_group_by_columns) $sql[] = 'GROUP BY '.implode(', ', $this->object->_group_by_columns); + if ($this->object->_order_clauses) $sql[] = 'ORDER BY '.implode(', ', $this->object->_order_clauses); + if ($this->object->_limit_clause) $sql[] = $this->object->_limit_clause; + } + return implode(' ', $sql); + } + + + /** + * Run the query + * @param $sql optionally run the specified SQL insteads + * return + */ + function run_query($sql=FALSE, $no_entities=FALSE) + { + $retval = array(); + + // Or generate SQL query + if (!$sql) + $sql = $this->object->get_generated_query($no_entities); + + // If we have a SQL statement to execute, then heck, execute it! + if ($sql) + { + if ($this->object->debug) { + var_dump($sql); + } + + $this->_wpdb()->query($sql); + + if ($this->_wpdb()->last_result) + { + $retval = array(); + // For each row, create an entity, update it's properties, and add it to the result set + if ($no_entities) + { + $retval = $this->_wpdb()->last_result; + } + else { + $id_field = $this->get_primary_key_column(); + foreach ($this->_wpdb()->last_result as $row) { + if ($row) { + if (isset($row->$id_field)) { + $retval[] = $this->object->_convert_to_entity($row); + } + } + } + } + } + elseif ($this->object->debug) { + var_dump("No entities returned from query"); + } + } + + return $retval; + } + + /** + * Stores the entity + * @param stdClass $entity + */ + function _save_entity($entity) + { + $retval = FALSE; + + unset($entity->id_field); + $primary_key = $this->object->get_primary_key_column(); + if (isset($entity->$primary_key) && $entity->$primary_key > 0) { + if($this->object->_update($entity)) $retval = intval($entity->$primary_key); + } + else { + $retval = $this->object->_create($entity); + if ($retval) { + $new_entity = $this->object->find($retval); + foreach ($new_entity as $key => $value) $entity->$key = $value; + } + } + $entity->id_field = $primary_key; + + return $retval; + } + + /** + * Converts an entity to something suitable for inserting into + * a database column + * @param stdObject $entity + * @return array + */ + function _convert_to_table_data($entity) + { + $data = (array) $entity; + foreach ($data as $key => $value) { + if (is_array($value)) $data[$key] = $this->object->serialize($value); + } + + return $data; + } + + + /** + * Destroys/deletes an entity + * @param stdObject|C_DataMapper_Model|int $entity + * @return boolean + */ + function destroy($entity) + { + $retval = FALSE; + $key = $this->object->get_primary_key_column(); + + // Find the id of the entity + if (is_object($entity) && isset($entity->$key)) { + $id = (int)$entity->$key; + } + else { + $id = (int)$entity; + } + + // If we have an ID, then delete the post + if (is_numeric($id)) { + $sql = $this->object->_wpdb()->prepare( + "DELETE FROM `{$this->object->get_table_name()}` WHERE {$key} = %s", + $id + ); + $retval = $this->object->_wpdb()->query($sql); + } + + return $retval; + } + + /** + * Creates a new record in the database + * @param stdObject $entity + * @return boolean + */ + function _create($entity) + { + $retval = FALSE; + $id = $this->object->_wpdb()->insert( + $this->object->get_table_name(), + $this->object->_convert_to_table_data($entity) + ); + if ($id) { + $key = $this->object->get_primary_key_column(); + $retval = $entity->$key = intval($this->object->_wpdb()->insert_id); + } + return $retval; + } + + + /** + * Updates a record in the database + * @param stdObject $entity + */ + function _update($entity) + { + $key = $this->object->get_primary_key_column(); + + return $this->object->_wpdb()->update( + $this->object->get_table_name(), + $this->object->_convert_to_table_data($entity), + array($key => $entity->$key) + ); + } + + + /** + * Fetches the last row + * @param array $conditions + * @return C_DataMapper_Entity + */ + function find_last($conditions=array(), $model=FALSE) + { + $retval = NULL; + + // Get row number for the last row + $table_name = $this->object->_clean_column($this->object->get_table_name()); + $count = $this->_wpdb()->get_var("SELECT COUNT(*) FROM `{$table_name}`"); + $offset = $count-1; + $results = $this->select()->where_and($conditions)->limit(1, $offset)->run_query(); + if ($results) { + $retval = $model? $this->object->convert_to_model($results[0]) : $results[0]; + } + + return $retval; + } + + function _add_column($column_name, $datatype, $default_value=NULL) + { + $sql = "ALTER TABLE `{$this->get_table_name()}` ADD COLUMN `{$column_name}` {$datatype}"; + if ($default_value) { + if (is_string($default_value)) $default_value = str_replace("'", "\\'", $default_value); + $sql .= " NOT NULL DEFAULT " . (is_string($default_value) ? "'{$default_value}" : "{$default_value}"); + } + $this->object->_wpdb()->query($sql); + } + + function _remove_column($column_name) + { + $sql = "ALTER TABLE `{$this->get_table_name()}` DROP COLUMN `{$column_name}`"; + $this->object->_wpdb()->query($sql); + } + + /** + * Migrates the schema of the database + */ + function migrate($lookup=TRUE) + { + if (!$this->object->_columns) { + throw new E_ColumnsNotDefinedException("Columns not defined for {$this->get_table_name()}"); + } + + if ($lookup) $this->lookup_columns(); + + // Add any missing columns + foreach ($this->object->_columns as $key => $properties) { + if (!in_array($key, $this->object->_table_columns)) { + $this->object->_add_column($key, $properties['type'], $properties['default_value']); + } + } + + // Remove any columns not defined + foreach ($this->object->_table_columns as $key) { + if (!isset($this->object->_columns[$key])) { + //$this->object->_remove_column($key); + } + } + + $this->object->lookup_columns(); + } + + + function _init() + { + $this->object->_where_clauses = array(); + $this->object->_order_clauses = array(); + $this->object->_group_by_columns = array(); + $this->object->_limit_clause = ''; + $this->object->_select_clause = ''; + } +} + +class C_CustomTable_DataMapper_Driver extends C_DataMapper_Driver_Base +{ + /** + * The WordPress Database Connection + * @var wpdb + */ + var $_where_clauses = array(); + var $_order_clauses = array(); + var $_group_by_columns = array(); + var $_limit_clause = ''; + var $_select_clause = ''; + var $_delete_clause = ''; + + function define($object_name, $context=FALSE) + { + parent::define($object_name, $context); + $this->add_mixin('C_CustomTable_DataMapper_Driver_Mixin'); + $this->implement('I_CustomTable_DataMapper'); + } + + function initialize($object_name=FALSE) + { + parent::initialize($object_name); + if (!isset($this->_primary_key_column)) + $this->_primary_key_column = $this->_lookup_primary_key_column(); + $this->migrate(FALSE); + } + + /** + * Returns the database connection object for WordPress + * @global wpdb $wpdb + * @return wpdb + */ + function _wpdb() + { + global $wpdb; + return $wpdb; + } + + /** + * Looks up the primary key column for this table + */ + function _lookup_primary_key_column() + { + $key = $this->_wpdb()->get_row("SHOW INDEX FROM {$this->get_table_name()} WHERE Key_name='PRIMARY'", ARRAY_A); + if (!$key) throw new Exception("Please specify the primary key for {$this->get_table_name ()}"); + return $key['Column_name']; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.datamapper_driver_base.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.datamapper_driver_base.php new file mode 100644 index 0000000..25ec1a7 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.datamapper_driver_base.php @@ -0,0 +1,744 @@ +object->_serialized_columns[] = $column; + } + + function unserialize_columns($object) + { + foreach ($this->object->_serialized_columns as $column) { + if (isset($object->$column) && is_string($object->$column)) { + $object->$column = $this->unserialize($object->$column); + } + } + } + + /** + * Serializes the data + * @param mixed $value + * @return string + */ + function serialize($value) + { + //Using json_encode here because PHP's serialize is not Unicode safe + return base64_encode(json_encode($value)); + } + + + /** + * Unserializes data using our proprietary format + * @param string $value + * @return mixed + */ + function unserialize($value) + { + $retval = NULL; + + if (is_string($value)) + { + $retval = stripcslashes($value); + + if (strlen($value) > 1) + { + // We can't always rely on base64_decode() or json_decode() to return FALSE as their documentation + // claims so check if $retval begins with a: as that indicates we have a serialized PHP object. + if (strpos($retval, 'a:') === 0) + { + $er = error_reporting(0); + $retval = unserialize($value); + error_reporting($er); + } + else { + // We use json_decode() here because PHP's unserialize() is not Unicode safe. + $retval = json_decode(base64_decode($retval), TRUE); + } + } + } + + return $retval; + } + + + /** + * Finds a partiular entry by id + * @param int|stdClass|C_DataMapper_Model $entity + * @return C_DataMapper_Entity + */ + function find($entity, $model=FALSE) + { + $retval = NULL; + + // Get primary key of the entity + $pkey = $this->object->get_primary_key_column(); + if (!is_numeric($entity)) { + $entity = isset($entity->$pkey) ? intval($entity->$pkey) : FALSE; + } + + // If we have an entity ID, then get the record + if ($entity) { + $results = $this->object->select()->where_and( + array("{$pkey} = %d", $entity) + )->limit(1,0)->run_query(); + + if ($results) $retval = $model ? $this->object->convert_to_model($results[0]) : $results[0]; + } + + return $retval; + } + + /** + * Fetches the first row + * @param array $conditions + * @return C_DataMapper_Entity + */ + function find_first($conditions=array(), $model=FALSE) + { + $results = $this->object->select()->where_and($conditions)->limit(1,0)->run_query(); + if ($results) + return $model? $this->object->convert_to_model($results[0]) : $results[0]; + else + return NULL; + } + + + /** + * Queries all rows + * @param array $conditions + * @return array + */ + function find_all($conditions=array(), $model=FALSE) + { + // Sometimes users will forget that the first parameter is conditions, and think it's $model instead + if ($conditions === TRUE) + { + $conditions = array(); + $model = TRUE; + } + + if ($conditions === FALSE) + { + $conditions = array(); + $model = FALSE; + } + + $results = $this->object->select()->where_and($conditions)->run_query(); + if ($results && $model) + { + foreach ($results as &$r) { + $r = $this->object->convert_to_model($r); + } + } + + return $results; + } + + + /** + * Filters the query using conditions: + * E.g. + * array("post_title = %s", "Foo") + * array( + * array("post_title = %s", "Foo"), + * + * ) + */ + function where_and($conditions=array()) + { + return $this->object->_where($conditions, 'AND'); + } + + function where_or($conditions=array()) + { + return $this->object->where($conditions, 'OR'); + } + + + function where($conditions=array()) + { + return $this->object->_where($conditions, 'AND'); + } + + + /** Parses the where clauses + * They could look like the following: + * + * array( + * "post_id = 1" + * array("post_id = %d", 1), + * ) + * + * or simply "post_id = 1" + * @param array|string $conditions + * @param string $operator + * @return ExtensibleObject + */ + function _where($conditions=array(), $operator) + { + $where_clauses = array(); + + // If conditions is not an array, make it one + if (!is_array($conditions)) $conditions = array($conditions); + elseif (!empty($conditions) && !is_array($conditions[0])) { + // Just a single condition was passed, but with a bind + $conditions = array($conditions); + } + + // Iterate through each condition + foreach ($conditions as $condition) { + if (is_string($condition)) { + $clause = $this->object->_parse_where_clause($condition); + if ($clause) $where_clauses[] = $clause; + } + else { + $clause = array_shift($condition); + $clause = $this->object->_parse_where_clause($clause, $condition); + if ($clause) $where_clauses[] = $clause; + } + } + + // Add where clause to query + if ($where_clauses) $this->object->_add_where_clause($where_clauses, $operator); + + return $this->object; + } + + /** + * Parses a where clause and returns an associative array + * representing the query + * + * E.g. parse_where_clause("post_title = %s", "Foo Bar") + * + * @global wpdb $wpdb + * @param string $condition + * @return array + */ + function _parse_where_clause($condition) + { + $column = ''; + $operator = ''; + $value = ''; + $numeric = TRUE; + + // Substitute any placeholders + global $wpdb; + $binds = func_get_args(); + $binds = $binds[1]; // first argument is the condition + foreach ($binds as &$bind) { + + // A bind could be an array, used for the 'IN' operator + // or a simple scalar value. We need to convert arrays + // into scalar values + if (is_object($bind)) + $bind = (array)$bind; + + if (is_array($bind) && !empty($bind)) { + foreach ($bind as &$val) { + if (!is_numeric($val)) { + $val = '"'.addslashes($val).'"'; + $numeric = FALSE; + } + } + $bind = implode(',', $bind); + } + else if (is_array($bind) && empty($bind)) { + $bind = 'NULL'; + } + else if(!is_numeric($bind)) { + $numeric = FALSE; + } + } + $condition = $wpdb->prepare($condition, $binds); + + // Parse the where clause + if (preg_match("/^[^\s]+/", $condition, $match)) { + $column = trim(array_shift($match)); + $condition = str_replace($column, '', $condition); + } + + if (preg_match("/(NOT )?IN|(NOT )?LIKE|(NOT )?BETWEEN|[=!<>]+/i", $condition, $match)) { + $operator = trim(array_shift($match)); + $condition = str_replace($operator, '', $condition); + $operator = strtolower($operator); + $value = trim($condition); + } + + // Values will automatically be quoted, so remove them + // If the value is part of an IN clause or BETWEEN clause and + // has multiple values, we attempt to split the values apart into an + // array and iterate over them individually + if ($operator == 'in') { + $values = preg_split("/'?\s?(,)\s?'?/i", $value); + } + elseif ($operator == 'between') { + $values = preg_split("/'?\s?(AND)\s?'?/i", $value); + } + + // If there's a single value, treat it as an array so that we + // can still iterate + if (empty($values)) $values = array($value); + foreach ($values as $index => $value) { + $value = preg_replace("/^(\()?'/", '', $value); + $value = preg_replace("/'(\))?$/", '', $value); + $values[$index] = $value; + } + if (count($values)>1) $value = $values; + + // Return the WP Query meta query parameters + $retval = array( + 'column' => $column, + 'value' => $value, + 'compare' => strtoupper($operator), + 'type' => $numeric ? 'numeric' : 'string', + ); + + return $retval; + } + + /** + * Converts a stdObject to an Entity + * @param stdObject $stdObject + * @return stdObject + */ + function _convert_to_entity($stdObject) + { + // Add name of the id_field to the entity, and convert + // the ID to an integer + $stdObject->id_field = $key = $this->object->get_primary_key_column(); + + // Cast columns to their appropriate data type + $this->cast_columns($stdObject); + + // Strip slashes + $this->strip_slashes($stdObject); + + // Unserialize columns + $this->unserialize_columns($stdObject); + + // Set defaults for this entity + $this->object->set_defaults($stdObject); + + return $stdObject; + } + + + function strip_slashes($stdObject) + { + foreach (get_object_vars($stdObject) as $key => $value) { + if (is_string($value)) { + $stdObject->$key = str_replace("\\'", "'", str_replace('\"', '"', str_replace("\\\\", "\\", $value))); + } + elseif(is_object($value)) { + $stdObject->$key = $this->strip_slashes_deep($value); + } + elseif(is_array($value)) { + $stdObject->$key = $this->strip_slashes_deep($value); + } + } + + return $stdObject; + } + + function strip_slashes_deep($input) + { + $retval = $input; + + if (is_object($input)) { + foreach (get_object_vars($input) as $key => $value) { + $retval->$key = $this->strip_slashes_deep($value); + } + } + elseif(is_array($input)) { + foreach ($input as $key => $value) { + $retval[$key] = $this->strip_slashes_deep($value); + } + } + elseif(is_string($input)) { + $retval = str_replace("\\'", "'", str_replace('\"', '"', str_replace("\\\\", "\\", $input))); + + } + + return $retval; + } + + + /** + * Converts a stdObject entity to a model + * @param stdObject $stdObject + */ + function convert_to_model($stdObject, $context=FALSE) + { + // Create a factory + $retval = NULL; + + try { + $this->object->_convert_to_entity($stdObject); + } + catch (Exception $ex) { + throw new E_InvalidEntityException($ex); + } + $retval = $this->object->create($stdObject, $context); + + return $retval; + } + + /** + * Creates a new model + * @param stdClass|array $properties + * @return C_DataMapper_Model + */ + function create($properties=array(), $context=FALSE) + { + $entity = $properties; + $factory = $this->object->get_registry()->get_utility('I_Component_Factory'); + if (!is_object($properties)) { + $entity = new stdClass; + foreach ($properties as $k=>$v) $entity->$k = $v; + } + return $factory->create($this->object->get_model_factory_method(), $entity, $this->object, $context); + } + + + /** + * Determines whether an object is actually a model + * @param mixed $obj + * @return bool + */ + function is_model($obj) + { + return is_subclass_of($obj, 'C_DataMapper_Model') or get_class($obj) == 'C_DataMapper_Model'; + } + + /** + * Saves an entity + * @param stdClass|C_DataMapper_Model $entity + * @return bool + */ + function save($entity) + { + $retval = FALSE; + $model = $entity; + + // Attempt to use something else, most likely an associative array + // TODO: Support assocative arrays. The trick is to support references + // with dynamic calls using __call() and call_user_func_array(). + if (is_array($entity)) throw new E_InvalidEntityException(); + + // We can work with what we have. But we need to ensure that we've got + // a model + elseif (!$this->object->is_model($entity)) { + $model = $this->object->convert_to_model($entity); + } + + // Validate the model + $model->validate(); + + if ($model->is_valid()) { + $saved_entity = $model->get_entity(); + unset($saved_entity->_errors); + $retval = $this->object->_save_entity($saved_entity); + } + + // We always return the same type of entity that we given + if (get_class($entity) == 'stdClass') $model->get_entity(); + + return $retval; + } + + + /** + * Gets validation errors for the entity + * @param stdClass|C_DataMapper_Model $entity + * @return array + */ + function get_errors($entity) + { + $model = $entity; + if (!$this->object->is_model($entity)) { + $model = $this->object->convert_to_model($entity); + } + $model->validate(); + return $model->get_errors(); + } + + /** + * Called to set defaults for the record/model/entity. + * Subclasses and adapters should extend this method to provide their + * implementation. The implementation should make use of the + * _set_default_value() method + */ + function set_defaults() + { + + } + + /** + * If a field has no value, then use the default value. + * @param stdClass|C_DataMapper_Model $object + */ + function _set_default_value($object) + { + $array = NULL; + $field = NULL; + $default_value = NULL; + + // The first argument MUST be an object + if (!is_object($object)) throw new E_InvalidEntityException(); + + // This method has two signatures: + // 1) _set_default_value($object, $field, $default_value) + // 2) _set_default_value($object, $array_field, $field, $default_value) + + // Handle #1 + $args = func_get_args(); + if (count($args) == 4) { + list($object, $array, $field, $default_value) = $args; + if (!isset($object->{$array})) { + $object->{$array} = array(); + $object->{$array}[$field] = NULL; + } + else { + $arr = &$object->{$array}; + if (!isset($arr[$field])) $arr[$field] = NULL; + } + $array = &$object->{$array}; + $value = &$array[$field]; + if ($value === '' OR is_null($value)) $value = $default_value; + } + + // Handle #2 + else { + list($object, $field, $default_value) = $args; + if (!isset($object->$field)) { + $object->$field = NULL; + } + $value = $object->$field; + if ($value === '' OR is_null($value)) $object->$field = $default_value; + } + } + + function define_column($name, $type, $default_value=NULL) + { + $this->object->_columns[$name] = array( + 'type' => $type, + 'default_value' => $default_value + ); + } + + function has_defined_column($name) + { + $columns = $this->object->_columns; + return isset($columns[$name]); + } + + function cast_columns($entity) + { + foreach ($this->object->_columns as $key => $properties) { + $value = property_exists($entity, $key) ? $entity->$key : NULL; + $default_value = $properties['default_value']; + if (!is_null($value) && $value !== $default_value) { + $column_type = $this->object->_columns[$key]['type']; + if (preg_match("/varchar|text/i", $column_type)) { + if (!is_array($value) && !is_object($value)) + $entity->$key = strval($value); + } + else if (preg_match("/decimal|numeric|double/i", $column_type)) { + $entity->$key = doubleval($value); + } + else if (preg_match("/float/i", $column_type)) { + $entity->$key = floatval($value); + } + else if (preg_match("/int/i", $column_type)) { + $entity->$key = intval($value); + } + else if (preg_match("/bool/i", $column_type)) { + $entity->$key = ($value ? TRUE : FALSE); + } + } + + // Add property and default value + else { + $entity->$key = $default_value; + } + } + return $entity; + } +} + +class C_DataMapper_Driver_Base extends C_Component +{ + var $_object_name; + var $_model_factory_method = FALSE; + var $_columns = array(); + var $_table_columns = array(); + var $_serialized_columns = array(); + + function define($object_name, $context=FALSE) + { + parent::define($context); + $this->add_mixin('Mixin_DataMapper_Driver_Base'); + $this->implement('I_DataMapper_Driver'); + $this->_object_name = $object_name; + } + + function initialize() + { + parent::initialize(); + + if ($this->has_method('define_columns')) { + $this->define_columns(); + } + + $this->lookup_columns(); + } + + /** + * Gets the object name + * @return string + */ + function get_object_name() + { + return $this->_object_name; + } + + /** + * Gets the name of the table + * @global string $table_prefix + * @return string + */ + function get_table_name() + { + global $table_prefix; + return $table_prefix.$this->_object_name; + } + + + /** + * Looks up using SQL the columns existing in the database + */ + function lookup_columns() + { + global $wpdb; + $this->_table_columns = array(); + $sql = "SHOW COLUMNS FROM `{$this->get_table_name()}`"; + foreach ($wpdb->get_results($sql) as $row) { + $this->_table_columns[] = $row->Field; + } + return $this->_table_columns; + } + + /** + * Determines whether a column is present for the table + * @param string $column_name + * @return string + */ + function has_column($column_name) + { + if (empty($this->object->_table_columns)) $this->object->lookup_columns(); + return array_search($column_name, $this->object->_table_columns) !== FALSE; + } + + /** + * Sets the name of the factory method used to create a model for this entity + * @param string $method_name + */ + function set_model_factory_method($method_name) + { + $this->_model_factory_method = $method_name; + } + + + /** + * Gets the name of the factory method used to create a model for this entity + */ + function get_model_factory_method() + { + return $this->_model_factory_method; + } + + + /** + * Gets the name of the primary key column + * @return string + */ + function get_primary_key_column() + { + return $this->_primary_key_column; + } + + + /** + * Gets the class name of the driver used + * @return string + */ + function get_driver_class_name() + { + return get_called_class(); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.datamapper_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.datamapper_installer.php new file mode 100644 index 0000000..f41b322 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.datamapper_installer.php @@ -0,0 +1,14 @@ +settings = C_NextGen_Settings::get_instance(); + } + + function install() + { + $this->settings->set_default_value('datamapper_driver', 'custom_post_datamapper'); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.datamapper_model.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.datamapper_model.php new file mode 100644 index 0000000..ba1fd5f --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.datamapper_model.php @@ -0,0 +1,157 @@ +add_mixin('Mixin_Validation'); + $this->add_mixin('Mixin_DataMapper_Model_Instance_Methods'); + $this->add_mixin('Mixin_DataMapper_Model_Validation'); + $this->implement('I_DataMapper_Model'); + } + + /** + * Creates a new entity for the specified mapper + * @param C_DataMapper_Driver_Base $mapper + * @param array|stdClass $properties + * @param string $context + */ + function initialize($mapper=NULL, $properties=FALSE) + { + $this->_mapper = $mapper; + $this->_stdObject = $properties ? (object)$properties : new stdClass(); + parent::initialize(); + $this->set_defaults(); + } + + /** + * Gets the data mapper for the entity + * @return C_DataMapper_Driver_Base + */ + function get_mapper() + { + return $this->_mapper; + } + + + /** + * Gets a property of the model + */ + function &__get($property_name) + { + if (isset($this->_stdObject->$property_name)) { + $retval = &$this->_stdObject->$property_name; + return $retval; + } + else { + // We need to assign NULL to a variable first, since only + // variables can be returned by reference + $retval = NULL; + return $retval; + } + } + + /** + * Sets a property for the model + */ + function __set($property_name, $value) + { + return $this->_stdObject->$property_name = $value; + } + + + function __isset($property_name) + { + return isset($this->_stdObject->$property_name); + } + + + /** + * Saves the entity + * @param type $updated_attributes + */ + function save($updated_attributes=array()) + { + $this->update_attributes($updated_attributes); + return $this->get_mapper()->save($this->get_entity()); + } + + /** + * Updates the attributes for an object + */ + function update_attributes($array=array()) + { + foreach ($array as $key => $value) $this->_stdObject->$key = $value; + } + + + /** + * Sets the default values for this model + */ + function set_defaults() + { + $mapper = $this->get_mapper(); + if ($mapper->has_method('set_defaults')) + $mapper->set_defaults($this); + } + + /** + * Destroys or deletes the entity + */ + function destroy() + { + return $this->get_mapper()->destroy($this->_stdObject); + } + + + /** + * Determines whether the object is new or existing + * @return type + */ + function is_new() + { + return $this->id() ? FALSE: TRUE; + } + + /** + * Gets/sets the primary key + */ + function id($value=NULL) + { + $key = $this->get_mapper()->get_primary_key_column(); + if ($value) { + $this->__set($key, $value); + + } + return $this->__get($key); + } +} + +/** + * This mixin should be overwritten by other modules + */ +class Mixin_DataMapper_Model_Validation extends Mixin +{ + function validation() + { + return $this->object->is_valid(); + } +} + +class Mixin_DataMapper_Model_Instance_Methods extends Mixin +{ + /** + * Returns the associated entity + */ + function &get_entity() + { + return $this->object->_stdObject; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/interface.custompost_datamapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/interface.custompost_datamapper.php new file mode 100644 index 0000000..0018b18 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/interface.custompost_datamapper.php @@ -0,0 +1,6 @@ +module_id, 'C_Datamapper_Installer'); + } + + function _register_adapters() + { + $this->get_registry()->add_adapter('I_Component_Factory', 'A_DataMapper_Factory'); + } + + + function _register_hooks() + { + add_filter('posts_request', array(&$this, 'set_custom_wp_query'), 50, 2); + add_filter('posts_fields', array(&$this, 'set_custom_wp_query_fields'), 50, 2); + add_filter('posts_where', array(&$this, 'set_custom_wp_query_where'), 50, 2); + add_filter('posts_groupby', array(&$this, 'set_custom_wp_query_groupby'), 50, 2); + } + + + /** + * Sets a custom SQL query for the WP_Query class, when the Custom Post + * DataMapper implementation is used + * @param string $sql + * @param WP_Query $wp_query + * @return string + */ + function set_custom_wp_query($sql, &$wp_query) + { + if ($wp_query->get('datamapper')) { + + // Set the custom query + if (($custom_sql = $wp_query->get('custom_sql'))) { + $sql = $custom_sql; + } + + // Perhaps we're to initiate a delete query instead? + elseif ($wp_query->get('is_delete')) { + $sql = preg_replace("/^SELECT.*FROM/i", "DELETE FROM", $sql); + } + + if ($wp_query->get('debug')) var_dump($sql); + } + + return $sql; + } + + /** + * Sets custom fields to select from the database + * @param string $fields + * @param WP_Query $wp_query + * @return string + */ + function set_custom_wp_query_fields($fields, &$wp_query) + { + if ($wp_query->get('datamapper')) { + if (($custom_fields = $wp_query->get('fields'))) { + $fields = $custom_fields; + } + } + + return $fields; + } + + + /** + * Sets custom where clauses for a query + * @param string $where + * @param WP_Query $wp_query + * @return string + */ + function set_custom_wp_query_where($where, &$wp_query) + { + if ($wp_query->get('datamapper')) { + $this->add_post_title_where_clauses($where, $wp_query); + $this->add_post_name_where_clauses($where, $wp_query); + } + + return $where; + } + + + /** + * Adds additional group by clauses to the SQL query + * @param string $groupby + * @param WP_Query $wp_query + * @return string + */ + function set_custom_wp_query_groupby($groupby, &$wp_query) + { + $retval = $groupby; + $group_by_columns = $wp_query->get('group_by_columns'); + if ($group_by_columns) { + $retval = str_replace('GROUP BY', '', $retval); + $columns = explode(',', $retval); + foreach (array_reverse($columns) as $column) { + array_unshift($group_by_columns, trim($column)); + } + $retval = "GROUP BY ".implode(', ', $group_by_columns); + } + // Not all mysql servers allow access to create temporary tables which are used when doing GROUP BY + // statements; this can potentially ruin basic queries. If no group_by_columns is set AND the query originates + // within the datamapper we strip the "GROUP BY" clause entirely in this filter. + else if ($wp_query->get('datamapper')) { + $retval = ''; + } + return $retval; + } + + + /** + * Formats the value of used in a WHERE IN + * SQL clause for use in the WP_Query where clause + * @param string|array $values + * @return string + */ + function format_where_in_value($values) + { + if (is_string($values) && strpos($values, ',') !== FALSE) + $values = explode(", ", $values); + elseif (!is_array($values)) + $values = array($values); + + // Quote the titles + foreach ($values as $index => $value) { + $values[$index] = "'{$value}'"; + } + + return implode(', ', $values); + } + + + /** + * Adds post_title to the where clause + * @param string $where + * @param WP_Query $wp_query + * @return string + */ + function add_post_title_where_clauses(&$where, &$wp_query) + { + global $wpdb; + + // Handle post_title query var + if (($titles = $wp_query->get('post_title'))) { + $titles = $this->format_where_in_value($titles); + $where .= " AND {$wpdb->posts}.post_title IN ({$titles})"; + } + + // Handle post_title_like query var + elseif (($value = $wp_query->get('post_title__like'))) { + $where .= " AND {$wpdb->posts}.post_title LIKE '{$value}'"; + } + } + + + /** + * Adds post_name to the where clause + * @param type $where + * @param type $wp_query + */ + function add_post_name_where_clauses(&$where, &$wp_query) + { + global $wpdb; + + if (($name = $wp_query->get('page_name__like'))) { + $where .= " AND {$wpdb->posts}.post_name LIKE '{$name}'"; + } + elseif (($names = $wp_query->get('page_name__in'))) { + $names = $this->format_where_in_value($names); + $where .= " AND {$wpdb->posts}.post_name IN ({$names})"; + } + } + + function get_type_list() + { + return array( + 'A_Datamapper_Factory' => 'adapter.datamapper_factory.php', + 'C_Datamapper_Installer' => 'class.datamapper_installer.php', + 'C_Datamapper' => 'class.datamapper.php', + 'C_Custompost_Datamapper_Driver' => 'class.custompost_datamapper_driver.php', + 'C_Customtable_Datamapper_Driver' => 'class.customtable_datamapper_driver.php', + 'C_Datamapper_Driver_Base' => 'class.datamapper_driver_base.php', + 'C_Datamapper_Model' => 'class.datamapper_model.php', + 'I_Custompost_Datamapper' => 'interface.custompost_datamapper.php', + 'I_Customtable_Datamapper' => 'interface.customtable_datamapper.php', + 'I_Datamapper_Driver' => 'interface.datamapper_driver.php', + 'I_Datamapper_Model' => 'interface.datamapper_model.php', + 'M_Datamapper' => 'module.datamapper.php' + ); + } +} +new M_DataMapper(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/adapter.dynamic_stylesheet_routes.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/adapter.dynamic_stylesheet_routes.php new file mode 100644 index 0000000..50a91b2 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/adapter.dynamic_stylesheet_routes.php @@ -0,0 +1,21 @@ +object->add_pre_hook( + 'serve_request', + 'Add Dynamic Stylesheet Route', + get_class(), + 'add_dynamic_stylesheet_route' + ); + } + + function add_dynamic_stylesheet_route() + { + $app = $this->create_app('/nextgen-dcss'); + $app->rewrite('/{\d}/{*}', '/index--{1}/data--{2}'); + $app->route('/', 'I_Dynamic_Stylesheet#index'); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/class.dynamic_stylesheet_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/class.dynamic_stylesheet_controller.php new file mode 100644 index 0000000..4aabfa4 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/class.dynamic_stylesheet_controller.php @@ -0,0 +1,128 @@ +add_mixin('Mixin_Dynamic_Stylesheet_Instance_Methods'); + $this->add_mixin('Mixin_Dynamic_Stylesheet_Actions'); + $this->implement('I_Dynamic_Stylesheet'); + } + + function initialize() + { + parent::initialize(); + $this->_app = C_NextGen_Settings::get_instance()->dynamic_stylesheet_slug; + } + + static function &get_instance($context=FALSE) + { + if (!isset(self::$_instances[$context])) { + $klass = get_class(); + self::$_instances[$context] = new $klass($context); + } + return self::$_instances[$context]; + } +} + +/** + * Provides instance methods for the dynamic stylesheet utility + */ +class Mixin_Dynamic_Stylesheet_Instance_Methods extends Mixin +{ + /** + * Registers a template with the dynamic stylesheet utility. A template + * must be registered before it can be loaded + * @param string $name + * @param string $template + */ + function register($name, $template) + { + $this->object->_known_templates[$name] = $template; + } + + /** + * Finds a registered template by name + * @param string $name + * @return int + */ + function get_css_template_index($name) + { + return array_search($name, array_keys($this->object->_known_templates)); + } + + function get_css_template($index) + { + $keys = array_keys($this->object->_known_templates); + return $this->object->_known_templates[$keys[$index]]; + } + + /** + * Loads a template, along with the dynamic variables to be interpolated + * @param string $name + * @param array $vars + */ + function enqueue($name, $data=array()) + { + if (($index = $this->object->get_css_template_index($name)) !== FALSE) + { + if (is_subclass_of($data, 'C_DataMapper_Model')) + $data = $data->get_entity(); + $data = $this->object->encode($data); + wp_enqueue_style( + 'dyncss-' . $index . $data . '@dynamic', + $this->object->get_router()->get_url("/{$this->object->_app}", FALSE) . "?index={$index}&data={$data}" + ); + } + } + + /** + * Encodes $data + * + * base64 encoding uses '==' to denote the end of the sequence, but keep it out of the url + * @param $data + * @return string + */ + function encode($data) + { + $data = json_encode($data); + $data = base64_encode($data); + $data = str_replace('/', '\\', $data); + $data = rtrim($data, '='); + return $data; + } + + /** + * Decodes $data + * + * @param $data + * @return array|mixed + */ + function decode($data) + { + $data = str_replace('\\', '/', $data); + $data = base64_decode($data . '=='); + $data = json_decode($data); + return $data; + } +} + +/** + * Provides controller actions for the dynamic stylesheet + */ +class Mixin_Dynamic_Stylesheet_Actions extends Mixin +{ + function index_action() + { + $this->set_content_type('css'); + if (($data = $this->param('data')) !== FALSE && ($index = $this->param('index')) !== FALSE) { + $data = $this->object->decode($data); + $this->render_view($this->object->get_css_template($index), $data); + } + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/class.dynamic_stylesheet_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/class.dynamic_stylesheet_installer.php new file mode 100644 index 0000000..7a531ec --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/class.dynamic_stylesheet_installer.php @@ -0,0 +1,14 @@ +settings = C_NextGen_Settings::get_instance(); + } + + function install() + { + $this->settings->set_default_value('dynamic_stylesheet_slug', 'nextgen-dcss'); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/interface.dynamic_stylesheet.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/interface.dynamic_stylesheet.php new file mode 100644 index 0000000..cab06fb --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/interface.dynamic_stylesheet.php @@ -0,0 +1,7 @@ +module_id, 'C_Dynamic_Stylesheet_Installer'); + } + + function _register_utilities() + { + $this->get_registry()->add_utility( + "I_Dynamic_Stylesheet", 'C_Dynamic_Stylesheet_Controller' + ); + } + + function _register_adapters() + { + $this->get_registry()->add_adapter( + 'I_Router', 'A_Dynamic_Stylesheet_Routes' + ); + } + + function get_type_list() + { + return array( + 'A_Dynamic_Stylesheet_Routes' => 'adapter.dynamic_stylesheet_routes.php', + 'C_Dynamic_Stylesheet_Installer' => 'class.dynamic_stylesheet_installer.php', + 'C_Dynamic_Stylesheet_Controller' => 'class.dynamic_stylesheet_controller.php', + 'I_Dynamic_Stylesheet' => 'interface.dynamic_stylesheet.php' + ); + } +} + +new M_Dynamic_Stylesheet; diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/adapter.dynamic_thumbnail_routes.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/adapter.dynamic_thumbnail_routes.php new file mode 100644 index 0000000..63a9191 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/adapter.dynamic_thumbnail_routes.php @@ -0,0 +1,28 @@ +object->add_pre_hook( + 'serve_request', + 'Adds Dynamic Thumbnail routes', + get_class(), + 'add_dynamic_thumbnail_routes' + ); + } + + function add_dynamic_thumbnail_routes() + { + $app = $this->create_app('/nextgen-image'); + + // The C_Dynamic_Thumbnails Controller was created before the new + // router implementation was conceptualized. It uses it's own mechanism + // to parse the REQUEST_URI. It should be refactored to use the router's + // parameter mechanism, but for now - we'll just removed the segments + // from the router's visibility, and let the Dynamic Thumbnails Controller + // do it's own parsing + $app->rewrite('/{*}', '/'); + $app->route('/', 'I_Dynamic_Thumbnails_Controller#index'); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/adapter.dynamic_thumbnails_storage_driver.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/adapter.dynamic_thumbnails_storage_driver.php new file mode 100644 index 0000000..7b24346 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/adapter.dynamic_thumbnails_storage_driver.php @@ -0,0 +1,113 @@ +object->get_registry()->get_utility('I_Dynamic_Thumbnails_Manager'); + + if ($dynthumbs && $dynthumbs->is_size_dynamic($size)) + { + // If we have the id, get the actual image entity + if (is_numeric($image)) { + $image = $this->object->_image_mapper->find($image); + } + + // Ensure we have the image entity - user could have passed in an + // incorrect id + if (is_object($image)) { + if ($folder_path = $this->object->get_cache_abspath($image->galleryid)) + { + $params = $dynthumbs->get_params_from_name($size, true); + $image_filename = $dynthumbs->get_image_name($image, $params); + + $image_path = implode(DIRECTORY_SEPARATOR, array( + rtrim($folder_path, "\\/"), $image_filename + )); + + if ($check_existance) + { + if (@file_exists($image_path)) + { + $retval = $image_path; + } + } + else + { + $retval = $image_path; + } + } + } + } + else { + $retval = $this->call_parent('get_image_abspath', $image, $size, $check_existance); + } + + return $retval; + } + + function get_image_url($image, $size='full', $check_existance=FALSE) + { + $retval = NULL; + $dynthumbs = $this->object->get_registry()->get_utility('I_Dynamic_Thumbnails_Manager'); + + if ($dynthumbs && $dynthumbs->is_size_dynamic($size)) { + $abspath = $this->object->get_image_abspath($image, $size, true); + + // If abspath is NULL, then we assume we're dealing with a dynamic image + if ($abspath == null) { + $params = $dynthumbs->get_params_from_name($size, true); + $retval = $dynthumbs->get_image_url($image, $params); + } + } + + if ($retval == null) { + $retval = $this->call_parent('get_image_url', $image, $size, $check_existance); + } + + // Try generating the thumbnail + if ($retval == null) { + $params = array('watermark' => false, 'reflection' => false, 'crop' => true); + $result = $this->generate_image_size($image, $size, $params); + if ($result) $retval = $this->call_parent('get_image_url', $image, $size, $check_existance); + } + + return $retval; + } + + function get_image_dimensions($image, $size = 'full') + { + $retval = $this->call_parent('get_image_dimensions', $image, $size); + + if ($retval == null) { + $dynthumbs = $this->object->get_registry()->get_utility('I_Dynamic_Thumbnails_Manager'); + + if ($dynthumbs && $dynthumbs->is_size_dynamic($size)) + { + $new_dims = $this->object->calculate_image_size_dimensions($image, $size); + + $retval = array('width' => $new_dims['real_width'], 'height' => $new_dims['real_height']); + } + } + + return $retval; + } + + function get_image_size_params($image, $size, $params = null, $skip_defaults = false) + { + $dynthumbs = $this->object->get_registry()->get_utility('I_Dynamic_Thumbnails_Manager'); + + if ($dynthumbs && $dynthumbs->is_size_dynamic($size)) + { + $named_params = $dynthumbs->get_params_from_name($size, true); + + foreach ($named_params as $param_name => $param_value) + { + $params[$param_name] = $param_value; + } + } + + return $this->call_parent('get_image_size_params', $image, $size, $params, $skip_defaults); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/class.dynamic_thumbnails_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/class.dynamic_thumbnails_controller.php new file mode 100644 index 0000000..d51f8b1 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/class.dynamic_thumbnails_controller.php @@ -0,0 +1,72 @@ +implement('I_Dynamic_Thumbnails_Controller'); + } + + /** + * Returns an instance of this class + * + * @param string $context + * @return C_Dynamic_Thumbnails_Controller + */ + static function get_instance($context=FALSE) + { + if (!isset(self::$_instances[$context])) { + $klass = get_class(); + self::$_instances[$context] = new $klass($context); + } + return self::$_instances[$context]; + } + + function index_action() + { + $dynthumbs = $this->get_registry()->get_utility('I_Dynamic_Thumbnails_Manager'); + + $uri = $_SERVER['REQUEST_URI']; + $params = $dynthumbs->get_params_from_uri($uri); + $request_params = $params; + + if ($params != null) + { + $storage = $this->get_registry()->get_utility('I_Gallery_Storage'); + + // Note, URLs should always include quality setting when returned by Gallery Storage component + // this sanity check is mostly for manually testing URLs + if (!isset($params['quality'])) { + // Note: there's a problem when doing this as using the same set of parameters to *retrieve* the image path/URL will lead to a different filename than the one tha was used to *generate* it (which went through here) + // The statement above about URLs always containing quality setting is not true anymore, this is because we need to retrieve default quality from the imgQuality and thumbquality settings, depending on "full" or "thumbnail" request in the ngglegacy storage + //$params['quality'] = 100; + } + + $image_id = $params['image']; + $size = $dynthumbs->get_size_name($params); + $abspath = $storage->get_image_abspath($image_id, $size, true); + $valid = true; + + // Render invalid image if hash check fails + if ($abspath == null) { + $uri_plain = $dynthumbs->get_uri_from_params($request_params); + $hash = wp_hash($uri_plain); + + if (strpos($uri, $hash) === false) { + $valid = false; + $filename = $this->object->find_static_file('invalid_image.png'); + $this->set_content_type('image/png'); + readfile($filename); + $this->render(); + } + } + + if ($valid) { + $storage->render_image($image_id, $size); + } + } + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/class.dynamic_thumbnails_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/class.dynamic_thumbnails_installer.php new file mode 100644 index 0000000..7963a3f --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/class.dynamic_thumbnails_installer.php @@ -0,0 +1,14 @@ +settings = C_NextGen_Settings::get_instance(); + } + + function install() + { + $this->settings->set_default_value('dynamic_thumbnail_slug', 'nextgen-image'); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/class.dynamic_thumbnails_manager.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/class.dynamic_thumbnails_manager.php new file mode 100644 index 0000000..52e6ad3 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/class.dynamic_thumbnails_manager.php @@ -0,0 +1,517 @@ +get('dynamic_thumbnail_slug'); + } + + function _get_params_sanitized($params) + { + if (isset($params['rotation'])) + { + $rotation = intval($params['rotation']); + + if ($rotation && in_array(abs($rotation), array(90, 180, 270))) + { + $rotation = $rotation % 360; + + if ($rotation < 0) + { + $rotation = 360 - $rotation; + } + + $params['rotation'] = $rotation; + } + else + { + unset($params['rotation']); + } + } + + if (isset($params['flip'])) + { + $flip = strtolower($params['flip']); + + if (in_array($flip, array('h', 'v', 'hv'))) + { + $params['flip'] = $flip; + } + else + { + unset($params['flip']); + } + } + + return $params; + } + + function get_uri_from_params($params) + { + $params = $this->object->_get_params_sanitized($params); + + $image = isset($params['image']) ? $params['image'] : null; + $image_id = is_scalar($image) ? ((int)$image) : $image->pid; + $image_width = isset($params['width']) ? $params['width'] : null; + $image_height = isset($params['height']) ? $params['height'] : null; + $image_quality = isset($params['quality']) ? $params['quality'] : null; + $image_type = isset($params['type']) ? $params['type'] : null; + $image_crop = isset($params['crop']) ? $params['crop'] : null; + $image_watermark = isset($params['watermark']) ? $params['watermark'] : null; + $image_rotation = isset($params['rotation']) ? $params['rotation'] : null; + $image_flip = isset($params['flip']) ? $params['flip'] : null; + $image_reflection = isset($params['reflection']) ? $params['reflection'] : null; + + $router = $this->get_registry()->get_utility('I_Router'); + + $uri = null; + + $uri .= '/'; + $uri .= $this->object->get_route_name() . '/'; + $uri .= strval($image_id) . '/'; + + $uri .= strval($image_width) . 'x' . strval($image_height); + + if ($image_quality != null) + { + $uri .= 'x' . strval($image_quality); + } + + $uri .= '/'; + + if ($image_type != null) + { + $uri .= $image_type . '/'; + } + + if ($image_crop) + { + $uri .= 'crop/'; + } + + if ($image_watermark) + { + $uri .= 'watermark/'; + } + + if ($image_rotation) + { + $uri .= 'rotation-' . $image_rotation . '/'; + } + + if ($image_flip) + { + $uri .= 'flip-' . $image_flip . '/'; + } + + if ($image_reflection) + { + $uri .= 'reflection/'; + } + + return $uri; + } + + function get_image_uri($image, $params) + { + $params['image'] = $image; + $uri = $this->object->get_uri_from_params($params); + + if (substr($uri, -1) != '/') + { + $uri .= '/'; + } + + $uri .= wp_hash($uri) . '/'; + + return $uri; + } + + function get_image_url($image, $params) + { + $router = $this->get_registry()->get_utility('I_Router'); + + return $router->get_url($this->object->get_image_uri($image, $params), FALSE); + } + + function get_params_from_uri($uri) + { + $regex = '/\\/?' . $this->object->get_route_name() . '\\/(\\d+)(?:\\/(.*))?/'; + $match = null; + + // XXX move this URL clean up to I_Router? + $uri = preg_replace('/\\/index.php\\//', '/', $uri, 1); + $uri = trim($uri, '/'); + + if (@preg_match($regex, $uri, $match) > 0) + { + $image_id = $match[1]; + $uri_args = isset($match[2]) ? explode('/', $match[2]) : array(); + $params = array( + 'image' => $image_id, + ); + + foreach ($uri_args as $uri_arg) + { + $uri_arg_set = explode('-', $uri_arg); + $uri_arg_name = array_shift($uri_arg_set); + $uri_arg_value = $uri_arg_set ? array_shift($uri_arg_set) : null; + $size_match = null; + + if ($uri_arg == 'watermark') + { + $params['watermark'] = true; + } + else if ($uri_arg_name == 'rotation') + { + $params['rotation'] = $uri_arg_value; + } + else if ($uri_arg_name == 'flip') + { + $params['flip'] = $uri_arg_value; + } + else if ($uri_arg == 'reflection') + { + $params['reflection'] = true; + } + else if ($uri_arg == 'crop') + { + $params['crop'] = true; + } + else if (in_array(strtolower($uri_arg), array('gif', 'jpg', 'png'))) + { + $params['type'] = $uri_arg; + } + else if (preg_match('/(\\d+)x(\\d+)(?:x(\\d+))?/i', $uri_arg, $size_match) > 0) + { + $params['width'] = $size_match[1]; + $params['height'] = $size_match[2]; + + if (isset($size_match[3])) + { + $params['quality'] = $size_match[3]; + } + } + } + + return $this->object->_get_params_sanitized($params); + } + + return null; + } + + function _get_name_prefix_list() + { + return array( + 'id' => 'nggid0', + 'size' => 'ngg0dyn-', + 'flags' => '00f0', + 'flag' => array('w0' => 'watermark', 'c0' => 'crop', 'r1' => 'rotation', 'f1' => 'flip', 'r0' => 'reflection', 't0' => 'type'), + 'flag_len' => 2, + 'max_value_length' => 15, // Note: this can't be increased beyond 15, as a single hexadecimal character is used to encode the value length in names. Increasing it over 15 requires changing the algorithm to use an arbitrary letter instead of a hexadecimal digit (this would bump max length to 35, 9 numbers + 26 letters) + ); + } + + function get_name_from_params($params, $only_size_name = false, $id_in_name = true) + { + $prefix_list = $this->object->_get_name_prefix_list(); + $id_prefix = $prefix_list['id']; + $size_prefix = $prefix_list['size']; + $flags_prefix = $prefix_list['flags']; + $flags = $prefix_list['flag']; + $max_value_length = $prefix_list['max_value_length']; + + $params = $this->object->_get_params_sanitized($params); + $image = isset($params['image']) ? $params['image'] : null; + $image_width = isset($params['width']) ? $params['width'] : null; + $image_height = isset($params['height']) ? $params['height'] : null; + $image_quality = isset($params['quality']) ? $params['quality'] : null; + + $extension = null; + $name = null; + + // if $only_size_name is false then we include the file name and image id for the image + if (!$only_size_name) + { + if (is_int($image)) + { + $imap = $this->object->get_registry()->get_utility('I_Image_Mapper'); + $image = $imap->find($image); + } + + if ($image != null) + { + // this is used to remove the extension and then add it back at the end of the name + $extension = pathinfo($image->filename, PATHINFO_EXTENSION); + + if ($extension != null) + { + $extension = '.' . $extension; + } + + $name .= basename($image->filename, $extension); + $name .= '-'; + + if ($id_in_name) + { + $image_id = strval($image->pid); + $id_len = min($max_value_length, strlen($image_id)); + $id_len_hex = dechex($id_len); + + // sanity check, should never occurr if $max_value_length is not messed up, ensure only 1 character is used to encode length or else skip parameter + if (strlen($id_len_hex) == 1) + { + $name .= $id_prefix . $id_len . substr($image_id, 0, $id_len); + $name .= '-'; + } + } + } + } + + $name .= $size_prefix; + $name .= strval($image_width) . 'x' . strval($image_height); + + if ($image_quality != null) + { + $name .= 'x' . $image_quality; + } + + $name .= '-'; + + $name .= $flags_prefix; + + foreach ($flags as $flag_prefix => $flag_name) + { + $flag_value = 0; + + if (isset($params[$flag_name])) + { + $flag_value = $params[$flag_name]; + + if (!is_string($flag_value)) + { + // only strings or ints allowed, sprintf is required because intval(0) returns '' and not '0' + $flag_value = intval($flag_value); + $flag_value = sprintf('%d', $flag_value); + } + } + + $flag_value = strval($flag_value); + $flag_len = min($max_value_length, strlen($flag_value)); + $flag_len_hex = dechex($flag_len); + + // sanity check, should never occurr if $max_value_length is not messed up, ensure only 1 character is used to encode length or else skip parameter + if (strlen($flag_len_hex) == 1) + { + $name .= $flag_prefix . $flag_len . substr($flag_value, 0, $flag_len); + } + } + + $name .= $extension; + + return $name; + } + + function get_size_name($params) + { + $name = $this->object->get_name_from_params($params, true); + + return $name; + } + + function get_image_name($image, $params) + { + $params['image'] = $image; + $name = $this->object->get_name_from_params($params); + + return $name; + } + + function get_params_from_name($name, $is_only_size_name = false) + { + $prefix_list = $this->object->_get_name_prefix_list(); + $id_prefix = $prefix_list['id']; + $size_prefix = $prefix_list['size']; + $flags_prefix = $prefix_list['flags']; + $max_value_length = $prefix_list['max_value_length']; + $size_name = null; + $id_name = null; + $params = array(); + + if (!$is_only_size_name) + { + $extension = pathinfo($name, PATHINFO_EXTENSION); + + if ($extension != null) + { + $extension = '.' . $extension; + } + + $name = basename($name, $extension); + } + + $size_index = strrpos($name, $size_prefix); + + if ($size_index > 0 || $size_index === 0) + { + // check if name contains dynamic size/params info by looking for prefix + $size_name = substr($name, $size_index); + } + + if (!$is_only_size_name) + { + // name should contain the image id, search for prefix + $id_index = strrpos($name, $id_prefix); + + if ($id_index > 0 || $id_index === 0) + { + if ($size_index > 0 && $size_index > $id_index) + { + $id_name = substr($name, $id_index, ($size_index - $id_index)); + } + else + { + $id_name = substr($name, $id_index); + } + } + } + + // Double check we got a correct dynamic size/params string + if (substr($size_name, 0, strlen($size_prefix)) == $size_prefix) + { + $flags = $prefix_list['flag']; + // get the length of the flag id (the key in the $flags array) in the string (how many characters to consume) + $flag_id_len = $prefix_list['flag_len']; + $params_str = substr($size_name, strlen($size_prefix)); + $params_parts = explode('-', $params_str); + + // $param_part is a single param, separated by '-' + foreach ($params_parts as $param_part) + { + // Parse WxHxQ - Q=quality + $param_size = explode('x', $param_part); + $param_size_count = count($param_size); + + if (substr($param_part, 0, strlen($flags_prefix)) == $flags_prefix) + { + /* Set flags, using $flags keys as prefixes */ + + // move string pointer up (after the main flags prefix) + $param_flags = substr($param_part, strlen($flags_prefix)); + $param_flags_len = strlen($param_flags); + $flags_todo = $flags; + + while (true) + { + // ensure we don't run into an infinite loop ;) + if (count($flags_todo) == 0 || strlen($param_flags) == 0) + { + break; + } + + // get the flag prefix (a key in the $flags array) using flag id length + $flag_prefix = substr($param_flags, 0, $flag_id_len); + // move string pointer up (after the single flag prefix) + $param_flags = substr($param_flags, $flag_id_len); + + // get the length of the flag value in the string (how many characters to consume) + // flag value length is stored in a single hexadecimal character next to the flag prefix + $flag_value_len = min(hexdec(substr($param_flags, 0, 1)), min($max_value_length, strlen($param_flags) - 1)); + // get the flag value + $flag_value = substr($param_flags, 1, $flag_value_len); + // move string pointer up (after the entire flag) + $param_flags = substr($param_flags, $flag_value_len + 1); + + // make sure the flag is supported + if (isset($flags[$flag_prefix])) + { + $flag_name = $flags[$flag_prefix]; + + if (is_numeric($flag_value)) + { + // convert numerical flags to integers + $flag_value = intval($flag_value); + } + + $params[$flag_name] = $flag_value; + + if (isset($flags_todo[$flag_prefix])) + { + unset($flags_todo[$flag_prefix]); + } + } + else + { + // XXX unknown flag? + } + } + } + else if ($param_size_count == 2 || $param_size_count == 3) + { + // Set W H Q + $params['width'] = intval($param_size[0]); + $params['height'] = intval($param_size[1]); + + if (isset($param_size[2]) && intval($param_size[2]) > 0) + { + $params['quality'] = intval($param_size[2]); + } + } + } + } + + // Double check we got a correct id string + if (substr($id_name, 0, strlen($id_prefix)) == $id_prefix) + { + // move string pointer up (after the prefix) + $id_name = substr($id_name, strlen($id_prefix)); + // get the length of the image id in the string (how many characters to consume) + $id_len = min(hexdec(substr($id_name, 0, 1)), min($max_value_length, strlen($id_name) - 1)); + // get the id based on old position and id length + $image_id = intval(substr($id_name, 1, $id_len)); + + if ($image_id > 0) + { + $params['image'] = $image_id; + } + } + + return $this->object->_get_params_sanitized($params); + } + + function is_size_dynamic($name, $is_only_size_name = false) + { + $params = $this->object->get_params_from_name($name, $is_only_size_name); + + if (isset($params['width']) && isset($params['height'])) + { + return true; + } + + return false; + } +} + +class C_Dynamic_Thumbnails_Manager extends C_Component +{ + static $_instances = array(); + + function define($context=FALSE) + { + parent::define($context); + + $this->implement('I_Dynamic_Thumbnails_Manager'); + $this->add_mixin('Mixin_Dynamic_Thumbnails_Manager'); + } + + static function get_instance($context = False) + { + if (!isset(self::$_instances[$context])) + { + self::$_instances[$context] = new C_Dynamic_Thumbnails_Manager($context); + } + + return self::$_instances[$context]; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/interface.dynamic_thumbnails_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/interface.dynamic_thumbnails_controller.php new file mode 100644 index 0000000..19fa022 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/interface.dynamic_thumbnails_controller.php @@ -0,0 +1,5 @@ +module_id, 'C_Dynamic_Thumbnails_Installer'); + } + + function _register_adapters() + { + $this->get_registry()->add_adapter('I_Router', 'A_Dynamic_Thumbnail_Routes'); + $this->get_registry()->add_adapter('I_GalleryStorage_Driver', 'A_Dynamic_Thumbnails_Storage_Driver'); + } + + function _register_utilities() + { + $this->get_registry()->add_utility('I_Dynamic_Thumbnails_Manager', 'C_Dynamic_Thumbnails_Manager'); + $this->get_registry()->add_utility('I_Dynamic_Thumbnails_Controller', 'C_Dynamic_Thumbnails_Controller'); + } + + function get_type_list() + { + return array( + 'A_Dynamic_Thumbnails_Storage_Driver' => 'adapter.dynamic_thumbnails_storage_driver.php', + 'A_Dynamic_Thumbnail_Routes' => 'adapter.dynamic_thumbnail_routes.php', + 'C_Dynamic_Thumbnails_Installer' => 'class.dynamic_thumbnails_installer.php', + 'C_Dynamic_Thumbnails_Controller' => 'class.dynamic_thumbnails_controller.php', + 'C_Dynamic_Thumbnails_Manager' => 'class.dynamic_thumbnails_manager.php', + 'I_Dynamic_Thumbnails_Controller' => 'interface.dynamic_thumbnails_controller.php', + 'I_Dynamic_Thumbnails_Manager' => 'interface.dynamic_thumbnails_manager.php' + ); + } + +} + +new M_Dynamic_Thumbnails(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/static/invalid_image.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/static/invalid_image.png new file mode 100644 index 0000000000000000000000000000000000000000..c7c5af285befadb65f76cd447376e76c6119ec65 GIT binary patch literal 2797 zcmVvYCHI@A9;)6$t%aq8$erFAF; z2Z|#gLNo;ofnc5l0x@hzvLR$Qn|-+t$Ok3%@; z_%4g~b}HwLfl&%V2#7`lLdbWAK=4YRwqf`CtNYJ3RZC{;`I?{nYHy~yEI8Ne2)6?~ zXAH-8ZvXz3u2cUksjPU@pr!AA`u6XC9r6!pz7qs`nonenUh)27<@cURpI78W)tZMT zi^a6Qvu-OdjzTExpqnxpOlfcN8er@xCov#*GE-WHy0z3x=I0K6Z zQCL=J8~(a=%fQ8s)O(UZ>!-UPFq`x*q^Frcm1qLIs)92LCd<$ZG32=m9%?=O(KB;p zg*hW|wYS^c+uE?Dq_QG|%cB5O6X2Vmna<8ajgfqWndzhj#ra9tzzX1TLR#$_x!%+Tt$r zm}qG?qr|9d4N2 z%K*;68HE}eg41cTbT=H>>}@@HOTq1y3A7#E_e8cUcb&yVK$UpHMH*9K&R+(Q>D3ZJ z1FL5hM2iEQC}32DHadvhob**Khxa_kRQ1jf@V1_`51v0$>nD-r}Id3}wH6BOfzJL56*OgtZ(Z;4}^{E5K+U@^Y;Ao!)|=8HnjNru9z<-g3(>wdL@$2@E9(_B>c}hSP99!x+X#gGL&C{D@BQ3UUR8}? z$&cQ9V9p8n`@Q<^lSgWc7L?>59!vx+MqzX=gx=wv^1UQUN#JI)d0L&e(npZ8@ag1O z33-ugjXS(weX)7yQkQAY2yn*Gu>0?i*{r&!ZN}?vQ)^0t#a#^|OigDr8ch=TjRb~#*(d1{qm1*Yp|%mO-{4ra4? zM(_Y&$SOm|%JqPd_)ZD?VHXF*$UxVtJuN2+W|})Afp~b7bkyzpX;DSV0*x9@W|9U+ z35>Z5X9N|AM6hk!HoX4&>o|1i(2U;_LSSF=BFyuyUmLNjUC6Psh0O&Yy4*-kQUOHLu+Z9nA-`?_B%S?ZB! zY&Ze_n)l(1CdcuS9z=V-0#oHV0Y8(dql3uI^PA3}KfT%4efCIJ;ruIOzfCv;(Lewv z{{7B+S3y>#c3hF31kV!JgmR!4kxQ+21bkAio`b`xtT?&nz31gfB>8#*fzA^L%UO8n z<;)Bdp>lL0c#;4gAMQcKdj?#I-Z}69XmkW=LZ5iG>(qt|r|Jr(5TJ^Ju7=N^a?W!W z5G6ci+b}hT*g!iX-ZNlI?2dv@%4i=ltSE0jxa%=S=|lpf!#>e>wrOcvT3QnL*cMVo zeF$|mAllzCy~nvjA{njFQ(1@whjYeqxa1)gHF`xfm@fG)UO@5v3nAzNpph_?pbt!r zK(sg@S~Kq&cmWbLnpAW*wT1JaT6;!wEx($Ojh?Olr1;>r-~PdDGA=cm%#s?5fDoE2 z31wLZy=J=GC4>;@L>-7Gu_osnj4@DEL11t&XrI6QgQws4%b%={oaht+oG}btI&buz zYs(q-2Mobr5RHwEL{SvNImfa3deT48Pe23$U_v9Dj}^X?pGo!O`jVHhXuu1)?jR?uU&1PdZn~mA+cD8u&BEGz; z3TxJ^fz#=nNT8*q1+}%cq@kffh{a;#fodi_C-e!u@lKqp&ZI^mNVn?#JK zrlvBp*~~cSOcX`7WXTd{wOaY&#fw>CVIeOqErrwRynbafQ%NbyG6n|+!5D)e2=IEn zXlrXD*Cvk#N)$ywU0ogV`~BnZfyP@Pc}T0Pt9f>IHu&|$`LzSf%gf8T)9FmEnURqJ zNs?}ean_pnW`%Qp(;i9?gqyArW|KK1aJS_Dtr%YcfILZr00000NkvXXu0mjfZk;gv literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/class.frame_communication_option_handler.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/class.frame_communication_option_handler.php new file mode 100644 index 0000000..150c8fa --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/class.frame_communication_option_handler.php @@ -0,0 +1,9 @@ +add_mixin('Mixin_Frame_Event_Publisher'); + $this->implement('I_Frame_Event_Publisher'); + } + + function initialize() + { + parent::initialize(); + $this->setting_name = C_NextGen_Settings::get_instance()->frame_event_cookie_name; + } + + /** + * Gets an instance of the publisher + * @param string $context + * @return C_Frame_Event_Publisher + */ + static function get_instance($context=FALSE) + { + if (!isset(self::$_instances[$context])) { + $klass = get_class(); + self::$_instances[$context] = new $klass($context); + } + return self::$_instances[$context]; + } +} + +class Mixin_Frame_Event_Publisher extends Mixin +{ + /** + * Encodes data for a setting + * @param array $data + * @return string + */ + function _encode($data) + { + return rawurlencode(json_encode($data)); + } + + /** + * Decodes data from a setting + * @param string $data + * @return array + */ + function _decode($data) + { + return (array)json_decode(rawurldecode($data)); + } + + /** + * Adds a setting to the frame events + * @param type $data + * @return type + */ + function add_event($data) + { + $id = md5(serialize($data)); + $data['context'] = $this->object->context; + + $write_cookie = TRUE; + if (defined('XMLRPC_REQUEST')) { + $write_cookie = XMLRPC_REQUEST == FALSE; + } + + if ($write_cookie) { + setrawcookie($this->object->setting_name.'_'.$id,$this->object->_encode($data)); + } + + return $data; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/interface.frame_event_publisher.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/interface.frame_event_publisher.php new file mode 100644 index 0000000..a861a87 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/interface.frame_event_publisher.php @@ -0,0 +1,6 @@ +add_option_handler('C_Frame_Communication_Option_Handler', array( + 'frame_event_cookie_name', + )); + C_NextGen_Global_Settings::get_instance()->add_option_handler('C_Frame_Communication_Option_Handler', array( + 'frame_event_cookie_name', + )); + } + + function _register_utilities() + { + $this->get_registry()->add_utility( + 'I_Frame_Event_Publisher', 'C_Frame_Event_Publisher' + ); + } + + function _register_hooks() + { + add_action('init', array($this, 'enqueue_admin_scripts')); + + } + + function enqueue_admin_scripts() + { + $router = $this->get_registry()->get_utility('I_Router'); + + wp_register_script( + 'frame_event_publisher', + $router->get_static_url('photocrati-frame_communication#frame_event_publisher.js'), + array('jquery') + ); + + if (is_admin()) + wp_enqueue_script('frame_event_publisher'); + } + + function get_type_list() + { + return array( + 'C_Frame_Communication_Option_Handler' => 'class.frame_communication_option_handler.php', + 'C_Frame_Event_Publisher' => 'class.frame_event_publisher.php', + 'I_Frame_Event_Publisher' => 'interface.frame_event_publisher.php' + ); + } +} + +new M_Frame_Communication(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/static/frame_event_publisher.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/static/frame_event_publisher.js new file mode 100644 index 0000000..2246c85 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/static/frame_event_publisher.js @@ -0,0 +1,162 @@ +window.Frame_Event_Publisher = { + id: window.name, + cookie_name: 'X-Frame-Events', + received: [], + initialized: false, + children: {}, + + is_parent: function(){ + return self.parent.document === self.document; + }, + + is_child: function(){ + return !this.is_parent(); + }, + + setup_ajax_handlers: function() { + var publisher = this; + jQuery(document).ajaxComplete(function(e, xhr, settings) { + setTimeout(function() { + publisher.ajax_handler(); + }, 0); + }); + }, + + ajax_handler: function() { + this.broadcast(this.get_events(document.cookie)); + }, + + initialize: function(){ + this.setup_ajax_handlers(); + if (this.id.length == 0) this.id = "Unknown"; + this.received = this.get_events(document.cookie); + this.initialized = true; + if (this.is_parent()) this.emit(this.received, true); + return this.received; + }, + + register_child: function(child) { + this.children[child.id] = child; + }, + + broadcast: function(events, child){ + if (!this.initialized) events = this.initialize(); + if (this.is_child()) { + if (arguments.length <= 1) child = window; + this.find_parent(child).register_child(child.Frame_Event_Publisher); + this.notify_parent(events, child); + } + else { + if (arguments.length == 0) events = this.received; + this.notify_children(events); + } + + }, + + /** + * Notifies the parent with a list of events to broadcast + */ + notify_parent: function(events, child){ + this.find_parent(child).broadcast(events, child); + }, + + /** + * Notifies (broadcasts) to children the list of available events + */ + notify_children: function(events){ + this.emit(events); + for (var index in this.children) { + var child = this.children[index]; + try { + child.emit(events); + } + catch (ex) { + if (typeof(console) != "undefined") console.log(ex); + delete this.children.index; + } + } + }, + + /** + * Finds the parent window for the current child window + */ + find_parent: function(child){ + var retval = child; + try { + while (retval.document !== retval.parent.document) retval = retval.parent; + } + catch (ex){ + if (typeof(console) != "undefined") console.log(ex); + } + return retval.Frame_Event_Publisher; + }, + + /** + * Emits all known events to all children + */ + emit: function(events, forced){ + if (typeof(forced) == "undefined") forced = false; + for (var event_id in events) { + var event = events[event_id]; + if (!forced && !this.has_received_event(event_id)) { + if (typeof(console) != "undefined") console.log("Emitting "+event_id+":"+event.event+" to "+this.id); + this.trigger_event(event_id, events[event_id]); + } + } + }, + + has_received_event: function(id){ + return this.received[id] != undefined; + }, + + trigger_event: function(id, event){ + var signal = event.context+':'+event.event; + event.id = id; + if (typeof(window) != "undefined") jQuery(window).trigger(signal, event); + this.received[id] = event; + }, + + /** + * Parses the events found in the cookie + */ + get_events: function(cookie){ + var frame_events = {}; + var cookies = cookie.split(' '); + try { + for (var i=0; iadd_mixin('Mixin_Fs_Instance_Methods'); + $this->implement('I_Fs'); + } + + function initialize() + { + parent::initialize(); + $this->_document_root = $this->set_document_root(ABSPATH); + } +} + +class Mixin_Fs_Instance_Methods extends Mixin +{ + + function add_trailing_slash($path) + { + return rtrim($path, "/\\").DIRECTORY_SEPARATOR; + } + + + /** + * Returns a calculated path to a file + * @param string $path + * @param string $module + * @param boolean $relpath + * @returns string + */ + function get_abspath($path, $module=FALSE, $relpath=FALSE) + { + // Wel'l assume that we're to calculate the path relative to + // the site document root + $retval = $path; + if (strpos($path, $this->get_document_root()) === FALSE) { + $retval = $this->join_paths( + $this->get_document_root(), + $path + ); + } + + // If a module is provided, then we should calculate the path + // relative to the module directory + if ($module) { + if (($module_dir = $this->get_registry()->get_module_dir($module))) { + $retval = $this->join_paths($module_dir, $path); + } + else { + $retval = $this->join_path( + $this->get_document_root(), $module, $path + ); + } + } + + // Return the calculated path relative to the document root + if ($relpath) $retval = $this->object->remove_path_segment( + $retval, $this->get_document_root() + ); + + return $retval; + } + + + /** + * Returns a calculated relpath to a particular file + * @param string $path + * @param string $module + * @return string + */ + function get_relpath($path, $module=FALSE) + { + return $this->object->get_abspath($path, $module, TRUE); + } + + /** + * Removes a path segment from a url or filesystem path + * @param string $path + * @param string $segment + * @return string + */ + function remove_path_segment($path, $segment) + { + $parts = explode($segment, rtrim($path, "/\\")); + return $this->join_paths($parts); + } + + + /** + * Gets the absolute path to a file/directory for a specific Pope product + * + * If the path doesn't exist, then NULL is returned + * @param string $path + * @param string $module + * @returns string|NULL + */ + function find_abspath($path, $module=FALSE, $relpath=FALSE, $search_paths=array()) + { + $retval = NULL; + + // Ensure that we weren't passed a module id in the path + if (!$module) + list($path, $module) = $this->object->parse_formatted_path($path); + + if (@file_exists($path)) + { + $retval = $path; + } + else { + + // Ensure that we know where to search for the file + if (!$search_paths) + $search_paths = $this->object->get_search_paths($path, $module); + + // See if the file is located under one of the search paths directly + foreach ($search_paths as $dir) { + if (@file_exists($this->join_paths($dir, $path))) { + $retval = $this->join_paths($dir, $path); + break; + } + } + + // Use rglob to find the file + if (!$retval) foreach ($search_paths as $dir) { + if (($retval = $this->object->_rglob($dir, $path))) { + break; + } + } + + // Return the relative path if we're to do so + if ($relpath) { + $retval = $this->object->remove_path_segment($retval, $this->get_document_root()); + } + } + + return $retval; + } + + /** + * Returns a list of directories to search for a particular filename + * @param string $path + * @param string $module + * @return array + */ + function get_search_paths($path, $module=FALSE) + { + $append_module = FALSE; + + // Ensure that we weren't passed a module id in the path + if (!$module) list($path, $module) = $this->object->parse_formatted_path($path); + + // Directories to search + $directories = array(); + + // If a name of a module has been provided, then we need to search within + // that directory first + if ($module) { + + // Were we given a module id? + if (($module_dir = $this->get_registry()->get_module_dir($module))) { + $directories[] = $module_dir; + } + else { + $append_module = TRUE; + } + } + + // Add product's module directories + foreach ($this->get_registry()->get_product_list() as $product_id) { + $product_dir = $this->get_registry()->get_product_module_path($product_id); + if ($append_module) $directories[] = $this->join_paths( + $product_dir, $module + ); + $directories[] = $product_dir; + } + + // If all else fails, we search from the document root + $directories[] = $this->get_document_root(); + + return $directories; + } + + /** + * Searches for a file recursively + * + * @param string $base_path + * @param string $file + * @return string + */ + function _rglob($base_path, $file) + { + $retval = NULL; + + $results = @file_exists($this->join_paths($base_path, $file)); + + // Must be located in a sub-directory + if (!$results) + { + // the modules cache a list of all their files when they are initialized. Ask POPE for our current + // modules and inspect their file listing to determine which module provides what we need + $modules = $this->object->get_registry()->get_module_list(); + foreach ($modules as $module) { + $module_file_list = array_values($this->object->get_registry()->get_module($module)->get_type_list()); + $module_dir = $this->object->get_registry()->get_module_dir($module); + + $variations = array( + $file, + ltrim($file, DIRECTORY_SEPARATOR) + ); + + foreach ($variations as $variant) { + if (in_array($variant, $module_file_list)) + { + $retval = $this->join_paths($module_dir, $variant); + break 2; + } + } + } + } + else { + $retval = $this->join_paths($base_path, $file); + } + + return $retval; + } + + /** + * Gets the relative path to a file/directory for a specific Pope product. + * If the path doesn't exist, then NULL is returned + * @param type $path + * @param type $module + * @returns string|NULL + */ + function find_relpath($path, $module=FALSE) + { + return $this->object->find_abspath($path, $module, TRUE); + } + + + /** + * Joins multiple path segments together + * @return string + */ + function join_paths() + { + $segments = array(); + $retval = array(); + $protocol = NULL; + $params = func_get_args(); + $this->_flatten_array($params, $segments); + + foreach ($segments as $segment) { + $segment = trim($segment, "/\\"); + $pieces = array_values(preg_split('#[/\\\\]#', $segment)); + + // determine if each piece should be appended to $retval + foreach ($pieces as $ndx => $val) { + if ($val === '') continue; + $one = array_search($val, $retval); + $two = array_search($val, $pieces); + $one = (FALSE === $one ? 0 : count($one) + 1); + $two = (FALSE === $two ? 0 : count($two) + 1); + if (!empty($protocol)) { + $existing_val = isset($retval[$ndx]) ? $retval[$ndx] : NULL; + if ($existing_val !== $val || $two >= $one) + $retval[] = $val; + } + else { + $existing_val = isset($retval[$ndx]) ? $retval[$ndx] : NULL; + if ($existing_val !== $val && $two >= $one) + $retval[] = $val; + } + } + + } + + // Join the paths together + $retval = implode(DIRECTORY_SEPARATOR, $retval); + if (strpos($retval, $this->get_document_root()) !== 0) { + $retval = DIRECTORY_SEPARATOR . trim($retval, "/\\"); + } + + return $retval; + } + + function _flatten_array($obj, &$arr) + { + if (is_array($obj)) { + foreach ($obj as $inner_obj) $this->_flatten_array($inner_obj, $arr); + } + elseif ($obj) $arr[] = $obj; + } + + /** + * Parses the path for a module and filename + * @param string $str + */ + function parse_formatted_path($str) + { + $module = FALSE; + $path = $str; + $parts = explode('#', $path); + if (count($parts) > 1) { + $module = array_shift($parts); + $path = array_shift($parts); + } + return array($path, $module); + } + + /** + * Gets the document root for this application + * @return string + */ + function get_document_root($type = 'root') + { + $retval = NULL; + + switch ($type) { + case 'plugins': + case 'plugin': + $retval = WP_PLUGIN_DIR; + break; + case 'plugins_mu': + case 'plugin_mu': + $retval = WPMU_PLUGIN_DIR; + break; + case 'templates': + case 'template': + case 'themes': + case 'theme': + $retval = get_template_directory(); + break; + case 'styles': + case 'style': + case 'stylesheets': + case 'stylesheet': + $retval = get_stylesheet_directory(); + break; + case 'content': + $retval = WP_CONTENT_DIR; + break; + case 'gallery': + case 'galleries': + $root_type = defined('NGG_GALLERY_ROOT_TYPE') ? NGG_GALLERY_ROOT_TYPE : 'site'; + if ($root_type == 'content') + $retval = WP_CONTENT_DIR; + else + $retval = $this->_document_root; + break; + default: + $retval = $this->_document_root; + } + + if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') + $retval = str_replace('/', DIRECTORY_SEPARATOR, $retval); + + return $retval; + } + + /** + * Sets the document root for this application + * @param type $value + * @return type + */ + function set_document_root($value) + { + // some web servers like home.pl and PhpStorm put the document root in "/" or (even weirder) "//" + if ($value == DIRECTORY_SEPARATOR . DIRECTORY_SEPARATOR) + $value = DIRECTORY_SEPARATOR; + + if ($value !== DIRECTORY_SEPARATOR) + $value = rtrim($value, "/\\"); + + return ($this->_document_root = $value); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/interface.fs.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/interface.fs.php new file mode 100644 index 0000000..4e83253 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/interface.fs.php @@ -0,0 +1,6 @@ +get_registry()->add_utility('I_Fs', 'C_Fs'); + } + + function get_type_list() + { + return array( + 'C_Fs' => 'class.fs.php', + 'I_Fs' => 'interface.fs.php' + ); + } +} + +new M_Fs; \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/adapter.i18n_album_translation.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/adapter.i18n_album_translation.php new file mode 100644 index 0000000..d9d4424 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/adapter.i18n_album_translation.php @@ -0,0 +1,31 @@ +object->add_post_hook( + 'set_defaults', + 'Sets NextGEN Album Defaults (translated strings)', + get_class(), + 'translate_album' + ); + } + } + + function translate_album($entity) + { + if (!empty($entity->name)) + $entity->name = M_I18N::translate($entity->name, 'album_' . $entity->{$entity->id_field} . '_name'); + if (!empty($entity->albumdesc)) + $entity->albumdesc = M_I18N::translate($entity->albumdesc, 'album_' . $entity->{$entity->id_field} . '_description'); + + // these fields are set when the album is a child to another album + if (!empty($entity->title)) + $entity->title = M_I18N::translate($entity->title, 'album_' . $entity->{$entity->id_field} . '_name'); + if (!empty($entity->galdesc)) + $entity->galdesc = M_I18N::translate($entity->galdesc, 'album_' . $entity->{$entity->id_field} . '_description'); + } + +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/adapter.i18n_gallery_translation.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/adapter.i18n_gallery_translation.php new file mode 100644 index 0000000..26baf82 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/adapter.i18n_gallery_translation.php @@ -0,0 +1,25 @@ +object->add_post_hook( + 'set_defaults', + 'Sets NextGEN Gallery Defaults (translated strings)', + get_class(), + 'translate_gallery' + ); + } + } + + function translate_gallery($entity) + { + if (!empty($entity->title)) + $entity->title = M_I18N::translate($entity->title, 'gallery_' . $entity->{$entity->id_field} . '_name'); + if (!empty($entity->galdesc)) + $entity->galdesc = M_I18N::translate($entity->galdesc, 'gallery_' . $entity->{$entity->id_field} . '_description'); + } + +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/adapter.i18n_image_translation.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/adapter.i18n_image_translation.php new file mode 100644 index 0000000..73d061d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/adapter.i18n_image_translation.php @@ -0,0 +1,25 @@ +object->add_post_hook( + 'set_defaults', + 'Sets NextGEN Image Defaults (translated strings)', + get_class(), + 'translate_image' + ); + } + } + + function translate_image($entity) + { + if (!empty($entity->description)) + $entity->description = M_I18N::translate($entity->description, 'pic_' . $entity->{$entity->id_field} . '_description'); + if (!empty($entity->alttext)) + $entity->alttext = M_I18N::translate($entity->alttext, 'pic_' . $entity->{$entity->id_field} . '_alttext'); + } + +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/adapter.i18n_routing_app.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/adapter.i18n_routing_app.php new file mode 100644 index 0000000..308010e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/adapter.i18n_routing_app.php @@ -0,0 +1,23 @@ +object->add_pre_hook( + 'execute_route_handler', + "Suppresses qTranslate's 'Hide Untranslated Content' feature when handling requests", + get_class(), + 'fix_routed_apps_qtranslate_compat' + ); + } + + function fix_routed_apps_qtranslate_compat() + { + if (!empty($GLOBALS['q_config']) && defined('QTRANS_INIT')) + { + global $q_config; + $q_config['hide_untranslated'] = 0; + } + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-bs_BA.mo b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-bs_BA.mo new file mode 100644 index 0000000000000000000000000000000000000000..c53f48747d89bd3c6934185e326458ef9fb90e24 GIT binary patch literal 75121 zcmd4437A|(`L}%nfk0TpPS{TNgk)xt5FnWl!enL0N@kKk5Ms}C&rHwKJ@hik1O?ee zKtKdVL^fqrK@kuY*RY7_Ur}xG_le7PlDUyUIa(LWsqB<^^o9E zE8H1&z@1>(yU&Ds;{GTc3vYmXz=z=B@Rx8D-2J#HngFMJu7msHJ`3&#KLwS(yWm0a z$KL-h-hbE<=RX$e`Saj#xE$^SPlVH8FVypHfM>$Z{`#V&&i`b%8~$g&z2PNL`TZOu zXml@}2e(}oMJ;dQ%RZp)&<>y~e z`P}YAm#+~}<+>l#^C!ZIa1I;~+u$&GF;suK0xJBcpz?hiRC@1*`@jc1e+5V4e$Bgg zTj%O^JUj{id2kZ^3{<)whANLgK((7!p~`o60;~KFhH{Vd?!%zcRS%Vpc~JRX20sDU zK;8EjND`vgp~`c```mL*f$CRXQ1yQeoD1)Sli|xy`91JtSAL_Q!cBl`ul4XixD+bh zEL8Z7Q04tWn1yFUrSm1I^t}$1-nXF2YsXVudB;%Y(Fpg4MW}MU7%Kc{pz7~d?|&B@ zhkG-e0{;Y6fBUYFq8Lu`Tm}!por6lpN1@93N>~GLgu3rBI0ilk_1xj_cXH$aI2QLb zsPbF`mEV)0%Ap&oUQUOK_adlpS9$k!@L=3ufP2D6q1xYXp~Alim9ICU%5&S4OJ@wN zJwnAl2Ob2MK*gVhimw-{e9nP~!%LvzeE_Py9*4UB4^Yqj8&vqWy?Z#qP~rE1O2-(e z@~?p^ufutTepkGn#-$HN9V1uA_x zsONtGsvVsNmCg&H(tRaVxEs9xolwvJx_3Ve55WBssC54os(rly_lCQsoqMe3Y^Z#$ z^6qZ$J{v0i*TCiQ9;o}b%aAvC0Q@A}46Plsx$xbd=R(Pk&%i_ALs02@-gDb_cl{7J z1^;8=VXzFLI=Q1x-P=cRBc?rWg# zzrp)|5vpFl4wdf*;r8&Ka7Q?#(_P;QDt-GvJ#UitpA8GR7eST7eNg506jc9s5$e9- zT`oNb!5O#@h06bWsPH{d{pWP=|1r1|?(3lP^?9gr_y$zG4?wl2XW@AGPq+;n)$RJl zSg81Bc`k$d;!Z)u*AI7s7r>G53aI$+gv$SYa2WhHR6GyEhvCyu<@mWCS3bAFF}S}1 zN5fyh8u%}$^i0aRa8o>wfNDR-z|-LZcq#lI)P2o)$Fm?s7u^Z#-~qjEoL&NV#{B`P z@E1UZyVv`VKGo%;4yyiU!d>7zI2^8o%J)g$-40bQ1@He6sPI>MeirVE`^#`Q_#HS6 zKIYxqQuzwMC)D*(Q1MNJOJE}$0k43H=VrJ&ya%dWAA72hLJ{rO4nejTbE4lTL(#zUpA&T|e_IV^#y$2CyTJqapZY42Z#ihmQ- z{TDzz=M!)SybJ333sCpJ0TnJPyL9dfC8wr9J!c-&{fnW}*9uh+=R(DE8B{r42ls|w zhPwVRRC<5v{eJ@$&+Aa_eng+^Uo+vJxR<~Ma6N2*pN0Ft=b+ldf1v7b*ap{*WdqK6&(NO+%Q0YGgPJ&CI+J719 zdHqoJdpcD3k3!}9TB!Wo?)|?7*Wvy#)P0ltT{@@2{czVqrLzf2-sYjwc@f+f-t74; zsPgzZ)O~+}dj7CYPTub8ITNnH|3s*8x59BlqUgJDC-}l?uD)LTfaCTbboIC&RKK49 zRbGd}L*Y!Q`fY_Ow=z_^J`5HAb#MZ_52_q~2UU)*!oA?zQ01`~LPPRqB2>99h5N&` zaBp}jRQ%_Ae#&3}g1`O{)cEu(I0OC%5_L5F497bmS&C{uT5n!yE+ys-K(JF>&dVeW}w190abr5K;>(@vs`%|0!QN> z4b^@YLdoeysCZVwZQuz|<$V%VJm*1`%Z*U+-3J%JpFs87k!QPj#z2+(q3{Se8!F!g zsCqmLs=h9TYG=2=g>W-eJj2g%`P&n!d=7#NKLx7Z7C^;+f@c;gznh@qy9g@WE&lp9 zpq~3fsQ&O2RC=C=L*W}x`TjRlI~jVeE1wZi{xhJ`aTHWJErEL8Dt|o<6>m3Gy={aC z!waFp-v(7qUxMS{KVUmN_&hg{I1i?AzYLZC)#tnXp8{3C9dH;d!ddV%@4g!=L=l?qoLxR2Iap1ZV%T%&_glz61_CFaJ_<+U{2tWv zpMy%*OHldx4^%$)yTp~>WGMF>xC>kfPl2bvQSg4K{QL&0+(umL;@JnP{HH;+m-+A@ zxE98+3{_57LWR2??h5aM3jbXwIsSyd{#Wlm zZnz^n4Jw`IdiO`*2;3j{?wg?Ey%T;1ZiWhf-p5=yT?jYgz8W42_qrTi1fC4l->-w~ z;J4spIP&8zU5lXFK@(JZ)_eaPRC_$lyDx{T$LpZV{a&~md<3e#ehH_--$CVjk1Je0 zM?#h7L^uK-=KU9XHbLE=f_i=j)cqUaw(tz7`_6{D!z;Y|CTRTuO0M4T{hx#???1yS z@E=h9XWW%8d@WSI4uk5SOW@w{c&PleL&=W~a520Ls=Yo5o8g-~|g zv=`3AUB24s6JLb2xSxR2;dY;P`twXU3wJ*(!Mot0aN;#ijy1s#zR{o{#^C&$@EH3aVT`5A~dTp~~?=sQ&XP914F5 zmCq;P{_q(ndGl|m`?vp`)1OAb(YR~jICwl91vkL)@G7W!`8HIz-@+2y_9kZ+*a%h5 ze}*}D#Lce#eGbmS{T#dnj^)48;SXUmTzadMN7q9==Z8@3^)fNk(ga4p>Li>}@ELbaDm;Ba`O=NI9wxbO4shoRczPoUb_@1gGd zJ3J5$zr*Ekf@iJg;cyt&kMdjqRZdI2dlgi9tb_G14~N3rpu*h&RX%rn_kB?1_${b* z_aIb1{2zLB%r-?h0o@<$p0$y{v*t$4OA>f4}$d z@cyTI_IaKL)sH^}Z-&>x;t=Bdl9LNx|FX-^PodKLOQ?Lk1ofO(pq~48sOP;6m5*U} zx$+qSRnFs~`rmw52Tz3K;016xyaP^!&p_4Fo?mhDXB<@jIL5ODs$HA|)jzKD{2ts1 z_j7P(_$pL9Z^L!a22}b++~d+$3&-MK0QH-+*clM}FJQA3IunTG& zI}I*?SHdRv6r2U?zU#(^ER1nq55EY%3ze=@zvp-wRQo;`Dt{M4)x)Quo^t~{7=9Tl zeUHJ(aOh^2->FdHXG4{L162B(pzePklw9ccJO_@!{b{K5e;ba5Pr>)Yx1h>r{R1xF zmqL~Qop2QVCRDxu7OMPTflBv3pz<;7LFd04RDJB@ISO8mdy02|8?MLw1E}~WKjh*$ z3QF!RfqTI7;8E}@7{e#vQ1}Mi9{wAu{ciiPYlkD@LAYzZdnw!&_xqvlOT%uMg~Q+z zp1+3H&!NikRX83F{l1&GPKN47%~0v;g=%MKL*@TcfBjlG0r%IT%JEsK@OwSt>}nIB z%Kvyc5tgCy@foP+e-2K8UxMmqzlI9;8dN?H`hjZ?Gd!E1@=<_F-zKQ^UkO!jw|MtG zQ0aXbDxRM~)&Gl7=^OT_YcC@`4~4qF9;$sD3zg0;xIZkwo!~`K<@8CYbbQNSe+a5v zeg{>bFGIyQ`G@ZLv!L87p~9U4b$<_3J(b~ha1$I3KLnNT3*ip%2B>`A4pmO~L&ftG zxC?v+N{+n@)gHF{k!wF=pwhblD&8)ra_ED4-epkz_!Cg=^3PED{I|cp!~ZzVcg4NXvl&W$v_h5N*>D{E2vj-V2_=Ugfy&>rQ0e(6RQmV+vAh3JDEV_7 zTngKv^8FQf4}1jP4bObcrR&JYT|5h*^1B`$0ndXq@P0T6{u#z_@1HpTBj60&X}APl z1(m-)K$X`U-o4FFUBB839*+Nh@KCrM>UsTeGQ19|{XPoS?q7#T!~K8e>gfcy2kth{ zez+&@i=fK!I;eEs0ae~lLe|uK9r1(gz73`@RMh&-dY8@aIs^c@gTqx8S*Ox1YQGUjcRf8&Li7M{sZW zC#dk6tjz!;pu#QkJOL{HPN;BaK;`>V&ugI4a~qUAz7Hz?r{Gxl29&%z@JSa>4Aq_v zhiY#tJv*VEa}HF#u7dl)o1yakZO@0G`sI({zVHe7HTV~Q{nlT)aqLd0cKtOddGTAQ zdf)abr)N%qD(^ba*-+_R46lYu;O+2vco@9=X{XOU1T(nbfNHlV|H`%F3!&osE>yew z5lq83p~~x&UpqO`1$V?A!Le;|*xD+-(rSGHgAb1r#7~TsN z{s|bv=im}J>~}8xO>lqQZBXGp1XUlGLbaoNp!&x{o=-tN_pea(J@gq@UOPeEzZXx%?fda(x6U-M@ee{{~b$+Vff0&JKXe-wddFSp^mU zdVjqLCGReRivL!q^8E%>`hEa)|5H%%;Z3M?j`_XoXEWh4+{@u&_-VKg{5{n3{sm{l z9sc0za{*L&u7N}04N&diX3x8z((^6vej4ieFF>Vx`{!IfM?&TQ2&nWffJ#@BcXz(8O1iZw|(B#TNbK*d!fqtOwVhe(t95q37>%K zzpr@i_<}2sQBeJUCR9Af!_lzC^IW(d_bpK2cK9RZJp|bUcZEy-rGQ0^&4n7W5A1^@V?`^2`@BgCHpALt*elpbkC8&Iy>;12TG46Yz%Iz0W z_df@f&TU?D={f+ao~A;z$K_DrdZ6US1#mw63cMWt16}|x`U`7*aG$?A`Ee~&`P~YY zuJ1tA>o1_v^^(87!^j<6qEIlN@+#X&JhrwH*;=dD4hF^n+z~`XKefw8kJ`RLSanFEy-kDJGT?|LS zPr^CyHmLNy0C$0JLY2d?zqxVl5O_51MNrQ_7pnX(hI;NzQ04F-)bsxU75~3HcX`cS zKLk#~|7aM)4ybl<0o()L2$jxzpwjbQxC8u&_kS8H{ukgV_?EvOzwYX364d=iL&bL- zRC%5ZcZRKSPuL6f+;gDv^BK4d-UL`eNg5708}|X4pnZyf+~lh|8en* zgwt`?K|QYps@yuE?(c^xr}Loh`vhDGzu^7fg39-9Z@K(TgbIHIJPNba`_CXc5nmK{kOtH;Mbt)^_Ni3c@?TWcZ!Bs{>MSp%PgqpT@9zguR`VL zk5F>|6{z&@HDrj@_n}bbzRnotj zI}cS4o1oHh9#s8()carO`FW`J_*J+Y{I2KY{`xae>G%u$4jj7e5F5uIgesRGz>DFt za5+4cMHtEbZ$p*G(Cvm;KOO~D50^lt<58%1e+^aMuX+FNws-m37b-o|pyFwO%HJta z_n!{c-Y$iQ!7HKa?-76fF{t+WEL3^E0o89t3>#wYek@eEOow_-J(PZO98^3jpzdD- zbzdh`{eRG3zY@l{uYn5pP0z>SWZcg|#lOc6E}bLcNZc`0{Ij9*KM$(Cp8%D=cDNLt z5B0pC!V}?3Q0-{(jzdiDcS4ot1yJ!m2-S~%2j{`Pcv(Q#*TQM=<8Ur~5UzvUvx%n> zrl92K?Qj|VEj$R;?mWcCjipfXw+~JqLVt%!-d z1K$5PP;%pSsCK-~J}#a;pu&%X$HQ4r`MVI#hIc^8!#_hkZ`i)B9gTx3zhj{M*Tbvf z2mST^_jCPchUYved9xC#98ZGEPpiM)165zALFM=3p4Y(`_vfL?`G-*D_$N3H?y|pg z9|o1qHE=vEz%slFo(6Xt>Dujuupjr6Q0>3z0LLrgSLF{cfFC<>h^?<3c#!L-r$RmN z8h8}^9#lS}gPmO30jfOqhw3jgq1xwJ{`!Sb`TsQB2Hp(U!rS0_xXmF$%#Pgx)z5B* zl9NxvW;i)^>HiQs9QTjlF>vT8m+ys8?JotD&I@1`-T_l^|Iw~po(3h4uYqb`cSDWu zo1xm(I?1Sn*r$g22IZ)5J6wZP- zLbc0ZL52Gh+!ns<-LFAC=bupRY{*#GPY!_!KLaY>dZ_VX5tMvh3suhVgNlDWRQY#% z_Xh7i2dbVffx7RLQ0c$M`+v^+f6?Tf+K)8VlkcW~UIgz(pl z|2+6f+^@rbaI98l{h#XNDBRP1MBnoF&A{(*{8G3VbIjnV@%KokJNDS|y5~9EujAj%@igc98%?)gJ_7WdEO z$Z_TK9Fj$8{Pn))g|NW2hdBPi`6C?R?|M!~5N0EOja=8?%bc%<+v2akx$qhJaooY7 zztcJLod1b?ehX1EqLm8oV@pn1yo8V;}o&Mf4I4}Ef2XW6#j-PYwY5XR0?LPRH zzutrYZ}FQ9ALT%8L$_vb%02hO6S$^7$+poPf8x6SuH^WYkHb9pZ&{W56P)iv9B+ER z6F7f`^VkPo1uym24kgYX`*?Nvo8BK)%XE!j<97u29}G`~L#o2w!1)e@FLCWKjvVLT zfT$(*cNOmCoc)VqBFA|g(i6hp7dUAm&hHZb{hXgd_@_7)aO{o$a39Z}xPQX=&k1uh z{`$Kg_Zp5Pxu(AxIsU_u!S65dR`@i>1j0)P`X$F7ac4R7#}E|F=Gv>=|35yCKjQx* z&U@jZ-tQNjFD2~7uphs3;Yn}~elK&bzcX=n!e{(F=E;8y_t7I&e%JX68Z-2_56`c2 zr}qE12>%<76}UdaeFt;>1vnAECiodRn`| zC~@B}xb{`}KCZt6&%oWwA-zw31^o2a54Yi1M7XoyWrUf^aSzv)<6edT@f^!IAA|oC z&ToXbas4{{!rxx_x8r|bm7lKtRdI3X?;{*xuUpobLdy!##yVe_7n9waH(M|9Kq$#OL$)FN06|unKeq=LhJ7zfs(~gfNd+T_20z zQC02-xPC8Tci@(-FI<5gY(bBec@l=3&izHjt4n-h;2w_uj^2MifAK{4XZ-bd8rPoVScUr}+-381wyoFveeybk^A?Un z2)7f*H~lr~$R}{V8Mbj8#If1O&8hv3@nLWG{?EambFAlBpvmv z-5h6gY{&KLzsdONZ)XR4clH1u=f~mcTz|x06AtCrl{iLmt?0wO0Y8p^4Lls)?fpLq z7vP>n_;$`);Fa*({+S=;d^YEu_&0KVjq{uRwGQsn-|K`4e`7iS5yvWy?+~uYh3$NJ zh3O!Uo4NJ@f5ZE6@4@wP92euSzk6US$2I=GVT3t^R5yV+qHRRsKg2?%N#WdB&3p#NUm$_lAFlU-oI) z2q$nX#QzHX!(Rh&ZR5k73&;8kKjeHzjwvCa=M(S)_|N0Mi-_kRoa?XNQ|Fi9|2a6- zr}J#i|K+c5@Vv&SVO!ik<;W0bZ~QiK9L;eE$58y|aMW?W3)he1Tz?O6bmOPLS>Eq3 zxB$QBz5iF>ERM?wvm4iL_a75NWtj#k)D5^C#hB_)meSaE#%6 zHU15p>+gLW-{rU#_jLT1a~#9{Yv2hS)qhVBX12d?B4PA5lH)>-X9>HQYpwpC3piiF z`6iA|j(Xf*mY=_Gyl(b?BmF(wb3KY1ds6M0iN#5AvE164DHhwx-QE3hDxJ=xqj=f8 z{!%82v&A@=6(0D_pkcrE^-T4&H9FPnJDt4Fc#!Q-rbKm$eGpA3VI(uBv zPNvO{J5t5CEtT!&-csJj6Q|1=xl*|}Qz+yM(Zq#9Tp!QRm%G!s2_?%=TQ-+=shIQ* zAhQYo8jFNO>A%f(W@C%Y+C%I0(NieBLzE>_*z)REt?)i~|KJH@$`i&b%UWH!bd z>hkdzl9so0q`D_XQ@2`ccyGvdcgN{$QSBq{O|@rpmW3&C3V&bIh8@Ki&;HKRgxyOmGg#dy40ce*q<*KT&dTF@};^9Jv^hI z!2DOpoLbHnxV4Q&(VB9l9Jge;DMnS9Z^S-VMU`$PfzdQ~J>Ec4w%%?DQOfjK8;8Yc z*3|LoO#5uwV=3F(op0^hkS%5s--^#sskoz%X`3^8+_bU9(QzqT>dwp=y)2cZPsOXP zi{RbbohlaRjP5BH%Prm6T-WHM$4wtwTsAMBIPS2q#c|^%9aWb)I{M#>YhV-|rBZKw zUEPL!A>CU*NYv&F?RE6%VqGq?vDBW))wEMSnL__u3bfp_KAWC1Z7S(c71}eUIiuIN zbf=WergCp@zEFx6DNu3ikJzxGc2JzPt@)lU<7&*63i))oRUPENiK&jHw3j8Lwv2OW zxa1-%@`POb(F;##UbuWgRf6EXJ^9E zg9=E6Mk`Y9UrRhIL%XzelL>n^!z+rR;|etRHN~<+F7+zlV(^O`7>Rk9(AP^^l13hCRB(_m{=(poMQGPx2Wm7Mqi%T<6Mv8<2^8G?t}8~q;bFzH}* zqmNeiP=&-2p~z)~ErsdxX+xv$CsjpJRSGTr4B1IGNx&e9;-%$(ksx)dkf^93Ue(kT zx2gHs@YO;ak>aDOQes=W^X-I2FDcZf>=f zx&T)is%#1e`4iGg!c-_OixiTptL|)jj`E?2qq$X8N}|Wv1#7F;RHeO9NlXYzDa33l z5hoMIOpw0Uoo(%!GhtkD!qIK$^1j#EILreO9<=;|$M2l-6HU zkElk)vXcPU#wms5@IJ@TllL{a5*SE-JcB9k~8GYK=P!KfEc3^k83%c#*>R(;2Xe7-cv zrM}o-M7^a!lsck@{{xYj{*a50ZEju}mkZ>b>03`P`Vpy`N&~d1l53_tDUETJ`a_|j z<=GU#ZnNoL5XNC#cePU+l!H=%c}Kfiqr{{tGZ&XpK6~lP)R)a1oj}*b^W82Yd+0Fy z>&er`HU6SyggGb)S6hjDvPD{dTeiJiuralGgH$~-C=dW78h z9#TU~vuTmU;8r~oA!-uU738}HL`m_*9W{`9$@h7w)-L-`4G6hhuv4!H3DD81( z1;!3viL|;l4J8@~m5wZPe>WWA&bHx24-Qg>(^5W9+L^*e^WB)^%peqqbK2nM9Yq`R zom6t;rJ^QXMJKPwNio%DDh79;H)L}%U`;!6c3ke5D=#F0B|ro46eUM0MmlT8s;(T# zmI_T4NT3y>6uvBzEsCR_`)zPj!%1h_Qe_4WrzQ>@=4{R}pBZN~UroXNk4~<};R@b+ zS&6v|_%Jk^(rluqCyyQ#%HCfjS@XLYU8DK=wEk1)4O30Jgta?MbeKZ9M>79J?zrkf zbf&Xy2qLq1%^g16XXzx@E>Bk0n@aiKDe*}wmY55H*ox{-^{W!;R$?|+Rst{%WSPBH zpHeVP{_?%1w9L=oPotHh_QlRP76Ju<1piu*kRqDKt~=}OKbCN^DD9Eb%e z);yrL)*{7LkeniwI+Xg}emj#)$s)4NR2jEACDYw*!em@A-iY!>x;Lu7+LTYC4jJBB zR$oI(Id#_ERMBIr0#{6*Rh}4Y7%}=#o`Y5*rKBnV5i@TdEG=CCO?uz?Iu$~rL(FT? zZM9b7wP#a!r}%+Blzzn&7n)^t=rDH7cb=MAFfgE;Wf2h)!B*C?98>s}FcPVBm5N6x z%osv2P3T(~bTo`G%3{7jq|i<*LJNcyni$aKlY4Pu%jrN!k7vT&o$Z|+&G(aP-x0zT zTVtTJ#dK4ZzihhV%{XI%YKFvEl@Q}#iM%c+~q254pcpPXXq0)`Apih z3czM_Tr?pO7^}U+6W7wPj-6ET)I>9JB@eHf7}axC<|Gd{dyE$`3>D`FzvfhXIMw)6 z#75G=M6;0TL7!n{t4xag5Q4QMCBtsG%L;#h!v?zI0I$SlGeT*|UJ0sJmaEQ5IR@ZX zT62HpY>?Ve%ax*JtY}v1#fU4j+$27(DI!-<*b+}nxS9@1!3uYlG{gqS25OJldZ8=$ z(8NN^AEdb~aFz&X($Vao3co(g|!t6MK*%PN74ZWmGMvGMzo-i zYAfmgcHd<*TCZzd>B`rMe7b?n%@PenvvjNBiXyVWYqS`wX?P1yXj~N2C{xiw^%ngX zyGg8_HkDGPa?yFyHsU6_sdJ@lrfY#h4>yOkJPYzpn$SYitB5pb%MT65HJl&?%Ijdk zyK&*ncx|SICn8>xz-?I5J6L8yx0azl1ord4V5beJ$quNJ-QnF1ai7tj=lC8kpQ%zczMr4S5Eem31Ym z-6p3RP+1=-p%zu5lZRVPh^u@RhdqecGpZ$3e-@2J0#(wp);%jchbcJMvEQZIS+Xe0 z(1^LIHkru>!=S|b#@d041&dJ+im5{X7*+R{mUsC|bID?urSNRtUrD|%0SuKYmg-b8 zR+Z7h;}gAUQT8#@qS{cgWRD|j=(-wtF*V`JGwU*aX7nnHZL~#~6dJNA%NkP>jh>uj z-`QcS%TzX)b*4mZMvKY1*O?!9#67qtP9wxace+4 z1Fzeluj^a6H%VOeHK%^toS`*QBG6Nj%hWT8sHd?g0aXDjN@tN#T*hW;9#U>I^mGNb zDN&rs<;(5ZomJ?5;%ZU)DnzJQt&js`QGYy67Bm!Q)`}NyZ0#CsQcSWF)XhN!uS4E%L2d>y`-c zNb)z9mdgaA-nlTWGkudfY!}n{%Ji4gPrE6dgX>~hE;W|L?fE?G2~K7*Ngl9B z7%k58PeM*3Y@0Q5)lQWsjh$t&fqobVxA0>@yf2$CBj+q^A=S$ek~BH9WoAq;M#r*} zBzdN(#h|4bU1BuN5XL5h4)r)$RSoN9CfrN-(H}yy_X`iECxqF7H#1GyV!_fzGFBQg z?P^t)^<*c+vCYet+QiI8cnZbj9i#geE2(DX(gTB4O9OH^q?0kdahn@bp0}7KJgz zxjm@us&FDh{7RkAq~}JB3-~QFXL+rS8do;YcbaQs(~5{SRjM@D@ld@HFnVTM&Em`vA+kw$b z8UVX>dXQ*-OMsIj)I*qp5w}7QT));rH7ykZX%@ufZnLtvK8s2nb~N~Td)WUIhEx+` z%7|~zQDZxMfn4KH6=mu-8IiZ4S4%#HlI}r$KwkrrWLIGkUOiCR5#5it zl{~K6@}4&Asig#WA8YfiW=k?vQ^llkY~%=g2QjlD2TZF~n~pJA7xT7Pb+?E)o%9c_Q54# zY=n_W@^f3a>x2e@3Dl;(ile~Xi3d1qpSMg9Bn+?NO0o;U^bb~P!iAuV2De}BiQSw< zhG0z~8d02!$aCF|MaBduMMh^&*5wh%Hh0lA6VDr%qX%0a5g<4!wRl{rFV$qL+%)^J z-tU)Hbj_`d${ZLi8Mr!;tW2=~4y7QUt0hFgW~s$!X}ltCh!@0-G5fEgr5gF2IhuyK z6v@mc9ArPIm`j2HPfp@seOStL7+==UE%!E_o0Dv*1=PEXxKwjJDY|FY`kQv3aE-?x zy%PI9DzG1Oq%b72N4FcnZY1Fh6*MR;sLHel;mt#sVw<+0H|=-W0d)a_vQS5FdC851YREi|sZN_lK}9`!C)>c-7LeDJ4oRnN)yXBzmyqeS z`)HX)dDEZA$BntRyz@u~m}N4F_2zq7G2!;g{M{|fm`COGT~~^d6`OvM&A zt~mN=41%;9H8$IWM|HU|N%F+43^SjUT(JMlT4QJ0hT2eKO|65HqcGc2EJp?TF)yW+ z`1z<^vY9x;?!apcWlWH$-`d4SNj$f>UKkW-lXVV^ID`EY+w8#SG=M&y0cO!6#FRXLK=YR zId*wQSPz&&qj35*%gv+W#?l1sp>)f=nirg8>DyvLj#0x60ZOo5objO2dT8R$NyE$bTjrS>}c8C&qLxN#B5BD_+HR zFRhEQLBUKBl?SPy{eE0MQ%ZxH0ZFh~3dN6^b^6q4(<)_=>@ZE5f72En2=$%OFxMpyfNwHqxe2~ohx z$Zc~~%dxgy`)+KHa$%6wA$Y$tYgu(FN7YwCUa;E|-jC_QQ(l^MSUTO75P9YNii-x? zBvQLyS2PrC;ajKv>$LYRuZPihqD+r<8Ufg{C+nY04U)J_25`4}5~^Raqr_UKo6-0Y zmOjwTaLdXjy1Ev-O#~=n=_S~X%LV5dlzS9rjJK_(FIiJ6mfP6g!3w>$5F#<_dJEY; zbPnFc*xJ*>`kRgK|DQkITgYAI{ol{J+kv7wFq5f_D884dYQ16CN=a^8I&qyyPPe8~ zaVNEF?Z>qcO=-=-t7kYb-=?i0SB3QLO%Ka4=*w!XH>K>18BLczWdM_x=6EOsh$G~s zP3ppCN2ht(yx&Ya-m)h%v@cxST9wQK5p=m^jd@&JTU^q~3bWtqvOLlFTm37CTliE7 zji_?bcf!OLuwn_n*e(4O>0}$M{OHPbf!87AEh)01txbor>QEo8$nlRICbnv)XN6%} z!a1=phY88ngSy1Hcq*fJx0!4P`>MFYm3%J-w47cdK`%4$W_F(9sCYr17s1%x=Qol0 z`;pX|f?j;I%xkq!k1R%se=@z@;#!b31Mg(OX6W{IL^Og_nm)sz z&DcuhRg=O*q0))1!r4RJdYnXGv~vEcg*4*UF0BG~>2XWVS|tso!SYWV&2yLnSU{7z{j>7duo&lemb{lQFm?dDh4rD)vV}9TxJ&=(RVY) zK&?W*v+Yi9`=Wny0P98A|GJ^K#!u<%a_#Nw-TMWJoFE$6(fy8<(R9czUh|_VCtXu- zE{0HaF3B%%d#-w~AT&?+9*4c&Mps8LxUFN-$&&Vpf?FHr_mLf~cobMbL)-JRk?dT#m#3I3f;f!Y^rUyK!K3R}_?*|P`vET0T&JPK@ z#<5LWXRD87rF0uhBE5izsnm%6K(^R`St7N5FQ0abD;zZst0Y6i5p21ya^1kr};Dt~q1z6?Ir-W`0^de2bNm3PkvghCO* z&Y3CHRIWEQELs>ZTd`naOh%Y_IZ=dYcGmY%CU%0Xtdf*|&J_fB)e8*FW^=q$#|{!1 zt8H*=V!1HVf0(rNnpe>|R4YzCI}c61D_^UKnj}`;!j4H7>9D>W8FZP#5<>6=)#T)m zuL$pw(D0{)Oc7gzdrNEZ=O#iJ6F5zb zl_fZfpR(c|5ec8_O`fcfqw-W+n!LW}Zqf_y=@hU2+sxL<<%-G?avLNTYfF^AJ#9ed zZR!;YfSY=4^G|p`!Nxder?RCuX3b6ZVwp$W6r>*~Npc5CZ(Z7&S9T)}iUm5`7Hom4 zedh8A-k@iIaJ!aqNhZfl3s=;Hg*s;tp)74Q4Z>PuJ=!z#cfThdmCw`?vjAq{b75t_ zS4*qJotTDPfLy9C+wP=C3(FLCe~yOeq?;aXd$ZjII!dCUJD4+3+VUIuutAvpTA!|3c=lpJvD1**|7QRBcZ-U8 zW53Dl_s*E%0pN-joKO+!M5U}LRY z?QX)h(Z7{VVU<@GEi);ahpiggC@>_r9YUBjybR_6G#dAWFrTT6ymGA23p=Vq&YfYKk=;3cc{>MHu|b~Yqx`>6*GrYP(?~+$#wuxJ7zaF;7m&T51&o;+e1qM^|AQi!{88=x0Hb_FM z@0x41Ha9Rg;z?C2K=`o6N=vdpxC$99!27PNcY_d{27QXcwp=uo&8ik@TEO9(y{nq~ zDj(a;SMA~2z4;UsjvY}p$T4Shqo9^jifl`;Yjr5Z$=j*sK@*CFkdh_}=*`LV2;_)AW zm@|$$2fXN9TXo$GWX^u5FFMe{Dk7oWBFnu~4uhN^8AZlN*(Z`RvbAFu>7e;i*r`eP z8K-=2RSz4KIv1=;Z{;~;SQSzVuasD-d-JSv*_$Xq6=!~=XN0siE_kQBhY%Kzip-+7 z?&Sw|wpXz^&VT;KY2q%2bRyeEHdxzG1*se<0WG|_w;?J+Yf{eAMqEsO6H=Ou2-uP> zlM-d2Z@Kq$wDv+jXCf!1%irj}6u>y)EV3B=YBVo$>zXVmsSrXmEX$eJs`s2r`Wyn= zVD(A~`^H(zaZ-`$AzNB>aSw0;5pnG8$J!U-RM=$=C#+x8xOCzArp9#(gWO^sW~tYg z&XQ$?u&vN`3~PGhQ{{FeY#FnA=K7x0#`PwHr4V?zNc>33-j3c{#)hp#qvx8sh!7~T zZi@C8a-h(dUKB!`K&!s1;AdlDU@+6ZRfCop?Mn;;#v&^iR8drMhEBIjh!qmvv(O{B z;2c}I9uvUrde%u*UrgESXcaR?MSRb;ZC6;rB?U@q_(9*7+1hO4?`_#m?$NTC_H-m4 zL@|>BBX(jysRRuz!hMZv!T`%3W8DN>(r$IHkx!WK44nfeBm|K*FTrL*fHn$S7JQde zIZ_B)G^|jjek`^mDk7UFU`NDyS-Fu2?28}Cf*GJ9EvlOp5hEnTsAedB_0mOSZ&*tt_Vbu|U`3Sz|! z$=7921ksI^nhG+T|zi7k>_cyphLlo?|!8Gc6u31<$+i{g z1K}$+#Lm<+nMJT!3K2T+V}*lvbl4UuuOWBSCdjqSaO@#s5J5>}&kCy-tRJx!s&AtD zPY}rRUUi={x5RPu>ppH(I`25T#bL_68>yB7U?rx;hZyQ;4I46SmOm^hPbEQzrh zyW&h{^{T+?8J=6isrZFm*%hB4kg9GBpA)GBsu%?lKc1u=HBN@0l4W}_klQy9oCaS} z87H!YLwBTZYg>!%^9vS)CZ;`3*0gOjW3P*~CW_EB8m&5{-HwA)7!U11%XzG3Vk8Z7(Jn^XWF0~;7g;~Ck07W$yYDWz&_!lk_Vj|n6oSq{1?d}1?tk<_))h+R ztn^M=qrPHiizFzGi}VhIQ#B&(qBy~ZPFsdgX>PVv&v>FWw)qPhnj6sjxJ^2o-WIi! zL=3;nCCUK(O7nT$Vtv%@gYC)-0_$ZOn z5%4V1bD8|C)}AA#snKeC$=4%ZWaZ<&0c;a7oBxHYP1QDNcVm@ZI)oZvsb1|j*aaE6 z*foE`x{Y^w0h&e6wB80-?bd`F-2#nwX|iWuT=4ET|DJ+(`d2!`%|X$Vmc$fW!#C?R z7`OY~C(6iPJSuLc2YAg0v6OGuu#u+EM(Re**z-;v~Bl$~!= zo)0GTpeldsm0QH3o}R?(ALVrzXBl$4rm*$0FkDaPK_DmdtICav#--DZX?)@sna`N3 zj3S}bNA+%NwfNS=0r;OfK>Cqagq0t(@*uO^K?$dwL!8k#@ zn2_^>VFz|4&FZ4H^kHYGP0otZ+Dtb!fK<$HVV@iot(BN?#plN=DLLUYqUB;{t_xxY z6J?)||GAggsr!7d_mA*qy4h1YJoz zSp|s+wIk1)eQVVW-9lK*r%=4%Vvy46hLs>8gE|>nT3BOI{U%v<<>Wu>G_cBR-9uR+ zWjhXf2%AzgJ28Vo_>iV*z{ZvET~WsULb^s190Vh8zNjbaB^|XWvyodnSbpr{7DB@qT-r=-!oNs^VT)G}#P zJ$gk`HK1CNC-s9Rr;b-r{FlUZi%Xy`xW|Pz#_T??px8HJXp$~$MTMa^+PKY<4+DU& z;`ffgt2SG`yT}xKy^Py#iao{lC7aEa)N9KE7o5qO!GqG9I1W7p{Z4tbFTFCb`RTsp zpL)}!Ed$%Uh#2V)m?iYus_mJh+z`o>AfCCDJHw79Bk;tvZO1@zcW62!>#EK8hlBNz07F;>kCNk73|<7Q3$(uq6`(XD{1odWa#g zQXa$O;qip|_Bn_N)`sn?X%ki~F_&45w7K-ZiQL!8e-U#cLa|TE>S}wdZIqo7H)Xq- z&zV4-5=#|6e2N;q&Sr%9noFNVV3m18!=+55DuBu$n#@y_Bi-RFRR|;$oh;gti6NDQ zUn8K;d9$*YRy}U4HjA?>^>>ZN8LK7o-X)q!2Fgy4bBhp63lqbMpOuH55y@nzu1%pT zo7ya2mA9*{^P9*(GHGUHy~DqXZPn^O{$XWawe7mHfMl}GT2Ij0T+gtmZOwFxcvR+L zcWfmh3uezrVNl>(txoJP#kU{eV6VHj^x1Ia3Zw^PrCIcRsZ6trc8z^JDfi_sD$L%g zQPUpOSxrorOEvkn8bV|1)Yu#ra=c}fxjn0N^qYR)AT$}*hXMU#$O;nE?1FUa)E19$ zn+k1FW6%s$wqN9=6@C~GQIFEmx@>RFB1!RTZJ*tFEU#$C^hsgJmA+v6@K26TTIOF@ z)Tw_5j#FFXUFp6n9-NHV;WV*32ai&i)fe$G?a=hjBnFj_>aG&5YGi3?Z)0j2=~pDu zCjfq#q8PQ5TU7c{Yqr3GGPFHsZf=;4ysj`Hqmkc5ZDz;By5(n+?u`~DL1vjSoen0c z$P&<&>gIcIZM-6G>$Ut}&hlC=Ma`_m=E+_cP|1&S{xtmXdo&ov$pJ}qikviQZCx`J z#qwTY-M2Q%X-9j$EkaAC;}5kj^)Qs%*MQucl@aq4rm8a0*bm?^va=mTpHGY2>FVBy z_0-y^=$6GJO+YLMB|dKzv2!mIZOHPaH>-n6H;Iot@uf3mfLEY^Y!uYl`EQS z%mjpeqhks6tB znefqY`1J`|>1>TU1qPNmtD6_q%&dgd<0-|Og*l3wMpPfqY{`~}pHQ>deT&4>l{d*c zt@iNRBZu?3KE7>JvxsGqVtt%ru7=CGqP#Y{<+_}Z$^16tYxcRb7F00SurP}j-+%kAS zT%60gn^A7ONZ-`L7p(cF!2{Rx2KmIrc9J4<%N3GT_vG8V)!sLspLLJt2Zr7$RO*3m zV&;?X#CJJ2rI=P|jOa=Yx}{hS5ohD7TWmLtZfVVOL*piFAH~*emox%KfM{Y$8}MvPgJc zR-M#_U2F(`O&^fNrY$6&DUwRS#ynX~ZKD_VpNg2=;`vDu`OT)JMCe$w#7fUfaZwF` z)}lu5PgBXyGqHkDU?VMhWlv|O5G(iHoti|^5-WkWa;>twQ2lF8t9uKnzV6OcXY6ct zNcjJ~pLF`KBGf8Ilq4+ta0(y6Alv`1f7c1=R_>uer07BE0{uSUv-Rg}{g;cjTzgsF zM^DS-I_w~0=m z0;&4tomC6xH8d}bSFTvLV)I3nvS{dHS7#y9BFjT>z9+x={FrZ_V!`DBnOtj@-1p>J z3ZzT-7CZUf3c_uXr2$RMFUtLQKlMae4SbKsQZG}fE6BLqgVw@NuynEc9r=<=r8i+F zB3U%eG9s$G+$mQX-BazgC#4^!;~FC(0r{;NZl=ZuRTq;9eJxA^06CD|)R)Jy$6(RU z?%Z6-MVU`CI%>v263e}|rX6N=EBff^G>*;;H^!a$2d;NRW*DY&su`xkR7ZL6&pN5# z8S44YY$$l^WOUWgKY9?}EIBFwHIyrtXrug;Q?_cT3k`q^h5Y7=`C^xfE7VW;X6uG` zXmZ_Nrz%$em{V7ZgqaqigpnF;!S*e!(wrDFU8c$R|KVS83LS{u6x6GA>*SZ5)IV(q zvyqS5c7|3r$h6yUI;CpkC43G@gAj!uesL-JHK#OYhO~?|)Mv(x79G(F>b55pHK=i+ zkaSkg%*ND7HB|koQwSCNd06FVolr+4A~_{J-5`aZ zDF`7ZDNb8NmE$cdw>ixR!-KE%`M4^6=poWXlVmwPq#WX=Fc6A4x`U)lE>)zjZoU|S zrWD}0DMXp_clg*Cd$0>ric2(OEM*XWtC@3kqQL4_ntp3)ZnT`Xn?v(39JC}rK0=O?}Fv)T54mhTzr zOJtqy7MiPV74#ZEulC9|EUy%wlu2#M_9d>Bg^b1|UU=12cb|Qo)5q&zCF7bQX1MCw zmE==Ck%@kIM6--mQk8u<)j`yRw&=6w9Iibzk(r9UMOnj6mZI*9Df-Db(Y7g)Agtc= zr=k|*5zjOl>rd#m$ao3$P?yYdFd=5t=~b}Q2Op@U0%h^C+08rL?<$Zq@u@}K9I8lP zR^QaO<@3sYc{bi8lMUsRPk->wwx2PJdWYw@2^8(ntYzuLsRtCO$-K-H&YR-HVaHyV-Nkfs$cf< z8&Q7hf(S$8Fq>tla5G-U{~%6SYjIjpZ@#Pi!1XrlcBP7%FxS%icnCKlPx$7|=8H33 z{8R(g>0^2C0P%`Gn_A^koqbG8s3yjKVzb$Iuf8dW43&!NcSfS7(J_4kWICJIU6N15 zKE#DyB)6B?v?OiifEHsZwz(O18D>8WF?3 z3C?V^dQ-QGmAujeX|tqCTP*aOQw2nWG;$&_CvD7qD^|m3=&no*(S4BHh}L(%Y;s&S z1<7{Ti{2|no{~*!ibUtpTp4AQ+D$1wccK5aVwlJ*60Em%$e=qZ(&t+8odeuGPhqpH?kw}e2VP(K{Kv;6Es>}DEE@X6f-Br3jLN< zQYsZYSfVng_$4aVXk)3f4_wb^or{*F_`XHTz{hp!;yylG&KEpNW`UtLOOkU-n8D~b zt$0LoN+2}YP4#gDIxRKKpkuv4WldjBil0uB$X5m!*N@GXhV6oS3S$CGS;4%au9M~G z@w_}?EV3FTR_eGC8}=}MYE(nNAEyxy^RY_G?nQfCk#<%%XCPsCBy`%1bKJt{<{~8% zn=jKeG($err+IRr%nw;=LS&Lcry(s0r_P0qkf!hYD`SC`e#JxMU2@%~yHa+7VuQ5u zgERvc={I><#H?4Qohe{6AJrSF5q{{ZgQm%IlesSm>NKU6c^FCL9!58c(xw+^+nt(L zuy4#V%UkwQqbX7v{4j`0Zx}EfQ*4WA!_nr8(4{Fi8V4b;7OAQDx+@RzwjL5Kp&*FQ zCKD2BHcRtGl?_)Z>2;|Rvpkwdv;@6to;rV+ZZr4w&kNH>doEL-VjmsTTT&5s_C#JI z4|zFhB|k=tI+{IMb*bvZgs+7y`3sd`n~DUAn}Ys;K<+m$qxtb|JjVVd(ld)38G;#9QU z85Gev3#rW)m!;wmdzI2&(bz4)k=dUyJ7ZY#)!@A7QIt~J8Aa){-^9eDd56^Fpu;60 zyIGHtIaFOk9}6z|HJzaKP}`b(tQ9PyM)GXS_-0d}zsaD{1%4LQEg2swz|T zs}fTcIH{-VDEP5>eeelMM}O*OZmPk9Z}F=jD7os}y^JnvLf{4#l0Z9gGbbB#XxMt= ztklO4k2QorOVw6xq1Y?4$#tlM<#vsR$SYaBw-Uvczm(;T7WvpZQ?oN+P)vT{h)^b+ z*_|I0sdg~>rSs$lyL0en@bX<&lQ;6YNwUpu*SO{;fbI-eL+=T@PvEzp)P13ZI zB29x4HbrX)x2kPy8If-?)q(hClz*C^c(b3w^gK;3ZI0=FTnkNsGL9BtgL9{n@Twxl zCcYPy=JO_(b49eJC@RK-FiKVFCJ`6f| z@ouR%#gR$+bXq11Z`q@BwYqQP^p(lAbt@`U6At~}7FFSD*9}4P?jmxt>jibmS!O~z zsO%2$O%?lJs#8_%et%2V+lmTKKk@&^HidUSaT6Z~;fuOYzcfNdlWC zg>BSELDt1*c5hpr7SJ%u4Ol%sx>@X@ovh9DbvV1;@^!j9tkU z+ZmuT$I7FZ`Bz92qKa(eoQ$WMbrVzYwyA!di#Mm)OXX6QNfIA4MSZAxGGm9PL@a~% zQ5VT9B6+@PM`3cu+$Ye&2gUaK{}4|+nms^}T1Xrs<5q>9v2^QMZKN-0YS+6C4rsh#01 zOJ~BtI`V(*$Ga@q6r*L|%<`xM~In1_R8DnRSfGrnbAZ|xw_(Ol_iK7jEjuK@GzgC#7ex0pBo=Iv85Axd$ ze5au^`BsBqmb8#ytQQxpt03DU!VE~G1CE^ zNgquP?YhgfU#SxVhedT{8xaxo|4()2vKv>DoZ)(uk{6Z)NF=<~X5a>U+UhnhXi73L zUR8Io*~MECBuh5<0<*E+!Sf(9tM2#m_x}-*nRTHgZ^ke%(_)>ICr_Td#PyGeC!fj& zlCMh;UVj1JqAN>DQoF@1#C}y;Y`vKTe{4jzNHCBFu?;o0opN|P4lF?62)I9cE~1I0 z@Kp%mN9n9kGa)>9X=5zxE-n=2E!U1-70vvkM?nfF!o9*&FS!#J&xw zZIAsC(L(YcWY)7wI{ z3;xAHcu59)Zr)I=8(oUzQfOWjB!gHWbhh6gnzWY<{=~Ca40i#S^L&CGu(w}}F9p1nRawJF9+CZz~@Ok;8(~oTBedj7j?1UZBBq{zI7pVy>3|vrC!tB zDKNxJD`*Nls3IC2b`2_@1cwSQO$zLsPL336&n4D}%jF!JC-pFEo2738uvZhvu$Ii( zOc5y3ob;K@t=* z5``0}$~;q?h8;AU#A$TEgxp~i@Yo*Psf4Fc7VBkiCcpo;fGz#xv@ftr<@i?IC#@|9 z2t=~;g<~Bxo}cmKlP0sQ2{{GW-s%C{Z7;wzV725J<4>cMt4+43vecWnJG-#OmSOxG z&i9kTcTC>0?fJhL4rW<-HDE4_pI7Z-mtHq-S*(So?sy1RLfDOT;pz@!%r6WMqBrbd z*F!rG&S4`rJ_OO)4PPb}4sJ{o(wpNNV zSgYF3e4|w$(FE1dpq8}1T?*yEWP(Ho9;_r$L5PWD+yoiePFiNs1tD~;{F$WQE`Q0m z!LgQE+x}>5&OSc~V`ta!`aqElRnUHzVG4sGzhOtu%hV*8wo` z1(qmM`*D*(571%lPC^If1y`Bf5JmI$Kqb)HnmC(nst+oI_RqYD!R(aVQ?infhNLU= zVR%hC?Pv%rzMC)`((@vpJc7TN?y8Blc$n|Kv;eDb|Lqe>LP&>D{cRIAUWXW464Bjb zltFfFaD?9=lQin~xe>;q4n^ByfTQJH;_256ma{2mkH(VxOa2r1H159N{;VpO=Lk1H zEvC|Bq_sUP;`@-&MINGr8jzKQ+62j#Agn;4)U`Dqwd7@@X6a!m@?FTPm``(&vkw+V zMt}N1Iwep75}EcLllW00;sJ=eM3}v(h-QFf0RW71X}IX)B-B5*pi&JIS1{OE$ya!FrgUTgi6oj3jgV`4SUOEg* zo0|7TC2n8=+M%*K%xzs*yO<^iam*#4A$X>Z5q5xzeCWIa=+rSn+k|!oa)ALwID^y@ zHWcy)@;A0zgCeFU%{-ONT{i8sKS$6ghTEBNO`J}`IELHuToNqNnwKY2xF$-tnZ0VU zVEP=Yn@ZWTQY4bsjs zuXTO_XT|ef8%gC@^VXA;){W;JtSfNR92j|8poO0h#w2Xf5zF@5e^Hd}9mUx`@c*Ol zr{7|4!>|TcyPNu#6P)0-R|h|`y+emZ@H762SmpLdjCH~9EZ1f~D<%;ckq}yEzO%Z} zFiV(;(rt0gb(m0xKQd6yBkehBP;+^ue(l1$N8`a*mD@6@Cq>1S#o9Bd* zSyjmm>=6V)uLV&K5OhpNn#Uts!vp4l)0__pPdD7Op^Qt=MawyoI#9w0liCYR zQ*?JYL%pJ4m>EzxAg2-hsn)tH1&>m1DL{p39pY$v0z;Bk(_4yzVwe)Pt6zi_%R4i^ z5{3YK)YTe)040|5*E6H0SZ~p732ubrvX|LU>>=B>1|0q2EXP>g`6X+E3&JQ`$e?%{3s$Tn>!}#P9 z1;h;mP(=dL;v?V42bQ0VorJUuBLe6_-Zr;e!MmA-sWb@=9Vbww;ZVFKx=y|qI#=8u zO1I#^Tx9Ji@hs6&q#b#bwO$Bma&q>I^|QQUPk2+oT1X?t@2YBXSTjmkxQ1x|O^7+a z9c?ClA4y=$GYJC_^b3I_$x>HmZ5Lry*y?fm-teI@S`vy#^v3HR+HJ_u6b%pwEf7#4 z?EYa#**M9HtszHfFnS^j&goBb8oM0X3BvAU%)$hPy5}|?NUzToY+fFxx<}!d|BsdA zWC|GMtNNN;B-yr2Q2Tds$BBSnPs4}97A@Ih<6%K@s3%8KaLgI&%hpXaU5X#%pWL;q z@tSjw{b^X|#(R1-zZzSETT0+^G6F+!lB6M72^XX@WSkCPAjFsp%Y7*Oy2UU8)K|Xe zs&WFgqZrIURHvfBduGq3N9@fE3To04eImQ4+jGD`Y|leSUOaNR=Qpw=$fC#b1B9mU zMo?oRNbQN5j=f_pJVCyA5rdN%n~IrE?eKs)32h)d)Jfvn5EzG!q?E}W$T<-@hauY+ zE*-3G*_8Zyq56$banw< z#;vKZ;2N(O{)bF}LDNgF;6Pv4 zF#QWh2+iid;)u|?;H}X%Ogr+K?6}JG$JJ+RK4rs2eg1G7{~$V7<|fIX09;!bS26eI6mu)NK!r=FbZ>B2P;+EX_ZLk+|`JVVMD0 zkM75v$7<_oGxCo58NJlEDYeSL5Zp39v|q-AKi<&bEu;A&*sV{(ZgEvB;Lk8bz<29C z+zmz}ZzJDDk0Mod8_Fg8h}i(4+B@#;GhcwNQ_~rm>f73+Di_lw2!-hj)5@P0JZ3xP z*~{TwEKKwk?~54;e-sCa?VND4P_lnXfHYK~Lvok*FhO(^G4?cFTI2#sb&h#Nwpq4< z)F#XG;CD@n0(8WjYo2U3q+KA@T4g)-+TL_yOm|psls9t=XQ)L(q1h!BXKMh|cN`P-sh( zdE&I6wMp|f{f#0Qpxs9#v{o=rlqO>(a5tIo1ebKAFnyFRkH&*Uh?m$npRp-b~)N8z%)H z50QiEDCV;0evI5aPq&TDbt<7Hlrm{zj?zJkX;&>{wd?OyUynH?x~CCprkT+jvh-|} zmqlvDp&PJ2@z1ZOVzk&uC0kQkkVj>OslO5SU2RV~yrUAw1Ha$!Z46x}9f_>QpR-O~SO1=G&J(I21I-pwfORETLirbDGKET&%DxRgG~m#j>EJ?H2Ax zGIJMp0`GJxPTyh^*wgU#iLqbwd?9+8)CyPhgJ{q%P_PLBjIF9jL=V{n3~(xdO>xr3 zAJ%ZMaBYdeD~$!+{Qeh6Tat72DblmBNl{t@gb>RwrUlRvNciT&Dlgy^JgY{+zEJxw zqiq^+uFC&GLN*+rqciV~vFB(M0fHY+gq$U~vUNlt^Cr!y6lj0T&S^^~h5xz{>$^}A zWIn;ZF4=*%D=zuXbhNN&zys2>w1d4B_hYvG94LH?9UUkO@1iLJDj+;c6;b ze2|ihUs)rC59W;M1Gs{#Fg>JHS%HzhuAJw+%Zr}VueWET{DQJxqHFhrvX0>$_~-UX^= zpI|8kl&Z75c*Y(#HKPj{j;68x&7GB3;}`BXXH&u9g67@RscbcZ6fPfbFih`ke){&i z_dgyTpB}wcWx|os%6AJWM5xi#v+29cUeU}trGRzjGC-G|sq0J_v8+po$Y{;@qWw|S zMmBLs5XWA-FsB`7N#<_4W!HsHO<$KxI@8i$4STk(?6Wob7CLkjQ+=jCXOkd|IeqU; zB~8M9JbNUwVfab0ZsW$4u)dj@X<{8nqf#3vtPUVSCjc$&k+^3kC+LG?E^=yq)qZ^SycY`+GIh?*7*7qjEUhEK7C)k@usc2c<~Il0%NC<%J&Ljck=IamR!T{4R@ZgE>M9#$xtWZsii2oTC%q4`1iFm-=`A zK2n;s1Ja+YCTk2I3Z6;I(rvhM5|agS)S9`7sYy3#0$L=|TE0_u1x;c!+S+8JEw~y9 zbJU*jO9oh%xCz@tFoAA<#A;9vqo{+EhZ0G4L)aj6DBqo1|5HjM8lkj+cK>$JVfss? z?dXg~Jjv^=sfc_oYSlXOBRdr3L#sGC_NtAj!ine(bN%gliQkajhcV%H7LZ^5vhVR} za3Czajej>y6wQu<(Ref%$fjDFl%QR8Q~Nt7WN4paJb93oVq-pX|uI8hgKN3l21du8bcC2QT`|m!p6!(ZPlq1%b~*fVjE+sQ_M%A z+wrB{5P(3Fu6h1KSdS8m3U4sm&F%!)+d5ZkJ&I`4!y~+%f7a?+wISVL5)hM0K4Atw zA##|>ghanWmQVa7ZwF@&;emh1S4*NJo}$@OdBZcqSA_o2%znZ)?dWk~@`(5zM^NWY zh<(gX;18`*8)t2|GZaessm<=cWM_9T5oPQc% z#Aq#1r#+aRt@;)7QW)F4l!!Y3wXJQ4`Te)nr0kZ=4=0wo+M(8tuh&FbA%XMvhiPs* zfhK^Q7yfUkKmuGM!J($(NMvh>!}1+0qGTifVY%#-@-wouDzgop*NVuPT2fHE_NSS2 z6J+~xxjL2vmn+ie6+00#Oj}aE;!(kf{wAh|XgH3Uky||>&usEe1|^$!fGQaMqeDv-fvBL3O`_|`0ZI%VCU+W=9v&H5J4FLb`YcB%hqp%bSTa((qMEgTsf6Xc^PZxb-FkaW_*si33a) z%wImYZxaT_gnyB-SMg?u#5Q0-d#L)zZoOIrJjAk@X2llDc3k*PE>3xy1DgjkkcUY- z(sB{-Xg~w&r5~f{VOS9cyEG_a85+VQBn>#Nc(y5tqS`pfj%viJ;YlP|QSyGU?@?CBFsbkZ>(R?DsJ%!)LaR3idXJ4zy#66jGOMupOxp5IBC zD;Uvfky>SkyNjM zpuALX2w{vvd)E>W0_8Ai-Cwro?>B@cdDf0yU4g^ed~ zlj607fmHn7Gei|tcx?S@7uj;i?6O3NrZAiYbn{W(Kw7+8(Fp~}MOYOAsur=RF)NNF zKuu#se{ENNlwzNnhBj%!pP|jp&o3M9?2%ZJFLxd6V7u&Nya4Slt3F0g8)M|vW}3>{ z2wfGANdDr62xQu+#1Ta#38Nbm9pP3jV{l~55c^<(*7zgS9j-LIC}R6?qrwidW?DJB zZy;Bw_QUVbw5%u)cNiOI^+32DM=?)P8mYE4CelHNt7eCefN^I67 zg{(Xj%)h5lFk8}-gv!ca$*~lV5E(rm2#nW*e86)|#4Y5z4&ZYnr>-78$JZlEWEeKK zM*dtRSEds4QC2O_Hl*fw^tv$_-kxnm6i9DgD%Gx7VTfbl#AbNx3}_b%z0nzai7~+< z+OD|memmuXBMfKl?Y2>BgkO3h;3JKw`?>k@mSkUqD}L$W$P;VpdZ#e2Aj#B(B`JYj zyS=_-vpc|y*{yt&LKSpC*S2j=lF(CIxyRb4`f;O`A?@8&q;-i*cszc}tt(1xZ`GF! z3dDx^N#Y1NZkL&4?(MZH+jmON(4ZXc?$;G*uU2in7jUr_>JTnmeQgQD@=nP^E>{sN zFEBh30z1gk+Yp09CKsAC1va)FPuweXxS{ZPl9;W2W3m*e7&a5Q zgVhvgFkth~*-R)H4!h8Dj8IAG)HW;-2ke*BJ6ylbevkD_O>A zh15@?JY^*-a!_R#e*w_1SE$6o;6Rh687gTxRY7E>5d*jEvv@pTNm62F6!o8CK~hdc z@fo`3!}J@JDoR!UfDms*j1`q_z&Yi*b4;W_p`qsp1Yn~`OeFe>9a7;g5L3yFjf@JP z0$2aYf8~aYfJy5E$SP0CyC-6GP+O$j2;v|+h7;>3lQVlDAP!lx62ar+UGad=-kiQ* zqh|5S)(IOpIg!t8;{?5@r&Zy@^AAMKXE|oO0lfyvsk=k(!CuqAqeE93HaPOON$KUqN#W*@JwvYdyPF$_wj5 z_+FnLJZ`wrdIihA*6Wy4GU9<|SWIrEDIvc$vB}I+cdYc6r&jPRA`aL>WKqlt3?w|R zzeNQmxwxOqbiK8SB z`1D;C(hOCS)0QJtA-93fDWHMeZ_ zs{?|FOpDRhU3bx5&(8pI{Rf*eXh7=}OVHi)k(~!FsyGX3*{R&w~_#gxyj6@Q#ke@u04a+`CG7BNgWJrNT`I!tfFTiJ02Fb zcI4oVF0P$qMVTwpWGuT`+^YmE?VJ5{`{mb>ZHkGvK7b)s>YR+#He%xEY=23#IA3Ea-5ZxRe&i-1BTU~($E7ZUrr0E20Zo$3DH5Oz$6a!!i z1Xl4pFj8O^lAtp1?FU4`;7?^eS=R*giArh6TL#v*^{PK$LxFbGb=V!VE_*$iFcInU zO|dyw1d3zfW(*1(dazpCOmYfb=Q*0Cuh@c^c{^fG<6{v&pTr&_1hml3uD(nCW>s6L zkIear?PJ*}w*&*((_4u?E^Esx4wkZ<%l6~=$}sC&fzE94lv%G*oMc}@7LQ%YifW?m ziVL>wP0J^-qbuYq^zbIy_IHz~bjiCb*O#V!kmZnl0aS>~D~YWnIs>L)@LYuOc{jxT z#ivAf8?tQ^4V`U3y``)xbx(q8rV!9sRz4`4S0x6|_Q6|6epDT`xGT$+2O4i?O(NX@ zRVzy3>f#ky=d_8+_ZDhi+cCNLU(p4m3cCuMH1Q>yU9f))&NgyR)jPY{^PxEFd8GMtqa#m4}TW3|~p=?77OiT9|i9va#W)_5*?X8{35#}(xy z#)GYqGocSV$r4rHX=(&tnMs*)+~#XBmFyEx#My;eeSsfBe) z_9_8O{i{TbkxJzE%*^tiI9iljWcq>$4mjd9Rh>S6dxt9>3?QnlG(#xvkl>(t!Y#3; zNyCCv;*&L1%;SO52L_y|vU#|$CqAZmWC=5(09Y8)A_{;t@GFaOZuWaUBb}c1(_q74 z>gYPw$K7VWmCjmR$a*?PK9;V|RFRu)Oe5vsN)zd4jmhpg<0P1oEk0D4%tL9{Qd zodmJL78bVXvWSJ#C31gF6so}7W{x%eAs13WREAB!m(Atvo575jH^z2hGZ0EobkGtO zG}9K+Pnys~T1A6WUZbyAhopwU1=l7*ag&28 z=CWLI9B4{`9>n^v%B_gsa!!gSJ|A3{s)34|bDkv5XU;0hcODL*?fTiHp!s!D;D}b* z^WRwnNHt6F@k|Z!myrQVVliAxQ;UhQEg`-apf9n!)+Y?JrIRTJKbVCl|BH&Dp>E3; zv78L^5C@Z-4IKNh;&)@EQqrUfK6u|V*FxhAYX*uZN{4!8VO~n+Tm}I)xM|%pz57}l zQyfdF^4ODALiC+2C6WjO>q`D6&g%WOB)~~j5S>pP+>O|wP;MDpA~t`Ce~8HZ
    • ? zbhCKq<=z*Ihq4}VRz>@&a;Wf#46@EsW8gBRBrXQANpYG%&xy0hDtp!(R!Zqou+Tb! qd}Zalh=jq~#$k-YSbWJwX^ID(YTqD+bL3@2PzemQ0XxQE2mb@=$7hKE literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-bs_BA.po b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-bs_BA.po new file mode 100644 index 0000000..3cbf182 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-bs_BA.po @@ -0,0 +1,4259 @@ +# NextGEN Gallery base (English) .po source +# Copyright (C) 2014 Photocrati Media +# This file is distributed under the same license as the NextGEN Gallery package. +# +msgid "" +msgstr "" +"Project-Id-Version: NextGEN Gallery\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-02-20 19:45-0800\n" +"PO-Revision-Date: 2014-05-21 14:56+0100\n" +"Last-Translator: Photocrati Media\n" +"Language-Team: Photocrati Media\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=2; plural=n == 1 ? 0 : 1;\n" + +#: nggallery.php:290 +#, php-format +msgid "Every %d seconds" +msgstr "Svakih %d sekundi" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:157 +#, php-format +msgid "Album: %s" +msgstr "Album: %s" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:159 +#, php-format +msgid "Gallery: %s" +msgstr "Galerija: %s" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:177 +msgid "Missing parameters" +msgstr "Parametri nedostaju" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:213 +msgid "Displayed gallery does not exist" +msgstr "Prikazana galerija ne postoji" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:216 +msgid "Invalid request" +msgstr "Nevažeći upit" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:248 +msgid "NextGEN Gallery - Attach To Post" +msgstr "NextGEN Gallery - Dodaj na članak" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:266 +msgid "Display Galleries" +msgstr "Prikaži galerije" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:273 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_controller.php:7 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:192 +msgid "Add Gallery / Images" +msgstr "Dodaj Galeriju/Slike" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:280 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:160 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:194 +msgid "Manage Galleries" +msgid_plural "Manage Galleries" +msgstr[0] "Uredi Galeriju" +msgstr[1] "Uredi Galerije" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:287 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:404 +msgid "Manage Albums" +msgid_plural "Manage Albums" +msgstr[0] "Uredi Album" +msgstr[1] "Uredi Albume" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:294 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:162 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:198 +msgid "Manage Tags" +msgstr "Uredi Oznake" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:115 +msgid "What would you like to display?" +msgstr "Å ta želite da prikažete?" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:139 +msgid "Select a display type" +msgstr "Izaberi vrstu prikaza" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:162 +msgid "Customize the display settings" +msgstr "Prilagodi postavke prikaza" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:253 +msgid "No display type selected" +msgstr "Nije izabrana vrsta prikaza" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:271 +msgid "Sort or Exclude Images" +msgstr "Sortiraj ili Isključi slike" + +#: products/photocrati_nextgen/modules/attach_to_post/module.attach_to_post.php:186 +msgid "Invalid Displayed Gallery" +msgstr "Neispravna Prikazana Galerija" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab.php:10 +#: products/photocrati_nextgen/modules/nextgen_admin/templates/nextgen_admin_page.php:25 +msgid "Save" +msgstr "Sačuvaj" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:612 +msgid "Sources" +msgstr "Izvori" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:646 +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:362 +msgid "(optional)" +msgstr "(opcionalno)" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:654 +msgid "" +"Sets an SEO-friendly name to this gallery for URLs. Currently only in use by " +"the Pro Lightbox." +msgstr "" +"Podesite SEO-prijateljsko ime ovoj galeriji za URL-ove. Trenutno u upotrebi " +"samo na Pro Lightbox." + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:655 +msgid "Slug" +msgstr "Slug" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:860 +msgid "No entities to display for this source." +msgstr "Nema entiteta da prikaže za ovaj izvor" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1264 +msgid "Select a gallery" +msgstr "Izaberi galeriju" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1292 +msgid "Albums" +msgstr "Albumi" + +#: products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:34 +msgid "Code" +msgstr "Kod" + +#: products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:48 +msgid "Stylesheet URL" +msgstr "URL stylesheeta" + +#: products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:62 +msgid "Javascript URL" +msgstr "URL Javaskripte" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.import_folder_form.php:7 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:6 +msgid "Import Folder" +msgstr "Uvezi Fasciklu" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:41 +msgid "No gallery name specified" +msgstr "Nije određeno ime galerije" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:55 +msgid "Failed to extract images from ZIP" +msgstr "Nije uspijelo izvlačenje slika iz ZIP" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:61 +msgid "Image generation failed" +msgstr "Generiranje slika nije uspijelo" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:70 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:150 +msgid "An unexpected error occured." +msgstr "Nastala je neočekivana greÅ¡ka." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:77 +msgid "" +"No permissions to upload images. Try refreshing the page or ensuring that " +"your user account has sufficient roles/privileges." +msgstr "" +"Nije dozvoljen upload slika. PokuÅ¡ajte osvježiti stranicu ili osigurajte da " +"vaÅ¡ korisnički račun ima potrebne dozvole/privilegije. " + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:117 +msgid "Directory does not exist." +msgstr "Direktorij ne postoji." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:121 +msgid "No directory specified." +msgstr "Direktorij nije određen." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:125 +msgid "" +"No permissions to browse folders. Try refreshing the page or ensuring that " +"your user account has sufficient roles/privileges." +msgstr "" +"Nije dozvoljeno pregledavanje fascikli. PokuÅ¡ajte osvježiti stranicu ili " +"osigurajte da vaÅ¡ korisnički račun ima potrebne dozvole/privilegije. " + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:155 +msgid "No folder specified" +msgstr "Nije navedena fascikla" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:159 +msgid "" +"No permissions to import folders. Try refreshing the page or ensuring that " +"your user account has sufficient roles/privileges." +msgstr "" +"Nije dozvoljen uvoz fascikli. PokuÅ¡ajte osvježiti stranicu ili osigurajte da " +"vaÅ¡ korisnički račun ima potrebne dozvole/privilegije. " + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.upload_images_form.php:7 +msgid "Upload Images" +msgstr "Upload Slika" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:1 +msgid "" +"Select a folder to import. The folder name will be used as the title of the " +"gallery." +msgstr "" +"Izaberi fasciklu za uvoz. Ime fascikle će biti iskoriÅ¡teno kao naziv " +"galerije." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:5 +msgid "Keep images in original location." +msgstr "Zadrži slike na originalnoj lokaciji" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:5 +msgid "" +"Caution: If you keep images in the original folder and later delete the " +"gallery, the images in that folder might be deleted depending on your " +"settings." +msgstr "" +"Oprez: Ako zadržite slike u originalnoj fascikli i kasnije obriÅ¡ete " +"galeriju, ovisno o vaÅ¡im postavkama slike u toj fascikli mogu biti obrisane." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:39 +msgid "Importing gallery" +msgstr "Uvezi galeriju" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:41 +msgid "In Progress..." +msgstr "U tijeku..." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:56 +#, php-format +msgid "Done! Successfully imported %s images" +msgstr "Učinjeno! UspijeÅ¡no uvezeno %s slika" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1268 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:2 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:189 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:217 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:226 +msgid "Gallery" +msgid_plural "Galleries" +msgstr[0] "Galerija" +msgstr[1] "Galerije" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:4 +msgid "Create a new gallery" +msgstr "Napravi novu galeriju" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:13 +msgid "You browser doesn't have Flash, Silverlight, HTML5, or HTML4 support." +msgstr "VaÅ¡ preglednik nema podrÅ¡ku za Flash, Silverlight, HTML5 ili HTML4" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:99 +msgid "Drag image and ZIP files here or click Add Files" +msgstr "" +"Prevucite slike ili ZIP datoteke ovdje ili kliknite Dodaj Datoteke" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:149 +#, php-format +msgid "%s images were uploaded successfully" +msgstr "%s slika je uspjeÅ¡no dodano" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:152 +msgid "1 image was uploaded successfully" +msgstr "1 slika je uspijeÅ¡no dodana" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:155 +msgid "0 images were uploaded" +msgstr "0 slika je dodano" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:169 +msgid "Upload complete" +msgstr "Upload zavrÅ¡en" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:191 +msgid "" +"An unexpected error occured. This is most likely due to a server " +"misconfiguration. Check your PHP error log or ask your hosting provider for " +"assistance." +msgstr "" +"Nastala je neočekivana greÅ¡ka. Ovo je najvjerovatnije zbog pogreÅ¡ne " +"konfiguracije servera. Provjerite svoj PHP error log ili pitajte vaÅ¡eg " +"hosting uslužitelja za pomoč." + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:226 +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:167 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:537 +msgid "Enable AJAX pagination" +msgstr "Osposobite AJAX obilježavanje strana" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:238 +msgid "Override thumbnail settings" +msgstr "Presnimite postavke umanjenih sličica" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:240 +msgid "" +"This does not affect existing thumbnails; overriding the thumbnail settings " +"will create an additional set of thumbnails. To change the size of existing " +"thumbnails please visit 'Manage Galleries' and choose 'Create new " +"thumbnails' for all images in the gallery." +msgstr "" +"Ovo neće uticati na postojeće umanjene sličice; presnimavanje postavki za " +"umanjene sličice će stvoriti dodatni set umanjenih sličica. Da zamijenite " +"veličinu postoječih umanjenih sličica molimo otiđite na 'Uređivanje " +"Galerija' i izaberite 'Napravi nove umanjene sličice' za sve slike u " +"galeriji." + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:248 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:37 +msgid "Thumbnail dimensions" +msgstr "Dimenzije umanjenih sličica" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:262 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:431 +msgid "Thumbnail quality" +msgstr "Kvaliteta umanjenih sličica" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:272 +msgid "Thumbnail crop" +msgstr "Podrezivanje umanjenih sličica" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:281 +msgid "Thumbnail watermark" +msgstr "Vodeni žig umanjenih sličica" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:306 +msgid "Override image settings" +msgstr "Presnimi postavke slika" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:308 +msgid "Overriding the image settings will create an additional set of images" +msgstr "Presnimavanje postavki za slike će stvoriti dodatni set slika" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:316 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:66 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:456 +msgid "Image quality" +msgstr "Kvaliteta slika" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:326 +msgid "Image crop" +msgstr "Podrezivanje slika" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:335 +msgid "Image watermark" +msgstr "Vodeni žig slika" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:359 +msgid "Gallery width" +msgstr "Å irina galerije" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:361 +msgid "An empty or 0 setting will make the gallery full width" +msgstr "prazno ili 0 postavka će napraviti galeriju pune Å¡irine" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:365 +msgid "Pixels" +msgstr "Pikseli" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:365 +msgid "Percent" +msgstr "Postotak" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:374 +msgid "First Image" +msgstr "Prva slika" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:375 +msgid "Average" +msgstr "Prosječno" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:100 +msgid "Clear" +msgstr "Čisto" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:101 +msgid "Default" +msgstr "Zadano" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:102 +msgid "Select Color" +msgstr "Izaberi Boju" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:103 +msgid "Current Color" +msgstr "trenutno Boja" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:174 +msgid "Saved successfully" +msgstr "UspjeÅ¡np sačuvano" + +#: products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_radio.php:16 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_radio.php:16 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:122 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:24 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:40 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:65 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:191 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php:37 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:407 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:454 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:457 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:460 +msgid "Yes" +msgstr "Da" + +#: products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_radio.php:24 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_radio.php:24 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:123 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:23 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:47 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:72 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:198 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php:44 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:409 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:455 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:458 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:461 +msgid "No" +msgstr "Ne" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:25 +msgid "Display galleries as" +msgstr "Prikaži galerije kao" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:26 +msgid "How would you like galleries to be displayed?" +msgstr "Kako želite da galerije budu prikazane?" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:28 +msgid "Galleries per page" +msgstr "Galerije po stranici" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:47 +msgid "Items per page" +msgstr "Stavke po stranici" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:48 +msgid "Maximum number of galleries or sub-albums to appear on a single page" +msgstr "" +"Maksimalan broj galerija ili pod-albuma koje se pojavljuju na jednoj stranici" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/templates/compact.php:28 +#: products/photocrati_nextgen/modules/nextgen_basic_album/templates/extended.php:15 +#: products/photocrati_nextgen/modules/ngglegacy/view/album-compact.php:45 +#: products/photocrati_nextgen/modules/ngglegacy/view/album-extend.php:31 +msgid "Photos" +msgstr "Fotografije" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_mapper.php:94 +msgid "[Show PicLens]" +msgstr "[Prikaži PicLens]" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:63 +msgid "Interval" +msgstr "Odstojanje" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:67 +msgid "# of seconds" +msgstr "# sekundi" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:77 +msgid "Image limit" +msgstr "Limit slika" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:79 +msgid "Maximum number of images to display with recent or random sources" +msgstr "Maaksimalan broj slika za prikazati sa nedavnim ili nasumičnim izvorom" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:81 +msgid "# of images" +msgstr "# slika" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:112 +msgid "Maximum dimensions" +msgstr "Maksimalne dimenzije" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:113 +msgid "" +"Certain themes may allow images to flow over their container if this setting " +"is too large" +msgstr "" +"Određene teme mogu dozvoliti da slike pređu preko svojim rubova ako je ova " +"postavka prevelika" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:123 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:765 +msgid "Enable flash slideshow" +msgstr "Osposobi flash slideshow" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:125 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:767 +msgid "Integrate the flash based slideshow for all flash supported devices" +msgstr "" +"IntegriÅ¡i slideshow na osnovu flasha za sve uredjaje koji podržavaju flash" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:134 +msgid "Shuffle" +msgstr "MijeÅ¡anje" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:146 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:782 +msgid "Show next image on click" +msgstr "Pokaži sljedeču sliku na klik" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:158 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:786 +msgid "Show navigation bar" +msgstr "Pokaži navigacijski meni" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:170 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:790 +msgid "Show loading icon" +msgstr "Pokaži ikonu učitavanja" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:182 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:794 +msgid "Use watermark logo" +msgstr "Pokaži logo vodenog žiga" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:184 +msgid "" +"Use the watermark image in the Flash object. Note: this does not watermark " +"the image itself, and cannot be applied with text watermarks" +msgstr "" +"Koristi vodeni žig sliku u Flash objektima. BiljeÅ¡ka: ovo neće staviti " +"vodeni žig na samu sliku, i ne može se primjeniti sa tekstualnim vodenim " +"žigom" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:194 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:799 +msgid "Stretch image" +msgstr "Razvuci sliku" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:231 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:827 +msgid "Use slow zooming effect" +msgstr "Koristi spor zumirajuči efekt" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:243 +msgid "Background music (url)" +msgstr "Pozadinska muzika (url)" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:256 +msgid "Try XHTML validation" +msgstr "PokuÅ¡aj XHTML potvrđivanje" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:268 +msgid "Background" +msgstr "Pozadina" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:280 +msgid "Texts / buttons" +msgstr "Tekst / dugmad" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:292 +msgid "Rollover / active" +msgstr "Prevrtanje / aktivno" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:304 +msgid "Screen" +msgstr "Ekran" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:322 +msgid "Show thumbnail link" +msgstr "Pokaži link umanjenih sličica" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:338 +msgid "Thumbnail link text" +msgstr "Tekst umanjenih sličica" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:65 +msgid "Images per page" +msgstr "Slike po stranici" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:67 +msgid "0 will display all images at once" +msgstr "0 će prikazati sve slike odjednom" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:85 +msgid "Number of columns to display" +msgstr "Broj kolona za prikazati" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:89 +msgid "# of columns" +msgstr "# kolona" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:105 +msgid "Piclens link text" +msgstr "Piclens link tekst" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:123 +msgid "Show piclens link" +msgstr "Pokaži piclens link" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:139 +msgid "Add Hidden Images" +msgstr "Dodaj skrivene slike" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:141 +msgid "" +"If pagination is used this option will show all images in the modal window " +"(Thickbox, Lightbox etc.) This increases page load." +msgstr "" +"Ako se obilježavanje strana koristi ova opcija će prikazati sve slike u " +"modal prozoru (Thickbox, Lightbox itd.) Ovo povečava vrijeme učitavanje " +"strane." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:150 +msgid "Use imagebrowser effect" +msgstr "Koristi imagebrowser efekt" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:152 +msgid "" +"When active each image in the gallery will link to an imagebrowser display " +"and lightbox effects will not be applied." +msgstr "" +"Kada je aktivno svaka slika u galeriji će se linkovat na imagebrowser prikaz " +"i lightbox efekt neće biti primjenjen." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:169 +msgid "Browse images without reloading the page." +msgstr "Pregled slika bez ponovnog učitavanja stranica." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:184 +msgid "Show slideshow link" +msgstr "Prikaži link slideshow-a" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:200 +msgid "Slideshow link text" +msgstr "Tekst slideshow linka" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/index.php:35 +msgid "" +"Slideshows require the Flash Player and a browser with Javascript support." +msgstr "" +"Slideshow zahtijeva Flash Player and a preglednik sa Javaskript podrÅ¡kom." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/nextgen_basic_slideshow_settings_gallery_dimensions.php:13 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:38 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_dimensions.php:13 +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:52 +msgid "Width" +msgstr "Å irina" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/nextgen_basic_slideshow_settings_gallery_dimensions.php:21 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:40 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_dimensions.php:20 +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:40 +msgid "Height" +msgstr "Visina" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:41 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:26 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:30 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:26 +msgid "Back" +msgstr "Nazad" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:49 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:29 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:33 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:29 +msgid "Next" +msgstr "Iduča" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:90 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:220 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:31 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:35 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:31 +msgid "Picture" +msgstr "Slika" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:31 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:35 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:31 +msgid "of" +msgstr "od" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:53 +msgid "Link" +msgstr "Link" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:78 +msgid "Display watermark" +msgstr "Prikaži Vodeni žig" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:88 +msgid "Display reflection" +msgstr "Prikaži odraz" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:98 +msgid "Crop thumbnail" +msgstr "Podreži umanjene sličice" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:108 +msgid "Float" +msgstr "Lebdi" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:24 +msgid "Maximum number of tags" +msgstr "Maksimalan broj tagova" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:47 +msgid "Display type" +msgstr "Vrsta prikaza" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:50 +msgid "The display type that the tagcloud will point its results to" +msgstr "The display type that the tagcloud will point its results to" + +#: products/photocrati_nextgen/modules/nextgen_basic_templates/adapter.nextgen_basic_template_form.php:46 +msgid "Template" +msgstr "Å ablon" + +#: products/photocrati_nextgen/modules/nextgen_basic_templates/adapter.nextgen_basic_template_form.php:47 +msgid "Use a legacy template when rendering (not recommended)." +msgstr "Koristi legacy Å¡ablon dok se renderuje (nije preporučeno)" + +#: products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php:580 +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:658 +#: products/photocrati_nextgen/modules/ngglegacy/lib/multisite.php:23 +msgid "" +"Sorry, you have used your space allocation. Please delete some files to " +"upload more files." +msgstr "" +"oprostite, iskoristili ste raspoloživi prostor. Molimo obriÅ¡ite neke " +"datoteke da uploadujete joÅ¡ datoteka." + +#: products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php:1002 +msgid "Could not calculate resized image dimensions" +msgstr "Ne mogu izračunati promijenjene dimenzije slike" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:154 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:135 +msgid " mm" +msgstr " mm" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:163 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:141 +msgid " sec" +msgstr " sek" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:168 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:145 +msgid "Fired" +msgstr "Fired" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:168 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:145 +msgid "Not fired" +msgstr "Not fired" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:539 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:452 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:46 +msgid "Aperture" +msgstr "Aparatura" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:540 +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:565 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:453 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:478 +msgid "Credit" +msgstr "Zasluga" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:541 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:454 +msgid "Camera" +msgstr "Kamera" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:542 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:455 +msgid "Caption" +msgstr "Natpis" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:543 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:26 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:114 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:456 +msgid "Date/Time" +msgstr "Datum/Vrijeme" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:544 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:457 +msgid "Copyright" +msgstr "Autorska prava" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:545 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:458 +msgid "Focal length" +msgstr "Duljina fokusa" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:546 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:459 +msgid "ISO" +msgstr "ISO" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:547 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:460 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:54 +msgid "Shutter speed" +msgstr "Brzina zatvarača" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:548 +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:4 +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:3 +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:3 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:678 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:461 +msgid "Title" +msgstr "Naziv" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:549 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:459 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:410 +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:132 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:462 +msgid "Author" +msgstr "Autor" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:550 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:51 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:176 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:389 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:463 +msgid "Tags" +msgstr "Tagovi" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:551 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:464 +msgid "Subject" +msgstr "Tema" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:552 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:465 +msgid "Make" +msgstr "Napravi" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:553 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:466 +msgid "Edit Status" +msgstr "Uredi Status" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:554 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:467 +msgid "Category" +msgstr "Kategorija" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:555 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:468 +msgid "Keywords" +msgstr "Ključne riječi" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:556 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:469 +msgid "Date Created" +msgstr "Datum Stvaranja" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:557 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:470 +msgid "Time Created" +msgstr "Vrijeme Stvaranja" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:558 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:471 +msgid "Author Position" +msgstr "Pozicija Autora" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:559 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:472 +msgid "City" +msgstr "Grad" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:560 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:473 +msgid "Location" +msgstr "Lokacija" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:561 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:474 +msgid "Province/State" +msgstr "Pokrajina/Država" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:562 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:475 +msgid "Country code" +msgstr "Broj zemlje" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:563 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:476 +msgid "Country" +msgstr "Zemlja" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:564 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:477 +msgid "Headline" +msgstr "Naslov" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:566 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:479 +msgid "Source" +msgstr "Izvor" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:567 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:480 +msgid "Copyright Notice" +msgstr "Obavijest za autorska prava" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:568 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:481 +msgid "Contact" +msgstr "Kontakt" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:569 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:482 +msgid "Last modified" +msgstr "Zadnje Promijenjeno" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:570 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:483 +msgid "Program tool" +msgstr "Programski alat" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:571 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:484 +msgid "Format" +msgstr "Format" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:572 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:485 +msgid "Image Width" +msgstr "Å irina Slike" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:573 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:486 +msgid "Image Height" +msgstr "Visina Slike" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:574 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:487 +msgid "Flash" +msgstr "FleÅ¡" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:647 +#, php-format +msgid "Unable to create directory %s." +msgstr "Nije u stanju stvoriti direktorij %s." + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:652 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:823 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1021 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1106 +#, php-format +msgid "" +"Unable to write to directory %s. Is this directory writable by the server?" +msgstr "" +"Nije u stanju zapisati na direktorij %s.Je li ovaj direktorij zapisujuči od " +"servera?" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:681 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1146 +#, php-format +msgid "Failed to copy database row for picture %s" +msgstr "Nije uspijelo da kopira red baze podataka za sliku %s" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:693 +#, php-format +msgid "Failed to get image path for %s" +msgstr "Nije uspijelo da pokupi putanju slike za %s" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:711 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1132 +#, php-format +msgid "Failed to copy image %1$s to %2$s" +msgstr "Nije uspijelo da kopira sliku %1$s do %2$s" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:715 +#, php-format +msgid "Copied image %1$s to %2$s" +msgstr "Kopirane slike %1$s do %2$s" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:723 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1158 +#, php-format +msgid "" +"Image %1$s (%2$s) copied as image %3$s (%4$s) » The file already " +"existed in the destination gallery." +msgstr "" +"Slika %1$s (%2$s) kopirana kao %3$s (%4$s) » Datoteka je već postojala " +"u određenoj galeriji." + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:727 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1161 +#, php-format +msgid "Image %1$s (%2$s) copied as image %3$s (%4$s)" +msgstr "Slika %1$s (%2$s) kopirana kao %3$s (%4$s)" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:740 +#, php-format +msgid "Copied %1$s picture(s) to gallery %2$s ." +msgstr "Kopirao %1$s sliku/e u galeriju %2$s ." + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:767 +msgid "Could not find image" +msgstr "Nije nađena slika" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:772 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:388 +msgid " is not writeable" +msgstr "ne može se pisati" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:777 +msgid "Backup file does not exist" +msgstr "Rezervna(Bekap) datoteka ne postoji" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:782 +msgid "Could not restore original image" +msgstr "Nije moglo vratiti originalnu sliku" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.display_settings_controller.php:17 +#: products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:242 +#: products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:328 +msgid "Gallery Settings" +msgstr "Postavke Galerije" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery.php:73 +msgid "Source not compatible with selected display type" +msgstr "Izvor nije kompatibilan sa izabranom vrstom prikaza" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:327 +msgid "NextGEN Gallery & Album Settings" +msgstr "Postavke NextGEN Galerije i Albuma" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/templates/alt_view_link_text.php:15 +#: products/photocrati_nextgen/modules/nextgen_gallery_display/templates/return_link_text.php:15 +msgid "link text" +msgstr "Tekst linka" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:12 +msgid "Image Options" +msgstr "Opcije Slike" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:22 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:588 +#: products/photocrati_nextgen/modules/ngglegacy/admin/thumbnails-template.php:76 +msgid "Custom" +msgstr "Prilagođeno" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:23 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:111 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:549 +msgid "Image ID" +msgstr "ID Slike" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:24 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:570 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:112 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:166 +msgid "Filename" +msgstr "Ime datoteke" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:25 +msgid "Alt/Title Text" +msgstr "Alt/Naziv tekst" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:38 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:115 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:557 +msgid "Ascending" +msgstr "Uzlazno" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:39 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:116 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:558 +msgid "Descending" +msgstr "Silazno" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:50 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:388 +msgid "Categories" +msgstr "Kategorije" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:81 +msgid "Gallery path does not exist and could not be created" +msgstr "Putanje galerije ne postoji i ne može biti stvorena" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:86 +msgid "Where would you like galleries stored?" +msgstr "Gdje želite da skladiÅ¡tite galerije" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:87 +msgid "Where galleries and their images are stored" +msgstr "Gdje se galerije i njihove slike skladiÅ¡te" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:89 +msgid "Delete Image Files?" +msgstr "ObriÅ¡ite Datoteke Slika?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:90 +msgid "" +"When enabled, image files will be removed after a Gallery has been deleted" +msgstr "" +"Kad omogućeno, datoteke slika će biti maknute nakon Å¡to obriÅ¡ete Galeriju" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:92 +msgid "Show Related Images on Posts?" +msgstr "Pokaži povezane Slike na Člancima?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:93 +msgid "" +"When enabled, related images will be appended to each post by matching the " +"posts tags/categories to image tags" +msgstr "" +"Kada omogućeno, povezane slike će biti dodane na svaki post podudarajuči " +"tagove članaka/kategorija sa tagovima slika" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:95 +msgid "(Show Customization Settings)" +msgstr "(Pokaži Postavke Prilagođavanja)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:96 +msgid "(Hide Customization Settings)" +msgstr "(Sakrij Postavke Prilagođavanja)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:97 +msgid "How should related images be match?" +msgstr "Kako da se povezane slike podudaraju?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:100 +msgid "Maximum # of related images to display" +msgstr "Maksimalno # povezanih slika za prikazati" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:102 +msgid "Heading for related images" +msgstr "Naslov za povezane slike" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:104 +msgid "What's the default sorting method?" +msgstr "Koja je uobičajena metoda sortiranja?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:107 +msgid "Sort in what direction?" +msgstr "Sortiraj u kojem smijeru?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:110 +msgid "Automatically resize images after upload" +msgstr "Automatski promijeni veličinu slika nakon uploada" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:111 +msgid "It is recommended that your images be resized to be web friendly" +msgstr "" +"Preporučeno je da vaÅ¡e slike budu promijenjene na web prijateljske omjere" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:113 +msgid "What should images be resized to?" +msgstr "Koliko da promijenite veličinu slike" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:114 +msgid "" +"After images are uploaded, they will be resized to the above dimensions and " +"quality" +msgstr "" +"Nakon Å¡to se slike uploaduju, biti će promijenjene na dimenzije i kvalitetu " +"gore navedenu" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:115 +msgid "Width:" +msgstr "Å irina:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:116 +msgid "Height:" +msgstr "Visina:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:117 +msgid "Quality:" +msgstr "Kvaliteta:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:121 +msgid "Backup the original images?" +msgstr "Napravi rezerve originalnih slika?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.lightbox_manager_form.php:12 +msgid "Lightbox Effects" +msgstr "Lightbox efekti" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.lightbox_manager_form.php:38 +msgid "What effect would you like to use?" +msgstr "Koji efekt želite koristiti" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:12 +msgid "Miscellaneous" +msgstr "Raznovrstan" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:21 +msgid "Add MediaRSS link?" +msgstr "Dodaj MediaRSS link?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:22 +msgid "" +"When enabled, adds a MediaRSS link to your header. Third-party web services " +"can use this to publish your galleries" +msgstr "" +"Kad omogučeno, dodaj MediaRSS link u vaÅ¡ header. Web servisi treće strane " +"mogu koristit ovo da objavljuju vaÅ¡e galerije" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:26 +msgid "Clear image cache" +msgstr "Očisti cache slika" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:27 +msgid "" +"Completely clear the NextGEN cache of all image modifications?\n" +"\n" +"Choose [Cancel] to Stop, [OK] to proceed." +msgstr "" +"Kompletno očisti NextGEN cacheod svih uređenja slika?\n" +"\n" +"Izaberi [PoniÅ¡ti] da prekinete, [OK] da nastavite." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:32 +msgid "Permalink slug" +msgstr "slug trajnih linkova" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:39 +msgid "Maximum image count" +msgstr "Maksimalni broj slika" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:41 +msgid "" +"This is the maximum limit of images that NextGEN will restrict itself to " +"querying" +msgstr "Ovo je maksimalni limit slika koje će NextGEN ograničiti na upite" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.other_options_controller.php:22 +#: products/photocrati_nextgen/modules/nextgen_other_options/module.nextgen_other_options.php:39 +msgid "Other Options" +msgstr "Ostale Opcije" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:7 +msgid "Reset Options" +msgstr "Resetiraj Opcije" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:15 +msgid "Reset all options to default settings" +msgstr "Resetiraj sve opcije na početne postavke" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:16 +msgid "" +"Replace all existing options and gallery options with their default settings" +msgstr "" +"Zamijeni sve postojeće opcije i opcije galerija sa njihovim početnim " +"postavkama" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:17 +msgid "Reset settings" +msgstr "Resetiraj postavke" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:18 +msgid "" +"Reset all options to default settings?\n" +"\n" +"Choose [Cancel] to Stop, [OK] to proceed." +msgstr "" +"Resetiraj sve opcije na početne postavke?\n" +"\n" +"Izaberite [PoniÅ¡ti] da Prekinete, [OK] da nastavite." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.roles_form.php:7 +msgid "Roles & Capabilities" +msgstr "Uloge i Sposobnosti" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:12 +msgid "Styles" +msgstr "Stilovi" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:18 +msgid "What stylesheet would you like to use?" +msgstr "Koji stylesheet želite koristiti?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:21 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:136 +msgid "(Show Customization Options)" +msgstr "(Pokaži Postavke Prilagođavanja)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:22 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:137 +msgid "(Hide Customization Options)" +msgstr "(Sakrij Postavke Prilagođavanja)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:23 +msgid "File Content:" +msgstr "Sadržaj Datoteke:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:24 +msgid "Changes you make to the contents will be saved to" +msgstr "Promijene koje napravite na sadržaju bit će saćuvane na" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:25 +msgid "You could edit this file if it were writable" +msgstr "Mogli bi urediti datoteku da je dozvoljena za pisanje" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:12 +msgid "Thumbnail Options" +msgstr "Opcije umanjenih sličica" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:20 +msgid "Default thumbnail dimensions:" +msgstr "Početne dimenzije umanjenih sličica:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:21 +msgid "When generating thumbnails, what image dimensions do you desire?" +msgstr "Kada se generiÅ¡u umanjene sličice, koji dimenzije slika želite?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:24 +msgid "Set fix dimension?" +msgstr "Postavi fiksne dimenzije?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:25 +msgid "Ignore the aspect ratio, no portrait thumbnails?" +msgstr "IgnoriÅ¡i omjer slika, bez potreta umanjenih sličica?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:27 +msgid "Adjust Thumbnail Quality?" +msgstr "Podesiti Kvalitetu Umanjeni sličica?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:28 +msgid "When generating thumbnails, what image quality do you desire?" +msgstr "Kada se generiÅ¡u umanjene sličice, koju kvalitetu slika želite?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:30 +msgid "Size List" +msgstr "Lista veličina" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:31 +msgid "List of default sizes used for thumbnails and images" +msgstr "Lista zadanih veličina koriÅ¡tene za umanjene sličice i slike" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:12 +msgid "Watermarks" +msgstr "Vodeni žig" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:41 +msgid "Using an Image" +msgstr "Koristi sliku" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:42 +msgid "Using Text" +msgstr "Koristi tekst" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:69 +msgid "An absolute or relative (to the site document root) file system path" +msgstr "An absolute or relative (to the site document root) file system path" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:71 +msgid "" +"An absolute or relative (to the site document root) file system path or an " +"HTTP url" +msgstr "" +"An absolute or relative (to the site document root) file system path or an " +"HTTP url" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:74 +msgid "Image URL:" +msgstr "URL Slike:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:90 +msgid "Font Family:" +msgstr "Familija Fonta:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:92 +msgid "Font Size:" +msgstr "Veličina Fonta:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:94 +msgid "Font Color:" +msgstr "Boja Fonta:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:97 +msgid "Text:" +msgstr "Tekst:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:99 +msgid "Opacity:" +msgstr "Providnost:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:126 +msgid "" +"Please note: You can only activate the watermark under Manage Gallery. This " +"action cannot be undone." +msgstr "" +"Molimo zabilježite: Vodeni žig možete aktivirati samo u Uredi Galeriju. Ova " +"radnja ne može se poniÅ¡titi." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:127 +msgid "How will you generate a watermark?" +msgstr "Kako će te generisati vodeni žig" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:131 +msgid "Position:" +msgstr "Pozicija" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:133 +msgid "Offset:" +msgstr "Razmak:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:139 +msgid "Preview of saved settings:" +msgstr "Pregled spremljenih postavki" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:140 +msgid "Refresh preview image" +msgstr "Osvježi pregled slike" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:34 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:37 +msgid "(Show Advanced Settings)" +msgstr "(Pokaži Napredne Postavke)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:35 +msgid "(Hide Advanced Settings)" +msgstr "(Sakrij Napredne Postavke)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:56 +msgid "What must the lightbox be applied to?" +msgstr "Čemu se mora primijeniti lightbox" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:60 +msgid "Only apply to NextGEN images" +msgstr "Primijeni samo na NextGEN slike" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:61 +msgid "Only apply to NextGEN and WordPress images" +msgstr "Primijeni samo na NextGEN i WordPress slike" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:62 +msgid "Try to apply to all images" +msgstr "PokuÅ¡aj primijeniti na sve slike" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:63 +msgid "Try to apply to all images that link to image files" +msgstr "PokuÅ¡aj primijeniti na sve slike koje se linkuju na datoteke slika" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php:21 +msgid "Place any custom stylesheets in wp-content/ngg_styles" +msgstr "" +"Stavite bilokoji vlastiti stylesheet u wp-content/ngg_styles" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php:24 +#, php-format +msgid "All stylesheets must contain a file header" +msgstr "" +"Svi stylesheetovi moraju sadržavati file header" + +#: products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:41 +msgid "Related Images" +msgstr "Povezane Slike" + +#: products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:61 +msgid "[Show slideshow]" +msgstr "[Pokaži Slajdshow]" + +#: products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:62 +msgid "[Show thumbnails]" +msgstr "[Pokaži umanjene sličice]" + +#: products/photocrati_nextgen/modules/nextgen_xmlrpc/module.nextgen_xmlrpc.php:425 +msgid "Sorry, you must be able to manage galleries" +msgstr "Izvinite, morate biti u mogučnosti da upravljate galerijama" + +#: products/photocrati_nextgen/modules/widget/class.widget_gallery.php:7 +msgid "Add recent or random images from the galleries" +msgstr "Dodaj skoraÅ¡nju ili nasumičnu sliku iz galerija" + +#: products/photocrati_nextgen/modules/widget/class.widget_gallery.php:8 +msgid "NextGEN Widget" +msgstr "NextGEN Widget" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:9 +msgid "Widget that displays Media RSS links for NextGEN Gallery." +msgstr "Widget koji prikazuje Medijski RSS link za NextGEN Galeriju." + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:10 +msgid "NextGEN Media RSS" +msgstr "NextGEN Medijski RSS" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:22 +msgid "Media RSS" +msgstr "Medijski RSS" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:23 +msgid "Link to the main image feed" +msgstr "Linkuj na feed glavne slike" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:93 +#: products/photocrati_nextgen/modules/ngglegacy/view/gallery-caption.php:32 +#: products/photocrati_nextgen/modules/ngglegacy/view/gallery.php:32 +msgid "[View with PicLens]" +msgstr "[Pogledaj sa PicLens]" + +#: products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:7 +msgid "Show a NextGEN Gallery Slideshow" +msgstr "Pokaži NextGEN Galerija Slajdprikaz" + +#: products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:8 +msgid "NextGEN Slideshow" +msgstr "NextGEN Slajdprikaz" + +#: products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:76 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:321 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:521 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:721 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:215 +msgid "Slideshow" +msgstr "Slajdprikaz" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:15 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:229 +msgid "Show" +msgstr "Pokaži" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:26 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:316 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:520 +msgid "Thumbnails" +msgstr "Umanjene sličice" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:29 +msgid "Original images" +msgstr "Originalne slike" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:42 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:822 +msgid "random" +msgstr "Nasumično" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:50 +msgid "recently added" +msgstr "Skoro dodano" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:62 +msgid "Enable IE8 Web Slices" +msgstr "Osposobi IE8 Web slajsove" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:68 +msgid "Width x Height" +msgstr "Å irina x Visina" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:87 +msgid "Select" +msgstr "Izaberi" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:92 +msgid "All galleries" +msgstr "Sve galerije" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:95 +msgid "Only which are not listed" +msgstr "Samo koje nisu navedene" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:98 +msgid "Only which are listed" +msgstr "Samo koje su navedene" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:107 +msgid "Gallery ID" +msgstr "ID broj Galerije" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:114 +msgid "Gallery IDs, separated by commas." +msgstr "ID brojevi galerija, odvojeni zarezom." + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:19 +msgid "Show Media RSS icon" +msgstr "Pokaži Medijsku RSS ikonu" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:30 +msgid "Show the Media RSS link" +msgstr "Pokaži Medijski RSS link" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:36 +msgid "Text for Media RSS link" +msgstr "Tekst za Medijski RSS link" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:47 +msgid "Tooltip text for Media RSS link" +msgstr "Pomočni tekst za Medijski RSS link" + +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:15 +msgid "Select Gallery" +msgstr "Izaberi Galeriju" + +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:23 +msgid "All images" +msgstr "Sve slike" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:159 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:190 +msgid "Overview" +msgstr "Pregled" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:172 +msgid "Network settings" +msgstr "Postavke mreže" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:305 +msgid "You do not have the correct permission" +msgstr "Nemate ispravna dopuÅ¡tenja" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:306 +msgid "Unexpected Error" +msgstr "Neočekivana GreÅ¡ka" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:307 +msgid "A failure occurred" +msgstr "dogodio se neuspijeh" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:311 +msgid "You have attempted to queue too many files." +msgstr "pokuÅ¡ali ste staviti previÅ¡e datoteka" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:312 +msgid "This file exceeds the maximum upload size for this site." +msgstr "" +"Ova datoteka prelazi maksimalnu veličinu dozvoljenu za upload na ovaj sajt." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:313 +msgid "This file is empty. Please try another." +msgstr "Ova datoteka je prazna. Molimo pokuÅ¡ajte drugu." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:314 +msgid "This file type is not allowed. Please try another." +msgstr "Ova vrsta datoteke nije dopuÅ¡tena. Molimo pokuÅ¡ajte drugu." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:315 +msgid "This file is not an image. Please try another." +msgstr "Ova datoteka nije slika. Molimo pokuÅ¡ajte drugu." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:316 +msgid "Memory exceeded. Please try another smaller file." +msgstr "Memorija premaÅ¡ena. Molimo pokuÅ¡ajte sa manjom datotekom." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:317 +msgid "This is larger than the maximum size. Please try another." +msgstr "Ovo je veće od maksimalne veličine. Molimo pokuÅ¡ajte drugu." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:318 +msgid "An error occurred in the upload. Please try again later." +msgstr "Desila se greÅ¡ka u uploadu. Molimo pokuÅ¡ajte kasnije." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:319 +msgid "" +"There was a configuration error. Please contact the server administrator." +msgstr "" +"Postoji greÅ¡ka u konfiguraciji. Molimo kontaktirajte administratora servera." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:320 +msgid "You may only upload 1 file." +msgstr "Možete upload-ovati samo 1 datoteku." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:321 +msgid "HTTP error." +msgstr "HTTP greÅ¡ka." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:322 +msgid "Upload failed." +msgstr "Upload nije uspio." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:323 +msgid "IO error." +msgstr "IO greÅ¡ka." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:324 +msgid "Security error." +msgstr "Bezbjednosna greÅ¡ka" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:325 +msgid "File canceled." +msgstr "Datoteka otkazana." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:326 +msgid "Upload stopped." +msgstr "Upload zaustavljen." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:327 +msgid "Dismiss" +msgstr "Odbaciti" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:328 +msgid "Crunching…" +msgstr "Crunching…" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:329 +msgid "moved to the trash." +msgstr "Maknuto u smeće" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:330 +#, php-format +msgid "“%s” has failed to upload due to an error" +msgstr "“%s” nije uspio upload zbog greÅ¡ke" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:352 +msgid "L O A D I N G" +msgstr "U Č I T A V A NJ E" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:353 +msgid "Click to Close" +msgstr "Klikni da Zatvorite" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:462 +msgid "" +"Introduction" +msgstr "" +"Uvođenje" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:465 +msgid "" +"Languages" +msgstr "" +"Jezici" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:470 +msgid "Get help with NextGEN Gallery" +msgstr "Dobij pomoč sa NextGEN Galerijom" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:474 +msgid "More Help & Info" +msgstr "ViÅ¡e Pomoči i Informacija" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:476 +msgid "" +"Support Forums" +msgstr "" +"Forumi sa PodrÅ¡kom" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:477 +msgid "FAQ" +msgstr "FAQ" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:478 +msgid "Feature request" +msgstr "Upit svojstva" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:479 +msgid "Get your language pack" +msgstr "Dobijte svoj jezični paket" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:480 +msgid "Contribute development" +msgstr "Doprinosi Razvoja" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:481 +msgid "Download latest version" +msgstr "Skinite posljednju verziju" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/ajax.php:360 +#, php-format +msgid "Could create image with %s x %s pixel" +msgstr "Može stvoriti sliku sa %s x %s piksela" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:172 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:216 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:239 +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:19 +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:22 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:619 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:7 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:10 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:13 +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:17 +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:20 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:10 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:13 +msgid "Cheatin’ uh?" +msgstr "Cheatin’ ha?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:180 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:209 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:253 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:178 +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:24 +msgid "Update Successfully" +msgstr "Ažuriranje uspjeÅ¡no" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:227 +msgid "Album deleted" +msgstr "Album obrisan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:389 +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:55 +msgid "Edit Album" +msgstr "Uredi Album" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:410 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:459 +msgid "Select album" +msgstr "Izaberi Album" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:412 +msgid "No album selected" +msgstr "Nema izabranog albuma" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:423 +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:166 +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:94 +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:112 +msgid "Update" +msgstr "Ažuriraj" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:425 +msgid "Edit album" +msgstr "Uredi Album" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:428 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:187 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:362 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:364 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:227 +msgid "Delete" +msgstr "ObriÅ¡i" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:432 +msgid "Add new album" +msgstr "Dodaj novi album" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:434 +msgid "Add" +msgstr "Dodaj" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:445 +msgid "Show / hide used galleries" +msgstr "Pokaži/sakrij koriÅ¡tene galerije" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:445 +msgid "[Show all]" +msgstr "[pokaži sve]" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:446 +msgid "Maximize the widget content" +msgstr "Maksimiziraj sadržaj Widgeta" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:446 +msgid "[Maximize]" +msgstr "[Maksimiziraj]" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:447 +msgid "Minimize the widget content" +msgstr "Minimiziraj sadržaj Widgeta" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:447 +msgid "[Minimize]" +msgstr "[Minimiziraj]" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:449 +msgid "" +"After you create and select a album, you can drag and drop a gallery or " +"another album into your new album below" +msgstr "" +"Nakon Å¡to napravite i izaberete album, možete prevući i ispustiti galeriju " +"ili drugi album u vaÅ¡ novi album ispod" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:475 +msgid "Select gallery" +msgstr "Izaberi galeriju" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:500 +msgid "Album ID" +msgstr "ID broj albuma" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:513 +msgid "No album selected!" +msgstr "Nema izabranih albuma!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:534 +msgid "Album name:" +msgstr "Naziv albuma:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:540 +msgid "Album description:" +msgstr "Opis albuma:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:546 +msgid "Select a preview image:" +msgstr "Izaberi sliku za prikaz:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:549 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:552 +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_preview_image_field.php:3 +msgid "No picture" +msgstr "Bez slike" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:563 +msgid "Page Link to" +msgstr "Linkuj stranicu prema" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:582 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:337 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:366 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:397 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:406 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:442 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:471 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:502 +msgid "OK" +msgstr "Dobro" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:584 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:339 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:368 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:399 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:408 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:444 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:473 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:504 +msgid "Cancel" +msgstr "Otkaži" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:677 +msgid "Name" +msgstr "Ime" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:679 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:229 +msgid "Page" +msgstr "Stranica" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:116 +msgid "Select with the mouse the area for the new thumbnail" +msgstr "MiÅ¡em izaberite područije za nove umanjene sličice" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:130 +msgid "Thumbnail updated" +msgstr "Umanjena sličica ažurirana" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:135 +msgid "Error updating thumbnail" +msgstr "GreÅ¡ka ažuriranja umanjenih sličica" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:151 +msgid "Select the area for the thumbnail from the picture on the left." +msgstr "Izaberite područije za umanjenu sličicu iz slike na lijevo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:39 +msgid "No valid gallery name!" +msgstr "Nema važećeg imena galerije!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:46 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:80 +msgid "Directory" +msgstr "Direktorij" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:46 +msgid "didn't exist. Please create first the main gallery folder " +msgstr "ne postoji. Molimo prvo stvorite fasciklu glavne galerije" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:47 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:56 +msgid "Check this link, if you didn't know how to set the permission :" +msgstr "pregledajte ovaj link, ako ne znate kako namjestit dozvole :" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:80 +msgid "is not writeable !" +msgstr "ne može se pisati !" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:76 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:85 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:736 +#: products/photocrati_nextgen/modules/ngglegacy/lib/core.php:101 +msgid "Unable to create directory " +msgstr "Nije u stanju napraviti direktorij" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:89 +msgid "The server setting Safe-Mode is on !" +msgstr "Postavke servera Sigurnosnog-moda su uključene !" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:90 +msgid "If you have problems, please create directory" +msgstr "Ako imate problema, molimo napravite direktorij" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:91 +msgid "and the thumbnails directory" +msgstr "a direktorij umanjenih sličica" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:91 +msgid "with permission 777 manually !" +msgstr "sa dozvolama 777 manuelno !" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:116 +#, php-format +msgid "" +"Gallery ID %1$s successfully created. You can show this gallery in your post " +"or page with the shortcode %2$s.
      " +msgstr "" +"ID broj Galerije %1$s uspješno napravljen. Možete prikazati ovu galeriju na " +"vašem članku ili stranici sa kratkim kodom %2$s.
      " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:119 +msgid "Edit gallery" +msgstr "Uredi galeriju" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:188 +msgid "Error while creating thumbnail." +msgstr "GreÅ¡ka tijekom stvaranja umanjenih sličica." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:242 +msgid "Error while resizing image." +msgstr "GreÅ¡ka tijekom promjene veličine slika." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:326 +msgid "Error while rotating image." +msgstr "GreÅ¡ka tijekom okretanja slika." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:361 +msgid "Error while applying watermark to image." +msgstr "GreÅ¡ka tijekom primjenjivanja vodenog žiga na sliku." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:385 +msgid "Object didn't contain correct data" +msgstr "Predmet nije sadržavao ispravne podatke" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:391 +msgid "File do not exists" +msgstr "Datoteka ne postoji" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:395 +msgid "Couldn't restore original image" +msgstr "Nije se mogla povratiti originalna slika" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:511 +msgid "(Error : Couldn't not update data base)" +msgstr "(GreÅ¡ka : Nije se mogla ažurirati baza podataka)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:518 +msgid "(Error : Couldn't not update meta data)" +msgstr "(GreÅ¡ka : Nisu se mogli ažurirati meta podaci)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:527 +msgid "(Error : Couldn't not find image)" +msgstr "(GreÅ¡ka : Nije se mogla naći slika)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:670 +msgid "No valid URL path " +msgstr "Nema važeće URL putanje" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:686 +msgid "Import via cURL failed." +msgstr "Uvoz preko cURL nije uspio." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:703 +msgid "Uploaded file was no or a faulty zip file ! The server recognized : " +msgstr "" +"Upload-ovana datoteka nije ili je neispravna zip datoteka ! Server je " +"prepoznao :" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:720 +msgid "Could not get a valid foldername" +msgstr "Nije mogao dobiti važeći naziv fascikle" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:731 +#, php-format +msgid "" +"Unable to create directory %s. Is its parent directory writable by the " +"server?" +msgstr "" +"Nije u stanju napraviti direktorij %s. Da li je glavni direktorij zapisujući " +"od servera?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:746 +msgid "Zip-File successfully unpacked" +msgstr "Zip-Datoteka uspjeÅ¡no odpakovana" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:777 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:877 +msgid "No gallery selected !" +msgstr "Nema izabrane galerije !" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:785 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:902 +msgid "Failure in database, no gallery path set !" +msgstr "Neuspijeh u bazi podataka, nije postavljena putanja galerije !" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:809 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:896 +msgid "is no valid image file!" +msgstr "nije važeća datoteka slike!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:830 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:919 +msgid "Error, the file could not be moved to : " +msgstr "GreÅ¡ka, datoteka se nije mogla prebaciti u :" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:835 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:923 +msgid "Error, the file permissions could not be set" +msgstr "GreÅ¡ka, dozvola datoteke nije mogla bit postavljena" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:853 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:111 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:189 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:238 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:322 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:661 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:740 +msgid "Create new thumbnails" +msgstr "Napravi nove umanjene sličice" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:858 +msgid " Image(s) successfully added" +msgstr "Slika/e uspjeÅ¡no dodane" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:885 +msgid "Invalid upload. Error Code : " +msgstr "Nevažeći upload. Kod GreÅ¡ke :" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:961 +#, php-format +msgid "" +"SAFE MODE Restriction in effect! You need to create the folder %s manually" +msgstr "" +"SIGURNOSNI MOD Ograničenja u djejstvu! Trebate napraviti fasciklu " +"%s manuelno" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:962 +#, php-format +msgid "" +"When safe_mode is on, PHP checks to see if the owner (%s) of the current " +"script matches the owner (%s) of the file to be operated on by a file " +"function or its directory" +msgstr "" +"Kada je sigurnosni_mod uključen, PHP provjerava da li se vlasnik (%s) " +"trenutne skripte podudara sa vlasnikom (%s) datoteke na kojoj se radi po " +"funkciji datoteke ili njenom direktoriju" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1015 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1092 +msgid "The destination gallery does not exist" +msgstr "OdrediÅ¡te galerije ne postoji" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1046 +#, php-format +msgid "Failed to move image %1$s to %2$s" +msgstr "Nije uspjelo pomicanje slike %1$s u %2$s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1066 +#, php-format +msgid "Moved %1$s picture(s) to gallery : %2$s ." +msgstr "Prebačene %1$s slika/e u galeriju : %2$s ." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1170 +#, php-format +msgid "Copied %1$s picture(s) to gallery: %2$s ." +msgstr "Kopirane %1$s slika/e u galeriju: %2$s ." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1278 +msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgstr "" +"Upload-ovana datoteka prevazilazi upload_max_filesize direktivu u php.ini" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1281 +msgid "" +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " +"the HTML form" +msgstr "" +"Upload-ovana datoteka prevazilazi MAX_FILE_SIZE direktivu koja je određena u " +"HTML obrazcu" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1284 +msgid "The uploaded file was only partially uploaded" +msgstr "Uploadovana datoteka je samo djelomično uploadovana" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1287 +msgid "No file was uploaded" +msgstr "Nema uploadovanih datoteka" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1290 +msgid "Missing a temporary folder" +msgstr "Nedostaje privremena fascikla" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1293 +msgid "Failed to write file to disk" +msgstr "Neuspijelo pisanje datoteke na disk" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1296 +msgid "File upload stopped by extension" +msgstr "Upload datoteke zaustavljen po ekstenziji" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1299 +msgid "Unknown upload error" +msgstr "Nepoznata greÅ¡ka uploada" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/install.php:20 +msgid "Sorry, NextGEN Gallery works only with a role called administrator" +msgstr "Izvinite, NextGEN Galerija radi samo sa ulogom zvanom administrator" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/install.php:92 +msgid "" +"NextGEN Gallery : Tables could not created, please check your database " +"settings" +msgstr "" +"NextGEN Galerija : Tabele nisu mogle biti napravljene, molimo provjerite " +"postavke baze podataka" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:99 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:206 +msgid "No images selected" +msgstr "Nema izabranih slika" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:107 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:190 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:234 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:323 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:642 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:724 +msgid "Resize images" +msgstr "Promjeni veličinu slika" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:116 +#, php-format +msgid "" +"You are about to start the bulk edit for %s galleries \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" +"Započet će te bulk uredjivanje za %s galleries \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:154 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:197 +msgid "Add new gallery" +msgstr "Dodaj novu galeriju" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:171 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:174 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:272 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:275 +msgid "Search Images" +msgstr "traži slike" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:186 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:320 +msgid "Bulk actions" +msgstr "Grupne akcije" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:188 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:321 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:572 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:687 +msgid "Set watermark" +msgstr "Postavi vodeni žig" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:191 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:326 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:577 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:708 +msgid "Import metadata" +msgstr "Uvezi metadatu" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:192 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:324 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:567 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:684 +msgid "Recover from backup" +msgstr "Oporavak od bekapa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:194 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:335 +msgid "Apply" +msgstr "Primijeni" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:262 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:253 +msgid "Edit" +msgstr "Uredi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:309 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:379 +msgid "No entries found" +msgstr "Nema ponađenih stavki" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:327 +msgid "New Gallery" +msgstr "Nova Galerija" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:329 +msgid "Create a new , empty gallery below the folder" +msgstr "Napravi novu, praznu galeriju ispod fascikle" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:331 +msgid "Allowed characters for file and folder names are" +msgstr "Dozvoljeni znakovi za imena datoteka i fascikli su" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:357 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:462 +msgid "Resize Images to" +msgstr "Promijeni veličinu slika na" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:361 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:466 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:453 +msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size" +msgstr "" +"Å irina x visina (u pikselima). NextGEN Galerija ce zadržati omjer slika" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:385 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:490 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:40 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:416 +msgid "Width x height (in pixel)" +msgstr "Å irina x visina (u pikselima)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:391 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:496 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:426 +msgid "Set fix dimension" +msgstr "Postavi fiksnu dimenziju" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:393 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:498 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:428 +msgid "Ignore the aspect ratio, no portrait thumbnails" +msgstr "Ignoriraj omjer slika, nema portreta sličica" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:456 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:568 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:156 +msgid "ID" +msgstr "ID" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:458 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:571 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:245 +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:134 +msgid "Description" +msgstr "Opis" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:460 +msgid "Page ID" +msgstr "ID stranice" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:35 +msgid "Gallery not found." +msgstr "Galerija nije nađena" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:41 +msgid "Sorry, you have no access here" +msgstr "Izvini, nemate pristup ovdje" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:214 +msgid "Copy image to..." +msgstr "Kopiraj sliku u..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:218 +msgid "Move image to..." +msgstr "Premjesti sliku u..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:222 +msgid "Add new tags" +msgstr "Dodaj nove oznake" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:226 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:332 +msgid "Delete tags" +msgstr "ObriÅ¡i oznake" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:230 +msgid "Overwrite" +msgstr "NapiÅ¡i preko(overwrite)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:243 +#, php-format +msgid "" +"You are about to start the bulk edit for %s images \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" +"Započet će te masovno uređivanje za %s slike \n" +" \n" +" 'Otkaži' da zaustavite, 'OK' da nastavite." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:269 +#, php-format +msgid "Search results for “%s”" +msgstr "Rezultati pretrage za “%s”" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:298 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:488 +msgid "Gallery settings" +msgstr "Postavke Galerije" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:298 +msgid "Click here for more settings" +msgstr "Klikni ovdje za joÅ¡ postavki" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:304 +msgid "Scan Folder for new images" +msgstr "Skeniraj fasciklu za nove slike" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:306 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:341 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:386 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:400 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:436 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:478 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:563 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:598 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:708 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:861 +msgid "Save Changes" +msgstr "Sačuvaj postavke" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:325 +msgid "Delete images" +msgstr "ObriÅ¡i slike" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:327 +msgid "Rotate images clockwise" +msgstr "Rotiraj slike u smjeru kazaljke sata" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:328 +msgid "Rotate images counter-clockwise" +msgstr "Rotiraj slike u suprotnom smjeru kazaljke sata" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:329 +msgid "Copy to..." +msgstr "Kopiraj u..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:330 +msgid "Move to..." +msgstr "Premjesti u..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:331 +msgid "Add tags" +msgstr "Dodaj oznake" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:333 +msgid "Overwrite tags" +msgstr "NapiÅ¡i preko(overwrite) oznaka" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:338 +msgid "Sort gallery" +msgstr "Sortiraj galeriju" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:402 +msgid "Enter the tags" +msgstr "Unesi oznake" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:426 +msgid "Select the destination gallery:" +msgstr "Izaberi galeriju odrediÅ¡ta" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:569 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:161 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:266 +msgid "Thumbnail" +msgstr "Sličice" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:571 +msgid "Alt & Title Text" +msgstr "Alternativni & Tekst Nalova" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:572 +msgid "Tags (comma separated list)" +msgstr "Oznake (zarezom odvajajte listu)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:35 +msgid "Sort order changed" +msgstr "Raspored sortiranja promijenjen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:97 +msgid "Sort Gallery" +msgstr "Sortiraj Galeriju" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:101 +msgid "Update Sort Order" +msgstr "Ažuriraj raspored sortiranja" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:104 +msgid "Back to gallery" +msgstr "Nazad do galerije" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:109 +msgid "Presort" +msgstr "Raspoređeno" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:110 +msgid "Unsorted" +msgstr "Neraspoređeno" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:113 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:241 +msgid "Alt/Title text" +msgstr "Alternativni/tekst Naslova" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:90 +msgid "deleted successfully" +msgstr "uspjeÅ¡no obrisano" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:106 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:115 +msgid "Operation successful. Please clear your browser cache." +msgstr "Operacija uspjeÅ¡na. Molimo očistite cache svog preglednika." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:171 +msgid "Alt & Title Text / Description" +msgstr "Alternativni i tekst Naslova / opis" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:214 +msgid "Exclude ?" +msgstr "Odstrani ?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:299 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:301 +msgid "View" +msgstr "Pregledaj" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:309 +msgid "Show meta data" +msgstr "Prikaži meta podatke" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:310 +msgid "Meta" +msgstr "Meta" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:318 +msgid "Customize thumbnail" +msgstr "Prilagodi sličice" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:319 +msgid "Edit thumb" +msgstr "Uredi sličice" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:327 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:328 +msgid "Rotate" +msgstr "Rotiraj" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:338 +msgid "Publish this image" +msgstr "Objavi ovu sliku" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:339 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:58 +msgid "Publish" +msgstr "Objavi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:349 +msgid "Recover image from backup" +msgstr "Oporavi sliku iz bekapa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:350 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:352 +msgid "Recover" +msgstr "Oporavi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:361 +msgid "Delete image" +msgstr "ObriÅ¡i sliku" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:392 +msgid "Title:" +msgstr "Naslov:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:398 +msgid "Description:" +msgstr "Opis:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:404 +msgid "Gallery path:" +msgstr "putanja Galerije:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:419 +msgid "Link to page:" +msgstr "Linkuj na stranicu:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:420 +msgid "Albums will link this gallery to the selected page" +msgstr "Albumi će linkovat ovu galeriju na izabrane stranice" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:425 +msgid "Preview image:" +msgstr "Prikaz slike:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:431 +msgid "Create new page:" +msgstr "Napravi novu stranicu:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:607 +msgid "Gallery deleted successfully " +msgstr "Galerija uspjeÅ¡no obrisana" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:678 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:681 +msgid "Rotate images" +msgstr "Rotiraj slike" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:704 +msgid "Pictures deleted successfully " +msgstr "Slike uspijeÅ¡no obrisane" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:802 +msgid "Tags changed" +msgstr "Oznake promijenjene" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:842 +msgid "Update successful" +msgstr "Ažuriranje uspjeÅ¡no" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:877 +msgid "New gallery page ID" +msgstr "Novi ID stranice galerije" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:877 +msgid "created" +msgstr "napravljeno" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:915 +msgid "Published a new post" +msgstr "Objavljen novi post" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1062 +msgid "Go to the first page" +msgstr "Idi na prvu stranicu" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1069 +msgid "Go to the previous page" +msgstr "Idi na prethodnu stranicu" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1078 +msgid "Current page" +msgstr "Trenutna stranica" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1089 +msgid "Go to the next page" +msgstr "Idi na sljedeću stranicu" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1096 +msgid "Go to the last page" +msgstr "Idi na posljednju stranicu" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1046 +#, php-format +msgid "1 item" +msgid_plural "%s items" +msgstr[0] "1 predmet" +msgstr[1] "%s predmeta" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1046 +#, php-format +msgctxt "paging" +msgid "%1$s of %2$s" +msgstr "%1$s od %2$s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:11 +msgid "NextGEN Gallery" +msgstr "NextGEN Galerija" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:186 +msgid "No gallery" +msgstr "Nema galerija" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:198 +msgid "Select »" +msgstr "Izaberi »" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:230 +msgid "Hide" +msgstr "Sakrij" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:235 +msgid "Image ID:" +msgstr "ID Slike:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:249 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:45 +msgid "Alignment" +msgstr "Poravnanje" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:252 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:47 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:583 +msgid "None" +msgstr "Bez" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:254 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:49 +msgid "Left" +msgstr "Lijevo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:256 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:51 +msgid "Center" +msgstr "Centrirano" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:258 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:53 +msgid "Right" +msgstr "Desno" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:262 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:690 +msgid "Size" +msgstr "Veličina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:268 +msgid "Full size" +msgstr "Puna veličina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:270 +msgid "Singlepic" +msgstr "Jedna slika" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:282 +msgid "Use as featured image" +msgstr "Koristi kao istaknutu sliku" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:284 +msgid "Insert into Post" +msgstr "Ubaci u članak" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:295 +msgid "Save all changes" +msgstr "Spremi sve promijene" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:14 +msgid "NextGEN Gallery Overview" +msgstr "Pregled NextGEN Galerije" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:84 +msgid "Welcome to NextGEN Gallery !" +msgstr "DobrodoÅ¡li u NextGEN Galeriju !" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:85 +msgid "Do you like this Plugin?" +msgstr "Da li vam se sviđa ovaj Plugin?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:87 +msgid "About" +msgstr "O nama" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:90 +msgid "Server Settings" +msgstr "Postavke servera" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97 +msgid "" +"NextGEN Gallery is one of the most popular Wordpress plugins of all time " +"with over 9 million downloads. It is developed and supported by Photocrati " +"Media. We'd like to offer a special thanks to Alex Rabe, who first developed " +"the plugin and maintained it through 2011." +msgstr "" +"NextGEN galerija je jedan on najpopularnijih Wordpress plugina ssvih vremena " +"sa preko 9 miliona skidanja. razvijena je i podržavana od strane Photocrati " +"Media. Željeli bismo da ponudimo posebnu zahvalnost Alex Rabe, koji je prvi " +"razvio plugin i održavao ga kroz 2011." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:98 +msgid "" +"NEED HELP? If you need help or assistance please visit the " +"NextGEN " +"Gallery forums on WordPress.org. Please note that we actively monitor " +"and participate in the forums, but given that NextGEN Gallery is a free " +"product, we don't guarantee replies to support queries." +msgstr "" +"TREBATE POMOČ?Ako trebate pomoć ili asistenciju molimo " +"opsjetite NextGEN Gallery forum na WordPress.org. Imajte na umu da " +"aktivno nadziremo i sudjelujemo u forumima, ali s obzirom da je NextGEN " +"Gallery besplatan proizvod, ne garantujemo odgovore na upite." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:99 +msgid "" +"EXTENDING NEXTGEN? There are many third party plugins that " +"add displays and functionality for NextGEN Gallery. See our Complete List of " +"NextGEN Extension Plugins." +msgstr "" +"PRIDUŽETAK NEXTGENA? Postoje mnogi plugini treće strane " +"koji dodaju prikaz i funkcionalnost za NextGEN Gallery. Pogledajte naÅ¡uKompletnu listu plugina za NextGEN Ekstenzije." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:107 +#, php-format +msgid "" +"This plugin is primarily developed, maintained, supported and documented by " +"Photocrati Media with a lot of love & " +"effort. Any kind of contribution would be highly appreciated. Thanks!" +msgstr "" +"Ovaj plugin je prvenstveno razvijen, održavan, podržavan i dokumentiran od " +"Photocrati Media sa mnogo ljubavi i " +"napora. Svaka vrsta doprinosa će biti veoma poÅ¡tovana. Hvala!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:112 +msgid "Please click \"Works\" on WordPress.org" +msgstr "Molimo kliknite \"Works\" na WordPress.org" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:117 +msgid "Give it a good rating on WordPress.org" +msgstr "Dajte dobar rejting na WordPress.org" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:122 +msgid "Visit the plugin homepage" +msgstr "Posjeti stranicu plugina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:127 +msgid "Help translating it" +msgstr "Pomognite u prevođenju" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:149 +msgid "Graphic Library" +msgstr "Grafička Biblioteka" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:165 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:214 +msgid "Loading…" +msgstr "Učitavanje…" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:165 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:214 +msgid "This widget requires JavaScript." +msgstr "Ovaj widget zahtijeva JavaSkriptu" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:178 +msgid "Thanks to all donators..." +msgstr "Hvala svima koji su donirali..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:200 +msgid "View all" +msgstr "Pregledaj sve" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:226 +#, php-format +msgid "" +"Newsfeed could not be loaded. Check the front page to " +"check for updates." +msgstr "" +"Vijesti nisu mogle biti učitane. Provjerite front page da " +"povjerite za ažuriranja." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:238 +msgid "Untitled" +msgstr "Bez naslova" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:303 +msgid "At a Glance" +msgstr "Na prvi pogled" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:356 +msgid "Storage Space" +msgstr "SkladiÅ¡ni prostor" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:360 +#, php-format +msgid "" +"%2$sMB" +msgstr "" +"%2$sMB" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:361 +msgid "Space Allowed" +msgstr "Dozvoljen prostor" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:368 +#, php-format +msgid "" +"%2$sMB (%3$s%%)" +"" +msgstr "" +"%2$sMB " +"(%3$s%%)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:369 +msgid "Space Used" +msgstr "IskoriÅ¡ten prostor" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:395 +msgid "No GD support" +msgstr "Nema GD podrÅ¡ke" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:427 +msgid "Not set" +msgstr "Nije postavljeno" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:429 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:432 +msgid "On" +msgstr "Uključen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:430 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:433 +msgid "Off" +msgstr "Isključen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:437 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:440 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:443 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:446 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:449 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:452 +msgid "N/A" +msgstr "N/A" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:451 +msgid " MByte" +msgstr "Mbajt" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:464 +msgid "Operating System" +msgstr "Operativni sistem" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:465 +msgid "Server" +msgstr "Server" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:466 +msgid "Memory usage" +msgstr "Upotreba memorije" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:467 +msgid "MYSQL Version" +msgstr "MYSQL Verzija" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:468 +msgid "SQL Mode" +msgstr "SQL Mod" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:469 +msgid "PHP Version" +msgstr "PHP Verzija" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:470 +msgid "PHP Safe Mode" +msgstr "PHP Sigurnosni Mod" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:471 +msgid "PHP Allow URL fopen" +msgstr "PHP Dozvoli URL fopen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:472 +msgid "PHP Memory Limit" +msgstr "PHP Ograničenje memorije" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:473 +msgid "PHP Max Upload Size" +msgstr "PHP Maksimalna veličina uploada" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:474 +msgid "PHP Max Post Size" +msgstr "PHP Maksimalna Veličina Posta" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:475 +msgid "PCRE Backtracking Limit" +msgstr "PCRE Backtracking Ograničenje" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:476 +msgid "PHP Max Script Execute Time" +msgstr "PHP Maksimalno Vrijeme IzvrÅ¡enja Skripte" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:477 +msgid "PHP Exif support" +msgstr "PHP Exif podrÅ¡ka" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:478 +msgid "PHP IPTC support" +msgstr "PHP IPTC podrÅ¡ka" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:479 +msgid "PHP XML support" +msgstr "PHP XML podrÅ¡ka" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:491 +msgid "" +"NextGEN Gallery contains some functions which are only available under PHP " +"5.2. You are using the old PHP 4 version, upgrade now! It's no longer " +"supported by the PHP group. Many shared hosting providers offer both PHP 4 " +"and PHP 5, running simultaneously. Ask your provider if they can do this." +msgstr "" +"NextGEN Gallery sadržava neke funkcije koje su samo dostupne na PHP 5.2. Vi " +"koristite staru PHP 4 verziju, nadogradite sada! Nije viÅ¡e podržavana od PHP " +"grupe. Mnogi zajednički hosting provajderi nude obadvije PHP 4 i PHP 5, da " +"rade istovemeno. Pitajte svog provajdera da li mogu to napraviti." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:35 +msgid "Post title" +msgstr "Naslov Članka" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:37 +msgid "Enter the post title " +msgstr "UpiÅ¡i naslov članka" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:42 +msgid "Size of the image" +msgstr "Veličina slike" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:60 +msgid "Draft" +msgstr "Nacrt" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:26 +msgid "" +"Select the lowest role which should be able to access the following " +"capabilities. NextGEN Gallery supports the standard roles from WordPress." +msgstr "" +"Izaberite najnižu ulogu koja bi trebala imat pristup sljedećim " +"sposobnostima. NextGEN Galerija podržava standardne uloge iz WordPressa." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:27 +msgid "For a more flexible user management you can use the" +msgstr "Za fleksibilnije upravljanje korisnicima možete koristiti" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:31 +msgid "Main NextGEN Gallery overview" +msgstr "Glavni NextGEN Gallery pregled" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:35 +msgid "Use TinyMCE Button / Upload tab" +msgstr "Koristi TinyMCE Dugmad / Upload tab" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:39 +msgid "Add gallery / Upload images" +msgstr "Dodaj galeriju / Uploadaj slike" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:43 +msgid "Manage gallery" +msgstr "Upravljaj galerijom" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:47 +msgid "Manage others gallery" +msgstr "Upravljaj ostalim galerijama" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:51 +msgid "Manage tags" +msgstr "Upravljaj oznakama" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:59 +msgid "Change style" +msgstr "Promijeni stil" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:63 +msgid "Change options" +msgstr "Promijeni opcije" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:67 +msgid "NextGEN Attach Interface" +msgstr "NextGEN sučelje priložaka" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:60 +msgid "Image rotated" +msgstr "Slika rotirana" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:62 +msgid "Error rotating thumbnail" +msgstr "GreÅ¡ka rotiranja sličice" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:85 +msgid "90° clockwise" +msgstr "90° smjer kazaljke sata" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:86 +msgid "90° anticlockwise" +msgstr "90° suprotan smjer kazaljke sata" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:87 +msgid "Flip vertically" +msgstr "Okreni vertikalno" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:88 +msgid "Flip horizontally" +msgstr "Okreni horizontalno" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:22 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:204 +#, php-format +msgid "Rebuild image structure : %s / %s images" +msgstr "Obnovi strukturu slike : %s / %s slika" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:23 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:205 +#, php-format +msgid "Rebuild gallery structure : %s / %s galleries" +msgstr "Obnovi strukturu galerije : %s / %s galerija" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:24 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:206 +#, php-format +msgid "Rebuild album structure : %s / %s albums" +msgstr "Obnovi strukturu albuma: %s / %s albuma" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:81 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:263 +msgid "Done." +msgstr "ZavrÅ¡eno." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:196 +msgid "Cache cleared" +msgstr "Cache očišćen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:315 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:334 +msgid "General Options" +msgstr "Opće opcije" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:317 +msgid "Image" +msgid_plural "Images" +msgstr[0] "Slika" +msgstr[1] "Slike" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:319 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:572 +msgid "Effects" +msgstr "Efekti" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:320 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:614 +msgid "Watermark" +msgstr "Vodeni Žig" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:340 +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:54 +msgid "Gallery path" +msgstr "Putanja galerije" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:342 +msgid "This is the default path for all galleries" +msgstr "Ovo je zadana putanja za sve galerije" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:345 +msgid "Delete image files" +msgstr "ObriÅ¡i datoteke slika" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:347 +msgid "Delete files, when removing a gallery in the database" +msgstr "ObriÅ¡i datoteke, kad se uklanja galerija iz baze podataka" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:350 +msgid "Activate permalinks" +msgstr "Aktiviraj trajne linkove" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:352 +msgid "" +"When you activate this option, you need to update your permalink structure " +"one time." +msgstr "" +"Kad aktivirate ovu opciju, morate ažurirati vaÅ¡u strukturu trajnih linkova " +"jednom." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:353 +msgid "Gallery slug name :" +msgstr "Slug naziv galerije:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:357 +msgid "Create new URL friendly image slugs" +msgstr "Napravi nove URL prijateljske slug slika" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:358 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:474 +msgid "Proceed now" +msgstr "Pristupi sad" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:361 +msgid "Select graphic library" +msgstr "Izaberi grafičku biblioteku" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:362 +msgid "GD Library" +msgstr "GD Biblioteka" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:363 +msgid "ImageMagick (Experimental). Path to the library :" +msgstr "ImageMagick (Eksperimentalno). Putanja do biblioteke :" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:368 +msgid "Activate Media RSS feed" +msgstr "Aktiviraj Medijski RSS feed" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:370 +msgid "" +"A RSS feed will be added to you blog header. Useful for CoolIris/PicLens" +msgstr "" +"RSS feed će biti dodan u header vaÅ¡eg bloga. Korisno za CoolIris/PicLens" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:373 +msgid "Activate PicLens/CoolIris support" +msgstr "Aktiviraj PicLens/CoolIris podrÅ¡ku" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:375 +msgid "" +"When you activate this option, some javascript is added to your site footer. " +"Make sure that wp_footer is called in your theme." +msgstr "" +"Kad aktivirate ovu opciju, neÅ¡to javaskripte je dodano u podnožje vaÅ¡eg " +"sajta. Budite sigurno da se wp_footer tako zove u vaÅ¡oj temi." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:378 +msgid "Tags / Categories" +msgstr "Oznake / Kategorije" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:381 +msgid "Activate related images" +msgstr "Aktivne povezane slike" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:383 +msgid "This option will append related images to every post" +msgstr "Ova opcija će prikaćiti povezane slike na svaki članak" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:387 +msgid "Match with" +msgstr "Podudara se sa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:393 +msgid "Max. number of images" +msgstr "Max. broj slika" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:395 +msgid "0 will show all images" +msgstr "0 će prikazati sve slike" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:399 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:435 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:477 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:562 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:597 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:860 +msgid "More settings" +msgstr "JoÅ¡ postavki" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:409 +msgid "Thumbnail settings" +msgstr "Postavke sličica" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:413 +msgid "" +"Please note : If you change the settings, you need to recreate the " +"thumbnails under -> Manage Gallery ." +msgstr "" +"Imajte na umu: ako promijenite postavke, morate ponovno napraviti sličice na " +"-> Upravljaj Galerijom." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:422 +msgid "These values are maximum values " +msgstr "Ove vrijednosti su maksimalne vrijednosti" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:445 +msgid "Image settings" +msgstr "Postavke slika" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:451 +msgid "Resize Images" +msgstr "Promijeni veličinu slika" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:460 +msgid "Backup original images" +msgstr "Bekapujte originalne slike" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:462 +msgid "Creates a backup for inserted images" +msgstr "Stvara bekap za ubačene slike" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:465 +msgid "Automatically resize" +msgstr "Automatski promijeni veličinu" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:467 +msgid "Automatically resize images on upload." +msgstr "Automatski promijeni veličinu pri uploadu." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:470 +msgid "Single picture" +msgstr "Jedna slika" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:473 +msgid "Clear cache folder" +msgstr "Očisti cache fasciklu" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:494 +msgid "Deactivate gallery page link" +msgstr "Deaktiviraj link stranice galerije" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:496 +msgid "" +"The album will not link to a gallery subpage. The gallery is shown on the " +"same page." +msgstr "" +"Album se neće linkovati sa podstranom galerije. Galerija je prikazana na " +"istoj stranici." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:500 +msgid "Number of images per page" +msgstr "Broj slika po stranici" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:502 +msgid "0 will disable pagination, all images on one page" +msgstr "0 će onesposobiti stranice, sve slike će biti na jednoj stranici" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:506 +msgid "Number of columns" +msgstr "Broj kolona" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:508 +msgid "" +"0 will display as much as possible based on the width of your theme. Setting " +"normally only required for captions below the images" +msgstr "" +"0 će prikazati Å¡to je viÅ¡e moguće ovisno o Å¡irini vaÅ¡e teme. Setting " +"normally only required for captions below the images" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:512 +msgid "Integrate slideshow" +msgstr "IntegriÅ¡i slajdshow" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:519 +msgid "Show first" +msgstr "Pokaži prvo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:525 +msgid "Show ImageBrowser" +msgstr "Pokaži pregled slika" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:527 +msgid "The gallery will open the ImageBrowser instead the effect." +msgstr "Galerija će otvoriti pregled slika umjesto efekta" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:531 +msgid "Add hidden images" +msgstr "Dodaj sakrivene slike" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:533 +msgid "" +"If pagination is used, this option will still show all images in the modal " +"window (Thickbox, Lightbox etc.). Note : This increases the page load" +msgstr "" +"Ako se koristi obilježavanje strana, ova opcija će opet prikazati sve slike " +"u modal prozoru (Tickbox, Lightbox itd.) BiljeÅ¡ka : ovo povečava vrijeme " +"učitavanje strane" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:539 +msgid "" +"Browse images without reload the page. Note : Works only in combination with " +"Shutter effect" +msgstr "" +"Pregled slika bez učitavanje strane: BiljeÅ¡ka : Ovo radi samo u kombinaciji " +"sa Shutter efektom" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:543 +msgid "Sort options" +msgstr "Sortiraj opcije" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:546 +msgid "Sort thumbnails" +msgstr "Sortiraj sličice" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:548 +msgid "Custom order" +msgstr "Prilagođen redoslijed" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:550 +msgid "File name" +msgstr "Naziv datoteke" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:551 +msgid "Alt / Title text" +msgstr "Alternativni / Tekst naslova" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:552 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:58 +msgid "Date / Time" +msgstr "Datum / Vrijeme" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:556 +msgid "Sort direction" +msgstr "Smjer sortiranja" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:576 +msgid "" +"Here you can select the thumbnail effect, NextGEN Gallery will integrate the " +"required HTML code in the images. Please note that only the Shutter and " +"Thickbox effect will automatic added to your theme." +msgstr "" +"Ovdje možete izabrati efekt sličica, NextGEN Gallery će integrisati potrebni " +"HTM code u slike. Imajte na umu da samo Shutter i Thickbox efekti će biti " +"automatski dodani u vaÅ¡u temu." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:577 +msgid "With the placeholder" +msgstr "Sa placeholderom" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:577 +msgid "" +"you can activate a navigation through the images (depend on the effect). " +"Change the code line only , when you use a different thumbnail effect or you " +"know what you do." +msgstr "" +"Možete aktivirati navigaciju kroz slike (ovisno o efektu). Promijeniti samo " +"liniju koda, kad koristite drukčiji efekt sličica ili znate Å¡ta radite." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:580 +msgid "JavaScript Thumbnail effect" +msgstr "JavaSkript efekt sličica" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:584 +msgid "Thickbox" +msgstr "Thickbox" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:585 +msgid "Lightbox" +msgstr "Lightbox" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:586 +msgid "Highslide" +msgstr "Highslide" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:587 +msgid "Shutter" +msgstr "Shutter" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:593 +msgid "Link Code line" +msgstr "Linkujte liniju koda" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:615 +msgid "" +"Please note : You can only activate the watermark under -> Manage Gallery . " +"This action cannot be undone." +msgstr "" +"Imajte na umu : Vodeni žig možete aktivirati samo pod -> upravljanje " +"galerijom. Ova akcija se ne može poniÅ¡titi." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:620 +msgid "Preview" +msgstr "Pregled" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:622 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:627 +msgid "Position" +msgstr "Pozicija" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:647 +msgid "Offset" +msgstr "Offset" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:663 +msgid "Use image as watermark" +msgstr "Koristi sliku kao vodeni žig" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:666 +msgid "URL to file" +msgstr "URL prema datoteci" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:668 +msgid "The accessing of URL files is disabled at your server (allow_url_fopen)" +msgstr "" +"Pristupanje URL datoteke je onemogučeno na vaÅ¡em serveru (allow_url_fopen)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:671 +msgid "Use text as watermark" +msgstr "Koristi tekst kao vodeni žig" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:674 +msgid "Font" +msgstr "Font" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:683 +msgid "This function will not work, cause you need the FreeType library" +msgstr "Ova funkcija neće raditi, jer vam treba FreeType biblioteka" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:685 +msgid "" +"You can upload more fonts in the folder nggallery/fonts" +msgstr "" +"Možete uploadovati viÅ¡e fontova u fasciklu nggallery/fonts" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:694 +msgid "Color" +msgstr "Boja" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:696 +msgid "(hex w/o #)" +msgstr "(hex w/o #)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:699 +msgid "Text" +msgstr "tekst" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:703 +msgid "Opaque" +msgstr "Providnost" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:724 +msgid "Default size (W x H)" +msgstr "Zadana veličina (Å  x V)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:729 +msgid "Duration time" +msgstr "Vrijeme trajanja" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:730 +msgid "sec." +msgstr "sek." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:733 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:810 +msgid "Transition / Fade effect" +msgstr "Prijelaz / efekt izblijedjeti" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:736 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:813 +msgid "fade" +msgstr "izblijedjeti" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:737 +msgid "blindX" +msgstr "blindX" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:738 +msgid "cover" +msgstr "cover" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:739 +msgid "scrollUp" +msgstr "scrollUp" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:740 +msgid "scrollDown" +msgstr "scrollDown" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:741 +msgid "shuffle" +msgstr "shuffle" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:742 +msgid "toss" +msgstr "toss" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:743 +msgid "wipe" +msgstr "wipe" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:745 +msgid "See here for more information about the effects :" +msgstr "Pogledajte ovdje za viÅ¡e informacija o efektima :" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:749 +msgid "Settings for the JW Image Rotator" +msgstr "Postavke za JW Rotator Slika" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:758 +msgid "" +"The path to JW Image Rotator is not defined, the slideshow will not work." +msgstr "putanja za JW Rotator Slika nije definisan, slajdshow neće raditi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:770 +msgid "Path to the JW Image Rotator (URL)" +msgstr "Putanja za JW Rotator Slika (URL)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:773 +msgid "Search now" +msgstr "Traži sad" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:774 +msgid "Press the button below to search for the JW Image Rotator" +msgstr "Stisnite dugme ispod da tražite za JW Rotator Slika" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:778 +msgid "Shuffle mode" +msgstr "Shuffle mod" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:796 +msgid "You can change the logo at the watermark settings" +msgstr "Možete promijeniti logo na postavkama vodenog žiga" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:802 +msgid "true" +msgstr "true" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:803 +msgid "false" +msgstr "false" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:804 +msgid "fit" +msgstr "fit" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:805 +msgid "none" +msgstr "none" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:814 +msgid "bgfade" +msgstr "bgfade" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:815 +msgid "slowfade" +msgstr "slowfade" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:816 +msgid "circles" +msgstr "circles" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:817 +msgid "bubbles" +msgstr "bubbles" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:818 +msgid "blocks" +msgstr "blocks" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:819 +msgid "fluids" +msgstr "fluids" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:820 +msgid "flash" +msgstr "flash" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:821 +msgid "lines" +msgstr "lines" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:831 +msgid "Background Color" +msgstr "Pozadinska boja" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:836 +msgid "Texts / Buttons Color" +msgstr "Boja Teksta / Dugmadi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:841 +msgid "Rollover / Active Color" +msgstr "Boja Prevrtanja / Aktivna" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:846 +msgid "Screen Color" +msgstr "Boja ekrana" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:851 +msgid "Background music (URL)" +msgstr "Pozadinska muzika (URL)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:855 +msgid "Try XHTML validation (with CDATA)" +msgstr "PokuÅ¡aj XHTML potvrđivanje (sa CDATA)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:857 +msgid "" +"Important : Could causes problem at some browser. Please recheck your page." +msgstr "" +"Važno: Može uzrokovati problem sa nekim preglednicima. molimo provjerite " +"svoju stranicu." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:29 +msgid "Meta Data" +msgstr "Meta podaci" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:34 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:60 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:85 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:109 +msgid "Tag" +msgstr "Oznake" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:35 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:61 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:86 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:110 +msgid "Value" +msgstr "Vrijednost" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:49 +msgid "No meta data saved" +msgstr "Nema sačuvanih meta podataka" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:55 +msgid "EXIF Data" +msgstr "EXIF podaci" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:74 +msgid "No exif data" +msgstr "Nema exif podaci" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:81 +msgid "IPTC Data" +msgstr "IPTC podaci" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:105 +msgid "XMP Data" +msgstr "XMP podaci" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:11 +msgid "(From the theme folder)" +msgstr "(Iz fascikle teme" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:43 +msgid "You do not have sufficient permissions to edit templates for this blog." +msgstr "Nemate dovoljne dozvole za uređivanje predložaka za ovaj blog." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:52 +msgid "CSS file successfully updated" +msgstr "CSS datoteka uspjeÅ¡no ažurirana" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:91 +msgid "Activate and use style sheet:" +msgstr "Aktiviraj i koristi style sheet:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:111 +msgid "Activate" +msgstr "Aktiviraj" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:121 +#, php-format +msgid "Editing %s" +msgstr "Uređivanje %s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:123 +#, php-format +msgid "Browsing %s" +msgstr "Pregledanje %s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:133 +msgid "Version" +msgstr "Verzija" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:136 +msgid "" +"Tip : Copy your stylesheet (nggallery.css) to your theme folder, so it will " +"be not lost during a upgrade" +msgstr "" +"Tip : Kopiraj svoj stylesheet (nggallery.css) u svoju fasciklu teme, tako da " +"se ne izgubi tijekom nadograđivanja" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:138 +msgid "" +"Your theme contain a NextGEN Gallery stylesheet (nggallery.css), this file " +"will be used" +msgstr "" +"VaÅ¡a tema sadržava NextGEN Gallery stylesheet (nggallery.css), ova datoteka " +"će biti koriÅ¡tena" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:140 +msgid "" +"Tip No. 2: Use the color picker below to help you find the right color " +"scheme for your gallery!" +msgstr "" +"Savjet Br. 2: Koristite birač boja ispod da vam pomogne naći pravu boju za " +"Å¡emu galerije!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:156 +msgid "Update File" +msgstr "Ažuriraj datoteku" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:159 +msgid "If this file were writable you could edit it." +msgstr "Da je ova datoteka zapisujuća mogli bi ju urediti." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:164 +msgid "Oops, no such file exists! Double check the name and try again, merci." +msgstr "" +"Ups, ovakva datoteka ne postoji! Provjerite ime i pokuÅ¡ajte ponovno, hvala." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:41 +msgid "Most popular" +msgstr "Najpopularnije" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:42 +msgid "Least used" +msgstr "najmanje korisÅ¡teno" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:43 +msgid "Alphabetical" +msgstr "Abecedno" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:100 +msgid "Manage image tags" +msgstr "Upravljaj oznakama slika" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:112 +msgid "Existing Tags" +msgstr "Postojeće oznake" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:116 +msgid "Search tags" +msgstr "oznake pretraživanja" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:120 +msgid "Go" +msgstr "Idi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:125 +msgid "Sort Order:" +msgstr "Redoslied sortiranja:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:160 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:164 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:177 +msgid "Previous tags" +msgstr "Prethodna oznaka" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:173 +msgid "Next tags" +msgstr "Sljedeća oznaka" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:185 +msgid "Rename Tag" +msgstr "Preimenuj oznaku" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:193 +msgid "" +"Enter the tag to rename and its new value. You can use this feature to " +"merge tags too. Click \"Rename\" and all posts which use this tag will be " +"updated." +msgstr "" +"Unesite oznaku da preimenujete i njenu novu vrijednost. Možete koristiti ovo " +"svojstvo da spojite oznake. Klikni \"Rename\" i svi članci koji koriste ovu " +"oznaku će biti zamijenjeni." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:194 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:242 +msgid "You can specify multiple tags to rename by separating them with commas." +msgstr "" +"Možete specifikovati viÅ¡e oznaka za preimenovanje tako Å¡to ih razdvojite " +"zarezom." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:198 +msgid "Tag(s) to rename:" +msgstr "Oznaka za preimenovanje:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:202 +msgid "New tag name(s):" +msgstr "Ime novih oznaka:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:205 +msgid "Rename" +msgstr "Preimenuj" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:211 +msgid "Delete Tag" +msgstr "ObriÅ¡i oznaku" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:219 +msgid "" +"Enter the name of the tag to delete. This tag will be removed from all " +"posts." +msgstr "" +"UpiÅ¡i ime oznake za brisanje. Ova oznaka če biti maknuta iz svih članaka." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:220 +msgid "You can specify multiple tags to delete by separating them with commas" +msgstr "" +"Možete specifikovati viÅ¡e oznaka za brisanje tako Å¡to ih razdvojite zarezom" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:224 +msgid "Tag(s) to delete:" +msgstr "Oznake za brisanje:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:233 +msgid "Edit Tag Slug" +msgstr "Uredi slug oznake" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:241 +msgid "" +"Enter the tag name to edit and its new slug. This will be used in tagcloud " +"links. Slug definition" +msgstr "" +"Unesi ime oznake za uređivanje i njen novi slug. Ovo će biti koriÅ¡tenu u " +"tagcloud linkovima. Slug definition" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:246 +msgid "Tag(s) to match:" +msgstr "Oznake za slaganje" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:250 +msgid "Slug(s) to set:" +msgstr "Slugovi za postavljanje" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_create_page_field.php:3 +msgid "Main Page (no parent)" +msgstr "Glavna stranica (no parent)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_create_page_field.php:10 +msgid "Add page" +msgstr "Dodaj stranicu" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_link_to_page_field.php:3 +msgid "Not linked" +msgstr "Nije linkovano" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/thumbnails-template.php:103 +msgid "These are maximum values" +msgstr "Ovo su maksimalne vrijednosti" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:61 +msgid "" +"Some folders/files could not renamed, please recheck the permission and " +"rescan the folder in the manage gallery section." +msgstr "" +"Neke fascikle/datoteke nisu mogle biti preimenovane, molimo provjerite " +"dozvole i ponovo skenirajte fasciklu u dijelu za uređivanje galerije." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:63 +msgid "Rename failed" +msgstr "Preimenovanje nije uspjelo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:159 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:178 +msgid "Upgrade NextGEN Gallery" +msgstr "Nadogradi NextGEN Gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:160 +msgid "The script detect that you upgrade from a older version." +msgstr "Skripta je detektovala da ste nadogradili sa starije verzije" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:161 +msgid "" +"Your database tables for NextGEN Gallery is out-of-date, and must be " +"upgraded before you can continue." +msgstr "" +"VaÅ¡a tabela baze podataka za NextGEN Gallery je zastarjela, i mora biti " +"nadograđena prij enastavljanja." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:162 +msgid "" +"If you would like to downgrade later, please make first a complete backup of " +"your database and the images." +msgstr "" +"Ako želite kasnije da unazadite, molimo da prvo uradite kompletan bekap vaÅ¡e " +"baze podatada i slika." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:163 +msgid "The upgrade process may take a while, so please be patient." +msgstr "Proces nadogradnje može potrajati, molimo za vaÅ¡e strpljenje." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:164 +msgid "Start upgrade now" +msgstr "Započni nadogradnju sada" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:180 +msgid "Upgrade finished..." +msgstr "Nadogradnja zavrÅ¡ena" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:181 +msgid "Continue" +msgstr "Nastavi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:33 +msgid "Update successfully" +msgstr "Ažuriranje uspjelo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:48 +msgid "Network Options" +msgstr "Opcije mreže" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:56 +msgid "" +"This is the default path for all blogs. With the placeholder %BLOG_ID% you " +"can organize the folder structure better." +msgstr "" +"Ovo je zadana putanja za sve blogove. Sa placeholder %BLOG_ID% možete bolje " +"organizovati strukturu fascikle." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:57 +#, php-format +msgid "The default setting should be %s" +msgstr "Zadana postavka bi trebala biti %s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:61 +msgid "Enable upload quota check" +msgstr "Osposobi provjeru kvote uploada" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:63 +msgid "Should work if the gallery is bellow the blog.dir" +msgstr "Trebalo bi raditi ako je galerije ispod blog.dir" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:67 +msgid "Enable zip upload option" +msgstr "Osposobi opciju uploada zipa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:69 +msgid "Allow users to upload zip folders." +msgstr "Dozvoli korisnicima da uploaduju zip fascikle." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:73 +msgid "Enable import function" +msgstr "Omoguči funciju uvoza" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:75 +msgid "Allow users to import images folders from the server." +msgstr "Dozvli korisnicima da uvoze fascikle slika sa servera." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:79 +msgid "Enable style selection" +msgstr "Omoguči izbor stila" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:81 +msgid "Allow users to choose a style for the gallery." +msgstr "Dozvoli korisnicima da izaberu stil za galeriju." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:85 +msgid "Enable roles/capabilities" +msgstr "Omoguči uloge/sposobnosti" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:87 +msgid "Allow users to change the roles for other blog authors." +msgstr "Dozvoli korisnicima da promijene uloge za druge autore blogova." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:91 +msgid "Default style" +msgstr "Zadani stil" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:108 +msgid "Choose the default style for the galleries." +msgstr "Izaberi zadani stil za galerije." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/core.php:410 +#, php-format +msgid "" +"Note : Based on your server memory limit you should not upload larger images " +"then %d x %d pixel" +msgstr "" +"ZabiljeÅ¡ka : Bazirano na ograničenju memorije vaÅ¡eg servera nebi trebali " +"uploadovati slike veće od %d x %d piksela" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php:337 +#: products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php:338 +msgid "Album overview" +msgstr "Pregled Albuma" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:68 +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:70 +msgid "Set NextGEN featured image" +msgstr "Postavi NextGEN istaknutu sliku" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:328 +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:329 +msgid "Set featured image" +msgstr "Postavi istaknutu sliku" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:356 +msgid "Remove featured image" +msgstr "Makni istaknutu sliku" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:223 +msgid "Album" +msgid_plural "Albums" +msgstr[0] "Album" +msgstr[1] "Albumi" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:35 +msgid "No new tag specified!" +msgstr "Nisu određene nove oznake!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:50 +msgid "No new/old valid tag specified!" +msgstr "Nisu određene nove/stare važeće oznake!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:86 +msgid "No tag renamed." +msgstr "Nema preimenovanih oznaka." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:88 +#, php-format +msgid "Renamed tag(s) «%1$s» to «%2$s»" +msgstr "Preimenovane oznake «%1$s» u «%2$s»" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:95 +msgid "No valid new tag." +msgstr "Nema važećih novih oznaka" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:112 +msgid "No objects (post/page) found for specified old tags." +msgstr "Nema nađenih objekata (članci/stranice) određene za stare oznake" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:141 +msgid "No tag merged." +msgstr "Nema spojenih oznaka" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:143 +#, php-format +msgid "" +"Merge tag(s) «%1$s» to «%2$s». %3$s objects edited." +msgstr "" +"Spoji oznake «%1$s» sa «%2$s». %3$s objekt uređen." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:146 +msgid "Error. Not enough tags provided to rename or merge." +msgstr "" +"GreÅ¡ka. Nema dovoljno obezbijeđenih oznaka za preimenovanje ili spajanje." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:165 +msgid "No tag specified!" +msgstr "Nema određenih oznaka!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:188 +msgid "No tag deleted." +msgstr "Nema obrisanih oznaka." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:190 +#, php-format +msgid "%1s tag(s) deleted." +msgstr "%1s oznaka obrisana." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:206 +msgid "No new slug(s) specified!" +msgstr "Nema određenih novih slugova!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:218 +msgid "Tags number and slugs number isn't the same!" +msgstr "Brojevi oznaka i brojevi slugova nisu isti!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:245 +msgid "No slug edited." +msgstr "Nema uređenih slugova." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:247 +#, php-format +msgid "%s slug(s) edited." +msgstr "%s uređenih slagova." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:64 +msgid "" +"Translation by : See here" +msgstr "" +"Prijevod od : Pogledaj ovdje" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:65 +msgid "" +"This translation is not yet updated for Version 1.9.0. If " +"you would like to help with translation, download the current po from the " +"plugin folder and read here how you can translate the plugin." +msgstr "" +"Ovaj prijevod joÅ¡ nije ažuriran za verziju 1.9.0.Ako želite " +"pomoći sa prevođenjem, skinite trenutni po iz fascikle plugina i pročitajte " +"here kako možete " +"prevesti plugin." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:158 +msgid "" +"Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB or higher" +msgstr "" +"Izvini, NextGEN Gallery radi samo sa Ograničenom Memorijom od 16 MB ili viÅ¡e" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:184 +msgid "Picture tag" +msgstr "Oznaka slike" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:185 +msgid "Picture tag: %2$l." +msgstr "Oznaka slike: %2$l." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:186 +msgid "Separate picture tags with commas." +msgstr "Odvojite oznake slika sa zarezima." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:324 +msgid "Get help" +msgstr "Dobijte pomoć" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:325 +msgid "Contribute" +msgstr "Doprinesite" + +#: products/photocrati_nextgen/modules/ngglegacy/nggfunctions.php:29 +msgid "[Gallery not found]" +msgstr "[Galerija nije nađena]" + +#: products/photocrati_nextgen/modules/ngglegacy/nggfunctions.php:163 +msgid "Related images for" +msgstr "Povezane slike za" + +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:38 +msgid "Meta data" +msgstr "Meta podaci" + +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:42 +msgid "Camera / Type" +msgstr "Kameta / vrsta" + +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:50 +msgid "Focal Length" +msgstr "Focal Dužina" + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:50 +msgid "No galleries have been yet created." +msgstr "JoÅ¡ nema napravljenih galerija." + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:69 +#, php-format +msgid "The gallery ID=%s does not exist." +msgstr "ID=%s galerije ne postoji." + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:100 +msgid "No album ID has been provided as parameter" +msgstr "Nema obezbijeđenih parametara za ID albuma" + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:108 +#, php-format +msgid "The album ID=%s does not exist." +msgstr "ID=%s albuma ne postoji." + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:115 +msgid "Invalid MediaRSS command" +msgstr "Nevažeća MedijskaRSS komanda" + +msgid "NextGEN Basic Compact Album" +msgstr "NextGEN Basic Compact Album" + +msgid "NextGEN Basic Extended Album" +msgstr "NextGEN Basic Extended Album" + +msgid "NextGEN Basic Thumbnails" +msgstr "NextGEN Basic Thumbnails" + +msgid "NextGEN Basic Slideshow" +msgstr "NextGEN Basic Slideshow" + +msgid "NextGEN Basic ImageBrowser" +msgstr "NextGEN Basic ImageBrowser" + +msgid "NextGEN Basic Singlepic" +msgstr "NextGEN Basic Singlepic" + +msgid "NextGEN Basic Tagcloud" +msgstr "NextGEN Basic Tagcloud" diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-cs_CZ.mo b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-cs_CZ.mo new file mode 100644 index 0000000000000000000000000000000000000000..cbd2c96304e42c641a3e57f95c61bf7ccb384df0 GIT binary patch literal 76081 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\n" +"Language-Team: Martin Krizek \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"Language: cs_CZ\n" +"X-Generator: Poedit 1.6.5\n" + +msgid " Image(s) successfully added" +msgstr "Obrázek(y) úspěšně přidán(y)" + +msgid " MByte" +msgstr "MByte" + +msgid " is not writeable" +msgstr "není zapisovatelný" + +msgid " mm" +msgstr "mm" + +msgid " sec" +msgstr "sec" + +msgid "# of columns" +msgstr "počet sloupců" + +msgid "# of images" +msgstr "počet obrázků" + +msgid "# of seconds" +msgstr "počet sekund" + +msgid "%1s tag(s) deleted." +msgstr "%1s Å¡títek(y) smazán(y)." + +msgid "%s images were uploaded successfully" +msgstr "Úspěšně nahráno %s obrázků" + +msgid "%s slug(s) edited." +msgstr "%s slug(ů) upraven(o)." + +msgid "“%s” has failed to upload due to an error" +msgstr "“%s” nahrávání selhalo důsledkem chyby" + +msgid "(Error : Couldn't not find image)" +msgstr "(Chyba: Nelze najít obrázek)" + +msgid "(Error : Couldn't not update data base)" +msgstr "(Chyba: Nelze aktualizovat databázi)" + +msgid "(Error : Couldn't not update meta data)" +msgstr "(Chyba: Nelze aktualizovat meta data)" + +msgid "(From the theme folder)" +msgstr "(Ze složky s tématem)" + +msgid "(Hide Advanced Settings)" +msgstr "(Schovat pokročilé nastavení)" + +msgid "(Hide Customization Options)" +msgstr "(Schovat nastavení přizpůsobení)" + +msgid "(Hide Customization Settings)" +msgstr "(Schovat nastavení přizpůsobení)" + +msgid "(Show Advanced Settings)" +msgstr "(Ukázat pokročilé nastavení)" + +msgid "(Show Customization Options)" +msgstr "(Ukázat nastavení přizpůsobení)" + +msgid "(Show Customization Settings)" +msgstr "(Ukázat nastavení přizpůsobení)" + +msgid "(hex w/o #)" +msgstr "(hexadecimálně bez #)" + +msgid "(optional)" +msgstr "(volitelné)" + +msgid "0 images were uploaded" +msgstr "Nebyl nahrán žádný obrázek" + +msgid "0 will disable pagination, all images on one page" +msgstr "0 zakáže stránkování, vÅ¡echny obrázky budou na jedné stránce" + +msgid "0 will display all images at once" +msgstr "0 zobrazí vÅ¡echny obrázky najednou" + +msgid "" +"0 will display as much as possible based on the width of your theme. Setting " +"normally only required for captions below the images" +msgstr "" +"0 zobrazí tolik sloupců, kolik se vejde do šířky tématu. Nastavení obvykle " +"vyžadují pouze popisky pod obrázky" + +msgid "0 will show all images" +msgstr "0 zobrazí vÅ¡echny obrázky" + +msgid "1 image was uploaded successfully" +msgstr "Úspěšně nahrán jeden obrázek" + +msgid "1 item" +msgid_plural "%s items" +msgstr[0] "1 položka" +msgstr[1] "%s položky" +msgstr[2] "%s položek" + +msgid "90° anticlockwise" +msgstr "90° proti směru ručiček" + +msgid "90° clockwise" +msgstr "90° po směru ručiček" + +msgid "" +"%2$sMB (%3$s%" +"%)" +msgstr "" +"%2$sMB (%3$s%" +"%)" + +msgid "" +"%2$sMB" +msgstr "" +"%2$sMB" + +msgid "" +"Support Forums" +msgstr "" +"Fórum podpory" + +msgid "" +"Introduction" +msgstr "Úvod" + +msgid "" +"Languages" +msgstr "" +"Jazyky" + +msgid "" +"EXTENDING NEXTGEN? There are many third party plugins that " +"add displays and functionality for NextGEN Gallery. See our Complete List of " +"NextGEN Extension Plugins." +msgstr "" +"ROZÅ IŘUJETE NEXTGEN? Existuje hned několik pluginů třetích " +"stran, které přidávají funkčnost pro NextGEN Gallery. Podivejte se na náš kompletní seznam NextGEN rozÅ¡iřujících pluginů." + +msgid "" +"NEED HELP? If you need help or assistance please visit the " +"NextGEN " +"Gallery forums on WordPress.org. Please note that we actively monitor " +"and participate in the forums, but given that NextGEN Gallery is a free " +"product, we don't guarantee replies to support queries." +msgstr "" +"POTŘEBUJETE POMOC? Pokud potřebujete pomoc, nebo asistenci, " +"navÅ¡itvte NextGEN Gallery fórum na WordPress.org. Vězte, že fórum aktivně " +"prohlížíme a přispíváme na něj, ale vzhledem k tomu, že je NextGEN Gallery " +"zdarma, nezaručujeme reakci na podporu." + +msgid "" +"This translation is not yet updated for Version 1.9.0. If " +"you would like to help with translation, download the current po from the " +"plugin folder and read here how you can translate the plugin." +msgstr "" +"Tento překlad jeÅ¡tě není aktualizován pro verzi 1.9.0. " +"Pokud chcete pomoct s překladem, stáhněte si aktuální soubor ze složky s " +"pluginem a zde si " +"přečtěte, jak lze plugin přeložit." + +msgid "" +"Translation by : See here" +msgstr "" +"Překlad: Podívejte se sem" + +msgid "" +"A RSS feed will be added to you blog header. Useful for CoolIris/PicLens" +msgstr "" +"RSS zdroj bude přidán do hlavičky vaÅ¡eho blogu. Užitečné pro CoolIris/PicLens" + +msgid "A failure occurred" +msgstr "Nastalo selhání" + +msgid "About" +msgstr "O" + +msgid "Activate" +msgstr "Aktivovat" + +msgid "Activate Media RSS feed" +msgstr "Aktivovat Media RSS zdroj" + +msgid "Activate PicLens/CoolIris support" +msgstr "Aktivovat podporu PicLens/CoolIris" + +msgid "Activate and use style sheet:" +msgstr "Aktivovat a použít style sheet:" + +msgid "Activate permalinks" +msgstr "Aktivovat trvalé odkazy" + +msgid "Activate related images" +msgstr "Aktivovat související obrázky" + +msgid "Add" +msgstr "Přidat" + +msgid "Add Gallery / Images" +msgstr "Přidat galerii/obrázek" + +msgid "Add Hidden Images" +msgstr "Přidat skryté obrázky" + +msgid "Add MediaRSS link?" +msgstr "Přidat MediaRSS odkaz?" + +msgid "Add gallery / Upload images" +msgstr "Přidat galerii/nahrát obrázky" + +msgid "Add hidden images" +msgstr "Přidat skryté obrázky" + +msgid "Add new album" +msgstr "Přidat nové album" + +msgid "Add new gallery" +msgstr "Přidat novou galerii" + +msgid "Add new tags" +msgstr "Přidat nové Å¡títky" + +msgid "Add page" +msgstr "Přidat stránku" + +msgid "Add recent or random images from the galleries" +msgstr "Přidat nedávné, nebo náhodné obrázky z galerií" + +msgid "Add tags" +msgstr "Přidat Å¡títky" + +msgid "Adjust Thumbnail Quality?" +msgstr "Upravit kvalitu náhledů?" + +msgid "" +"After images are uploaded, they will be resized to the above dimensions and " +"quality" +msgstr "Po nahrání budou obrázky změněny na výše nastavenou velikost a kvalitu" + +msgid "" +"After you create and select a album, you can drag and drop a gallery or " +"another album into your new album below" +msgstr "" +"Po vytvoření a vybrání alba, můžete přetáhnout galerii nebo jiné album pod " +"své nové album" + +msgid "Album" +msgid_plural "Albums" +msgstr[0] "Album" +msgstr[1] "Alba" +msgstr[2] "Alb" + +msgid "Album ID" +msgstr "ID alba" + +msgid "Album deleted" +msgstr "Album smazáno" + +msgid "Album description:" +msgstr "Popis alba:" + +msgid "Album name:" +msgstr "Název alba:" + +msgid "Album overview" +msgstr "Přehled alba" + +msgid "Album: %s" +msgstr "Album: %s" + +msgid "Albums" +msgstr "Alba" + +msgid "Albums will link this gallery to the selected page" +msgstr "Album přiřadí tuto galerii vybrané stránce" + +msgid "Alignment" +msgstr "Zarovnání" + +msgid "All galleries" +msgstr "VÅ¡echny galerie" + +msgid "All images" +msgstr "VÅ¡echny obrázky" + +msgid "All stylesheets must contain a file header" +msgstr "" +"VÅ¡echny stylesheety musí mít hlavičku souboru" + +msgid "Allow users to change the roles for other blog authors." +msgstr "Povolit uživatelům měnit role ostatním autorům blogu." + +msgid "Allow users to choose a style for the gallery." +msgstr "Povolit uživatelům výběr stylu galerie." + +msgid "Allow users to import images folders from the server." +msgstr "Povolit uživatelům vložit složku obrázků ze serveru." + +msgid "Allow users to upload zip folders." +msgstr "Povolit uživatelům nahrávat zazipované složky." + +msgid "Allowed characters for file and folder names are" +msgstr "Znaky povolené pro názvy souborů a složek jsou " + +msgid "Alphabetical" +msgstr "Abecedně" + +msgid "Alt & Title Text / Description" +msgstr "Alt. text a titulek/Popis" + +msgid "Alt & Title Text" +msgstr "Alt. text a titulek" + +msgid "Alt / Title text" +msgstr "Alt. text/titulek" + +msgid "Alt/Title Text" +msgstr "Alt/Název" + +msgid "Alt/Title text" +msgstr "Alt. text/titulek" + +msgid "An absolute or relative (to the site document root) file system path" +msgstr "" +"Absolutní, nebo relativní (ke kořenu dokumentů webu) systémová cesta souboru" + +msgid "" +"An absolute or relative (to the site document root) file system path or an " +"HTTP url" +msgstr "" +"Absolutní, nebo relativní (ke kořenu dokumentů webu) systémová cesta " +"souboru, nebo HTTP URL" + +msgid "An empty or 0 setting will make the gallery full width" +msgstr "Nic, nebo 0 nastaví šířku galerie na maximum" + +msgid "An error occurred in the upload. Please try again later." +msgstr "Při nahrávání nastala chyba. Zkuste to prosím později." + +msgid "An unexpected error occured." +msgstr "Nastala neočekávaná chyba." + +msgid "" +"An unexpected error occured. This is most likely due to a server " +"misconfiguration. Check your PHP error log or ask your hosting provider for " +"assistance." +msgstr "" +"Nastala neočekávaná chyba. Byla pravděpodobně způsobena Å¡patným nastavením " +"serveru. Zkontrolujte log s PHP chybami, nebo požádejte poskytovatele " +"hostingu o pomoc." + +msgid "Aperture" +msgstr "Clona" + +msgid "Apply" +msgstr "Potvrdit" + +msgid "Ascending" +msgstr "Vzestupně" + +msgid "At a Glance" +msgstr "Na první pohled" + +msgid "Author" +msgstr "Autor" + +msgid "Author Position" +msgstr "Pozice autora" + +msgid "Automatically resize" +msgstr "Automaticky změnit velikost" + +msgid "Automatically resize images after upload" +msgstr "Po nahrání automaticky změnit obrázkům velikost" + +msgid "Automatically resize images on upload." +msgstr "Automaticky změnit velikost obrázků při nahrávání." + +msgid "Average" +msgstr "Průměr" + +msgid "Back" +msgstr "Zpět" + +msgid "Back to gallery" +msgstr "Zpět do galerie" + +msgid "Background" +msgstr "Pozadí" + +msgid "Background Color" +msgstr "Barva pozadí" + +msgid "Background music (URL)" +msgstr "Hudba na pozadí (URL)" + +msgid "Background music (url)" +msgstr "Hudba na pozadí (url)" + +msgid "Backup file does not exist" +msgstr "Soubor zálohy neexistuje" + +msgid "Backup original images" +msgstr "Zálohovat originální obrázky" + +msgid "Backup the original images?" +msgstr "Zálohovat originální obrázky?" + +msgid "" +"Browse images without reload the page. Note : Works only in combination with " +"Shutter effect" +msgstr "" +"Procházení obrázků bez znovu načítání stránky. Poznámka: Funguje pouze v " +"kombinaci s roletovým efektem" + +msgid "Browse images without reloading the page." +msgstr "Procházet obrázky bez znovu načítání stránky." + +msgid "Browsing %s" +msgstr "Prohlížení %s" + +msgid "Bulk actions" +msgstr "Hromadné úpravy" + +msgid "CSS file successfully updated" +msgstr "CSS soubor úspěšně nahrán" + +msgid "Cache cleared" +msgstr "Cache vyčiÅ¡těna" + +msgid "Camera" +msgstr "Fotoaparát" + +msgid "Camera / Type" +msgstr "Fotoaparát/typ" + +msgid "Cancel" +msgstr "ZruÅ¡it" + +msgid "Caption" +msgstr "Poznámka" + +msgid "Categories" +msgstr "Kategorie" + +msgid "Category" +msgstr "Kategorie" + +msgid "" +"Caution: If you keep images in the original folder and later delete the " +"gallery, the images in that folder might be deleted depending on your " +"settings." +msgstr "" +"Varování: Pokud necháte obrázky v původní složce a později smažete galerii, " +"mohou být v závislosti na vaÅ¡em nastavení smazány obrázky i z dané složky." + +msgid "Center" +msgstr "Na střed" + +msgid "" +"Certain themes may allow images to flow over their container if this setting " +"is too large" +msgstr "" +"Pokud je toto nastavení příliÅ¡ velké, dovolují některá témata obrázkům " +"přetéct svůj kontejner" + +msgid "Change options" +msgstr "Změna možností" + +msgid "Change style" +msgstr "Změna stylu" + +msgid "Changes you make to the contents will be saved to" +msgstr "Změny, které jste provedli na obsahu budou uloženy do" + +msgid "Cheatin’ uh?" +msgstr "Podvádíte, co?" + +msgid "Check this link, if you didn't know how to set the permission :" +msgstr "Pokud nevíte, jak nastavit oprávnění, klikněte na odkaz: " + +msgid "Choose the default style for the galleries." +msgstr "Zvolit výchozí styl pro galerie." + +msgid "City" +msgstr "Město" + +msgid "Clear" +msgstr "Smazat" + +msgid "Clear cache folder" +msgstr "Smazat složku cache" + +msgid "Clear image cache" +msgstr "Smazat cache obrázků" + +msgid "Click here for more settings" +msgstr "Pro více nastavení klikněte zde" + +msgid "Click to Close" +msgstr "Kliknutím zavřít" + +msgid "Code" +msgstr "Kód" + +msgid "Color" +msgstr "Barva" + +msgid "" +"Completely clear the NextGEN cache of all image modifications?\n" +"\n" +"Choose [Cancel] to Stop, [OK] to proceed." +msgstr "" +"Kompletně smazat vÅ¡echny úpravy obrázků z NextGEN cache?\n" +"\n" +"Vyberte [ZruÅ¡it] pro zastavení, [OK] pro provedení." + +msgid "Contact" +msgstr "Kontakt" + +msgid "Continue" +msgstr "Pokračovat" + +msgid "Contribute" +msgstr "Přispět" + +msgid "Contribute development" +msgstr "Podpořit vývoj" + +msgid "Copied %1$s picture(s) to gallery %2$s ." +msgstr "Obrázků zkopírováno do galerie %2$s: %1$s." + +msgid "Copied %1$s picture(s) to gallery: %2$s ." +msgstr "Obrázků zkopírováno do galerie %2$s: %1$s." + +msgid "Copied image %1$s to %2$s" +msgstr "Obrázek %1$s zkopírován do %2$s" + +msgid "Copy image to..." +msgstr "Kopírovat obrázek do..." + +msgid "Copy to..." +msgstr "Kopírovat do..." + +msgid "Copyright" +msgstr "Copyright" + +msgid "Copyright Notice" +msgstr "Oznámení o autorských právech" + +msgid "Could create image with %s x %s pixel" +msgstr "Může vytvořit obrázek o %s x %s pixelů" + +msgid "Could not calculate resized image dimensions" +msgstr "Nelze vypočítat rozměry změněného obrázku" + +msgid "Could not find image" +msgstr "Nelze nalézt obrázek" + +msgid "Could not get a valid foldername" +msgstr "Nemohu získat správný název složky" + +msgid "Could not restore original image" +msgstr "Nelze obnovit původní obrázek" + +msgid "Couldn't restore original image" +msgstr "Nelze obnovit původní obrázek" + +msgid "Country" +msgstr "Země" + +msgid "Country code" +msgstr "Kód země" + +msgid "Create a new , empty gallery below the folder" +msgstr "Vytvořit novou, prázdnou galerii ve složce" + +msgid "Create a new gallery" +msgstr "Vytvořit novou galerii" + +msgid "Create new URL friendly image slugs" +msgstr "Vytvořit nové URL přátelské obrázkové slugy" + +msgid "Create new page:" +msgstr "Vytvořit novou stránku:" + +msgid "Create new thumbnails" +msgstr "Vytvořit nové náhledy" + +msgid "Creates a backup for inserted images" +msgstr "Vytvořit zálohu pro vložené obrázky" + +msgid "Credit" +msgstr "Zdroj" + +msgid "Crop thumbnail" +msgstr "Oříznout náhled" + +msgid "Crunching…" +msgstr "Probíhá zpracování…" + +msgid "Current Color" +msgstr "Aktuální barva" + +msgid "Current page" +msgstr "Současná stránka" + +msgid "Custom" +msgstr "Vlastní" + +msgid "Custom order" +msgstr "Vlastní pořadí" + +msgid "Customize the display settings" +msgstr "Upravit nastavení zobrazení" + +msgid "Customize thumbnail" +msgstr "Přizpůsobit náhled" + +msgid "Date / Time" +msgstr "Datum/Čas" + +msgid "Date Created" +msgstr "Datum vytvoření" + +msgid "Date/Time" +msgstr "Datum/čas" + +msgid "Deactivate gallery page link" +msgstr "Deaktivovat odkaz na stránku galerie" + +msgid "Default" +msgstr "Výchozí" + +msgid "Default size (W x H)" +msgstr "Výchozí rozměr (Å  x V)" + +msgid "Default style" +msgstr "Výchozí styl" + +msgid "Default thumbnail dimensions:" +msgstr "Výchozí rozměry náhledu:" + +msgid "Delete" +msgstr "Smazat" + +msgid "Delete Image Files?" +msgstr "Smazat soubor obrázku?" + +msgid "Delete Tag" +msgstr "Smazat Å¡títek" + +msgid "Delete files, when removing a gallery in the database" +msgstr "Při smazání galerie z databáze smazat i soubory" + +msgid "Delete image" +msgstr "Smazat obrázek" + +msgid "Delete image files" +msgstr "Smazat soubory obrázků" + +msgid "Delete images" +msgstr "Smazat obrázky" + +msgid "Delete tags" +msgstr "Smazat Å¡títky" + +msgid "Descending" +msgstr "Sestupně" + +msgid "Description" +msgstr "Popis" + +msgid "Description:" +msgstr "Popis:" + +msgid "Directory" +msgstr "Složka" + +msgid "Directory does not exist." +msgstr "Složka neexistuje." + +msgid "Dismiss" +msgstr "ZruÅ¡it" + +msgid "Display Galleries" +msgstr "Zobrazit galerie" + +msgid "Display galleries as" +msgstr "Zobrazit galerie jako" + +msgid "Display reflection" +msgstr "Zobrazit odraz" + +msgid "Display type" +msgstr "Typ zobrazení" + +msgid "Display watermark" +msgstr "Zobrazit vodoznak" + +msgid "Displayed gallery does not exist" +msgstr "Zobrazení galerie neexistuje" + +msgid "Do you like this Plugin?" +msgstr "Líbí se vám tento plugin?" + +msgid "Done! Successfully imported %s images" +msgstr "Hotovo! Úspěšně vloženo %s obrázků" + +msgid "Done." +msgstr "Hotovo." + +msgid "Download latest version" +msgstr "Stáhnout poslední verzi" + +msgid "Draft" +msgstr "Koncept" + +msgid "Drag image and ZIP files here or click Add Files" +msgstr "" +"Přetáhněte obrázky a ZIP soubory sem, nebo klikněte na Přidat " +"soubory" + +msgid "Duration time" +msgstr "Doba trvání" + +msgid "EXIF Data" +msgstr "EXIF data" + +msgid "Edit" +msgstr "Upravit" + +msgid "Edit Album" +msgstr "Upravit album" + +msgid "Edit Status" +msgstr "Upravit status" + +msgid "Edit Tag Slug" +msgstr "Upravit Å¡títek slug" + +msgid "Edit album" +msgstr "Upravit album" + +msgid "Edit gallery" +msgstr "Upravit galerii" + +msgid "Edit thumb" +msgstr "Upravit náhled" + +msgid "Editing %s" +msgstr "Úprava %s" + +msgid "Effects" +msgstr "Efekty" + +msgid "Enable AJAX pagination" +msgstr "Povolit AJAX stránkování" + +msgid "Enable IE8 Web Slices" +msgstr "Povolit IE8 Web Slices" + +msgid "Enable flash slideshow" +msgstr "Povolit flash prezentaci" + +msgid "Enable import function" +msgstr "Povolit vkládací funkci" + +msgid "Enable roles/capabilities" +msgstr "Povolit role/možnosti" + +msgid "Enable style selection" +msgstr "Povolit výběr stylu" + +msgid "Enable upload quota check" +msgstr "Povolit kontrolu omezení nahrávání" + +msgid "Enable zip upload option" +msgstr "Povolit možnosti nahrávání ZIP souborů" + +msgid "" +"Enter the name of the tag to delete. This tag will be removed from all " +"posts." +msgstr "" +"Vložte název Å¡títku ke smazaní. Tento Å¡títek bude odstraněn ze vÅ¡ech " +"příspěvků." + +msgid "Enter the post title " +msgstr "Vložte název příspěvku" + +msgid "" +"Enter the tag name to edit and its new slug. This will be used in tagcloud " +"links. Slug definition" +msgstr "" +"Vložte jméno Å¡títku, který chcete upravit a jeho nový slug. Toto bude " +"použito v mraku Å¡títků. Slug definice" + +msgid "" +"Enter the tag to rename and its new value. You can use this feature to " +"merge tags too. Click \"Rename\" and all posts which use this tag will be " +"updated." +msgstr "" +"Vložte Å¡títek, který chcete přejmenovat a novou hodnotu. Tuto funkci můžete " +"použít i pro sjednocení Å¡títků. Klikněte na \"Přejmenovat\" a vÅ¡echny " +"příspěvky, které používají tento Å¡títek, budou aktualizovány." + +msgid "Enter the tags" +msgstr "Vložit Å¡títky" + +msgid "Error rotating thumbnail" +msgstr "Chyba při otáčení náhledu" + +msgid "Error updating thumbnail" +msgstr "Chyba při aktualizaci náhledu" + +msgid "Error while applying watermark to image." +msgstr "Chyba při aplikaci vodoznaku na obrázek." + +msgid "Error while creating thumbnail." +msgstr "Chyba při vytváření náhledu." + +msgid "Error while resizing image." +msgstr "Chyba při změně velikosti obrázku." + +msgid "Error while rotating image." +msgstr "Chyba při otáčení obrázku." + +msgid "Error, the file could not be moved to : " +msgstr "Chyba, soubor nemohl být přemístěn do:" + +msgid "Error, the file permissions could not be set" +msgstr "Chyba, práva souboru nemohla být nastavena" + +msgid "Error. Not enough tags provided to rename or merge." +msgstr "Chyba. Málo Å¡títků pro přejmenování nebo spojení." + +msgid "Every %d seconds" +msgstr "Každých %d sekund" + +msgid "Exclude ?" +msgstr "Vyjmout?" + +msgid "Existing Tags" +msgstr "Existující Å¡títky" + +msgid "FAQ" +msgstr "Otázky a odpovědi" + +msgid "Failed to copy database row for picture %s" +msgstr "Nepovedlo se zkopírovat řádek databáze pro obrázek %s" + +msgid "Failed to copy image %1$s to %2$s" +msgstr "Nepodařilo se zkopírovat obrázek %1$s do %2$s" + +msgid "Failed to extract images from ZIP" +msgstr "Nepovedlo se rozbalit obrázky ze ZIP souboru" + +msgid "Failed to get image path for %s" +msgstr "Nepodařilo se získat cestu k obrázku %s" + +msgid "Failed to move image %1$s to %2$s" +msgstr "Chyba při přenosu obrázku %1$s do %2$s" + +msgid "Failed to write file to disk" +msgstr "Soubor na disk nelze zapsat" + +msgid "Failure in database, no gallery path set !" +msgstr "Chyba databáze, nenastavena cesta ke galerii!" + +msgid "Feature request" +msgstr "Přání budoucí funkčnosti" + +msgid "File Content:" +msgstr "Obsah souboru:" + +msgid "File canceled." +msgstr "Soubor zruÅ¡en." + +msgid "File do not exists" +msgstr "Soubor neexistuje" + +msgid "File name" +msgstr "Název souboru" + +msgid "File upload stopped by extension" +msgstr "Nahrávání souboru bylo zastavenou rozšířením" + +msgid "Filename" +msgstr "Název souboru" + +msgid "Fired" +msgstr "Použit" + +msgid "First Image" +msgstr "První obrázek" + +msgid "Flash" +msgstr "Blesk" + +msgid "Flip horizontally" +msgstr "Překlopit horizontálně" + +msgid "Flip vertically" +msgstr "Překlopit vertikálně" + +msgid "Float" +msgstr "Plovoucí" + +msgid "Focal Length" +msgstr "Ohnisková vzdálenost" + +msgid "Focal length" +msgstr "Uhnisková vzdálenost" + +msgid "Font" +msgstr "Font" + +msgid "Font Color:" +msgstr "Barva písma:" + +msgid "Font Family:" +msgstr "Rodina písma:" + +msgid "Font Size:" +msgstr "Velikost písma:" + +msgid "For a more flexible user management you can use the" +msgstr "Pro větší flexibilitu správy uživatelů můžete použít" + +msgid "Format" +msgstr "Formát" + +msgid "Full size" +msgstr "Plná velikost" + +msgid "GD Library" +msgstr "GD knihovna" + +msgid "Galleries per page" +msgstr "Galerií na stránku" + +msgid "Gallery" +msgid_plural "Galleries" +msgstr[0] "Galerie" +msgstr[1] "Galerie" +msgstr[2] "Galerií" + +msgid "Gallery ID" +msgstr "ID galerie" + +msgid "" +"Gallery ID %1$s successfully created. You can show this gallery in your post " +"or page with the shortcode %2$s.
      " +msgstr "" +"Galerie s ID %1$s úspěšně vytvořena. Galerii můžete zobrazit v příspěvku, " +"nebo na stránce s krátkým odkazem %2$s.
      " + +msgid "Gallery IDs, separated by commas." +msgstr "ID galerií, oddělené čárkami." + +msgid "Gallery Settings" +msgstr "Nastavení galerie" + +msgid "Gallery deleted successfully " +msgstr "Galerie úspěšně smazána" + +msgid "Gallery not found." +msgstr "Galerie nenalezena." + +msgid "Gallery path" +msgstr "Cesta ke galerii" + +msgid "Gallery path does not exist and could not be created" +msgstr "Cesta ke galerii neexistuje a nemůže být vytvořena" + +msgid "Gallery path:" +msgstr "Cesta ke galerii:" + +msgid "Gallery settings" +msgstr "Nastavení galerie" + +msgid "Gallery slug name :" +msgstr "Slug název galerie:" + +msgid "Gallery width" +msgstr "Šířka galerie" + +msgid "Gallery: %s" +msgstr "Galerie: %s" + +msgid "General Options" +msgstr "Obecné možnosti" + +msgid "Get help" +msgstr "Získat nápovědu" + +msgid "Get help with NextGEN Gallery" +msgstr "Získat nápovědu k NextGEN Gallery" + +msgid "Get your language pack" +msgstr "Získejte svůj jazykový balíček" + +msgid "Give it a good rating on WordPress.org" +msgstr "Dejte mu dobré hodnocení na WordPress.org." + +msgid "Go" +msgstr "Jdi" + +msgid "Go to the first page" +msgstr "Jdi na první stránku" + +msgid "Go to the last page" +msgstr "Jdi na poslední stránku" + +msgid "Go to the next page" +msgstr "Jdi na další stránku" + +msgid "Go to the previous page" +msgstr "Jdi na předchozí stránku" + +msgid "Graphic Library" +msgstr "Grafická knihovna" + +msgid "HTTP error." +msgstr "Chyba HTTP." + +msgid "Heading for related images" +msgstr "Nadpis pro související obrázky" + +msgid "Headline" +msgstr "Titulek" + +msgid "Height" +msgstr "Výška" + +msgid "Height:" +msgstr "Výška:" + +msgid "Help translating it" +msgstr "Pomozte ho přeložit." + +msgid "" +"Here you can select the thumbnail effect, NextGEN Gallery will integrate the " +"required HTML code in the images. Please note that only the Shutter and " +"Thickbox effect will automatic added to your theme." +msgstr "" +"Tady můžete zvolit efekt náhledu, NextGEN Gallery integruje požadovaný kód k " +"obrázkům. Upozornění: pouze Rolety a Thickbox efekt jsou automaticky přidány " +"do vaÅ¡eho tématu." + +msgid "Hide" +msgstr "Schovat" + +msgid "Highslide" +msgstr "Highslide" + +msgid "How should related images be match?" +msgstr "Jak se mají vyhledat související obrázky?" + +msgid "How will you generate a watermark?" +msgstr "Jak chcete generovat vodoznak?" + +msgid "How would you like galleries to be displayed?" +msgstr "Jak chcete, aby se galerie zobrazovaly?" + +msgid "ID" +msgstr "ID" + +msgid "IO error." +msgstr "Vstupní/výstupní chyba." + +msgid "IPTC Data" +msgstr "IPTC data" + +msgid "ISO" +msgstr "ISO" + +msgid "" +"If pagination is used this option will show all images in the modal window " +"(Thickbox, Lightbox etc.) This increases page load." +msgstr "" +"Pokud je použito stránkování, zobrazí tato možnost vÅ¡echny obrázky v " +"modálním okně (Thickbox, Lightbox atd.), což prodlouží načtení stránky." + +msgid "" +"If pagination is used, this option will still show all images in the modal " +"window (Thickbox, Lightbox etc.). Note : This increases the page load" +msgstr "" +"Pokud je použito stránkování, tato možnost stále zobrazí vÅ¡echny obrázky v " +"modálním okně (Thickbox, Lightbox apod.). Poznámka: ZvyÅ¡uje náročnost stránky" + +msgid "If this file were writable you could edit it." +msgstr "Pokud je tento soubor zapisovatelný, můžete ho upravit." + +msgid "If you have problems, please create directory" +msgstr "Pokud máte problémy, vytvořte prosím složku" + +msgid "" +"If you would like to downgrade later, please make first a complete backup of " +"your database and the images." +msgstr "" +"Pokud budete chtít později provést downgrade, proveďte prosím nejdříve plnou " +"zálohu databáze a obrázků." + +msgid "Ignore the aspect ratio, no portrait thumbnails" +msgstr "Ignorovat poměr stran, žádné náhledy na výšku" + +msgid "Ignore the aspect ratio, no portrait thumbnails?" +msgstr "Ignorovat poměr stran, žádné portrétové náhledy?" + +msgid "Image" +msgid_plural "Images" +msgstr[0] "Obrázek" +msgstr[1] "Obrázky" +msgstr[2] "Obrázků" + +msgid "Image %1$s (%2$s) copied as image %3$s (%4$s)" +msgstr "Obrázek %1$s (%2$s) kopírovaný jako obrázek %3$s (%4$s)" + +msgid "" +"Image %1$s (%2$s) copied as image %3$s (%4$s) » The file already " +"existed in the destination gallery." +msgstr "" +"Obrázek %1$s (%2$s) kopírovaný jako obrázek %3$s (%4$s) » Tento " +"obrázek v cílové galerii již existuje." + +msgid "Image Height" +msgstr "Výška obrázku" + +msgid "Image ID" +msgstr "ID obrázku" + +msgid "Image ID:" +msgstr "ID obrázku:" + +msgid "Image Options" +msgstr "Možnosti obrázku" + +msgid "Image URL:" +msgstr "URL obrázku:" + +msgid "Image Width" +msgstr "Šířka obrázku" + +msgid "Image crop" +msgstr "Ořez obrázku" + +msgid "Image generation failed" +msgstr "Nepovedlo se vygenerovat obrázek" + +msgid "Image limit" +msgstr "Limit obrázku" + +msgid "Image quality" +msgstr "Kvalita obrázku" + +msgid "Image rotated" +msgstr "Obrázek otočen" + +msgid "Image settings" +msgstr "Nastavení obrázku" + +msgid "Image watermark" +msgstr "Vodoznak obrázku" + +msgid "ImageMagick (Experimental). Path to the library :" +msgstr "ImageMagick (experimentální). Cesta ke knihovně:" + +msgid "Images per page" +msgstr "Obrázků na stránku" + +msgid "Import Folder" +msgstr "Vložit složku" + +msgid "Import metadata" +msgstr "Importovat metadata" + +msgid "Import via cURL failed." +msgstr "Vložení pomocí cURL selhalo." + +msgid "" +"Important : Could causes problem at some browser. Please recheck your page." +msgstr "" +"Důležité: V některých prohlížečích může způsobovat problémy. Stránku si " +"raději překontrolujte." + +msgid "Importing gallery" +msgstr "Vkládání galerie" + +msgid "In Progress..." +msgstr "Probíhá..." + +msgid "Insert into Post" +msgstr "Vložit do příspěvku" + +msgid "Integrate slideshow" +msgstr "Integrovat prezentaci" + +msgid "Integrate the flash based slideshow for all flash supported devices" +msgstr "" +"Aplikovat prezentaci založenou na flash pro vÅ¡echna zařízení podporující " +"flash" + +msgid "Interval" +msgstr "Interval" + +msgid "Invalid Displayed Gallery" +msgstr "Neplatná zobrazená galerie" + +msgid "Invalid MediaRSS command" +msgstr "Neplatný Media RSS příkaz" + +msgid "Invalid request" +msgstr "Neplatný požadavek" + +msgid "Invalid upload. Error Code : " +msgstr "Chybné nahrání. Kód chyby:" + +msgid "It is recommended that your images be resized to be web friendly" +msgstr "Je doporučeno, aby měly vyÅ¡e obrázky velikost přívětivou pro web" + +msgid "Items per page" +msgstr "Obrázků na stránku" + +msgid "JavaScript Thumbnail effect" +msgstr "JavaScript efekt náhledu" + +msgid "Javascript URL" +msgstr "Javascript URL" + +msgid "Keep images in original location." +msgstr "Zachovat obrázky v původním umístění." + +msgid "Keywords" +msgstr "Klíčová slova" + +msgid "L O A D I N G" +msgstr "N A H R Á V Á N Í" + +msgid "Last modified" +msgstr "Naposledy upraveno" + +msgid "Least used" +msgstr "Naposledy požitý" + +msgid "Left" +msgstr "Vlevo" + +msgid "Lightbox" +msgstr "Lightbox" + +msgid "Lightbox Effects" +msgstr "Lightbox efekt" + +msgid "Link" +msgstr "Odkaz" + +msgid "Link Code line" +msgstr "Kód odkazu" + +msgid "Link to page:" +msgstr "Odkaz na stránku:" + +msgid "Link to the main image feed" +msgstr "Odkaz na hlavní obrázkový feed" + +msgid "List of default sizes used for thumbnails and images" +msgstr "Seznam výchozích velikostí pro náhledy a obrázky" + +msgid "Loading…" +msgstr "Načítání…" + +msgid "Location" +msgstr "Lokalita" + +msgid "MYSQL Version" +msgstr "Verze MYSQL" + +msgid "Main NextGEN Gallery overview" +msgstr "Hlavní přehled NextGEN Gallery" + +msgid "Main Page (no parent)" +msgstr "Hlavní stránka (bez rodiče)" + +msgid "Make" +msgstr "Výrobce" + +msgid "Manage Albums" +msgid_plural "Manage Albums" +msgstr[0] "Správa alba" +msgstr[1] "Správa alb" +msgstr[2] "Správa alb" + +msgid "Manage Galleries" +msgid_plural "Manage Galleries" +msgstr[0] "Správa galerie" +msgstr[1] "Správa galerií" +msgstr[2] "Správa galerií" + +msgid "Manage Tags" +msgstr "Správa Å¡títků" + +msgid "Manage gallery" +msgstr "Správa galerie" + +msgid "Manage image tags" +msgstr "Správa obrázkových Å¡títků" + +msgid "Manage others gallery" +msgstr "Správa ostatních galerií" + +msgid "Manage tags" +msgstr "Správa Å¡títků" + +msgid "Match with" +msgstr "Shoda s" + +msgid "Max. number of images" +msgstr "Maximální počet obrázků" + +msgid "Maximize the widget content" +msgstr "Maximalizovat obsah widgetu" + +msgid "Maximum # of related images to display" +msgstr "Maximální počet souvisejících obrázků k zobrazení" + +msgid "Maximum dimensions" +msgstr "Maximální rozměry" + +msgid "Maximum image count" +msgstr "Maximální počet obrázků" + +msgid "Maximum number of galleries or sub-albums to appear on a single page" +msgstr "" +"Maximální počet galerií, nebo pod-alb, která se mají zobrazit na stránce" + +msgid "Maximum number of images to display with recent or random sources" +msgstr "" +"Maximální počet obrázků, který se zobrazí pro náhodné, nebo nedávné zobrazení" + +msgid "Maximum number of tags" +msgstr "Maximální počet Å¡títků" + +msgid "Media RSS" +msgstr "Media RSS" + +msgid "Memory exceeded. Please try another smaller file." +msgstr "Paměť překročena. Zkuste prosím jiný, menší soubor." + +msgid "Memory usage" +msgstr "Využití paměti" + +msgid "" +"Merge tag(s) «%1$s» to «%2$s». %3$s objects edited." +msgstr "" +"Spojení Å¡títků «%1$s» na «%2$s». %3$s objektů " +"upraveno." + +msgid "Meta" +msgstr "Meta" + +msgid "Meta Data" +msgstr "Metadata" + +msgid "Meta data" +msgstr "Metadata" + +msgid "Minimize the widget content" +msgstr "Minimalizovat obsah widgetu" + +msgid "Miscellaneous" +msgstr "Různé" + +msgid "Missing a temporary folder" +msgstr "Chybý dočasná složka" + +msgid "Missing parameters" +msgstr "Chybějící parametry" + +msgid "More Help & Info" +msgstr "Další pomoc a informace" + +msgid "More settings" +msgstr "Více nastavení" + +msgid "Most popular" +msgstr "Nejpopulárnější" + +msgid "Move image to..." +msgstr "Přesunout obrázek do..." + +msgid "Move to..." +msgstr "Přesunout do..." + +msgid "Moved %1$s picture(s) to gallery : %2$s ." +msgstr "Přesunuto %1$s obrázek(ů) do galerie: %2$s ." + +msgid "N/A" +msgstr "N/A" + +msgid "Name" +msgstr "Název" + +msgid "Network Options" +msgstr "Možnosti sítě" + +msgid "Network settings" +msgstr "Nastavení sítě" + +msgid "New Gallery" +msgstr "Nová galerie" + +msgid "New gallery page ID" +msgstr "ID nové stránky galerie" + +msgid "New tag name(s):" +msgstr "Nové jméno(a) Å¡títku:" + +msgid "" +"Newsfeed could not be loaded. Check the front page to " +"check for updates." +msgstr "" +"Nemohl být načten kanál novinek. Zkontrolujte úvodní stránku pro kontrolu aktualizací." + +msgid "Next" +msgstr "Další" + +msgid "Next tags" +msgstr "Následujíc Å¡títky" + +msgid "NextGEN Attach Interface" +msgstr "NextGEN rozhraní pro přikládání příloh" + +msgid "NextGEN Basic Compact Album" +msgstr "Základní NextGEN kompaktní album" + +msgid "NextGEN Basic Extended Album" +msgstr "Základní NextGEN rozšířené album" + +msgid "NextGEN Basic ImageBrowser" +msgstr "Základní NextGEN prohlížeč obrázků" + +msgid "NextGEN Basic Singlepic" +msgstr "Základní NextGEN jeden obrázek" + +msgid "NextGEN Basic Slideshow" +msgstr "Základní NextGEN prezentace" + +msgid "NextGEN Basic Tagcloud" +msgstr "Základní NextGEN mrak Å¡títků" + +msgid "NextGEN Basic Thumbnails" +msgstr "Základní NextGEN náhledy" + +msgid "NextGEN Gallery" +msgstr "NextGEN Gallery" + +msgid "NextGEN Gallery & Album Settings" +msgstr "Nastavení NextGEN galerie a alba" + +msgid "NextGEN Gallery - Attach To Post" +msgstr "NextGEN Gallery - přiložit k příspěvku" + +msgid "" +"NextGEN Gallery : Tables could not created, please check your database " +"settings" +msgstr "" +"NextGEN Gallery: Tabulky nemohly být vytvořeny. Zkontrolujte prosím " +"nastavení databáze" + +msgid "NextGEN Gallery Overview" +msgstr "O NextGEN Gallery" + +msgid "" +"NextGEN Gallery contains some functions which are only available under PHP " +"5.2. You are using the old PHP 4 version, upgrade now! It's no longer " +"supported by the PHP group. Many shared hosting providers offer both PHP 4 " +"and PHP 5, running simultaneously. Ask your provider if they can do this." +msgstr "" +"Nextgen Galerie obsahuje některé funkce, které jsou k dispozici pouze v PHP " +"5.2. Používáte starou verzi PHP 4, aktualizujte nyní! Není již podporována " +"skupinou PHP. Mnozí poskytovatelé nabízejí sdílený hosting s PHP 4 a PHP 5, " +"které běží současně. Zeptejte se svého poskytovatele, jesli to může udělat." + +msgid "" +"NextGEN Gallery is one of the most popular Wordpress plugins of all time " +"with over 9 million downloads. It is developed and supported by Photocrati " +"Media. We'd like to offer a special thanks to Alex Rabe, who first developed " +"the plugin and maintained it through 2011." +msgstr "" +"NextGEN Gallery je s více než 9ti miliony staženími jeden z " +"nejpopulárnějších pluginů pro WordPress vÅ¡ech dob. Je vyvíjen a podporován " +"Photocrati Media. Speciálně bychom chtěli poděkovat Alexi Rabeovi, který " +"plugin vytvořil a udržoval během roku 2011." + +msgid "NextGEN Media RSS" +msgstr "NextGEN Media RSS" + +msgid "NextGEN Slideshow" +msgstr "NextGEN prezentace" + +msgid "NextGEN Widget" +msgstr "NextGEN Widget" + +msgid "No" +msgstr "Ne" + +msgid "No GD support" +msgstr "Žádná podpora GD" + +msgid "No album ID has been provided as parameter" +msgstr "Jako parametr nebylo poskytnuto žádné ID alba" + +msgid "No album selected" +msgstr "Není vybráno album" + +msgid "No album selected!" +msgstr "Není vybráno album!" + +msgid "No directory specified." +msgstr "Složka nebyla vybrána." + +msgid "No display type selected" +msgstr "Nebyl vybrán typ zobrazení" + +msgid "No entities to display for this source." +msgstr "Pro tento zdroj není co zobrazit." + +msgid "No entries found" +msgstr "Nenalezeny žádné záznamy" + +msgid "No exif data" +msgstr "Žádná EXIF data" + +msgid "No file was uploaded" +msgstr "Nebyl nahrán žádný soubor" + +msgid "No folder specified" +msgstr "Složka nebyla vybrána" + +msgid "No galleries have been yet created." +msgstr "Zatím nebyly vytvořeny žádné galerie." + +msgid "No gallery" +msgstr "Žádná galerie" + +msgid "No gallery name specified" +msgstr "Není nastaveno jméno galerie" + +msgid "No gallery selected !" +msgstr "Nebyla vybrána galerie!" + +msgid "No images selected" +msgstr "Nebyl vybrán žádný obrázek" + +msgid "No meta data saved" +msgstr "Metadata nebyla uložena" + +msgid "No new slug(s) specified!" +msgstr "Žádný nový slug nespecifikován!" + +msgid "No new tag specified!" +msgstr "Nový Å¡títek nespecifikován!" + +msgid "No new/old valid tag specified!" +msgstr "Nový/starý Å¡títek nespecifikován!" + +msgid "No objects (post/page) found for specified old tags." +msgstr "Nebyl nalezen žádný objekt (příspěvek/stránka) pro dané staré Å¡títky." + +msgid "" +"No permissions to browse folders. Try refreshing the page or ensuring that " +"your user account has sufficient roles/privileges." +msgstr "" +"Nemáte oprávnění k procházení složek. Obnovte stránku, nebo se ujistěte, že " +"má váš účet dostatečná oprávnění." + +msgid "" +"No permissions to import folders. Try refreshing the page or ensuring that " +"your user account has sufficient roles/privileges." +msgstr "" +"Nemáte oprávnění k nahrání složek. Obnovte stránku, nebo se ujistěte, že má " +"váš účet dostatečná oprávnění. " + +msgid "" +"No permissions to upload images. Try refreshing the page or ensuring that " +"your user account has sufficient roles/privileges." +msgstr "" +"Nemáte oprávnění k nahrání obrázků. Obnovte stránku, nebo se ujistěte, že má " +"váš účet dostatečná oprávnění. " + +msgid "No picture" +msgstr "Žádný obrázek" + +msgid "No slug edited." +msgstr "Žádný slug nebyl upraven." + +msgid "No tag deleted." +msgstr "Žádný Å¡títek nebyl smazán." + +msgid "No tag merged." +msgstr "Žádné Å¡títky nebyly spojeny." + +msgid "No tag renamed." +msgstr "Žádný Å¡títek nebyl přejmenován." + +msgid "No tag specified!" +msgstr "Å títek nespecifikován!" + +msgid "No valid URL path " +msgstr "Chybná URL cesta" + +msgid "No valid gallery name!" +msgstr "Å patný název galerie!" + +msgid "No valid new tag." +msgstr "Žádný platný nový Å¡títek. " + +msgid "None" +msgstr "Žádné" + +msgid "Not fired" +msgstr "Nepoužit" + +msgid "Not linked" +msgstr "Bez odkazu" + +msgid "Not set" +msgstr "Nenastaveno" + +msgid "" +"Note : Based on your server memory limit you should not upload larger images " +"then %d x %d pixel" +msgstr "" +"Poznámka: Na základě paměti vaÅ¡eho serveru byste neměli nahrávat obrázky " +"větší než %d x %d pixelů" + +msgid "Number of columns" +msgstr "Počet sloupců" + +msgid "Number of columns to display" +msgstr "Počet sloupců k zobrazení" + +msgid "Number of images per page" +msgstr "Počet obrázků na stránce" + +msgid "OK" +msgstr "OK" + +msgid "Object didn't contain correct data" +msgstr "Objekt neobsahuje správná data" + +msgid "Off" +msgstr "Vyp" + +msgid "Offset" +msgstr "Odsazení" + +msgid "Offset:" +msgstr "Odsazení:" + +msgid "On" +msgstr "Zap" + +msgid "Only apply to NextGEN and WordPress images" +msgstr "Aplikovat pouze na NextGEN a WordPress obrázky" + +msgid "Only apply to NextGEN images" +msgstr "Aplikovat pouze na NextGEN obrázky" + +msgid "Only which are listed" +msgstr "Jenom ty, které jsou v seznamu" + +msgid "Only which are not listed" +msgstr "Jenom ty, které nejsou v seznamu" + +msgid "Oops, no such file exists! Double check the name and try again, merci." +msgstr "" +"Oops, takový soubor neexistuje! Dvakrát zkontrolujte jméno a zkuste to " +"znovu. Děkuji." + +msgid "Opacity:" +msgstr "Neprůhlednost:" + +msgid "Opaque" +msgstr "Průhlednost" + +msgid "Operating System" +msgstr "Operační systém" + +msgid "Operation successful. Please clear your browser cache." +msgstr "Operace úspěšná. Prosím vyčistěte cache prohlížeče." + +msgid "Original images" +msgstr "Původní obrázky" + +msgid "Other Options" +msgstr "Ostatní možnosti" + +msgid "Override image settings" +msgstr "Přepsat nastavení obrázku" + +msgid "Override thumbnail settings" +msgstr "Přepsat nastavení náhledů" + +msgid "Overriding the image settings will create an additional set of images" +msgstr "Přepsání nastavení obrázku vytvoří novou sadu obrázků" + +msgid "Overview" +msgstr "Přehled" + +msgid "Overwrite" +msgstr "Přepsat" + +msgid "Overwrite tags" +msgstr "Přepsat Å¡títky" + +msgid "PCRE Backtracking Limit" +msgstr "PCRE Backtracking limit" + +msgid "PHP Allow URL fopen" +msgstr "PHP dovoluje URL fopen" + +msgid "PHP Exif support" +msgstr "Podpora PHP Exif" + +msgid "PHP IPTC support" +msgstr "Podpora PHP IPTC" + +msgid "PHP Max Post Size" +msgstr "Maximální velikost postu pro PHP" + +msgid "PHP Max Script Execute Time" +msgstr "Maximální běh skriptu pro PHP" + +msgid "PHP Max Upload Size" +msgstr "Maximální velikost nahrávání pro PHP" + +msgid "PHP Memory Limit" +msgstr "Limit paměti pro PHP" + +msgid "PHP Safe Mode" +msgstr "PHP Safe Mode" + +msgid "PHP Version" +msgstr "Verze PHP" + +msgid "PHP XML support" +msgstr "Podpora PHP XML" + +msgid "Page" +msgstr "Stránka" + +msgid "Page ID" +msgstr "ID stránky" + +msgid "Page Link to" +msgstr "Odkaz na stránku" + +msgid "Path to the JW Image Rotator (URL)" +msgstr "Cesta k JW Image Rotator (URL)" + +msgid "Percent" +msgstr "Procent" + +msgid "Permalink slug" +msgstr "Permanentní slug" + +msgid "Photos" +msgstr "Fotky" + +msgid "Piclens link text" +msgstr "Piclens text odkazu" + +msgid "Picture" +msgstr "Obrázek" + +msgid "Picture tag" +msgstr "Å títek obrázku" + +msgid "Picture tag: %2$l." +msgstr "Å títek obrázku: %2$l." + +msgid "Pictures deleted successfully " +msgstr "Obrázky úspěšně smazány" + +msgid "Pixels" +msgstr "Pixelů" + +msgid "Place any custom stylesheets in wp-content/ngg_styles" +msgstr "Vlastní stylesheet uložte do wp-content/ngg_styles" + +msgid "Please click \"Works\" on WordPress.org" +msgstr "Klikněte prosím na \"Funguje\" na WordPress.org" + +msgid "" +"Please note : If you change the settings, you need to recreate the " +"thumbnails under -> Manage Gallery ." +msgstr "" +"Upozornění: Pokud změníte nastavení, musíte znovu vytvořit náhledy pod -> " +"Správa Galerie." + +msgid "" +"Please note : You can only activate the watermark under -> Manage Gallery . " +"This action cannot be undone." +msgstr "" +"Upozornění: vodoznak můžete aktivovat pouze pod -> Správa galerie. Tuto akci " +"nelze vrátit." + +msgid "" +"Please note: You can only activate the watermark under Manage Gallery. This " +"action cannot be undone." +msgstr "" +"Upozornění: Vodoznak můžete aktivovat pouze pod Nastavením galerie. Tuto " +"akci nelze vrátit." + +msgid "Position" +msgstr "Pozice" + +msgid "Position:" +msgstr "Pozice:" + +msgid "Post title" +msgstr "Název příspěvku" + +msgid "Presort" +msgstr "Předřazení" + +msgid "Press the button below to search for the JW Image Rotator" +msgstr "K hledání JW Image Rotatoru klikněte na tlačítko níže" + +msgid "Preview" +msgstr "Náhled" + +msgid "Preview image:" +msgstr "Obrázek náhledu:" + +msgid "Preview of saved settings:" +msgstr "Náhled uloženého nastavení:" + +msgid "Previous tags" +msgstr "Předchozí Å¡títky" + +msgid "Proceed now" +msgstr "Provést teď" + +msgid "Program tool" +msgstr "Programem" + +msgid "Province/State" +msgstr "Stát/provincie" + +msgid "Publish" +msgstr "Zveřejnit" + +msgid "Publish this image" +msgstr "Zveřejnit obrázek" + +msgid "Published a new post" +msgstr "Zveřejnit nový příspěvek" + +msgid "Quality:" +msgstr "Kvalita:" + +msgid "Rebuild album structure : %s / %s albums" +msgstr "Znovuvytvoření sktruktury alb: %s / %s alb" + +msgid "Rebuild gallery structure : %s / %s galleries" +msgstr "Znovuvytvoření sktruktury galerií: %s / %s galerií" + +msgid "Rebuild image structure : %s / %s images" +msgstr "Znovuvytvoření sktruktury obrázků: %s / %s obrázků" + +msgid "Recover" +msgstr "Obnovit" + +msgid "Recover from backup" +msgstr "Obnovit ze zálohy" + +msgid "Recover image from backup" +msgstr "Obnovit ze zálohy" + +msgid "Refresh preview image" +msgstr "Obnovit obrázek náhledu" + +msgid "Related Images" +msgstr "Související obrázky" + +msgid "Related images for" +msgstr "Obrázky, související s " + +msgid "Remove featured image" +msgstr "Odstranit hlavní obrázek" + +msgid "Rename" +msgstr "Přejmenovat" + +msgid "Rename Tag" +msgstr "Přejmenovat Å¡títek" + +msgid "Rename failed" +msgstr "Přejmenování selhalo" + +msgid "Renamed tag(s) «%1$s» to «%2$s»" +msgstr "Přejmenovaný tag(y) «%1$s» na «%2$s»" + +msgid "" +"Replace all existing options and gallery options with their default settings" +msgstr "" +"Nahradit vÅ¡echny existující možnosti a možnosti galerií do původního " +"nastavení" + +msgid "Reset Options" +msgstr "Smazat možnosti" + +msgid "Reset all options to default settings" +msgstr "Smazat vÅ¡echny možnosti do původního nastavení" + +msgid "" +"Reset all options to default settings?\n" +"\n" +"Choose [Cancel] to Stop, [OK] to proceed." +msgstr "" +"Smazat vÅ¡echny možnosti do původního nastavení?\n" +"\n" +"Vyberte [ZruÅ¡it] pro zastavení, [OK] pro provedení." + +msgid "Reset settings" +msgstr "Smazat nastavení" + +msgid "Resize Images" +msgstr "Změna velikosti obrázků" + +msgid "Resize Images to" +msgstr "Změnit velikost obrázků na" + +msgid "Resize images" +msgstr "Změna velikosti obrázků" + +msgid "Right" +msgstr "Vpravo" + +msgid "Roles & Capabilities" +msgstr "Role a schopnosti" + +msgid "Rollover / Active Color" +msgstr "Barva při najetí/aktivaci" + +msgid "Rollover / active" +msgstr "Rolování / aktivní" + +msgid "Rotate" +msgstr "Otočit" + +msgid "Rotate images" +msgstr "Otočit obrázky" + +msgid "Rotate images clockwise" +msgstr "Otočit obrázky po směru ručiček" + +msgid "Rotate images counter-clockwise" +msgstr "Otočit obrázky proti směru ručiček" + +msgid "" +"SAFE MODE Restriction in effect! You need to create the folder %s manually" +msgstr "SAFE MODE je aktivní! Musíte vytvořit složku %s ručně" + +msgid "SQL Mode" +msgstr "Režim SQL" + +msgid "Save" +msgstr "Uložit" + +msgid "Save Changes" +msgstr "Uložit změny" + +msgid "Save all changes" +msgstr "Uložit vÅ¡e" + +msgid "Saved successfully" +msgstr "Úspěšně uloženo" + +msgid "Scan Folder for new images" +msgstr "Zkontrolovat složku kvůli novým obrázkům" + +msgid "Screen" +msgstr "Obrazovka" + +msgid "Screen Color" +msgstr "Barva plochy" + +msgid "Search Images" +msgstr "Hledat obrázky" + +msgid "Search now" +msgstr "Hledej" + +msgid "Search results for “%s”" +msgstr "výsledky vyhledávání pro “%s”" + +msgid "Search tags" +msgstr "Vyhledat Å¡títky" + +msgid "Security error." +msgstr "Chyba zabezpečení." + +msgid "See here for more information about the effects :" +msgstr "Pro více informací o efektech se podívejte zde:" + +msgid "Select" +msgstr "Vybrat" + +msgid "Select »" +msgstr "Vybrat »" + +msgid "Select Color" +msgstr "Vybrat barvu" + +msgid "Select Gallery" +msgstr "Vybrat galerii" + +msgid "Select a display type" +msgstr "Vyberte typ zobrazení" + +msgid "" +"Select a folder to import. The folder name will be used as the title of the " +"gallery." +msgstr "Vyberte složku k vložení. Název složky bude použit jako název galerie." + +msgid "Select a gallery" +msgstr "Vybrat galerii" + +msgid "Select a preview image:" +msgstr "Vyberte obrázek pro náhled:" + +msgid "Select album" +msgstr "Vybrat album" + +msgid "Select gallery" +msgstr "Vybrat galerii" + +msgid "Select graphic library" +msgstr "Vybrat grafickou knihovnu" + +msgid "Select the area for the thumbnail from the picture on the left." +msgstr "Vyberte oblast pro náhled z obrázku vlevo." + +msgid "Select the destination gallery:" +msgstr "Vybrat cílovou galerii:" + +msgid "" +"Select the lowest role which should be able to access the following " +"capabilities. NextGEN Gallery supports the standard roles from WordPress." +msgstr "" +"Vyberte nejnižší roli, která má mít přístup k daným možnostem. NextGEN " +"Gallery podporuje standartní role z WordPressu." + +msgid "Select with the mouse the area for the new thumbnail" +msgstr "Pomocí myÅ¡i vyberte novou oblast náhledu" + +msgid "Separate picture tags with commas." +msgstr "Oddělte Å¡títky obrázků čárkami." + +msgid "Server" +msgstr "Server" + +msgid "Server Settings" +msgstr "Nastavení serveru" + +msgid "Set NextGEN featured image" +msgstr "Nastavit hlavní NextGEN obrázek" + +msgid "Set featured image" +msgstr "Použít hlavní obrázek" + +msgid "Set fix dimension" +msgstr "Nastavit pevný rozměr" + +msgid "Set fix dimension?" +msgstr "Nastavit pevné rozměry?" + +msgid "Set watermark" +msgstr "Nastavit vodoznak" + +msgid "" +"Sets an SEO-friendly name to this gallery for URLs. Currently only in use by " +"the Pro Lightbox." +msgstr "" +"Vyberte SEO-přívětivé jméno pro URL galerie. V současnosti využívá pouze Pro " +"Lightbox." + +msgid "Settings for the JW Image Rotator" +msgstr "Nastavení pro JW Image Rotator" + +msgid "Should work if the gallery is bellow the blog.dir" +msgstr "Mělo by fungovat, pokud je galerie pod blog.dir" + +msgid "Show" +msgstr "Ukázat" + +msgid "Show / hide used galleries" +msgstr "Zobrazit / skrýt použité galerie" + +msgid "Show ImageBrowser" +msgstr "Zobrazit prohlížeč obrázků" + +msgid "Show Media RSS icon" +msgstr "Ukázat ikonu Media RSS" + +msgid "Show Related Images on Posts?" +msgstr "Zobrazit u příspěvků související obrázky?" + +msgid "Show a NextGEN Gallery Slideshow" +msgstr "Ukazát NextGEN Gallery prezentaci" + +msgid "Show first" +msgstr "Zobrazit první" + +msgid "Show loading icon" +msgstr "Ukázat ikonu načítání" + +msgid "Show meta data" +msgstr "Ukázat metadata" + +msgid "Show navigation bar" +msgstr "Ukázat navigační liÅ¡tu" + +msgid "Show next image on click" +msgstr "Na kliknutí ukázat další obrázek" + +msgid "Show piclens link" +msgstr "Ukázat Piclens odkaz" + +msgid "Show slideshow link" +msgstr "Ukázat odkaz prezentace" + +msgid "Show the Media RSS link" +msgstr "Ukázat Media RSS odkaz" + +msgid "Show thumbnail link" +msgstr "Ukázat odkaz náhledu" + +msgid "Shuffle" +msgstr "Promíchat" + +msgid "Shuffle mode" +msgstr "Režim shuffle" + +msgid "Shutter" +msgstr "Roleta" + +msgid "Shutter speed" +msgstr "Rychlost závěrky" + +msgid "Single picture" +msgstr "Jeden obrázek" + +msgid "Singlepic" +msgstr "Jeden obrázek" + +msgid "Size" +msgstr "Velikost" + +msgid "Size List" +msgstr "Seznam velikostí" + +msgid "Size of the image" +msgstr "Velikost obrázku" + +msgid "Slideshow" +msgstr "Prezentace" + +msgid "Slideshow link text" +msgstr "Text odkazu prezentace" + +msgid "" +"Slideshows require the Flash Player and a browser with Javascript support." +msgstr "" +"Prezentace vyžaduje Flash Player a prohlížeč s podporou Javascriptu." + +msgid "Slug" +msgstr "Slug" + +msgid "Slug(s) to set:" +msgstr "Slug(y) k nastavení:" + +msgid "" +"Some folders/files could not renamed, please recheck the permission and " +"rescan the folder in the manage gallery section." +msgstr "" +"Některé soubory/složky nemohly být přejmenovány, překontrolujte prosím " +"oprávnění a projděte adresář v sekci správa galerie." + +msgid "" +"Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB or higher" +msgstr "" +"Je nám líto, ale NextGEN Gallery funguje pouze s s pamětí 16 MB a větší" + +msgid "Sorry, NextGEN Gallery works only with a role called administrator" +msgstr "" +"Omlouváme se, ale NexhGEN Gallery funguje pouze s rolí nazvanou administrátor" + +msgid "Sorry, you have no access here" +msgstr "Omlouváme se, ale sem nemáte přístup" + +msgid "" +"Sorry, you have used your space allocation. Please delete some files to " +"upload more files." +msgstr "" +"Omlouváme se, ale použili jste celý svůj diskový prostor. Abyste mohli " +"nahrát nové soubory, musíte smazat nějaké starší." + +msgid "Sorry, you must be able to manage galleries" +msgstr "Omlouváme se, ale musíte mít oprávnění ke správě galerií" + +msgid "Sort Gallery" +msgstr "Srovnat galerii" + +msgid "Sort Order:" +msgstr "Pořadí řazení:" + +msgid "Sort direction" +msgstr "Směr řazení" + +msgid "Sort gallery" +msgstr "Srovnat galerii" + +msgid "Sort in what direction?" +msgstr "V jakým řadit pořadí?" + +msgid "Sort options" +msgstr "Možnosti řazení" + +msgid "Sort or Exclude Images" +msgstr "Seřadit, nebo vyjmout obrázky" + +msgid "Sort order changed" +msgstr "Způsob řazení změněn" + +msgid "Sort thumbnails" +msgstr "Seřadit náhledy" + +msgid "Source" +msgstr "Zdroj" + +msgid "Source not compatible with selected display type" +msgstr "Zdroj není kompatibilní s vybraným typem zobrazení" + +msgid "Sources" +msgstr "Zdroj" + +msgid "Space Allowed" +msgstr "Místa volno" + +msgid "Space Used" +msgstr "Místa použito" + +msgid "Start upgrade now" +msgstr "Začít aktualizace teď" + +msgid "Storage Space" +msgstr "Úložný prostor" + +msgid "Stretch image" +msgstr "Roztáhnout obrázek" + +msgid "Styles" +msgstr "Styly" + +msgid "Stylesheet URL" +msgstr "Stylesheet URL" + +msgid "Subject" +msgstr "Předmět" + +msgid "Tag" +msgstr "Å títek" + +msgid "Tag(s) to delete:" +msgstr "Å títek(y) ke smazání:" + +msgid "Tag(s) to match:" +msgstr "Odpovídající Å¡títek(y):" + +msgid "Tag(s) to rename:" +msgstr "Å títek(y) k přejmenování:" + +msgid "Tags" +msgstr "Å títky" + +msgid "Tags (comma separated list)" +msgstr "Å títky (čárkami oddělený seznam)" + +msgid "Tags / Categories" +msgstr "Å títky/Kategorie" + +msgid "Tags changed" +msgstr "Å títky změněny" + +msgid "Tags number and slugs number isn't the same!" +msgstr "Počet Å¡títků a slugů není stejný!" + +msgid "Template" +msgstr "Å ablona" + +msgid "Text" +msgstr "Text" + +msgid "Text for Media RSS link" +msgstr "Text pro Media RSS odkaz" + +msgid "Text:" +msgstr "Text:" + +msgid "Texts / Buttons Color" +msgstr "Barva textů/tlačítek" + +msgid "Texts / buttons" +msgstr "Texty / tlačítka" + +msgid "Thanks to all donators..." +msgstr "Děkujeme vÅ¡em dárcům..." + +msgid "The accessing of URL files is disabled at your server (allow_url_fopen)" +msgstr "Přístup k souborům přes URL je zakázáno na serveru (povolte URL fopen)" + +msgid "The album ID=%s does not exist." +msgstr "ID alba =%s neexistuje." + +msgid "" +"The album will not link to a gallery subpage. The gallery is shown on the " +"same page." +msgstr "" +"Album nebude odkazovat na podstránku galerie. Galerie bude zobrazena na " +"stejné stránce." + +msgid "The default setting should be %s" +msgstr "Výchozí nastavení by mělo být %s" + +msgid "The destination gallery does not exist" +msgstr "Cílová galerie neexistuje" + +msgid "The display type that the tagcloud will point its results to" +msgstr "Typ zobrazení na který bude odkazovat tagcloud" + +msgid "The gallery ID=%s does not exist." +msgstr "ID galerie =%s neexistuje." + +msgid "The gallery will open the ImageBrowser instead the effect." +msgstr "Galerie místo efektu otevře prohlížeč obrázků." + +msgid "" +"The path to JW Image Rotator is not defined, the slideshow will not work." +msgstr "Cesta k JW Image Rotator není definována, prezentace nebude fungovat." + +msgid "The script detect that you upgrade from a older version." +msgstr "Skript detekoval, že jste aktualizovali ze starší verze." + +msgid "The server setting Safe-Mode is on !" +msgstr "Nastavení serveru Safe-Mode je zapnuto!" + +msgid "The upgrade process may take a while, so please be patient." +msgstr "Proces aktualizace může chvíli trvat, proto buďte prosím trpěliví." + +msgid "" +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " +"the HTML form" +msgstr "" +"Nahrávanný soubor překračuje MAX_FILE_SIZE direktivu, která byla " +"specifikována v HTML formuláři" + +msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgstr "" +"Nahrávaný soubor překračuje upload_max_filesize direktivu ze souboru php.ini" + +msgid "The uploaded file was only partially uploaded" +msgstr "Nahrávaný soubor nebyl zcela nahrán" + +msgid "" +"There was a configuration error. Please contact the server administrator." +msgstr "Nastal problém konfigurace. Kontaktujte prosím administrátora serveru." + +msgid "These are maximum values" +msgstr "Tyto hodnoty jsou maximální" + +msgid "These values are maximum values " +msgstr "Tyto hodnoty jsou maximální" + +msgid "Thickbox" +msgstr "Thickbox" + +msgid "" +"This does not affect existing thumbnails; overriding the thumbnail settings " +"will create an additional set of thumbnails. To change the size of existing " +"thumbnails please visit 'Manage Galleries' and choose 'Create new " +"thumbnails' for all images in the gallery." +msgstr "" +"Toto neovlivní existující náhledy; přepsání nastavení náhledů vytvoří novou " +"sadu náhledů. Ke změně aktuální velikosti náhledů prosím přejděte do " +"\"Správa galerií\" a vyberte \"Vytvořit nové náhledy\" pro vÅ¡echny obrázky v " +"galerii." + +msgid "This file exceeds the maximum upload size for this site." +msgstr "" +"Soubor překročil maximální velikost nahrávaného souboru pro tyto stránky." + +msgid "This file is empty. Please try another." +msgstr "Soubor je prázdný. Zkuste prosím jiný." + +msgid "This file is not an image. Please try another." +msgstr "Soubor není obrázek. Zkuste prosím jiný." + +msgid "This file type is not allowed. Please try another." +msgstr "Typ souboru není povolen. Zkuste prosím jiný." + +msgid "This function will not work, cause you need the FreeType library" +msgstr "Tato funkce nebude fungovat, protože potřebujete FreeType knihovnu" + +msgid "This is larger than the maximum size. Please try another." +msgstr "Soubor je větší, než maximální povolená velikost. Zkuste prosím jiný." + +msgid "" +"This is the default path for all blogs. With the placeholder %BLOG_ID% you " +"can organize the folder structure better." +msgstr "" +"Toto je výchozí cesta pro vÅ¡echny blogy. Se zástupným znakem %BLOG_ID% " +"můžete lépe organizovat strukturu složek." + +msgid "This is the default path for all galleries" +msgstr "Toto je výchozí cesta pro vÅ¡echny galerie" + +msgid "" +"This is the maximum limit of images that NextGEN will restrict itself to " +"querying" +msgstr "Toto je maximální limit obrázků, které bude NextGEN zpracovávat" + +msgid "This option will append related images to every post" +msgstr "Tato možnost přidá související obrázky ke každému příspěvku" + +msgid "" +"This plugin is primarily developed, maintained, supported and documented by " +"Photocrati Media with a lot of love & " +"effort. Any kind of contribution would be highly appreciated. Thanks!" +msgstr "" +"Tento plugin je převážně vyvíjen, udržován, podporován a dokumentován Photocrati Media s velkou láskou a snahou. " +"Jakýkoliv druh podpory velmi oceníme. Díky!" + +msgid "This widget requires JavaScript." +msgstr "Widget vyžaduje JavaScript." + +msgid "Thumbnail" +msgstr "Náhled" + +msgid "Thumbnail Options" +msgstr "Možnosti náhledu" + +msgid "Thumbnail crop" +msgstr "Oříznutí náhledu" + +msgid "Thumbnail dimensions" +msgstr "Rozměry náhledu" + +msgid "Thumbnail link text" +msgstr "Text odkazu náhledu" + +msgid "Thumbnail quality" +msgstr "Kvalita náhledu" + +msgid "Thumbnail settings" +msgstr "Nastavení náhledů" + +msgid "Thumbnail updated" +msgstr "Náhled aktualizován" + +msgid "Thumbnail watermark" +msgstr "Vodoznak náhledu" + +msgid "Thumbnails" +msgstr "Náhledy" + +msgid "Time Created" +msgstr "Čas vytvoření" + +msgid "" +"Tip : Copy your stylesheet (nggallery.css) to your theme folder, so it will " +"be not lost during a upgrade" +msgstr "" +"Tip: Zkopírujte svůj styl (nggallery.css) do složky s tématem, takže nebude " +"ztracen při aktualizaci" + +msgid "" +"Tip No. 2: Use the color picker below to help you find the right color " +"scheme for your gallery!" +msgstr "" +"Tip č.2: Použijte výběr barev k výběru toho správného barevného schématu pro " +"vaÅ¡i galerii!" + +msgid "Title" +msgstr "Nadpis" + +msgid "Title:" +msgstr "Titulek:" + +msgid "Tooltip text for Media RSS link" +msgstr "Tooltip text pro Media RSS odkaz" + +msgid "Transition / Fade effect" +msgstr "Přechodový efekt" + +msgid "Try XHTML validation" +msgstr "Pokusit se o XHTML validaci" + +msgid "Try XHTML validation (with CDATA)" +msgstr "Zkusit XHTML validaci (s CDATA)" + +msgid "Try to apply to all images" +msgstr "Pokusit se aplikovat na vÅ¡echny obrázky" + +msgid "Try to apply to all images that link to image files" +msgstr "Pokusit se aplikovat na vÅ¡echny obrázky, odkazující na soubor obrázku" + +msgid "URL to file" +msgstr "URL k souboru" + +msgid "Unable to create directory " +msgstr "Nepodařilo se vytvořit složku" + +msgid "Unable to create directory %s." +msgstr "Nepodařilo se vytvořit složku %s." + +msgid "" +"Unable to create directory %s. Is its parent directory writable by the " +"server?" +msgstr "Nemohu vytvořit složku %s. Může do její nad složky server zapisovat?" + +msgid "" +"Unable to write to directory %s. Is this directory writable by the server?" +msgstr "Do složky %s nelze zapisovat. Může do ní server zapisovat?" + +msgid "Unexpected Error" +msgstr "Neočekávaná chyba" + +msgid "Unknown upload error" +msgstr "Neznámá chyba nahrávání" + +msgid "Unsorted" +msgstr "Neseřazeno" + +msgid "Untitled" +msgstr "Bez názvu" + +msgid "Update" +msgstr "Aktualizovat" + +msgid "Update File" +msgstr "Aktualizovat soubor" + +msgid "Update Sort Order" +msgstr "Změnit způsob řazení" + +msgid "Update Successfully" +msgstr "Úspěšně aktualizováno" + +msgid "Update successful" +msgstr "Nahrávání úspěšné" + +msgid "Update successfully" +msgstr "Úspěšně aktualizováno" + +msgid "Upgrade NextGEN Gallery" +msgstr "Aktualizovat NextGEN Gallery" + +msgid "Upgrade finished..." +msgstr "Aktualizace dokončena..." + +msgid "Upload Images" +msgstr "Nahrát obrázky" + +msgid "Upload complete" +msgstr "Nahrávání dokončeno" + +msgid "Upload failed." +msgstr "Nahrávání selhalo." + +msgid "Upload stopped." +msgstr "Nahrávání zastaveno." + +msgid "Uploaded file was no or a faulty zip file ! The server recognized : " +msgstr "Nahrávaný soubor nebyl typu ZIP, nebo byl poruÅ¡en! Server rozpoznal:" + +msgid "Use TinyMCE Button / Upload tab" +msgstr "Použít tlačítko TinyMCE/záložku nahrávání" + +msgid "Use a legacy template when rendering (not recommended)." +msgstr "Při vykreslování použít starší Å¡ablonu (není doporučeno)." + +msgid "Use as featured image" +msgstr "Použít jako hlavní obrázek" + +msgid "Use image as watermark" +msgstr "Použít obrázek jako vodoznak" + +msgid "Use imagebrowser effect" +msgstr "Použít efekt prohlížeče obrázků" + +msgid "Use slow zooming effect" +msgstr "Použít efekt pomalého přiblížení" + +msgid "Use text as watermark" +msgstr "Použít text jako vodoznak" + +msgid "" +"Use the watermark image in the Flash object. Note: this does not watermark " +"the image itself, and cannot be applied with text watermarks" +msgstr "" +"Použít vodoznak ve flash objektu. Poznámka: toto nevloží vodoznak přímo do " +"obrázku a nelze být použito pro textový vodoznak" + +msgid "Use watermark logo" +msgstr "Použít logo vodoznaku" + +msgid "Using Text" +msgstr "Použít text" + +msgid "Using an Image" +msgstr "Použít obrázek" + +msgid "Value" +msgstr "Hodnota" + +msgid "Version" +msgstr "Verze" + +msgid "View" +msgstr "Zobrazit" + +msgid "View all" +msgstr "Zobrazit vÅ¡e" + +msgid "Visit the plugin homepage" +msgstr "NavÅ¡tivte stránku pluginu" + +msgid "Watermark" +msgstr "Vodoznak" + +msgid "Watermarks" +msgstr "Vodoznaky" + +msgid "Welcome to NextGEN Gallery !" +msgstr "Vítejte v NextGEN Gallery!" + +msgid "What effect would you like to use?" +msgstr "Jaký efekt si přejete použít?" + +msgid "What must the lightbox be applied to?" +msgstr "Na co má být aplikovám lightbox?" + +msgid "What should images be resized to?" +msgstr "Na jakou velikost mají být změněny?" + +msgid "What stylesheet would you like to use?" +msgstr "Jaký stylesheet chcete použít?" + +msgid "What would you like to display?" +msgstr "Co byste chtěli zobrazit?" + +msgid "What's the default sorting method?" +msgstr "Jaká je výchozí metoda řazení?" + +msgid "" +"When active each image in the gallery will link to an imagebrowser display " +"and lightbox effects will not be applied." +msgstr "" +"Pokud je aktivní, bude každý obrázek v galerii spojen s prohlížečem obrázků " +"a lightbox ekeft nebude použit." + +msgid "" +"When enabled, adds a MediaRSS link to your header. Third-party web services " +"can use this to publish your galleries" +msgstr "" +"Pokud je povoleno, přidá MediaRSS odkaz do hlavičky. Webové služby třetích " +"stran to mohou použít k publikování vaÅ¡ich galerií" + +msgid "" +"When enabled, image files will be removed after a Gallery has been deleted" +msgstr "Když je povoleno, budou soubory obrázků smazány při smazání galerie" + +msgid "" +"When enabled, related images will be appended to each post by matching the " +"posts tags/categories to image tags" +msgstr "" +"Pokud je povoleno, budou ke každému příspěvku přidány související obrázky u " +"kterých budou odpovídat Å¡títky/kategorie" + +msgid "When generating thumbnails, what image dimensions do you desire?" +msgstr "Jakých rozměrů chcete dosáhnout při generování náhledů?" + +msgid "When generating thumbnails, what image quality do you desire?" +msgstr "Jaké kvality chcete dosáhnout při generování náhledů?" + +msgid "" +"When safe_mode is on, PHP checks to see if the owner (%s) of the current " +"script matches the owner (%s) of the file to be operated on by a file " +"function or its directory" +msgstr "" +"Pokud je safe_mode zapnutý, PHP kontroluje, jestli vlastník (%s) prováděného " +"skriptu souhlasí s vlastníkem (%s) souboru, nebo adresáře" + +msgid "" +"When you activate this option, some javascript is added to your site footer. " +"Make sure that wp_footer is called in your theme." +msgstr "" +"Pokud tuto možnost aktivujete, bude přidán javascript do patičky vaÅ¡ich " +"stránek. Ujistěte se proto, že vaÅ¡e téma volá wp_footer" + +msgid "" +"When you activate this option, you need to update your permalink structure " +"one time." +msgstr "" +"Pokud aktivujete tuto možnost, budete muset jednorázově aktualizovat " +"strukturu trvalých odkazů." + +msgid "Where galleries and their images are stored" +msgstr "Kde jsou umístěny galerie a jejich obrázky" + +msgid "Where would you like galleries stored?" +msgstr "Kde chcete mít galerie uloženy?" + +msgid "Widget that displays Media RSS links for NextGEN Gallery." +msgstr "Widget, který pro NextGEN Gallery zobrazuje Media RSS odkaz." + +msgid "Width" +msgstr "Šířka" + +msgid "Width x Height" +msgstr "Šířka x Výška" + +msgid "Width x height (in pixel)" +msgstr "Šířka x výška (v pixelech)" + +msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size" +msgstr "Šířka x výška (v pixelech). NextGEN Gallery zachová poměr stran" + +msgid "Width:" +msgstr "Šířka:" + +msgid "With the placeholder" +msgstr "Se zástupným symbolem" + +msgid "XMP Data" +msgstr "XMP data" + +msgid "Yes" +msgstr "Ano" + +msgid "" +"You are about to start the bulk edit for %s galleries \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" +"Chystáte se hromadně upravit %s galerií \n" +"\n" +"'ZruÅ¡it' k zastavení, 'OK' pro potvrzení." + +msgid "" +"You are about to start the bulk edit for %s images \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" +"Chystáte se hromadně upravit %s obrázků \n" +"\n" +"'ZruÅ¡it' k zastavení, 'OK' pro potvrzení." + +msgid "You browser doesn't have Flash, Silverlight, HTML5, or HTML4 support." +msgstr "Váš prohlížeč nemá podporu Flash, Silverlight, HTML5, nebo HTML4." + +msgid "You can change the logo at the watermark settings" +msgstr "Logo můžete změnit v nastavení vodoznaku" + +msgid "You can specify multiple tags to delete by separating them with commas" +msgstr "Můžete definovat více Å¡títků ke smazání tím, že je oddělíte čárkami" + +msgid "You can specify multiple tags to rename by separating them with commas." +msgstr "Můžete vybrat více Å¡títků pro přejmenování oddělením čárkami." + +msgid "" +"You can upload more fonts in the folder nggallery/fonts" +msgstr "Více fontů můžete nahrát do složky nggallery/fonts" + +msgid "You could edit this file if it were writable" +msgstr "Tento soubor můžete změnit, pokud je zapisovatelný" + +msgid "You do not have sufficient permissions to edit templates for this blog." +msgstr "Nemáte dostatečné oprávnění k úpravě Å¡ablon pro tento blog." + +msgid "You do not have the correct permission" +msgstr "Nemáte správné oprávnění" + +msgid "You have attempted to queue too many files." +msgstr "Pokoušíte se zpracovat příliÅ¡ mnoho souborů najednou." + +msgid "You may only upload 1 file." +msgstr "Můžete nahrát pouze jeden soubor." + +msgid "" +"Your database tables for NextGEN Gallery is out-of-date, and must be " +"upgraded before you can continue." +msgstr "" +"Tabulky v databázi pro NextGEN Gallery jsou zastaralé a musejí být " +"aktualizovány předtím, než budete moci pokračovat." + +msgid "" +"Your theme contain a NextGEN Gallery stylesheet (nggallery.css), this file " +"will be used" +msgstr "" +"VaÅ¡e téma obsahuje NextGEN Gallery styl (nggallery.css), tento soubor bude " +"použit" + +msgid "Zip-File successfully unpacked" +msgstr "Soubor ZIP byl úspěšně rozbalen" + +msgid "[Gallery not found]" +msgstr "[Galerie nenalezena]" + +msgid "[Maximize]" +msgstr "[Maximalizovat]" + +msgid "[Minimize]" +msgstr "[Minimalizovat]" + +msgid "[Show PicLens]" +msgstr "[Ukázat PicLens]" + +msgid "[Show all]" +msgstr "[Zobrazit vÅ¡e]" + +msgid "[Show slideshow]" +msgstr "[Ukázat prezentaci]" + +msgid "[Show thumbnails]" +msgstr "[Ukázat náhledy]" + +msgid "[View with PicLens]" +msgstr "[Zobrazit pomocí PicLens]" + +msgid "and the thumbnails directory" +msgstr "a složku pro náhledy" + +msgid "bgfade" +msgstr "prolnutí přes pozadí" + +msgid "blindX" +msgstr "blindX" + +msgid "blocks" +msgstr "čtverce" + +msgid "bubbles" +msgstr "bubliny" + +msgid "circles" +msgstr "kruhy" + +msgid "cover" +msgstr "cover" + +msgid "created" +msgstr "vytvořeno" + +msgid "deleted successfully" +msgstr "úspěšně smazán" + +msgid "didn't exist. Please create first the main gallery folder " +msgstr "neexistuje. Nejdřív prosím vytvořte složku pro galerii" + +msgid "fade" +msgstr "prolnutí" + +msgid "false" +msgstr "ne" + +msgid "fit" +msgstr "přizpůsobit" + +msgid "flash" +msgstr "blesk" + +msgid "fluids" +msgstr "tekutiny" + +msgid "is no valid image file!" +msgstr "není správný soubor obrázku!" + +msgid "is not writeable !" +msgstr "nelze zapisovat!" + +msgid "lines" +msgstr "linie" + +msgid "link text" +msgstr "text odkazu" + +msgid "moved to the trash." +msgstr "přesunuto do koÅ¡e." + +msgid "none" +msgstr "nic" + +msgid "of" +msgstr "z" + +msgctxt "paging" +msgid "%1$s of %2$s" +msgstr "%1$s z %2$s" + +msgid "random" +msgstr "náhodný" + +msgid "recently added" +msgstr "naposledy přidané" + +msgid "scrollDown" +msgstr "scrollDown" + +msgid "scrollUp" +msgstr "scrollUp" + +msgid "sec." +msgstr "sec." + +msgid "shuffle" +msgstr "shuffle" + +msgid "slowfade" +msgstr "pomalé prolnutí" + +msgid "toss" +msgstr "toss" + +msgid "true" +msgstr "ano" + +msgid "wipe" +msgstr "wipe" + +msgid "with permission 777 manually !" +msgstr "s právy 777 ručně!" + +msgid "" +"you can activate a navigation through the images (depend on the effect). " +"Change the code line only , when you use a different thumbnail effect or you " +"know what you do." +msgstr "" +"můžete aktivovat navigaci skrze obrázky (podle efektu). Kód měňte pouze " +"pokud používáte jiný efekt náhledu, nebo víte, co děláte." diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-de_DE.mo b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-de_DE.mo new file mode 100644 index 0000000000000000000000000000000000000000..867423dd9b3391ba5d019d43dd59e79898bc4517 GIT binary patch literal 89994 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-de_DE.po b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-de_DE.po new file mode 100644 index 0000000..1ba5d2b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-de_DE.po @@ -0,0 +1,5929 @@ +msgid "" +msgstr "" +"Project-Id-Version: NextGEN Gallery\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-04-24 15:13+0100\n" +"PO-Revision-Date: 2014-04-24 15:14+0100\n" +"Last-Translator: \n" +"Language-Team: Alex Rabe\n" +"Language: de_DE\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-KeywordsList: __;_e;_n:1,2;esc_html_e;esc_attr_e;_n;esc_html__;" +"esc_attr__;esc_html;esc_js;_\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-SourceCharset: UTF-8\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Poedit 1.6.4\n" +"X-Poedit-SearchPath-0: .\n" +"X-Poedit-SearchPath-1: ../../nextgen-gallery-pro\n" +"X-Poedit-SearchPath-2: ..\n" + +#: ../../nextgen-gallery-pro/modules/autoupdate/module.autoupdate.php:17 +msgid "Photocrati Auto Update" +msgstr "Photocrati Automatisches Update" + +#: ../../nextgen-gallery-pro/modules/autoupdate/module.autoupdate.php:18 +msgid "Provides automatic updates" +msgstr "Stellt automatische Updates bereit" + +#: ../../nextgen-gallery-pro/modules/autoupdate/module.autoupdate.php:687 +msgid "Could not download package file." +msgstr "Konnte die Zip-Datei nicht herunterladen" + +#: ../../nextgen-gallery-pro/modules/autoupdate/module.autoupdate.php:757 +msgid "Could not " +msgstr "Konnte nicht" + +#: ../../nextgen-gallery-pro/modules/autoupdate/module.autoupdate.php:763 +msgid "No permission to " +msgstr "Keine Berechtigung um" + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:21 +msgid "Photocrati Auto Update Admin" +msgstr "Photocrati Administrator Automatisches Update" + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:22 +msgid "" +"Provides an AJAX admin interface to sequentially and progressively download " +"and install updates" +msgstr "" +"Bietet eine AJAX-Admin-Interface, um nacheinander und schrittweise Updates " +"herunterladen und zu installieren" + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:99 +msgid "No updates available. You are using the latest version of Photocrati." +msgstr "" +"Keine Updates verfügbar. Sie nutzen die aktuelle Version von Photocrati." + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:100 +msgid "An update is available." +msgstr "Ein Update ist verfügbar" + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:101 +msgid "Update size is {0} and a total of {1} will be downloaded." +msgstr "" +"Update Größe ist {0} und in der Summe von {1} wird heruntergeladen." + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:102 +msgid "" +"In order to update, we need to confirm that you are still an active member. " +"You'll be redirected to our site, prompted for the email address you used " +"during purchase, and returned here for the update. {2}This is part of a new " +"update mechanism, and you'll only need to do it once." +msgstr "" +"Um zu aktualisieren müssen Sie bestätigen, dass Sie ein aktives Mitglied " +"sind. Sie werden dazu auf unsere Website geleitet und aufgefordert die Email " +"Adresse einzugeben, die beim Kauf verwendet wurde. Danach werden Sie wieder " +"hierher geleitet und können das Update ausführen. {2} Das ist ein neuer " +"Update Kontrollmechanismus, den Sie nur einmal ausführen müssen. " + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:103 +msgid "Start confirmation" +msgstr "Starte Bestätigung" + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:104 +msgid "" +"Your updates cannot be installed because your membership has expired. You " +"can update in minutes and get immediate access to updates and support for an " +"additional year." +msgstr "" +"Ihre Updates können nicht installiert werden, weil Ihre Mitgliedschaft " +"abgelaufen ist. Sie können die Mitgliedschaft sofort erneuern und haben dann " +"wieder Support für ein zusätzliches Jahr." + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:105 +msgid "Renew my membership" +msgstr "Meine Mitgliedschaft erneuern" + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:106 +msgid "Start Update" +msgstr "Update starten" + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:107 +msgid "Return to dashboard" +msgstr "Zurück zum Dashboard gehen" + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:108 +msgid "Success! Everything is now up-to-date." +msgstr "Erfolgreich! Alles ist nun auf dem aktuellen Stand." + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:109 +msgid "Click Start Update to begin the upgrade process." +msgstr "" +"Klicke Update starten um den Aktualisierungsprozess zu beginnen." + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:110 +msgid "Preparing upgrade process..." +msgstr "Der Upgrade Prozess wird vorbereitet..." + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:111 +msgid "Downloading package {1} of {0}..." +msgstr "Download Paket {1} von {0}..." + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:112 +msgid "Installing package {1} of {0}..." +msgstr "Installiere Paket {1} von {0}..." + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:113 +msgid "Activating packages..." +msgstr "Pakete werden aktiviert..." + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:114 +msgid "Cleaning up..." +msgstr "Aufräumen" + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:115 +msgid "Update was canceled." +msgstr "Das Update wurde abgebrochen." + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:116 +msgid "An error occurred during your update ({0})." +msgstr "Während des Updates trat ein Fehler auf ({0})." + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:117 +msgid "Show Update Log" +msgstr "Zeige das Update Protokoll" + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:118 +msgid "Download Update Log" +msgstr "Das Update Protokoll herunterladen" + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:207 +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/templates/admin_page.php:2 +msgid "Photocrati Updates" +msgstr "Photocrati Updates" + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:207 +msgid "Photocrati" +msgstr "Photocrati" + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:219 +msgid "Welcome to Photocrati" +msgstr "Willkommen bei Photocrati" + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:261 +msgid "version" +msgstr "Version" + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:292 +msgid "You are using the following products:" +msgstr "Du nutzt die folgenden Produkte:" + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/module.autoupdate_admin.php:295 +msgid "You are using" +msgstr "Du verwendest" + +#: ../../nextgen-gallery-pro/modules/autoupdate_admin/templates/admin_page.php:4 +msgid "Loading..." +msgstr "Wird geladen..." + +#: ../../nextgen-gallery-pro/modules/comments/module.comments.php:19 +#: ../../nextgen-gallery-pro/modules/comments/module.comments.php:88 +#: ../../nextgen-gallery-pro/modules/comments/templates/comments.php:171 +msgid "Comments" +msgstr "Kommentare" + +#: ../../nextgen-gallery-pro/modules/comments/module.comments.php:20 +msgid "AJAX operations for retrieving and creating comments on arbitrary items" +msgstr "" +"AJAX Operationen zum Abrufen und Erstellen von Kommentaren auf beliebigen " +"Artikeln" + +#: ../../nextgen-gallery-pro/modules/comments/module.comments.php:89 +msgid "Comment" +msgstr "Kommentar" + +#: ../../nextgen-gallery-pro/modules/comments/templates/comments.php:28 +#, php-format +msgid "%1$s" +msgstr "%1$s" + +#: ../../nextgen-gallery-pro/modules/comments/templates/comments.php:37 +msgid "Reply" +msgstr "Antworten" + +#: ../../nextgen-gallery-pro/modules/comments/templates/comments.php:49 +msgid "Your comment is awaiting moderation." +msgstr "Dein Kommentar wartet auf Freischaltung durch den Moderator." + +#: ../../nextgen-gallery-pro/modules/comments/templates/comments.php:119 +msgid "»" +msgstr "»" + +#: ../../nextgen-gallery-pro/modules/comments/templates/comments.php:135 +msgid "«" +msgstr "«" + +#: ../../nextgen-gallery-pro/modules/comments/templates/comments.php:145 +msgid "Hide comments" +msgstr "Kommentare verstecken" + +#: ../../nextgen-gallery-pro/modules/comments/templates/comments.php:151 +#, php-format +msgid "%1$s comment" +msgid_plural "%1$s comments" +msgstr[0] "%1$s Kommentar" +msgstr[1] "%1$s Kommentare" + +#: ../../nextgen-gallery-pro/modules/comments/templates/comments.php:168 +msgid "Comments are closed." +msgstr "Kommentare nicht möglich." + +#: ../../nextgen-gallery-pro/modules/comments/templates/comments.php:177 +msgid "Click here to cancel reply" +msgstr "Klicke hier um die Antwort abzubrechen" + +#: ../../nextgen-gallery-pro/modules/comments/templates/comments.php:186 +#, php-format +msgid "" +"You must be logged in to post a " +"comment." +msgstr "" +"Du musst eingeloggt sein um einen " +"Kommentar schreiben zu können." + +#: ../../nextgen-gallery-pro/modules/comments/templates/comments.php:187 +msgid "Leave a comment" +msgstr "Hinterlasse einen Kommentar" + +#: ../../nextgen-gallery-pro/modules/galleria/module.galleria.php:17 +msgid "Galleria" +msgstr "Galerie" + +#: ../../nextgen-gallery-pro/modules/galleria/module.galleria.php:18 +msgid "Provides support for displaying galleries using Galleria Themes" +msgstr "" +"Bietet Support für die Anzeige von Bildergalerien innerhalb der NextGen " +"Gallery" + +#: ../../nextgen-gallery-pro/modules/image_protection/adapter.protect_image_admin_controller.php:8 +msgid "Site Protection" +msgstr "Downloadschutz" + +#: ../../nextgen-gallery-pro/modules/image_protection/adapter.protect_image_admin_controller.php:8 +msgid "C_Protect_Image_Settings" +msgstr "C_Bildschutz Einstellungen" + +#: ../../nextgen-gallery-pro/modules/image_protection/module.protect_image.php:19 +msgid "Protect Images" +msgstr "Bilder Downloadschutz" + +#: ../../nextgen-gallery-pro/modules/image_protection/module.protect_image.php:20 +msgid "" +"Protects images from being stored locally by preventing right clicks and " +"drag & drop of the images" +msgstr "" +"Schützt Bilder vor einem unbefugten Download durch Rechtsklick oder kopieren " +"der Bilder" + +#: ../../nextgen-gallery-pro/modules/image_protection/templates/protect_image_settings_form.php:5 +msgid "Protect whole site:" +msgstr "Schalte den Downloadschutz für die ganze Seite ein:" + +#: ../../nextgen-gallery-pro/modules/image_protection/templates/protect_image_settings_form.php:9 +#: ../../nextgen-gallery-pro/modules/image_protection/templates/protect_image_settings_form.php:21 +#: ../../nextgen-gallery-pro/modules/image_protection/templates/protect_image_settings_form.php:33 +#: ../../nextgen-gallery-pro/modules/image_protection/templates/protect_image_settings_form.php:45 +#: ../products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_radio.php:16 +#: ../products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_radio.php:16 +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:122 +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:24 +#: ../products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:40 +#: ../products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:65 +#: ../products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:191 +#: ../products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php:37 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:486 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:533 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:536 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:539 +msgid "Yes" +msgstr "Ja" + +#: ../../nextgen-gallery-pro/modules/image_protection/templates/protect_image_settings_form.php:10 +#: ../../nextgen-gallery-pro/modules/image_protection/templates/protect_image_settings_form.php:22 +#: ../../nextgen-gallery-pro/modules/image_protection/templates/protect_image_settings_form.php:34 +#: ../../nextgen-gallery-pro/modules/image_protection/templates/protect_image_settings_form.php:46 +#: ../products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_radio.php:24 +#: ../products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_radio.php:24 +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:123 +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:23 +#: ../products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:47 +#: ../products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:72 +#: ../products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:198 +#: ../products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php:44 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:488 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:534 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:537 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:540 +msgid "No" +msgstr "Nein" + +#: ../../nextgen-gallery-pro/modules/image_protection/templates/protect_image_settings_form.php:17 +msgid "Protect all site images:" +msgstr "Schalte den Downloadschutz für alle Bilder auf der Seite ein:" + +#: ../../nextgen-gallery-pro/modules/image_protection/templates/protect_image_settings_form.php:29 +msgid "Protect gallery images:" +msgstr "Schütze Galeriebilder:" + +#: ../../nextgen-gallery-pro/modules/image_protection/templates/protect_image_settings_form.php:41 +msgid "Protect lightbox pop-ups:" +msgstr "Schütze Lightbox Bilder:" + +#: ../../nextgen-gallery-pro/modules/image_protection/templates/protect_settings_form.php:5 +msgid "Enable protection on whole site:" +msgstr "Schalte den Downloadschutz für die ganze Seite ein:" + +#: ../../nextgen-gallery-pro/modules/image_protection/templates/protect_settings_form.php:16 +msgid "Enable protection on all site images:" +msgstr "Schalte den Downloadschutz für alle Bilder auf der Seite ein:" + +#: ../../nextgen-gallery-pro/modules/image_protection/templates/protect_settings_form.php:27 +msgid "Enable protection on gallery images:" +msgstr "Schalte den Downloadschutz für Galeriebilder ein:" + +#: ../../nextgen-gallery-pro/modules/image_protection/templates/protect_settings_form.php:38 +msgid "Enable protection on lightbox pop-ups:" +msgstr "Schalte den Downloadschutz für Lightbox Bilder ein:" + +#: ../../nextgen-gallery-pro/modules/lazyload_gallery/module.lazyload_gallery.php:14 +msgid "LazyLoad Gallery Engine" +msgstr "" +"Galerie lädt nur im Bildschirm sichtbare Bilder (Performance Steigerung)" + +#: ../../nextgen-gallery-pro/modules/lazyload_gallery/module.lazyload_gallery.php:15 +msgid "Provides an engine for galleries that require lazyload capabilities" +msgstr "" +"Nur im Bildschirm sichtbare Bilder werden mit dieser Technik geladen " +"(Performance Steigerung)" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_albums/adapter.nextgen_pro_album_form.php:57 +#: ../products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:25 +msgid "Display galleries as" +msgstr "Galerien anzeigen als" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_albums/adapter.nextgen_pro_album_form.php:60 +#: ../products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:26 +msgid "How would you like galleries to be displayed?" +msgstr "Wie möchtest Du Galerien gerne zeigen?" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_albums/adapter.nextgen_pro_album_form.php:79 +msgid "Caption size" +msgstr "Schriftgröße der Beschreibung" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_albums/adapter.nextgen_pro_album_form.php:93 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_blog_gallery/adapter.nextgen_pro_blog_form.php:57 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_film/adapter.nextgen_pro_film_form.php:79 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_slideshow/adapter.nextgen_pro_slideshow_form.php:183 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_thumbnail_grid/adapter.nextgen_pro_thumbnail_grid_form.php:100 +msgid "Border color" +msgstr "Rahmenfarbe" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_albums/adapter.nextgen_pro_album_form.php:103 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_blog_gallery/adapter.nextgen_pro_blog_form.php:43 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_film/adapter.nextgen_pro_film_form.php:65 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_slideshow/adapter.nextgen_pro_slideshow_form.php:169 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_thumbnail_grid/adapter.nextgen_pro_thumbnail_grid_form.php:65 +msgid "Border size" +msgstr "Rahmengröße" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_albums/adapter.nextgen_pro_album_form.php:117 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:101 +msgid "Background color" +msgstr "Hintergrund (BG) Farbe" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_albums/adapter.nextgen_pro_album_form.php:127 +msgid "Padding" +msgstr "Innenabstand" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_albums/adapter.nextgen_pro_album_form.php:141 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_thumbnail_grid/adapter.nextgen_pro_thumbnail_grid_form.php:79 +msgid "Spacing" +msgstr "Abstand" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_albums/adapter.nextgen_pro_list_album_form.php:26 +msgid "Description color" +msgstr "Farbe der Beschreibung" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_albums/adapter.nextgen_pro_list_album_form.php:36 +msgid "Description size" +msgstr "Schriftgröße der Beschreibung" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_albums/module.nextgen_pro_albums.php:18 +msgid "NextGEN Pro Albums" +msgstr "NextGen Pro Bilderalben" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_albums/module.nextgen_pro_albums.php:19 +msgid "Provides Photocrati styled albums for NextGEN Gallery" +msgstr "Bietet von Photocrati gestylte Alben für die NextGEN Galerie" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_blog_gallery/adapter.nextgen_pro_blog_form.php:67 +msgid "Image display size" +msgstr "Bildegröße" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_blog_gallery/adapter.nextgen_pro_blog_form.php:69 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_blog_gallery/adapter.nextgen_pro_blog_form.php:83 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_masonry/adapter.nextgen_pro_masonry_form.php:28 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_masonry/adapter.nextgen_pro_masonry_form.php:39 +msgid "Measured in pixels" +msgstr "Gemessen in Pixel" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_blog_gallery/adapter.nextgen_pro_blog_form.php:81 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_film/adapter.nextgen_pro_film_form.php:113 +msgid "Image spacing" +msgstr "Bildabstand" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_blog_gallery/module.nextgen_pro_blog_gallery.php:14 +msgid "NextGEN Pro Blog Gallery" +msgstr "NextGEN Pro Blog Galerie" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_blog_gallery/module.nextgen_pro_blog_gallery.php:15 +msgid "Provides Photocrati's Blog Style gallery type for NextGEN Gallery" +msgstr "Bietet den Photocrati Blog Stil Galerie Typ für die NextGEN Galerie" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_film/adapter.nextgen_pro_film_form.php:51 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_thumbnail_grid/adapter.nextgen_pro_thumbnail_grid_form.php:51 +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:65 +msgid "Images per page" +msgstr "Anzahl der Bilder pro Seite" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_film/adapter.nextgen_pro_film_form.php:53 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_thumbnail_grid/adapter.nextgen_pro_thumbnail_grid_form.php:53 +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:67 +msgid "\"0\" will display all images at once" +msgstr "\"0\" wird alle Bilder sofort anzeigen" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_film/adapter.nextgen_pro_film_form.php:89 +msgid "Frame size" +msgstr "Umrahmungsgröße" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_film/adapter.nextgen_pro_film_form.php:103 +msgid "Frame color" +msgstr "Umrahmungsfarbe" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_film/module.nextgen_pro_film.php:14 +msgid "NextGEN Pro Film" +msgstr "NextGen Pro Film" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_film/module.nextgen_pro_film.php:15 +msgid "Provides a film-like gallery for NextGEN Gallery" +msgstr "Bietet eine Photocrati Film Galerie für die NextGEN Gallerie" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_horizontal_filmstrip/module.nextgen_pro_horizontal_filmstrip.php:15 +msgid "NextGEN Pro Horizontal Filmstrip" +msgstr "NextGen Pro Horizontale Filmstreifen" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_horizontal_filmstrip/module.nextgen_pro_horizontal_filmstrip.php:16 +msgid "Provides Photocrati's Horizontal Filmstrip for NextGEN Gallery" +msgstr "" +"Bietet die Photocrati Horizontal Filmstreifen Technik für die NextEN-Galerie" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:62 +msgid "Router slug" +msgstr "Router Slug" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:64 +msgid "Used to route JS actions to the URL" +msgstr "Wird gebraucht um Javascript Aktionen zu aktivieren " + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:79 +msgid "Icon color" +msgstr "Farbe des Icon" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:81 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:92 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:103 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:114 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:125 +msgid "An empty setting here will use your style defaults" +msgstr "Ein leeres Feld oder \"0\" erzeugt Standard-Einstellungen" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:90 +msgid "Carousel text color" +msgstr "Textfarbe im Karussell" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:112 +msgid "Carousel background color" +msgstr "Hintergrund (BG) Farbe im Karussell" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:123 +msgid "Sidebar background color" +msgstr "Hintergrund (BG) Farbe der Seitenleiste" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:134 +msgid "Pan cropped images" +msgstr "Beschnittene Breitwandbilder" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:136 +msgid "When enabled images can be panned with the mouse" +msgstr "Bei Aktivierung können Bilder mit der Maus bewegt werden" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:145 +msgid "Pause on interaction" +msgstr "Pause bei Interaktion" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:147 +msgid "" +"When enabled image display will be paused if the user presses a thumbnail or " +"any navigational link" +msgstr "" +"Bei Aktivierung wird kein Bild gezeigt, wenn gerade ein Vorschau- oder ein " +"anderer Navigierungslink aktiviert ist" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:156 +msgid "Enable browser routing" +msgstr "Browser-Routing aktivieren" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:158 +msgid "Necessary for commenting to be enabled" +msgstr "Um Kommentare zu ermöglichen bitte aktivieren" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:167 +msgid "Enable comments" +msgstr "Kommentare aktivieren" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:179 +msgid "Display comments" +msgstr "Kommentare anzeigen" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:181 +msgid "When on the commenting sidebar will be opened at startup" +msgstr "Wenn aktiviert, wird die Sidebar für Kommentare beim Start geöffnet" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:191 +msgid "Display captions" +msgstr "Zeige Bildbeschreibungen" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:193 +msgid "When on the captions toolbar will be opened at startup" +msgstr "Wenn aktiviert, werden die Titel der Bilder beim Start angezeigt" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:202 +msgid "Display carousel" +msgstr "Karussell zeigen" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:204 +msgid "" +"When disabled the navigation carousel will be docked and hidden offscreen at " +"startup" +msgstr "" +"Wenn deaktiviert, ist die Karussell Anzeige nicht sichtbar und muss " +"eingeblendet werden." + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:213 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_slideshow/adapter.nextgen_pro_slideshow_form.php:155 +msgid "Transition speed" +msgstr "Übergangsgeschwindigkeit" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:215 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:229 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_slideshow/adapter.nextgen_pro_slideshow_form.php:124 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_slideshow/adapter.nextgen_pro_slideshow_form.php:157 +msgid "Measured in seconds" +msgstr "Gemessen in Sekunden" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:227 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_slideshow/adapter.nextgen_pro_slideshow_form.php:122 +msgid "Slideshow speed" +msgstr "Slideshow Geschwindigkeit" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:244 +msgid "Default: a dark theme" +msgstr "Standard: Ein dunkles Thema (eigene Styles anlegen)" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:252 +msgid "Style" +msgstr "Style" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:255 +msgid "" +"Preset styles to customize the display. Selecting an option may reset some " +"color fields." +msgstr "" +"CSS Styles zurücksetzen um das Aussehen anzupassen. Bei Auswahl dieser " +"Option können vorher gewählte Farben verloren gehen. " + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:262 +msgid "Crossfade betweens images" +msgstr "Blendet von Bild zu Bild" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:263 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_slideshow/adapter.nextgen_pro_slideshow_form.php:139 +msgid "Fades into background color between images" +msgstr "Blendet die Hintergrundfarbe zwischen den Bildern ein" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:264 +msgid "" +"Quickly removes the image into background color, then fades the next image" +msgstr "" +"Das Bild wechselt schnell zur Hintergrundfarbe und dann Wechsel zu weiterem " +"Bild" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:265 +msgid "Slides the images depending on image position" +msgstr "" +"Verschiebt die Bilder je nach Bildposition (von links, von rechts, von oben " +"oder unten)" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:266 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_slideshow/adapter.nextgen_pro_slideshow_form.php:142 +msgid "Fade between images and slide slightly at the same time" +msgstr "Wechselt (Blende) oder verschiebt die Bilder zur gleichen Zeit " + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:275 +#: ../../nextgen-gallery-pro/modules/nextgen_pro_slideshow/adapter.nextgen_pro_slideshow_form.php:136 +msgid "Transition effect" +msgstr "Effekt Bildübergang" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:286 +msgid "Touch transition effect" +msgstr "Übergangseffekt bei Maus Berührung" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:289 +msgid "" +"The transition to use on touch devices if the default transition is too " +"intense" +msgstr "" +"Diesen Übergang für Touch Screens nutzen wenn der Standard Übergang zu " +"intensiv ist" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:298 +msgid "Crop image display" +msgstr "Bild ausschneiden" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:300 +msgid "Images will be scaled to fill the display, centered and cropped" +msgstr "Bilder werden skaliert auf ein Vollbild, zentriert und geschnitten" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:301 +msgid "Images will be scaled down until the entire image fits" +msgstr "" +"Die Bilder werden nach unten skaliert, bis das gesamte Bild passt. (kein " +"Ausschnitt) " + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:302 +msgid "Images will scale to fill the height of the display" +msgstr "Die Bilder werden vertikal skaliert bis zur Hoehe des Bildschirms" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:303 +msgid "Images will scale to fill the width of the display" +msgstr "Die Bilder werden horizontal skaliert bis zur Breite des Bildschirms" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:304 +msgid "Landscape images will fill the display, but scale portraits to fit" +msgstr "" +"Horizontal (Querformat) ausgerichtete Bilder sind Vollbilder im Bildschirm " +"aber vertikal (Hochformat) ausgerichtete Bilder werden geschnitten" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_form.php:305 +msgid "Portrait images will fill the display, but scale landscapes to fit" +msgstr "" +"Vertikal (Hochformat) ausgerichtete Bilder sind Vollbilder im Bildschirm " +"aber horizontal (Querformat) ausgerichtete Bilder werden geschnitten" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_triggers_form.php:57 +msgid "Display Triggers" +msgstr "Anzeige Icons unter Vorschaubild" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_triggers_form.php:58 +msgid "Always" +msgstr "Immer" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_triggers_form.php:58 +msgid "Exclude Small Screens" +msgstr "Ohne kleine Vorschaubilder " + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_triggers_form.php:58 +msgid "Never" +msgstr "Niemals" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_triggers_form.php:69 +msgid "Plain" +msgstr "Ebene" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/adapter.nextgen_pro_lightbox_triggers_form.php:69 +msgid "Fancy" +msgstr "Phantasie" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/module.nextgen_pro_lightbox.php:17 +msgid "NextGEN Pro Lightbox" +msgstr "NextGen Pro Lightbox Technik" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_lightbox/module.nextgen_pro_lightbox.php:18 +msgid "" +"Provides a lightbox with integrated commenting, social sharing, and e-" +"commerce functionality" +msgstr "" +"Bietet eine Lightbox mit integrierter Kommentarfunktion, Social Buttons und " +"E-Commerce Funktionalität" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_masonry/adapter.nextgen_pro_masonry_form.php:26 +msgid "Maximum image width" +msgstr "Maximale Bildbreite" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_masonry/adapter.nextgen_pro_masonry_form.php:37 +msgid "Image padding" +msgstr "Bildabstand" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_masonry/module.nextgen_pro_masonry.php:17 +msgid "NextGEN Pro Masonry" +msgstr "" +"NextGen Pro Masonry (Bildet Bilder ab in vertikaler und horizontaler " +"Position ab)" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_masonry/module.nextgen_pro_masonry.php:18 +msgid "Provides the NextGEN Pro Masonry Display Type" +msgstr "" +"Bietet den Photocrati NextGEN Pro Masonry Abbildungs Typ (Horizontal und " +"vertikal zusammen)" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_slideshow/adapter.nextgen_pro_slideshow_form.php:55 +#: ../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:359 +msgid "Gallery width" +msgstr "Galerie Breite" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_slideshow/adapter.nextgen_pro_slideshow_form.php:61 +#: ../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:365 +msgid "Pixels" +msgstr "Pixel" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_slideshow/adapter.nextgen_pro_slideshow_form.php:61 +#: ../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:365 +msgid "Percent" +msgstr "Prozent" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_slideshow/adapter.nextgen_pro_slideshow_form.php:72 +msgid "Crop images" +msgstr "Bild ausschneiden" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_slideshow/adapter.nextgen_pro_slideshow_form.php:82 +msgid "Pan images" +msgstr "Breitwandbilder" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_slideshow/adapter.nextgen_pro_slideshow_form.php:94 +msgid "Show captions" +msgstr "Beschriftung zeigen" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_slideshow/adapter.nextgen_pro_slideshow_form.php:104 +msgid "Caption location" +msgstr "Platzierung der Beschreibung" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_slideshow/adapter.nextgen_pro_slideshow_form.php:106 +msgid "Top" +msgstr "Oben" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_slideshow/adapter.nextgen_pro_slideshow_form.php:107 +msgid "Bottom" +msgstr "Unten" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_slideshow/adapter.nextgen_pro_slideshow_form.php:108 +msgid "Top (Overlay)" +msgstr "Im Overlay oben" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_slideshow/adapter.nextgen_pro_slideshow_form.php:109 +msgid "Bottom (Overlay)" +msgstr "Im Overlay unten" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_slideshow/adapter.nextgen_pro_slideshow_form.php:138 +msgid "Crossfade between images" +msgstr "Bilder ueberblenden" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_slideshow/adapter.nextgen_pro_slideshow_form.php:140 +msgid "" +"Quickly move the image into the background color, then fade into the next " +"image" +msgstr "" +"Schneller Wechsel vom Bild zur Hintergrundfarbe, dann Wechsel zum folgenden " +"Bild " + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_slideshow/adapter.nextgen_pro_slideshow_form.php:141 +msgid "Slide images depending on image position" +msgstr "" +"Verschiebt Bilder je nach der Bildposition (von links, von rechts, von oben " +"oder unten)" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_slideshow/adapter.nextgen_pro_slideshow_form.php:195 +msgid "Stage aspect ratio" +msgstr "Darstellung Bildseitenverhältnis" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_slideshow/adapter.nextgen_pro_slideshow_form.php:208 +msgid "Show play controls" +msgstr "Steuerkontrollen zeigen" + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_thumbnail_grid/adapter.nextgen_pro_thumbnail_grid_form.php:89 +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:85 +msgid "Number of columns to display" +msgstr "Anzahl Spalten " + +#: ../../nextgen-gallery-pro/modules/nextgen_pro_thumbnail_grid/adapter.nextgen_pro_thumbnail_grid_form.php:91 +msgid "An empty or zero in this field will use a responsive layout" +msgstr "" +"Ein leeres Feld oder eine 0 in diesem Feld erzeugt ein responsives Layout" + +#: ../../nextgen-gallery-pro/nggallery-pro.php:91 +#, php-format +msgid "There are updates available. You can Update Now." +msgstr "" +"Es sind Updates verfügbar. Du kannst jetzt aktualisieren." + +#: ../../nextgen-gallery-pro/nggallery-pro.php:137 +msgid "" +"Please install & activate NextGEN Gallery to allow NextGEN Gallery " +"Pro to work." +msgstr "" +"Bitte installiere & aktiviere zuerst die NextGEN Gallery um NextGEN " +"Gallery Pro in Betrieb zu nehmen." + +#: ../../nextgen-gallery-pro/nggallery-pro.php:151 +msgid "" +"To activate the NextGEN Gallery Pro Lightbox please go to Gallery > Other " +"Options > Lightbox Effects." +msgstr "" +"Um die NextGEN Gallery Pro Lightbox zu aktivieren, geh bitte im Dashbord zu " +"Galerie > Andere Optionen > Lightbox Effekte" + +#: ../nggallery.php:297 +#, php-format +msgid "Every %d seconds" +msgstr "Alle %d Sekunden" + +#: ../products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:157 +msgid "Album: " +msgstr "Album" + +#: ../products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:159 +msgid "Gallery: " +msgstr "Galerie" + +#: ../products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:177 +msgid "Missing parameters" +msgstr "Parameter werden vermisst" + +#: ../products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:213 +msgid "Displayed gallery does not exist" +msgstr "Die ausgewählte Galerie existiert nicht" + +#: ../products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:216 +msgid "Invalid request" +msgstr "Ungültige Anfrage" + +#: ../products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:248 +msgid "NextGEN Gallery - Attach To Post" +msgstr "NextGEN Gallery - Beitrag schreiben" + +#: ../products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:266 +msgid "Display Galleries" +msgstr "Galerien anzeigen" + +#: ../products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:273 +#: ../products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_controller.php:7 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:192 +msgid "Add Gallery / Images" +msgstr "Galerie / Bilder hinzufügen" + +#: ../products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:280 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:160 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:194 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:168 +msgid "Manage Galleries" +msgstr "Galerien verwalten" + +#: ../products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:287 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:161 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:196 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:404 +msgid "Manage Albums" +msgstr "Verwalte Alben" + +#: ../products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:294 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:162 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:198 +msgid "Manage Tags" +msgstr "Tags verwalten" + +#: ../products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:115 +msgid "What would you like to display?" +msgstr "Was möchtest Du gerne zeigen?" + +#: ../products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:139 +msgid "Select a display type" +msgstr "Layout auswählen" + +#: ../products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:162 +msgid "Customize the display settings" +msgstr "Layout Einstellungen bearbeiten" + +#: ../products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:253 +msgid "No display type selected" +msgstr "Kein Anzeigentyp gewählt" + +#: ../products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:271 +msgid "Sort or Exclude Images" +msgstr "Sortiere oder schließe Bilder aus" + +#: ../products/photocrati_nextgen/modules/attach_to_post/module.attach_to_post.php:186 +msgid "Invalid Displayed Gallery" +msgstr "Defekte Galerie wird angezeigt" + +#: ../products/photocrati_nextgen/modules/lightbox/module.lightbox.php:22 +msgid "Provides integration with several JavaScript lightbox effect libraries" +msgstr "" +"Bietet die Integration mit mehreren JavaScript Lightbox-Effekt-Bibliotheken" + +#: ../products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.import_folder_form.php:7 +#: ../products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:6 +msgid "Import Folder" +msgstr "Ordner importieren" + +#: ../products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.upload_images_form.php:7 +msgid "Upload Images" +msgstr "Bilder hochladen" + +#: ../products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:1 +msgid "" +"Select a folder to import. The folder name will be used as the title of the " +"gallery." +msgstr "" +"Wähle einen Ordner aus um ihn zu importieren. Der Name des Ordners wird " +"als Galerie Name eingetragen." + +#: ../products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:5 +msgid "Keep images in original location." +msgstr "Bilder im ursprünglichen Speicherort belassen." + +#: ../products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:5 +msgid "" +"Caution: If you keep images in the original folder and later delete the " +"gallery, the images in that folder might be deleted depending on your " +"settings." +msgstr "" +"Achtung: Wenn Bilder im Original Ordner sind und später die Galerie gelöscht " +"wird, kann es sein, abhängig von den Einstellungen, dass auch der Ordner " +"gelöscht wird." + +#: ../products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:2 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:158 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:171 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:189 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:458 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:515 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:814 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:457 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:286 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:317 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:318 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:217 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:226 +msgid "Gallery" +msgstr "Galerie" + +#: ../products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:4 +msgid "Create a new gallery" +msgstr "Eine neue Galerie erzeugen" + +#: ../products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:13 +msgid "You browser doesn't have Flash, Silverlight, HTML5, or HTML4 support." +msgstr "Dein Browser unterstützt kein Flash, Silverlight, HTML5, oder HTML4." + +#: ../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:226 +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:167 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:537 +msgid "Enable AJAX pagination" +msgstr "Aktiviere AJAX-Navigation" + +#: ../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:238 +msgid "Override thumbnail settings" +msgstr "Vorschaubild-Einstellungen überschreiben" + +#: ../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:240 +msgid "" +"This does not affect existing thumbnails; overriding the thumbnail settings " +"will create an additional set of thumbnails. To change the size of existing " +"thumbnails please visit 'Manage Galleries' and choose 'Create new " +"thumbnails' for all images in the gallery." +msgstr "" +"Dies betrifft nicht vorhandene Vorschaubilder. Das Überschreiben der " +"Vorschaubilder-Einstellungen erzeugt einen zusätzlichen Satz von " +"Vorschaubildern. Um die Größen der bestehenden Vorschaubilder zu ändern, " +"besuche bitte den Navigationspunkt \"Galerien verwalten\" und wähle \"Neue " +"Vorschaubilder erstellen\" für alle Bilder in der Galerie." + +#: ../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:248 +#: ../products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:37 +msgid "Thumbnail dimensions" +msgstr "Vorschaubilder Einstellungen" + +#: ../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:262 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:431 +msgid "Thumbnail quality" +msgstr "Vorschaubild Qualität" + +#: ../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:272 +msgid "Thumbnail crop" +msgstr "Vorschaubild ausschneiden" + +#: ../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:281 +msgid "Thumbnail watermark" +msgstr "Vorschaubild Wasserzeichen" + +#: ../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:306 +msgid "Override image settings" +msgstr "Bild-Einstellungen überschreiben" + +#: ../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:308 +msgid "Overriding the image settings will create an additional set of images" +msgstr "" +"Das überschreiben der Bildeinstellungen erzeugt ein zusätzliches Bilderset" + +#: ../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:316 +#: ../products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:66 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:456 +msgid "Image quality" +msgstr "Bild Qualität" + +#: ../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:326 +msgid "Image crop" +msgstr "Bild ausschneiden" + +#: ../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:335 +msgid "Image watermark" +msgstr "Bild Wasserzeichen" + +#: ../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:361 +msgid "An empty or \"0\" setting will make the gallery full width" +msgstr "" +"Ein leeres Feld oder \"0\" erzeugt eine Galerie in voller Bildschirmbreite" + +#: ../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:374 +msgid "First Image" +msgstr "Erstes Bild" + +#: ../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:375 +msgid "Average" +msgstr "Durchschnitt" + +#: ../products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:100 +msgid "Clear" +msgstr "Leeren" + +#: ../products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:101 +msgid "Default" +msgstr "Standard" + +#: ../products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:102 +msgid "Select Color" +msgstr "Farbe wählen" + +#: ../products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:103 +msgid "Current Color" +msgstr "Aktuelle Farbe" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:28 +msgid "Galleries per page" +msgstr "Galerien pro Seite" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:47 +msgid "Items per page" +msgstr "Produkte pro Seite" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:48 +msgid "Maximum number of galleries or sub-albums to appear on a single page" +msgstr "" +"Maximale Anzahl von Galerien oder Unteralbums die auf einer Einzelseite " +"angezeigt werden" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_album/templates/compact.php:28 +#: ../products/photocrati_nextgen/modules/nextgen_basic_album/templates/extended.php:15 +#: ../products/photocrati_nextgen/modules/ngglegacy/view/album-compact.php:45 +#: ../products/photocrati_nextgen/modules/ngglegacy/view/album-extend.php:31 +msgid "Photos" +msgstr "Fotos" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_mapper.php:94 +msgid "[Show PicLens]" +msgstr "Bildershow zeigen" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:63 +msgid "Interval" +msgstr "Interval" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:77 +msgid "Image limit" +msgstr "Bild Limit" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:79 +msgid "Maximum number of images to display with recent or random sources" +msgstr "" +"Maximale Anzahl von Bildern mit den aktuellsten oder zufälligen Einstellungen" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:91 +msgid "Effect" +msgstr "Effekt" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:112 +msgid "Maximum dimensions" +msgstr "Größte Dimensionen" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:123 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:765 +msgid "Enable flash slideshow" +msgstr "Aktiviere Flash Slideshow" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:125 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:767 +msgid "Integrate the flash based slideshow for all flash supported devices" +msgstr "Verwende die Flash Slideshow für alle Flash-unterstützte Geräte" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:134 +msgid "Shuffle" +msgstr "Stapeln" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:146 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:782 +msgid "Show next image on click" +msgstr "Zeige nächstes Bild bei Klick" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:158 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:786 +msgid "Show navigation bar" +msgstr "Zeige Navigations-Leiste" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:170 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:790 +msgid "Show loading icon" +msgstr "Zeige Lade-Bildchen" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:182 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:794 +msgid "Use watermark logo" +msgstr "Wasserzeichen anzeigen" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:184 +msgid "" +"Use the watermark image in the Flash object. Note: this does not watermark " +"the image itself, and cannot be applied with text watermarks" +msgstr "" +"Nutze das Wasserzeichen im Flash Objekt. Achtung: Diese Einstellung markiert " +"das Bild selbst nicht mit einem Wasserzeichen und kann auch nicht mit einem " +"Text-Wasserzeichen ergänzt werden. " + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:194 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:799 +msgid "Stretch image" +msgstr "Bild dehnen" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:207 +msgid "Transition / fade effect" +msgstr "Fade Effekt" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:231 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:827 +msgid "Use slow zooming effect" +msgstr "nutze Zoom-Effekt" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:243 +msgid "Background music (url)" +msgstr "Hintergrundmusik (URL)" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:256 +msgid "Try XHTML validation" +msgstr "Integriere XHTML-Validierung (mittels CDATA)" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:258 +msgid "Uses CDATA. Important: Could cause problems with some older browsers" +msgstr "" +"Nutzung von CDATA, Wichtig : Es könnten Probleme bei älteren Browsern " +"entstehen." + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:268 +msgid "Background" +msgstr "Hintergrund" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:280 +msgid "Text / buttons" +msgstr "Text / Buttons" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:292 +msgid "Rollover / active" +msgstr "Rollover / Aktiv " + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:304 +msgid "Screen" +msgstr "Bildschirm" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:322 +msgid "Show thumbnail link" +msgstr "Zeige den Link zum Vorschaubild" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:338 +msgid "Thumbnail link text" +msgstr "Vorschaubild Link-Text" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:105 +msgid "Piclens link text" +msgstr "Piclens Link-Text" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:123 +msgid "Show piclens link" +msgstr "Zeige den Piclens Bildtext" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:139 +msgid "Add Hidden Images" +msgstr "Versteckte Bilder hinzufügen" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:141 +msgid "" +"If pagination is used this option will show all images in the modal window " +"(Thickbox, Lightbox etc.) This increases page load." +msgstr "" +"Wenn Du die Blätterfunktion nutzt, dann kannst Du mit dieser Option alle " +"Bilder im Modal-Fenster (Thickbox,Lightbox etc.) anzeigen. Berücksichtige, " +"dass die Ladezeit der Seite erhöht wird." + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:150 +msgid "Use imagebrowser effect" +msgstr "Es wird der Bilder-Browser angezeigt (Kein JavaScript Effekt)" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:152 +msgid "" +"When active each image in the gallery will link to an imagebrowser display " +"and lightbox effects will not be applied." +msgstr "" +"Wenn aktiviert, verlinkt jedes Bild in der Galerie zu einer Bildanzeige im " +"Browser. Lightboxeffekte sind dann ausgeschlossen." + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:169 +msgid "Browse images without reloading the page." +msgstr "Bilder durchsuchen ohne die Seite neu zu laden." + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:184 +msgid "Show slideshow link" +msgstr "Zeige den Slideshow Link" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:200 +msgid "Slideshow link text" +msgstr "Slideshow Link-Text" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/index.php:35 +msgid "" +"Slideshows require the Flash Player and a browser with Javascript support." +msgstr "" +"Slideshow erfordert den Flash Player und einen Browser mit Javascript Unterstützung." + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/nextgen_basic_slideshow_settings_gallery_dimensions.php:13 +#: ../products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:38 +#: ../products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_dimensions.php:13 +msgid "Width" +msgstr "Breite" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/nextgen_basic_slideshow_settings_gallery_dimensions.php:21 +#: ../products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:40 +#: ../products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_dimensions.php:20 +msgid "Height" +msgstr "Höhe:" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:41 +#: ../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:26 +#: ../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:30 +#: ../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:26 +msgid "Back" +msgstr "Zurueck" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:49 +#: ../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:29 +#: ../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:33 +#: ../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:29 +msgid "Next" +msgstr "Vor" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:55 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:90 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:220 +#: ../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:31 +#: ../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:35 +#: ../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:31 +msgid "Picture" +msgstr "Bild" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:55 +#: ../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:31 +#: ../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:35 +#: ../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:31 +msgid "of" +msgstr "von" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:53 +msgid "Link" +msgstr "Link" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:78 +msgid "Display watermark" +msgstr "Wasserzeichen setzen" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:88 +msgid "Display reflection" +msgstr "Spiegelung zeigen" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:98 +msgid "Crop thumbnail" +msgstr "Vorschaubild ausschneiden" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:108 +msgid "Float" +msgstr "Ausrichten" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:109 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:252 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:47 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:583 +msgid "None" +msgstr "Keiner" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:109 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:254 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:49 +msgid "Left" +msgstr "Links" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:109 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:258 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:53 +msgid "Right" +msgstr "Rechts" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:24 +msgid "Maximum number of tags" +msgstr "Maximale Anzahl Schlagwörter" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:46 +msgid "Display type" +msgstr "Anzeigetyp" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:49 +msgid "The display type that the tagcloud will point its results to" +msgstr "" +"Der Anzeigetyp der Schlagwortwolke als Ergebnis aus der Darstellung durch" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_templates/adapter.nextgen_basic_template_form.php:46 +msgid "Template" +msgstr "Template" + +#: ../products/photocrati_nextgen/modules/nextgen_basic_templates/adapter.nextgen_basic_template_form.php:47 +msgid "Use a legacy template when rendering (not recommended)." +msgstr "Verwenden Sie eine ältere Vorlage beim Rendern (nicht empfohlen)." + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php:588 +#: ../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:649 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/multisite.php:23 +msgid "" +"Sorry, you have used your space allocation. Please delete some files to " +"upload more files." +msgstr "" +"Schade, Dein freier Speicher scheint aufgebraucht zu sein. Bitte lösche " +"zuerst ein paar Bilder." + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php:1010 +msgid "Could not calculate resized image dimensions" +msgstr "Es konnten keine veränderten Bildgrößen berechnet werden" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:154 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:135 +msgid " mm" +msgstr " mm" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:163 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:141 +msgid " sec" +msgstr " Sek." + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:168 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:145 +msgid "Fired" +msgstr "ausgelöst" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:168 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:145 +msgid "Not fired" +msgstr "Nicht ausgelöst" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:539 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:452 +#: ../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:46 +msgid "Aperture" +msgstr "Blende" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:540 +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:565 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:453 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:478 +msgid "Credit" +msgstr "Autor" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:541 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:454 +msgid "Camera" +msgstr "Kamera" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:542 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:455 +msgid "Caption" +msgstr "Beschreibung" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:543 +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:26 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:114 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:456 +msgid "Date/Time" +msgstr "Datum/Zeit" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:544 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:457 +msgid "Copyright" +msgstr "Rechte" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:545 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:458 +msgid "Focal length" +msgstr "Brennweite" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:546 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:459 +msgid "ISO" +msgstr "ISO" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:547 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:460 +#: ../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:54 +msgid "Shutter speed" +msgstr "Belichtungszeit" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:548 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:678 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:461 +msgid "Title" +msgstr "Titel" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:549 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:459 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:410 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:132 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:462 +msgid "Author" +msgstr "Autor" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:550 +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:51 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:176 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:389 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:463 +msgid "Tags" +msgstr "Stichwörter" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:551 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:464 +msgid "Subject" +msgstr "Betreff" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:552 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:465 +msgid "Make" +msgstr "Hersteller" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:553 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:466 +msgid "Edit Status" +msgstr "Ändere Status" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:554 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:467 +msgid "Category" +msgstr "Kategorie" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:555 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:468 +msgid "Keywords" +msgstr "Schlüsselwörter" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:556 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:469 +msgid "Date Created" +msgstr "erstellt (Datum)" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:557 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:470 +msgid "Time Created" +msgstr "erstellt (Zeit)" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:558 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:471 +msgid "Author Position" +msgstr "Autor Position" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:559 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:472 +msgid "City" +msgstr "Stadt" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:560 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:473 +msgid "Location" +msgstr "Ort" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:561 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:474 +msgid "Province/State" +msgstr "Staat / PLZ" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:562 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:475 +msgid "Country code" +msgstr "Landescode" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:563 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:476 +msgid "Country" +msgstr "Land" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:564 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:477 +msgid "Headline" +msgstr "Kopfzeile" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:566 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:479 +msgid "Source" +msgstr "Quelle" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:567 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:480 +msgid "Copyright Notice" +msgstr "Copyright Hinweise / Credits" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:568 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:481 +msgid "Contact" +msgstr "Kontakt" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:569 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:482 +msgid "Last modified" +msgstr "Zuletzt geändert" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:570 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:483 +msgid "Program tool" +msgstr "Programm" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:571 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:484 +msgid "Format" +msgstr "Format" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:572 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:485 +msgid "Image Width" +msgstr "Breite" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:573 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:486 +msgid "Image Height" +msgstr "Höhe" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:574 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:487 +msgid "Flash" +msgstr "Blitz" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:638 +#, php-format +msgid "Unable to create directory %s." +msgstr "Außerstande den Pfad %s zu erstellen " + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:643 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:928 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1126 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1211 +#, php-format +msgid "" +"Unable to write to directory %s. Is this directory writable by the server?" +msgstr "" +"Kann das Verzeichnis %s nicht erstellen. Ist das Hauptverzeichnis vielleicht " +"schreibgeschützt ?" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:672 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1251 +#, php-format +msgid "Failed to copy database row for picture %s" +msgstr "Fehler bei der Datenbank-Operation für Bild %s" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:684 +#, php-format +msgid "Failed to get image path for %s" +msgstr "Fehler beim Bildpfad für %s" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:702 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1237 +#, php-format +msgid "Failed to copy image %1$s to %2$s" +msgstr "Konnte das Bild %1$s nicht nach %2$s kopieren" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:706 +#, php-format +msgid "Copied image %1$s to %2$s" +msgstr "Kopiert Bild %1$s zu %2$s" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:714 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1263 +#, php-format +msgid "" +"Image %1$s (%2$s) copied as image %3$s (%4$s) » The file already " +"existed in the destination gallery." +msgstr "" +"Bild %1$s (%2$s) als Bild %3$s (%4$s) kopiert » Die Datei existierte " +"bereits." + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:718 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1266 +#, php-format +msgid "Image %1$s (%2$s) copied as image %3$s (%4$s)" +msgstr "Bild %1$s (%2$s) kopiert als Bild %3$s (%4$s)" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:731 +#, php-format +msgid "Copied %1$s picture(s) to gallery %2$s ." +msgstr "Kopiert %1$s Bild(er) in die Galerie %2$s ." + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:758 +msgid "Could not find image" +msgstr "Bild wurde nicht gefunden" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:763 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:388 +msgid " is not writeable" +msgstr "ist schreibgeschützt !" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:768 +msgid "Backup file does not exist" +msgstr "Backup Datei existiert nicht" + +#: ../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:773 +msgid "Could not restore original image" +msgstr "Konnte das Originalbild nicht wiederherstellen" + +#: ../products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.display_settings_controller.php:17 +#: ../products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:241 +#: ../products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:327 +msgid "Gallery Settings" +msgstr "Galerie Einstellungen" + +#: ../products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery.php:73 +msgid "Source not compatible with selected display type" +msgstr "Software ist nicht kompatibel mit dem ausgewählten Anzeigetyp" + +#: ../products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:326 +msgid "NextGEN Gallery & Album Settings" +msgstr "NextGEN Galerie & Album Einstellungen" + +#: ../products/photocrati_nextgen/modules/nextgen_gallery_display/templates/alt_view_link_text.php:15 +#: ../products/photocrati_nextgen/modules/nextgen_gallery_display/templates/return_link_text.php:15 +msgid "link text" +msgstr "Link-Text" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:12 +msgid "Image Options" +msgstr "Bild Optionen" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:22 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:588 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/thumbnails-template.php:76 +msgid "Custom" +msgstr "Eigener" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:23 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:111 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:549 +msgid "Image ID" +msgstr "Bilder ID" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:24 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:570 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:112 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:166 +msgid "Filename" +msgstr "Dateiname" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:25 +msgid "Alt/Title Text" +msgstr "Alternativtext & Titel" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:38 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:115 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:557 +msgid "Ascending" +msgstr "Aufsteigend" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:39 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:116 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:558 +msgid "Descending" +msgstr "Absteigend" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:50 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:388 +msgid "Categories" +msgstr "Kategorien" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:81 +msgid "Gallery path does not exist and could not be created" +msgstr "Der Galeriepfad existiert nicht und konnte auch nicht erzeugt werden" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:86 +msgid "Where would you like galleries stored?" +msgstr "Wo möchtest Du gerne Galerien gespeichert haben?" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:87 +msgid "Where galleries and their images are stored" +msgstr "Wo Galerien und deren Bilder gespeichert sind" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:89 +msgid "Delete Image Files?" +msgstr "Lösche Bilddateien" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:90 +msgid "" +"When enabled, image files will be removed after a Gallery has been deleted" +msgstr "" +"Im aktivierten Zustand werden Bilddateien entfernt, wenn eine Galerie " +"gelöscht wird" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:92 +msgid "Show Related Images on Posts?" +msgstr "Zeige ähnliche Bilder in Beiträgen" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:93 +msgid "" +"When enabled, related images will be appended to each post by matching the " +"posts tags/categories to image tags" +msgstr "" +"Im aktivierten Zustand werden ähnliche Bilder zu jedem Beitrag hinzugefügt, " +"indem die Beitrags Tags / Kategorien, an die Bild Tags angehängt werden" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:95 +msgid "(Show Customization Settings)" +msgstr "(Zeige Benutzer Einstellungen)" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:96 +msgid "(Hide Customization Settings)" +msgstr "(Verstecke Benutzer Einstellungen)" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:97 +msgid "How should related images be match?" +msgstr "Wie sollen ähnliche Bilder mit eingebunden werden?" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:100 +msgid "Maximum # of related images to display" +msgstr "Maximale Anzeige # von ähnlichen Bildern" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:102 +msgid "Heading for related images" +msgstr "Überschrift für ähnliche Bilder" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:104 +msgid "What's the default sorting method?" +msgstr "Was ist die Standard Einstellung zum sortieren?" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:107 +msgid "Sort in what direction?" +msgstr "Sortieren in welche Richtung?" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:110 +msgid "Automatically resize images after upload" +msgstr "Passt die Grösse automatisch beim Upload an" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:111 +msgid "It is recommended that your images be resized to be web friendly" +msgstr "" +"Es ist empfehlenswert Deine Bilder webgerecht zu formatieren. (Breite x Höhe " +"und Schwere KB)" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:113 +msgid "What should images be resized to?" +msgstr "Was soll an den Bildern geändert werden?" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:114 +msgid "" +"After images are uploaded, they will be resized to the above dimensions and " +"quality" +msgstr "" +"Nach dem Upload der Bilder werden sie in die anzeigte Größe und Qualität " +"geändert" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:115 +#: ../products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:52 +msgid "Width:" +msgstr "Breite:" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:116 +#: ../products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:40 +msgid "Height:" +msgstr "Höhe:" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:117 +msgid "Quality:" +msgstr "Qualität:" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:121 +msgid "Backup the original images?" +msgstr "Ein Backup für das Originalbild erstellen?" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.lightbox_manager_form.php:12 +msgid "Lightbox Effects" +msgstr "Lightbox Effekte" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.lightbox_manager_form.php:38 +msgid "What effect would you like to use?" +msgstr "Welchen Effekt wollen Sie gerne verwenden?" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:12 +msgid "Miscellaneous" +msgstr "Verschiedenes" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:21 +msgid "Add MediaRSS link?" +msgstr "Link MediaRSS einfügen?" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:22 +msgid "" +"When enabled, adds a MediaRSS link to your header. Third-party web services " +"can use this to publish your galleries" +msgstr "" +"In aktiviertem Zustand wird ein MEDIA RSS Feed zum Header hinzugefügt. " +"Dritte Web Service Anbieter können ihn nutzen um Ihre Galerien zu " +"veröffentlichen" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:26 +msgid "Clear image cache" +msgstr "Das Bilder Cache leeren" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:27 +msgid "" +"Completely clear the NextGEN cache of all image modifications?\\n\\nChoose " +"[Cancel] to Stop, [OK] to proceed." +msgstr "" +"Das NextGEN Cache mit allen Bild Modifikationen komplett leeren?\\n\\nWähle " +"[Cancel] um abzubrechen, [OK] zum Fortfahren." + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:32 +msgid "Permalink slug" +msgstr "Permalink Slug" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:39 +msgid "Maximum image count" +msgstr "Maximale Bilderzahl" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:41 +msgid "" +"This is the maximum limit of images that NextGEN will restrict itself to " +"querying" +msgstr "" +"Das ist die maximale Anzahl von Bildern auf die sich die Abfrage der NextGEN " +"Gallery beschränkt" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.other_options_controller.php:22 +#: ../products/photocrati_nextgen/modules/nextgen_other_options/module.nextgen_other_options.php:39 +msgid "Other Options" +msgstr "Andere Optionen" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:7 +msgid "Reset Options" +msgstr "Standardeinstellungen wiederherstellen" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:15 +msgid "Reset all options to default settings" +msgstr "Alle Optionen zu den Standard Einstellungen zurücksetzen" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:16 +msgid "" +"Replace all existing options and gallery options with their default settings" +msgstr "" +"Ersetze alle existierenden Optionen und Galerie Optionen Optionen mit den " +"Standard Einstellungen" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:17 +msgid "Reset settings" +msgstr "Einstellungen zurücksetzen" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:18 +msgid "" +"Reset all options to default settings?\\n\\nChoose [Cancel] to Stop, [OK] to " +"proceed." +msgstr "" +"Alle Optionen zu Standard zurücksetzen ?\\n\\nWähle [Cancel] um abzubrechen, " +"[OK] zum Fortfahren." + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.roles_form.php:7 +msgid "Roles & Capabilities" +msgstr "Rollen & Zugriffsrechte freischalten" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:12 +msgid "Styles" +msgstr "Style Einstellungen (eigene CSS)" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:18 +msgid "What stylesheet would you like to use?" +msgstr "Welche eigene CSS Style Anweisung soll verwendet werden? " + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:21 +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:137 +msgid "(Show Customization Options)" +msgstr "(Zeige Benutzer Einstellungen)" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:22 +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:138 +msgid "(Hide Customization Options)" +msgstr "(Verstecke Benutzer Einstellungen)" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:23 +msgid "File Content:" +msgstr "Datei-Inhalt:" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:24 +msgid "Changes you make to the contents will be saved to" +msgstr "Änderungen im Inhalt werden gespeichert" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:25 +msgid "You could edit this file if it were writable" +msgstr "Wenn diese Datei beschreibbar wäre, könntest Du sie bearbeiten." + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:12 +msgid "Thumbnail Options" +msgstr "Optionen der Vorschaubilder" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:20 +msgid "Default thumbnail dimensions:" +msgstr "Standardgrößen der Vorschaubilder:" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:21 +msgid "When generating thumbnails, what image dimensions do you desire?" +msgstr "Wenn Sie Vorschaubilder erzeugen, welche Bildgröße möchten Sie gerne?" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:24 +msgid "Set fix dimension?" +msgstr "Feste Größe setzen?" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:25 +msgid "Ignore the aspect ratio, no portrait thumbnails?" +msgstr "Ignoriere Bildseitenverhältnis, keine Portrait Vorschaubilder?" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:27 +msgid "Adjust Thumbnail Quality?" +msgstr "Qualität der Vorschaubilder anpassen?" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:28 +msgid "When generating thumbnails, what image quality do you desire?" +msgstr "" +"Wenn Sie Vorschaubilder erzeugen, welche Bildqualität möchten Sie gerne?" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:30 +msgid "Size List" +msgstr "Größentabelle" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:31 +msgid "List of default sizes used for thumbnails and images" +msgstr "Derzeit gibt es keine Empfehlungslisten für Vorschaubilder und Bilder." + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:12 +msgid "Watermarks" +msgstr "Wasserzeichen" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:41 +msgid "Using an Image" +msgstr "Ein Bild nutzen" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:42 +msgid "Using Text" +msgstr "Einen Text nutzen" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:69 +msgid "An absolute or relative (to the site document root) file system path" +msgstr "Ein absoluter oder relativer (zur Root des Dokumentes) Dateipfad" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:71 +msgid "" +"An absolute or relative (to the site document root) file system path or an " +"HTTP url" +msgstr "" +"Ein absoluter oder relativer (zur Root des Dokumentes) Dateipfad oder eine " +"http URL" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:74 +msgid "Image URL:" +msgstr "Bild URL:" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:90 +msgid "Font Family:" +msgstr "Schriftart" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:92 +msgid "Font Size:" +msgstr "Schriftgröße:" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:94 +msgid "Font Color:" +msgstr "Schriftfarbe:" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:97 +msgid "Text:" +msgstr "Text:" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:99 +msgid "Opacity:" +msgstr "Transparenz:" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:127 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:615 +msgid "" +"Please note : You can only activate the watermark under -> Manage Gallery . " +"This action cannot be undone." +msgstr "" +"Bitte beachten : Das Wasserzeichen kann nur unter der Galerieverwaltung " +"gesetzt werden. " + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:128 +msgid "How will you generate a watermark?" +msgstr "Wie willst Du ein Wasserzeichen erzeugen?" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:132 +msgid "Position:" +msgstr "Position:" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:134 +msgid "Offset:" +msgstr "Abstand:" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:140 +msgid "Preview of saved settings:" +msgstr "Vorschau der gespeicherten Einstellungen:" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:141 +msgid "Refresh preview image" +msgstr "Das Vorschaubild aktualisieren" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:34 +#: ../products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:37 +msgid "(Show Advanced Settings)" +msgstr "(Zeige erweiterte Einstellungen) " + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:35 +msgid "(Hide Advanced Settings)" +msgstr "(Verstecke erweiterte Einstellungen)" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:56 +msgid "What must the lightbox be applied to?" +msgstr "Wie soll Lightbox verwendet werden?" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:60 +msgid "Only apply to NextGEN images" +msgstr "Das gilt nur für NextGEN Bilder" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:61 +msgid "Only apply to NextGEN and WordPress images" +msgstr "Das gilt nur für NextGEN und WordPress Bilder" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:62 +msgid "Try to apply to all images" +msgstr "Versuche das für alle Bilder anzuwenden" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:63 +msgid "Try to apply to all images that link to image files" +msgstr "Das soll für alle Bilder gelten die mit den Bilddateien verlinkt sind" + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php:21 +msgid "" +"Place any custom stylesheets in wp-content/ngg_styles
      All stylesheets must contain a file header" +msgstr "" +"Patziere eine eigene CSS Anweisung im Ordner wp-content/ngg_styles
      Eine eigene CSS Anweisung muss einen sogenannten Dateikopf wie im Beispiel enthalten." + +#: ../products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php:92 +msgid "No default sizes present." +msgstr "" +"Es gibt derzeit keine Empfehlungen. Du kannst frei variieren je nach " +"Platz." + +#: ../products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:41 +msgid "

      Related Images:

      " +msgstr "

      Ähnliche Bilder:

      " + +#: ../products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:61 +msgid "[Show slideshow]" +msgstr "[Zeige eine Slideshow]" + +#: ../products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:62 +msgid "[Show thumbnails]" +msgstr "[Zeige Vorschaubilder]" + +#: ../products/photocrati_nextgen/modules/nextgen_xmlrpc/module.nextgen_xmlrpc.php:425 +msgid "Sorry, you must be able to manage galleries" +msgstr "Sorry, Du hast nicht das Recht, diese Galerie zu bearbeiten" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:159 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:190 +msgid "Overview" +msgstr "Übersicht" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:172 +msgid "Network settings" +msgstr "Netzwerk Einstellungen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:305 +msgid "You do not have the correct permission" +msgstr "Du hast keine Zugriffsrechte" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:306 +msgid "Unexpected Error" +msgstr "Unerwarteter Fehler" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:307 +msgid "A failure occurred" +msgstr "Ein Fehler ist aufgetreten" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:311 +msgid "You have attempted to queue too many files." +msgstr "Du hast zu viele Bilder versucht zu laden." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:312 +msgid "This file exceeds the maximum upload size for this site." +msgstr "Diese Datei übersteigt die zugelassene Uploadmenge." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:313 +msgid "This file is empty. Please try another." +msgstr "Diese Datei ist leer." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:314 +msgid "This file type is not allowed. Please try another." +msgstr "Dieser Dateityp ist nicht erlaubt." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:315 +msgid "This file is not an image. Please try another." +msgstr "Diese Datei ist kein Bild. Bitte versuche es mit einer anderen Datei." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:316 +msgid "Memory exceeded. Please try another smaller file." +msgstr "Speicher überschritten. Bitte verkleinere das Bild zuerst" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:317 +msgid "This is larger than the maximum size. Please try another." +msgstr "Die Datei ist zu groß. " + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:318 +msgid "An error occurred in the upload. Please try again later." +msgstr "Währende dem upload trat ein Fehler. Bitte verusche es später nochmal." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:319 +msgid "" +"There was a configuration error. Please contact the server administrator." +msgstr "Es besteht ein Konfigurationsfehler." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:320 +msgid "You may only upload 1 file." +msgstr "Du kannst nur ein Bild uploaden." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:321 +msgid "HTTP error." +msgstr "HTTP Fehler." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:322 +msgid "Upload failed." +msgstr "Upload fehlgeschlagen!" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:323 +msgid "IO error." +msgstr "IO Fehler." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:324 +msgid "Security error." +msgstr "Sicherheitsfehler." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:325 +msgid "File canceled." +msgstr "Datei abbgebrochen." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:326 +msgid "Upload stopped." +msgstr "Upload angehalten." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:327 +msgid "Dismiss" +msgstr "Verwerfen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:328 +msgid "Crunching…" +msgstr "Bearbeiten…" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:329 +msgid "moved to the trash." +msgstr "in den Papierkorb geschoben." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:330 +#, php-format +msgid "“%s” has failed to upload due to an error" +msgstr "“%s” konnte auf Grund eines Fehler nicht geladen werden." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:352 +msgid "L O A D I N G" +msgstr "B I T T E   W A R T E N" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:353 +msgid "Click to Close" +msgstr "Klicken zum Schliessen " + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:462 +msgid "" +"
      Introduction" +msgstr "" +"Einführung" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:465 +msgid "" +"Languages" +msgstr "" +"Unterstütze bei der Übersetzung" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:470 +msgid "Get help with NextGEN Gallery" +msgstr "Weitere Hilfe zu NextGEN Gallery" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:474 +msgid "More Help & Info" +msgstr "Weitere Hilfe & Informationen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:476 +msgid "" +"Support Forums" +msgstr "" +"Support Forum (englisch)" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:477 +msgid "FAQ" +msgstr "FAQ (englisch)" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:478 +msgid "Feature request" +msgstr "Wünsch Dir was" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:479 +msgid "Get your language pack" +msgstr "Lade Deine Sprachdatei" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:480 +msgid "Contribute development" +msgstr "Bei der Entwicklung helfen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:481 +msgid "Download latest version" +msgstr "Aktuelle Version downloaden" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/ajax.php:364 +#, php-format +msgid "Could create image with %s x %s pixel" +msgstr "Konnte ein Bild mit %s x %s Pixel erstellen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:172 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:216 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:239 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:19 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:22 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:619 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:7 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:10 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:13 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:17 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:20 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:10 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:13 +msgid "Cheatin’ uh?" +msgstr "Cheatin’ uh?" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:180 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:209 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:253 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:178 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:24 +msgid "Update Successfully" +msgstr "Update erfolgreich" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:227 +msgid "Album deleted" +msgstr "Album gelöscht" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:389 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:55 +msgid "Edit Album" +msgstr "Album erstellen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:410 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:459 +msgid "Select album" +msgstr "Wähle Album" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:412 +msgid "No album selected" +msgstr "Kein Album ausgewählt" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:423 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:166 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:434 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:94 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:112 +msgid "Update" +msgstr "Aktualisiere" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:425 +msgid "Edit album" +msgstr "Album ändern" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:428 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:187 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:362 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:364 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:227 +msgid "Delete" +msgstr "Löschen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:428 +msgid "Delete album ?" +msgstr "Album löschen ?" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:432 +msgid "Add new album" +msgstr "Album hinzufügen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:434 +msgid "Add" +msgstr "Hinzufügen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:445 +msgid "Show / hide used galleries" +msgstr "Zeige / Verstecke verwendete Galerien" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:445 +msgid "[Show all]" +msgstr "[Alle zeigen]" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:446 +msgid "Maximize the widget content" +msgstr "Maximiere die Widgets" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:446 +msgid "[Maximize]" +msgstr "[Vergrößern]" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:447 +msgid "Minimize the widget content" +msgstr "Minimiere die Widgets" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:447 +msgid "[Minimize]" +msgstr "[Verkleinern]" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:449 +msgid "" +"After you create and select a album, you can drag and drop a gallery or " +"another album into your new album below" +msgstr "" +"Nachdem Du ein Album erstellt und ausgewählt hast, kannst Du per Drag & Drop " +"eine Galerie oder ein anderes Album in das neue Album ziehen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:475 +msgid "Select gallery" +msgstr "Wähle Galerie" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:500 +msgid "Album ID" +msgstr "Album ID" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:513 +msgid "No album selected!" +msgstr "Kein Album ausgewählt" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:534 +msgid "Album name:" +msgstr "Album Name :" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:540 +msgid "Album description:" +msgstr "Beschreibung:" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:546 +msgid "Select a preview image:" +msgstr "Wähle Vorschaubild:" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:549 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:552 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_preview_image_field.php:3 +msgid "No picture" +msgstr "Kein Bild" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:563 +msgid "Page Link to" +msgstr "Seite verlinkt zu" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:572 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_link_to_page_field.php:3 +msgid "Not linked" +msgstr "Nicht verlinkt" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:582 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:337 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:366 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:397 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:406 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:442 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:471 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:502 +msgid "OK" +msgstr "OK" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:584 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:339 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:368 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:399 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:408 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:444 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:473 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:504 +msgid "Cancel" +msgstr "Abbrechen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:677 +msgid "Name" +msgstr "Name" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:679 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:229 +msgid "Page" +msgstr "Seite" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:116 +msgid "Select with the mouse the area for the new thumbnail" +msgstr "Wähle mit der Maus den Bereich für das neue Vorschaubild" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:130 +msgid "Thumbnail updated" +msgstr "Vorschaubild geändert" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:135 +msgid "Error updating thumbnail" +msgstr "Konnte Vorschaubild nicht erzeugen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:151 +msgid "Select the area for the thumbnail from the picture on the left." +msgstr "Wähle den Ausschnitt für das Vorschaubild innerhalb des Bildes" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:39 +msgid "No valid gallery name!" +msgstr "Kein gültiger Galerie-Name!" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:46 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:55 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:80 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:780 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:788 +msgid "Directory" +msgstr "Verzeichnis" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:46 +msgid "didn't exist. Please create first the main gallery folder " +msgstr "nicht gefunden. Bitte erstelle zuerst das Hauptverzeichnis." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:47 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:56 +msgid "Check this link, if you didn't know how to set the permission :" +msgstr "Dieser Link zeigt Dir, wie man Verzeichnisrechte ändert :" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:55 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:80 +msgid "is not writeable !" +msgstr "ist schreibgeschützt !" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:76 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:85 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:736 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/core.php:101 +msgid "Unable to create directory " +msgstr "Kann Verzeichnis nicht erstellen " + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:89 +msgid "The server setting Safe-Mode is on !" +msgstr "Auf dem Server ist Safe-Mode aktiviert (PHP.INI)" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:90 +msgid "If you have problems, please create directory" +msgstr "Wenn Probleme auftreten, erstelle bitte das Verzeichnis" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:91 +msgid "and the thumbnails directory" +msgstr "und das Verzeichnis der Vorschaubilder" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:91 +msgid "with permission 777 manually !" +msgstr "mit den Berechtigungen 777 manuell !" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:116 +#, php-format +msgid "" +"Gallery ID %1$s successfully created. You can show this gallery in your post " +"or page with the shortcode %2$s.
      " +msgstr "" +"Galerie ID %1$s erstellt..
      Du kannst diese Galerie jetzt mit dem " +"Stichwort %2$s in einen Artikel einbinden.
      " + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:119 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:853 +msgid "Edit gallery" +msgstr "Galerie ändern" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:188 +msgid "Error while creating thumbnail." +msgstr "Fehler beim erzeugen des Vorschaubildes." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:242 +msgid "Error while resizing image." +msgstr "Fehler beim wiederherstellen des Bildes." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:326 +msgid "Error while rotating image." +msgstr "Fehler beim Bildwechsel." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:361 +msgid "Error while applying watermark to image." +msgstr "Fehler während des Versuches, ein Wasserzeichen zu setzen." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:385 +msgid "Object didn't contain correct data" +msgstr "Das Objekt enhält nicht die notwendigen Daten" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:391 +msgid "File do not exists" +msgstr "Datei existiert nicht" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:395 +msgid "Couldn't restore original image" +msgstr "Konnte Originalbild nicht wiederherstellen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:511 +msgid "(Error : Couldn't not update data base)" +msgstr "(Fehler : Konnte Datenbank nicht aktualisieren)" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:518 +msgid "(Error : Couldn't not update meta data)" +msgstr "(Fehler : Konnte Metadaten nicht speichern)" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:527 +msgid "(Error : Couldn't not find image)" +msgstr "(Fehler : Konnte das Bild nicht finden)" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:670 +msgid "No valid URL path " +msgstr "Kein gültiger URL-Pfad" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:686 +msgid "Import via cURL failed." +msgstr "Import via cURL abgebrochen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:703 +msgid "Uploaded file was no or a faulty zip file ! The server recognized : " +msgstr "Die hochgeladene Datei war keine korrekte Zip-Datei. Servermeldung :" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:720 +msgid "Could not get a valid foldername" +msgstr "Konnte keinen gültigen Verzeichnisnamen finden" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:731 +#, php-format +msgid "" +"Unable to create directory %s. Is its parent directory writable by the " +"server?" +msgstr "" +"Kann das Verzeichnis %s nicht erstellen. Ist das Hauptverzeichnis vielleicht " +"schreibgeschützt ?" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:746 +msgid "Zip-File successfully unpacked" +msgstr "Zip-Datei erfolgreich entpackt" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:780 +msgid "doesn`t exist!" +msgstr "gibt es nicht !" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:788 +msgid "contains no pictures" +msgstr "enthält keine Bilder" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:808 +msgid "Database error. Could not add gallery!" +msgstr "Datenbank-Fehler. Kann Galerie nicht hinzufügen!" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:814 +msgid "successfully created!" +msgstr "erfolgreich erstellt!" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:848 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:958 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:111 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:189 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:238 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:322 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:661 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:740 +msgid "Create new thumbnails" +msgstr "Neue Vorschaubilder erstellen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:851 +msgid " picture(s) successfully added" +msgstr " Bild(er) erfolgreich hinzugefügt" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:882 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:982 +msgid "No gallery selected !" +msgstr "Keine Galerie ausgewählt !" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:890 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1007 +msgid "Failure in database, no gallery path set !" +msgstr "Datenbankfehler! Kein Galerie-Pfad gesetzt !" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:914 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1001 +msgid "is no valid image file!" +msgstr "ist keine zulässige Bilddatei !" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:935 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1024 +msgid "Error, the file could not be moved to : " +msgstr "Fehler: Diese Datei kann nicht verschoben werden zu :" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:940 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1028 +msgid "Error, the file permissions could not be set" +msgstr "Fehler: Die Berechtigungen für diese Datei können nicht gesetzt werden" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:963 +msgid " Image(s) successfully added" +msgstr " Bild(er) erfolgreich hinzugefügt" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:990 +msgid "Invalid upload. Error Code : " +msgstr "Ungültiger Upload. Fehler Code :" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1066 +#, php-format +msgid "" +"SAFE MODE Restriction in effect! You need to create the folder %s manually" +msgstr "" +"SAFE MODE Einschränkungen ist aktiv. Du musst das Verzeichnis %s manuell anlegen." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1067 +#, php-format +msgid "" +"When safe_mode is on, PHP checks to see if the owner (%s) of the current " +"script matches the owner (%s) of the file to be operated on by a file " +"function or its directory" +msgstr "" +"Wenn der Safe-Mode eingeschaltet ist, überprüft PHP, ob der Besitzer (%s) " +"des Skript mit dem Besitzer (%s) der Datei/Verzeichnis übereinstimmt." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1120 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1197 +msgid "The destination gallery does not exist" +msgstr "Die ausgewählte Galerie existiert nicht" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1151 +#, php-format +msgid "Failed to move image %1$s to %2$s" +msgstr "Konnte das Bild %1$s nicht nach %2$s verschieben" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1171 +#, php-format +msgid "Moved %1$s picture(s) to gallery : %2$s ." +msgstr " %1$s Bild(er) in Galerie : %2$s verschoben." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1275 +#, php-format +msgid "Copied %1$s picture(s) to gallery: %2$s ." +msgstr "Kopiere %1$s Bild(er) in die Galerie : %2$s ." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1383 +msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgstr "" +"Die Datei überschreitet die erlaubte Grösse (upload_max_filesize) in der php." +"ini" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1386 +msgid "" +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " +"the HTML form" +msgstr "Die Datei ist zu gross" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1389 +msgid "The uploaded file was only partially uploaded" +msgstr "Die Datei wurde nur teilweise hochgeladen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1392 +msgid "No file was uploaded" +msgstr "Keinen Datei wurde geladen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1395 +msgid "Missing a temporary folder" +msgstr "Konnte temporäres Verzeichnis nicht finden" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1398 +msgid "Failed to write file to disk" +msgstr "Konnte Datei nicht speichern" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1401 +msgid "File upload stopped by extension" +msgstr "Upload dieser Dateierweiterung nicht erlaubt" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1404 +msgid "Unknown upload error" +msgstr "Unbekannter Uploadfehler" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/install.php:20 +msgid "Sorry, NextGEN Gallery works only with a role called administrator" +msgstr "" +"Tut mir leid, aber NextGEN Gallery benötigt zwingend die Rolle " +"\"Administrator\"" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/install.php:92 +msgid "" +"NextGEN Gallery : Tables could not created, please check your database " +"settings" +msgstr "" +"NextGEN Gallery : Tabellen konnten nicht erstellt werden, überprüfe Deine " +"Datenbank" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:99 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:206 +msgid "No images selected" +msgstr "Keine Bilder ausgewählt" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:107 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:190 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:234 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:323 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:642 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:724 +msgid "Resize images" +msgstr "Bilder verkleinern" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:116 +#, php-format +msgid "" +"You are about to start the bulk edit for %s galleries \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" +"Du startest die Bearbeitung von %s Galerien \n" +" \n" +" 'Abbrechen' um zu stoppen, 'OK' um die Bearbeitung durchzuführen." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:154 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:197 +msgid "Add new gallery" +msgstr "Neue Galerie erstellen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:171 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:174 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:272 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:275 +msgid "Search Images" +msgstr "Suche Bilder" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:186 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:320 +msgid "Bulk actions" +msgstr "Aktion wählen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:188 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:321 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:572 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:687 +msgid "Set watermark" +msgstr "Wasserzeichen setzen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:191 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:326 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:577 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:708 +msgid "Import metadata" +msgstr "Metadaten importieren" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:192 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:324 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:567 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:684 +msgid "Recover from backup" +msgstr "Original wiederherstellen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:194 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:335 +msgid "Apply" +msgstr "Übernehmen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:262 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:253 +msgid "Edit" +msgstr "Bearbeiten" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:309 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:379 +msgid "No entries found" +msgstr "Keine Einträge gefunden" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:327 +msgid "New Gallery" +msgstr "Neue Galerie" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:329 +msgid "Create a new , empty gallery below the folder" +msgstr "Erstelle eine neue, leere Galerie unter dem Verzeichnis" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:331 +msgid "Allowed characters for file and folder names are" +msgstr "Erlaubte Zeichen für die Datei- und Verzeichnisnamen sind" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:357 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:462 +msgid "Resize Images to" +msgstr "Verkleinere Bilder auf" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:361 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:466 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:453 +msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size" +msgstr "Breite x Höhe (in Pixel). Das Seitenverhältnis wird berücksichtigt." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:385 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:490 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:40 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:416 +msgid "Width x height (in pixel)" +msgstr "Breite x Höhe (in Pixel)" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:391 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:496 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:426 +msgid "Set fix dimension" +msgstr "Setze feste Größe" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:393 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:498 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:428 +msgid "Ignore the aspect ratio, no portrait thumbnails" +msgstr "Ignoriere Bildseitenverhältnis" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:456 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:568 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:156 +msgid "ID" +msgstr "ID" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:458 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:571 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:245 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:134 +msgid "Description" +msgstr "Beschreibung" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:460 +msgid "Page ID" +msgstr "Seiten-ID" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:461 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:311 +msgid "Image" +msgid_plural "Images" +msgstr[0] "Bild" +msgstr[1] "Bilder" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:35 +msgid "Gallery not found." +msgstr "Galerie nicht gefunden" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:41 +msgid "Sorry, you have no access here" +msgstr "Sorry, Du hast nicht genügend Rechte" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:214 +msgid "Copy image to..." +msgstr "Kopiere nach..." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:218 +msgid "Move image to..." +msgstr "Verschiebe nach..." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:222 +msgid "Add new tags" +msgstr "Stichwörter hinzufügen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:226 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:332 +msgid "Delete tags" +msgstr "Stichwörter löschen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:230 +msgid "Overwrite" +msgstr "Überschreiben" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:243 +#, php-format +msgid "" +"You are about to start the bulk edit for %s images \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" +"Du startest die Bearbeitung von %s Bildern \n" +" \n" +" 'Abbrechen' um zu stoppen, 'OK' um die Bearbeitung durchzuführen." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:269 +#, php-format +msgid "Search results for “%s”" +msgstr "Suchergebinsse für “%s”" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:298 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:488 +msgid "Gallery settings" +msgstr "Galerie Einstellungen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:298 +msgid "Click here for more settings" +msgstr "Hier klicken für weitere Einstellungen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:304 +msgid "Scan Folder for new images" +msgstr "Überprüfe Verzeichnis nach neuen Bildern" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:306 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:341 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:386 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:400 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:436 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:478 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:563 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:598 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:708 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:861 +msgid "Save Changes" +msgstr "Änderungen speichern" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:325 +msgid "Delete images" +msgstr "Bilder löschen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:327 +msgid "Rotate images clockwise" +msgstr "Rechts drehen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:328 +msgid "Rotate images counter-clockwise" +msgstr "Links drehen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:329 +msgid "Copy to..." +msgstr "Kopiere nach..." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:330 +msgid "Move to..." +msgstr "Verschiebe nach..." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:331 +msgid "Add tags" +msgstr "Stichwörter hinzufügen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:333 +msgid "Overwrite tags" +msgstr "Stichwörter überschreiben" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:338 +msgid "Sort gallery" +msgstr "Sortiere Bilder" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:402 +msgid "Enter the tags" +msgstr "Stichwörter angeben" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:426 +msgid "Select the destination gallery:" +msgstr "Galerie auswählen:" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:569 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:161 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:266 +msgid "Thumbnail" +msgstr "Vorschaubild" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:571 +msgid "Alt & Title Text" +msgstr "Alt & Titel Text" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:572 +msgid "Tags (comma separated list)" +msgstr "Stichwörter (Tags)" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:35 +msgid "Sort order changed" +msgstr "Reihenfolge aktualisiert" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:97 +msgid "Sort Gallery" +msgstr "Sortiere Bilder" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:101 +msgid "Update Sort Order" +msgstr "Sortierung speichern" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:104 +msgid "Back to gallery" +msgstr "Zurueck zur Galerie" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:109 +msgid "Presort" +msgstr "Vorsortieren" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:110 +msgid "Unsorted" +msgstr "Unsortiert" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:113 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:241 +msgid "Alt/Title text" +msgstr "Alt / Titel Text" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:90 +msgid "deleted successfully" +msgstr "erfolgreich gelöscht" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:106 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:115 +msgid "Operation successful. Please clear your browser cache." +msgstr "Vorschaubilder erfolgreich erstellt. Bitte Browser-Cache löschen." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:171 +msgid "Alt & Title Text / Description" +msgstr "Alt & Titel Text / Beschreibung" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:214 +msgid "Exclude ?" +msgstr "Ausschließen?" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:299 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:301 +msgid "View" +msgstr "Ansehen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:309 +msgid "Show meta data" +msgstr "Metadaten zeigen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:310 +msgid "Meta" +msgstr "Meta" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:318 +msgid "Customize thumbnail" +msgstr "Vorschaubilder anpassen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:319 +msgid "Edit thumbs" +msgstr "Vorschau bearbeiten" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:327 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:328 +msgid "Rotate" +msgstr "Drehen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:338 +msgid "Publish this image" +msgstr "Bild veröffentlichen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:339 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:58 +msgid "Publish" +msgstr "Veröffentlichen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:349 +msgid "Recover image from backup" +msgstr "Original wiederherstellen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:350 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:352 +msgid "Recover" +msgstr "Rücksetzen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:361 +msgid "Delete image" +msgstr "Lösche Bilddatei" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:392 +#: ../products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:3 +msgid "Title:" +msgstr "Titel:" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:398 +msgid "Description:" +msgstr "Beschreibung:" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:404 +msgid "Gallery path:" +msgstr "Galerie-Pfad:" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:419 +msgid "Link to page:" +msgstr "Link zur Seite:" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:425 +msgid "Preview image:" +msgstr "Vorschaubild:" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:431 +msgid "Create new page:" +msgstr "Eine neue Seite erzeugen:" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:607 +msgid "Gallery deleted successfully " +msgstr "Galerie gelöscht" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:678 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:681 +msgid "Rotate images" +msgstr "Bild drehen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:704 +msgid "Pictures deleted successfully " +msgstr "Bilder erfolgreich gelöscht" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:802 +msgid "Tags changed" +msgstr "Stichwörter geändert" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:842 +msgid "Update successful" +msgstr "Aktualisierung erfolgreich" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:877 +msgid "New gallery page ID" +msgstr "Neue Galerie Seiten ID" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:877 +msgid "created" +msgstr "erstellt" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:915 +msgid "Published a new post" +msgstr "Veröffentliche einen neuen Beitrag" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1046 +#, php-format +msgid "1 item" +msgid_plural "%s items" +msgstr[0] "1 Element" +msgstr[1] "%s Elemente" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1062 +msgid "Go to the first page" +msgstr "Zur 1. Seite gehen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1069 +msgid "Go to the previous page" +msgstr "Zur vorherigen Seite gehen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1078 +msgid "Current page" +msgstr "Aktuelle Seite" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1089 +msgid "Go to the next page" +msgstr "Zur nächsten Seite gehen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1096 +msgid "Go to the last page" +msgstr "Zur letzten Seite gehen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:11 +msgid "NextGEN Gallery" +msgstr "NextGEN Gallery" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:186 +msgid "No gallery" +msgstr "Keine Galerie" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:198 +msgid "Select »" +msgstr "Wähle »" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:229 +msgid "Show" +msgstr "Zeige" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:230 +msgid "Hide" +msgstr "Verstecke" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:235 +msgid "Image ID:" +msgstr "Bild ID:" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:249 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:45 +msgid "Alignment" +msgstr "Ausrichtung" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:256 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:51 +msgid "Center" +msgstr "Zentrieren" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:262 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:690 +msgid "Size" +msgstr "Größe" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:268 +msgid "Full size" +msgstr "Volle Größe" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:270 +msgid "Singlepic" +msgstr "Einzelbilder" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:282 +msgid "Use as featured image" +msgstr "Benutze als empfohlenes Bild" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:284 +msgid "Insert into Post" +msgstr "In den Beitrag einfügen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:295 +msgid "Save all changes" +msgstr "Änderungen speichern" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:14 +msgid "NextGEN Gallery Overview" +msgstr "NextGEN Gallery Übersicht" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:85 +msgid "Welcome to NextGEN Gallery !" +msgstr "Willkomen bei NextGEN Gallery" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:86 +msgid "Do you like this Plugin?" +msgstr "Bist Du mit dem Plugin zufrieden ?" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:88 +msgid "Translation" +msgstr "Übersetzung" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:90 +msgid "About" +msgstr "Über" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:93 +msgid "Server Settings" +msgstr "Server- Einstellungen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:100 +msgid "" +"NextGEN Gallery is one of the most popular Wordpress plugins of all time " +"with over 9 million downloads. It is developed and supported by Photocrati " +"Media. We'd like to offer a special thanks to Alex Rabe, who first developed " +"the plugin and maintained it through 2011." +msgstr "" +"NextGEN Gallery ist eines der populärsten WordPress Plugins mit über 9 " +"Millionen Downloads. Es ist entwickelt und unterstützt von Photocrati Media. " +"Gerne sagen wir besondere Dankesworte zu Alex Rabe, der das Plugin zuerst " +"entwickelt und bis 2011 im Besitz hatte. " + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:101 +msgid "" +"NEED HELP? If you need help or assistance please visit the " +"NextGEN " +"Gallery forums on WordPress.org. Please note that we actively monitor " +"and participate in the forums, but given that NextGEN Gallery is a free " +"product, we don't guarantee replies to support queries." +msgstr "" +"DU BRAUCHST HILFE? Wenn Du Hilfe oder Unterstützung " +"brauchst, besuche bitte NextGEN Gallery forums on WordPress.org. Bitte beachte, dass " +"wir die Support Foren aktiv sichten und antworten. Da NextGEN Gallery ein " +"kostenloses Produkt ist, garantieren wir keine Antworten auf Anfragen in der " +"Support Seite. Dazu ist ein Upgrade auf NextGEN Gallery Pro notwendig. " + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:102 +msgid "" +"EXTENDING NEXTGEN? There are many third party plugins that " +"add displays and functionality for NextGEN Gallery. See our Complete List of " +"NextGEN Extension Plugins." +msgstr "" +"ERGÄNZUNGEN ZU NEXTGEN? Es gibt eine Vielzahl von " +"Zusatzplugins, die spezielle Ansichten und Funktionalität abbilden. Hier ist " +"die komplette Liste von NextGEN Ergänzungs-Plugins." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:110 +#, php-format +msgid "" +"This plugin is primarily developed, maintained, supported and documented by " +"Photocrati Media with a lot of love & " +"effort. Any kind of contribution would be highly appreciated. Thanks!" +msgstr "" +"Dieses Plugin wird mit viel Mühe & Leidenschaft entwickelt, dokumentiert und " +"supported von Photocrati Media. Jede " +"Form der Ünterstützung ist willkommen. Vielen Dank." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:115 +msgid "Please click \"Works\" on WordPress.org" +msgstr "Bitte klicke \"Works\" auf WordPress.org" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:120 +msgid "Give it a good rating on WordPress.org" +msgstr "Bitte gib eine gute Bewertung bei WordPress.org." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:125 +msgid "Visit the plugin homepage" +msgstr "Besuche die Pugin-Webseite" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:130 +msgid "Help translating it" +msgstr "Hilf das Plugin zu übersetzen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:152 +msgid "Graphic Library" +msgstr "Grafik-Bibliothek" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:168 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:217 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:415 +msgid "Loading…" +msgstr "Lade…" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:168 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:217 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:415 +msgid "This widget requires JavaScript." +msgstr "Dieses Widget braucht JavaScript." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:181 +msgid "Thanks to all donators..." +msgstr "Danke an alle Spender..." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:203 +msgid "View all" +msgstr "Alle ansehen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:229 +#, php-format +msgid "" +"Newsfeed could not be loaded. Check the front page to " +"check for updates." +msgstr "" +"Der Newsfeed kann nicht geladen werden. Schaue auf die Hauptseite, um Updates mitzubekommen." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:241 +msgid "Untitled" +msgstr "Kein Titel" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:306 +msgid "At a Glance" +msgstr "Übersicht" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:323 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:223 +msgid "Album" +msgid_plural "Albums" +msgstr[0] "Album" +msgstr[1] "Alben" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:359 +msgid "Storage Space" +msgstr "Speicherplatz" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:363 +#, php-format +msgid "" +"%2$sMB" +msgstr "" +"%2$sMB" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:364 +msgid "Space Allowed" +msgstr "Speicher verfügbar" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:371 +#, php-format +msgid "" +"%2$sMB (%3$s" +"%%)" +msgstr "" +"%2$sMB (%3$s" +"%%)" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:372 +msgid "Space Used" +msgstr "Verbrauchter Uploadspeicher" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:401 +msgid "Translation file successful updated. Please reload page." +msgstr "Übersetzungsdatei aktualisiert. Bitte Seite neu laden." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:403 +msgid "Reload page" +msgstr "Seite neu laden" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:408 +msgid "Translation file couldn't be updated" +msgstr "Übersetzung konnte nicht aktualisiert werden" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:445 +msgid "Download" +msgstr "Jetzt updaten" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:474 +msgid "No GD support" +msgstr "Keine GD Unterstützung" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:506 +msgid "Not set" +msgstr "Nicht gesetzt" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:508 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:511 +msgid "On" +msgstr "An" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:509 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:512 +msgid "Off" +msgstr "Aus" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:516 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:519 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:522 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:525 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:528 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:531 +msgid "N/A" +msgstr "N/A" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:530 +msgid " MByte" +msgstr " MByte" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:543 +msgid "Operating System" +msgstr "Betriebssystem" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:544 +msgid "Server" +msgstr "Server" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:545 +msgid "Memory usage" +msgstr "Speicherverbrauch" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:546 +msgid "MYSQL Version" +msgstr "MySQL Version" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:547 +msgid "SQL Mode" +msgstr "SQL Modus" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:548 +msgid "PHP Version" +msgstr "PHP Version" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:549 +msgid "PHP Safe Mode" +msgstr "PHP Safe Mode" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:550 +msgid "PHP Allow URL fopen" +msgstr "PHP Allow URL fopen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:551 +msgid "PHP Memory Limit" +msgstr "PHP Memory Limit" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:552 +msgid "PHP Max Upload Size" +msgstr "PHP Max Upload Größe" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:553 +msgid "PHP Max Post Size" +msgstr "PHP Max Post Größe" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:554 +msgid "PCRE Backtracking Limit" +msgstr "PCRE Backtracking Limit" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:555 +msgid "PHP Max Script Execute Time" +msgstr "PHP Max Script Execute Time" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:556 +msgid "PHP Exif support" +msgstr "PHP Exif Modul" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:557 +msgid "PHP IPTC support" +msgstr "PHP IPTC Modul" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:558 +msgid "PHP XML support" +msgstr "PHP XML Modul" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:570 +msgid "" +"NextGEN Gallery contains some functions which are only available under PHP " +"5.2. You are using the old PHP 4 version, upgrade now! It's no longer " +"supported by the PHP group. Many shared hosting providers offer both PHP 4 " +"and PHP 5, running simultaneously. Ask your provider if they can do this." +msgstr "" +"NextGEN Gallery enthält einige Funktionen, die nur unter PHP 5.2 verfügbar " +"sind. Du nutzt immer noch die alte PHP 4 Version. Bitte aktualisiere so bald " +"wie möglich diese Version, sie wird nicht mehr gepflegt und " +"weiterentwicklelt. Die meisten Hoster bieten bereits PHP5 an. Bitte " +"kontaktiere Deinen Provider und frag kurz nach, ob sie ein Update " +"durchführen können." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:690 +msgid "and all donators..." +msgstr "und allen anderen Spendern..." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:35 +msgid "Post title" +msgstr "Beitragstitel" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:37 +msgid "Enter the post title " +msgstr "Artikelüberschrift " + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:42 +msgid "Size of the image" +msgstr "Größe des Bildes" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:60 +msgid "Draft" +msgstr "Entwurf" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:26 +msgid "" +"Select the lowest role which should be able to access the following " +"capabilities. NextGEN Gallery supports the standard roles from WordPress." +msgstr "" +"Wähle die niedrigste Rolle aus, die Zugriff haben soll. NextGEN Gallery " +"unterstützt nur die Standard-Wordpress-Rollen-Fähigkeiten von WordPress." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:27 +msgid "For a more flexible user management you can use the" +msgstr "Nutze für eine flexiblere Rechteverwaltung den " + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:31 +msgid "Main NextGEN Gallery overview" +msgstr "NextGEN Galerie Übersicht" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:35 +msgid "Use TinyMCE Button / Upload tab" +msgstr "TinyMCE Button / Upload Tab" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:39 +msgid "Add gallery / Upload images" +msgstr "Galerie einrichten / Bilder hochladen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:43 +msgid "Manage gallery" +msgstr "Galerie verwalten" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:47 +msgid "Manage others gallery" +msgstr "Alle Galerien verwalten" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:51 +msgid "Manage tags" +msgstr "Verwalte Stichwörter" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:59 +msgid "Change style" +msgstr "Style anpassen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:63 +msgid "Change options" +msgstr "Optionen änderen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:67 +msgid "NextGEN Attach Interface" +msgstr "NextGEN Schnittstelle" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:60 +msgid "Image rotated" +msgstr "Bild gedreht" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:62 +msgid "Error rotating thumbnail" +msgstr "Konnte Bild nicht bearbeiten" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:85 +msgid "90° clockwise" +msgstr "90° rechts drehen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:86 +msgid "90° anticlockwise" +msgstr "90° links drehen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:87 +msgid "Flip vertically" +msgstr "Vertikal spiegeln" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:88 +msgid "Flip horizontally" +msgstr "Horizontal spiegeln" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:22 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:204 +#, php-format +msgid "Rebuild image structure : %s / %s images" +msgstr "Erzeuge Permalinks für Bilder : %s / %s Bilder" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:23 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:205 +#, php-format +msgid "Rebuild gallery structure : %s / %s galleries" +msgstr "Erzeuge Permalinks für Galerien : %s / %s Galerien" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:24 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:206 +#, php-format +msgid "Rebuild album structure : %s / %s albums" +msgstr "Erzeuge Permalinks für Alben : %s / %s Alben" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:81 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:263 +msgid "Done." +msgstr "Fertig." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:196 +msgid "Cache cleared" +msgstr "Cache löschen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:315 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:334 +msgid "General Options" +msgstr "Allg. Optionen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:316 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:520 +#: ../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:26 +msgid "Thumbnails" +msgstr "Vorschaubilder" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:317 +msgid "Images" +msgstr "Bilder" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:319 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:572 +msgid "Effects" +msgstr "Effekte" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:320 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:614 +msgid "Watermark" +msgstr "Wasserzeichen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:321 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:521 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:721 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:215 +#: ../products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:76 +msgid "Slideshow" +msgstr "Slideshow" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:340 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:54 +msgid "Gallery path" +msgstr "Galerie-Pfad" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:342 +msgid "This is the default path for all galleries" +msgstr "Dies ist der Standard-Pfad für alle Galerien" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:345 +msgid "Delete image files" +msgstr "Lösche Bilddateien" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:347 +msgid "Delete files, when removing a gallery in the database" +msgstr "" +"Löscht auch die Dateien, falls die Galerie aus der Datenbank entfernt wird" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:350 +msgid "Activate permalinks" +msgstr "Aktiviere Permalinks" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:352 +msgid "" +"When you activate this option, you need to update your permalink structure " +"one time." +msgstr "" +"Wenn Du diese Option aktivierst, muss Du einmal die Permalink Struktur " +"aktualisieren." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:353 +msgid "Gallery slug name :" +msgstr "Galerie Schlagwort :" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:357 +msgid "Create new URL friendly image slugs" +msgstr "Erstelle neue URL lesbare Schlagwörter " + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:358 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:474 +msgid "Proceed now" +msgstr "Jetzt durchführen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:361 +msgid "Select graphic library" +msgstr "Wähle Grafik-Bibliothek" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:362 +msgid "GD Library" +msgstr "GD Bibliothek" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:363 +msgid "ImageMagick (Experimental). Path to the library :" +msgstr "ImageMagick (Experimental). Pfad zur Bibliothek :" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:368 +msgid "Activate Media RSS feed" +msgstr "Aktiviere Media-RSS-Feed" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:370 +msgid "" +"A RSS feed will be added to you blog header. Useful for CoolIris/PicLens" +msgstr "Ein Bilder-RSS Feed wird zum Blog hinzugefügt" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:373 +msgid "Activate PicLens/CoolIris support" +msgstr "Aktiviere PicLens/CoolIris" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:375 +msgid "" +"When you activate this option, some javascript is added to your site footer. " +"Make sure that wp_footer is called in your theme." +msgstr "" +"Dieser Effekt fügt ein neues Javascript zu Deinem Theme hinzu. Beachte, dass " +"wp_footer() in Deinen Vorlagen aufgerufen wird." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:378 +msgid "Tags / Categories" +msgstr "Stichwörter / Kategorien" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:381 +msgid "Activate related images" +msgstr "Verwandte Bilder anzeigen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:383 +msgid "This option will append related images to every post" +msgstr "Diese Option hängt verwandte Bilder an jeden Beitrag" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:387 +msgid "Match with" +msgstr "Vergleiche mit" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:393 +msgid "Max. number of images" +msgstr "Max. Anzahl der Bilder" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:395 +msgid "0 will show all images" +msgstr "0 zeige alle verwandten Bilder" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:399 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:435 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:477 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:562 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:597 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:860 +msgid "More settings" +msgstr "Mehr Einstellungen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:409 +msgid "Thumbnail settings" +msgstr "Einstellungen Vorschaubilder" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:413 +msgid "" +"Please note : If you change the settings, you need to recreate the " +"thumbnails under -> Manage Gallery ." +msgstr "" +"Bitte beachten : Änderungen der Einstellungen werden erst übernommen, wenn " +"Du neue Vorschaubilder unter -> \"Gallery verwalten\" erstellst" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:422 +msgid "These values are maximum values " +msgstr "Diese Angaben sind maximale Angaben." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:445 +msgid "Image settings" +msgstr "Bild-Einstellungen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:451 +msgid "Resize Images" +msgstr "Bilder verkleinern" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:460 +msgid "Backup original images" +msgstr "Backup von Original-Bildern " + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:462 +msgid "Creates a backup for inserted images" +msgstr "Backup der Bilder anlegen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:465 +msgid "Automatically resize" +msgstr "Grösse automatisch anpassen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:467 +msgid "Automatically resize images on upload." +msgstr "Passt die Grösse automatisch beim Upload an" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:470 +msgid "Single picture" +msgstr "Einzelbilder" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:473 +msgid "Clear cache folder" +msgstr "Lösche Cache-Verzeichnis" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:494 +msgid "Deactivate gallery page link" +msgstr "Keine Seitenverzweigung" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:496 +msgid "" +"The album will not link to a gallery subpage. The gallery is shown on the " +"same page." +msgstr "" +"Ein Album benötigt dann keinen Link zur Seite. Die Galerie wird direkt " +"angezeigt." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:500 +msgid "Number of images per page" +msgstr "Anzahl der Bilder pro Seite" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:502 +msgid "0 will disable pagination, all images on one page" +msgstr "0 schaltet Blätterfunktion ab ( = alle Bilder auf einer Seite )" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:506 +msgid "Number of columns" +msgstr "Anzahl der Spalten" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:508 +msgid "" +"0 will display as much as possible based on the width of your theme. Setting " +"normally only required for captions below the images" +msgstr "" +"Mit \"0\" werden soviele Bilder wie möglich in einer Reihe dargestellt. Die " +"Einstellung ist normalerweise nur für Beschriftungen unterhalb der Bilder " +"sinnvoll." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:512 +msgid "Integrate slideshow" +msgstr "Slideshow verwenden" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:519 +msgid "Show first" +msgstr "Zeige als Erstes" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:525 +msgid "Show ImageBrowser" +msgstr "Zeige Bilder-Browser" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:527 +msgid "The gallery will open the ImageBrowser instead the effect." +msgstr "Es wird der Bilder-Browser angezeigt (Kein JavaScript Effekt)" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:531 +msgid "Add hidden images" +msgstr "Versteckte Bilder hinzufügen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:533 +msgid "" +"If pagination is used, this option will still show all images in the modal " +"window (Thickbox, Lightbox etc.). Note : This increases the page load" +msgstr "" +"Wenn Du die Blätterfunktion nutzt, dann kannst Du mit dieser Option alle " +"Bilder im Modal-Fenster (Thickbox,Lightbox etc.) anzeigen. Berücksichtige, " +"dass die Ladezeit der Seite erhöht wird." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:539 +msgid "" +"Browse images without reload the page. Note : Works only in combination with " +"Shutter effect" +msgstr "" +"Ermöglicht das Blättern zwischen den Bildern ohne die Seite neu zu laden. " +"Hinweis : Funktioniert nur mit dem Shutter-Effekt." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:543 +msgid "Sort options" +msgstr "Sortierung" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:546 +msgid "Sort thumbnails" +msgstr "Vorschaubilder sortieren" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:548 +msgid "Custom order" +msgstr "Benutzerdefiniert" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:550 +msgid "File name" +msgstr "Dateiname" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:551 +msgid "Alt / Title text" +msgstr "Alt / Titel Text" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:552 +#: ../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:58 +msgid "Date / Time" +msgstr "Datum/Zeit" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:556 +msgid "Sort direction" +msgstr "Sortierreihenfolge" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:576 +msgid "" +"Here you can select the thumbnail effect, NextGEN Gallery will integrate the " +"required HTML code in the images. Please note that only the Shutter and " +"Thickbox effect will automatic added to your theme." +msgstr "" +"Hier kannst Du den Effekt für die Vorschaubilder auswählen. NextGEN Galerie " +"wird den benötigten HTML-Code verwenden. Bitte beachte, dass nur Shutter und " +"der Thickbox Effekt automatisch in Dein Theme von Wordpress integriert wird. " +"Alle anderen Effekte mußt Du selbst in die header.php eintragen (JS)." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:577 +msgid "With the placeholder" +msgstr "Mit Platzhalter" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:577 +msgid "" +"you can activate a navigation through the images (depend on the effect). " +"Change the code line only , when you use a different thumbnail effect or you " +"know what you do." +msgstr "" +"Du kannst eine Navigation durch die Bilder aktivieren (hängt vom Effekt ab). " +"Ändere nur die Codezeile, falls Du einen anderen Effekt für die " +"Vorschaubilder verwendest oder einfach weißt, was Du tust." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:580 +msgid "JavaScript Thumbnail effect" +msgstr "JavaScript Vorschaubild Effekt" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:584 +msgid "Thickbox" +msgstr "Thickbox" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:585 +msgid "Lightbox" +msgstr "Lightbox" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:586 +msgid "Highslide" +msgstr "Highslide" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:587 +msgid "Shutter" +msgstr "Shutter" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:593 +msgid "Link Code line" +msgstr "Link-Code-Zeile" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:620 +msgid "Preview" +msgstr "Vorschau" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:622 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:627 +msgid "Position" +msgstr "Position" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:647 +msgid "Offset" +msgstr "Abstand" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:663 +msgid "Use image as watermark" +msgstr "Benutze das Bild als Wasserzeichen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:666 +msgid "URL to file" +msgstr "URL zur Datei" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:668 +msgid "The accessing of URL files is disabled at your server (allow_url_fopen)" +msgstr "" +"Der Dateizugriff von URLs ist auf diesem Server deaktiviert (allow_url_fopen)" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:671 +msgid "Use text as watermark" +msgstr "Benutze Text als Wasserzeichen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:674 +msgid "Font" +msgstr "Schriftart" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:683 +msgid "This function will not work, cause you need the FreeType library" +msgstr "Diese Funktion benötigt die FreeType-Bibliothek" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:685 +msgid "" +"You can upload more fonts in the folder nggallery/fonts" +msgstr "" +"Du kannst mehr Schriftarten in das Verzeichniss nggallery/fonts hochladen." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:694 +msgid "Color" +msgstr "Farbe" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:696 +msgid "(hex w/o #)" +msgstr "(hex w/o #)" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:699 +msgid "Text" +msgstr "Text" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:703 +msgid "Opaque" +msgstr "Transparenz" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:724 +msgid "Default size (W x H)" +msgstr "Standard Größe (B x H)" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:729 +msgid "Duration time" +msgstr "Dauer" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:730 +msgid "sec." +msgstr "Sek." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:733 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:810 +msgid "Transition / Fade effect" +msgstr "Fade Effekt" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:736 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:813 +msgid "fade" +msgstr "Fade" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:737 +msgid "blindX" +msgstr "blindX" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:738 +msgid "cover" +msgstr "Blenden" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:739 +msgid "scrollUp" +msgstr "ScrollUp" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:740 +msgid "scrollDown" +msgstr "ScrollDown" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:741 +msgid "shuffle" +msgstr "Shuffle" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:742 +msgid "toss" +msgstr "Schüttel" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:743 +msgid "wipe" +msgstr "wischen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:745 +msgid "See here for more information about the effects :" +msgstr "Hier bekommst du mehr Informationen über die Effekte :" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:749 +msgid "Settings for the JW Image Rotator" +msgstr "JW-Image-Rotator Einstellungen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:758 +msgid "" +"The path to JW Image Rotator is not defined, the slideshow will not work." +msgstr "" +"Der Pfad zum JW Image Rotator ist nicht definiert. Die Slideshow " +"funktioniert nicht." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:770 +msgid "Path to the JW Image Rotator (URL)" +msgstr "Pfad zum JW Image Rotator (URL)" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:773 +msgid "Search now" +msgstr "Suche jetzt" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:774 +msgid "Press the button below to search for the JW Image Rotator" +msgstr "Den Button unten nutzen um den JW Image Rotator zu suchen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:778 +msgid "Shuffle mode" +msgstr "Shuffle Modus" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:796 +msgid "You can change the logo at the watermark settings" +msgstr "Du kannst den Pfad in Einstellungen für das Wasserzeichen angeben" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:802 +msgid "true" +msgstr "Ja" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:803 +msgid "false" +msgstr "Nein" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:804 +msgid "fit" +msgstr "Passend" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:805 +msgid "none" +msgstr "keiner" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:814 +msgid "bgfade" +msgstr "BGFade" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:815 +msgid "slowfade" +msgstr "Slowfade" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:816 +msgid "circles" +msgstr "Kreise" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:817 +msgid "bubbles" +msgstr "Blasen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:818 +msgid "blocks" +msgstr "Blöcke" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:819 +msgid "fluids" +msgstr "Fluids" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:820 +msgid "flash" +msgstr "Flash" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:821 +msgid "lines" +msgstr "Linien" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:822 +#: ../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:42 +msgid "random" +msgstr "Zufall" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:831 +msgid "Background Color" +msgstr "Hintergrund (BG) Farbe" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:836 +msgid "Texts / Buttons Color" +msgstr "Text- / Button Farbe" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:841 +msgid "Rollover / Active Color" +msgstr "Rollover / Aktiv (Link) Farbe" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:846 +msgid "Screen Color" +msgstr "Seiten-Farbe" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:851 +msgid "Background music (URL)" +msgstr "Hintergrundmusik (URL)" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:855 +msgid "Try XHTML validation (with CDATA)" +msgstr "Integriere XHTML-Validierung (mittels CDATA)" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:857 +msgid "" +"Important : Could causes problem at some browser. Please recheck your page." +msgstr "" +"Wichtig : Es könnten Probleme bei einigen Browser entstehen. Unbedingt Seite " +"danach prüfen." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:29 +msgid "Meta Data" +msgstr "Metadaten" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:34 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:60 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:85 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:109 +msgid "Tag" +msgstr "Stichwort" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:35 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:61 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:86 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:110 +msgid "Value" +msgstr "Wert" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:49 +msgid "No meta data saved" +msgstr "Keine Metadaten gespeichert" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:55 +msgid "EXIF Data" +msgstr "EXIF-Daten" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:74 +msgid "No exif data" +msgstr "Keine Exif-Daten" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:81 +msgid "IPTC Data" +msgstr "IPTC-Daten" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:105 +msgid "XMP Data" +msgstr "XMP-Daten" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:11 +msgid "(From the theme folder)" +msgstr "(Aus dem Theme Verzeichnis)" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:43 +msgid "You do not have sufficient permissions to edit templates for this blog." +msgstr "" +"Du hast nicht die benötigten Rechte, um Vorlagen in diesem Blog zu " +"bearbeiten." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:52 +msgid "CSS file successfully updated" +msgstr "CSS-Datei erfolgreich aktualisiert" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:91 +msgid "Activate and use style sheet:" +msgstr "Aktiviere und nutze Stylesheet:" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:111 +msgid "Activate" +msgstr "Aktiviere" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:121 +#, php-format +msgid "Editing %s" +msgstr "Bearbeite %s" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:123 +#, php-format +msgid "Browsing %s" +msgstr "Durchsuche %s" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:133 +msgid "Version" +msgstr "Version" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:136 +msgid "" +"Tip : Copy your stylesheet (nggallery.css) to your theme folder, so it will " +"be not lost during a upgrade" +msgstr "" +"Kleiner Tipp: Kopiere das Stylesheet (nggallery.css) in Dein Theme-" +"Verzeichnis, dadurch wird es beim nächsten Update nicht überschrieben." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:138 +msgid "" +"Your theme contain a NextGEN Gallery stylesheet (nggallery.css), this file " +"will be used" +msgstr "" +"Dein Theme-Paket enthält ein NextGEN-Gallery-Stylesheet (nggallery.css), " +"dieses Sheet wird automatisch eingebunden" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:140 +msgid "" +"Tip No. 2: Use the color picker below to help you find the right color " +"scheme for your gallery!" +msgstr "" +"2.Tipp : Benutze die Farbauswahl, um den zugehörigen HTML-Farbcode zu " +"erhalten" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:156 +msgid "Update File" +msgstr "Datei aktualisieren" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:159 +msgid "If this file were writable you could edit it." +msgstr "Wenn diese Datei beschreibbar wäre, könntest Du sie bearbeiten." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:164 +msgid "Oops, no such file exists! Double check the name and try again, merci." +msgstr "" +"Oha, eine solche Datei existiert nicht! Bitte überprüfe den Namen und " +"probiere es erneut. Danke." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:41 +msgid "Most popular" +msgstr "Beliebteste Stichwörter" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:42 +msgid "Least used" +msgstr "Zuletzt benutzt" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:43 +msgid "Alphabetical" +msgstr "Alphabetisch" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:100 +msgid "Manage image tags" +msgstr "Verwalte Bilder-Stichwörter" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:112 +msgid "Existing Tags" +msgstr "Vorhandene Stichwörter" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:116 +msgid "Search tags" +msgstr "Suche nach Stichwörter" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:120 +msgid "Go" +msgstr "Start" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:125 +msgid "Sort Order:" +msgstr "Sortierung :" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:160 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:164 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:177 +msgid "Previous tags" +msgstr "Vorheriges Stichwort" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:173 +msgid "Next tags" +msgstr "Nächstes Stichwort" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:185 +msgid "Rename Tag" +msgstr "Schlagwort umbenennen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:193 +msgid "" +"Enter the tag to rename and its new value. You can use this feature to " +"merge tags too. Click \"Rename\" and all posts which use this tag will be " +"updated." +msgstr "" +"Trage das Stichwort ein, das Du umbenennen willst und seinen neuen Wert/" +"Namen. Du kannst diese Funktion auch nutzen, um Stichwörter " +"zusammenzuführen. Klicke auf \"Umbenennen\" und alle Bilder, die das " +"Stichwort verwenden, werden aktualisiert." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:194 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:242 +msgid "You can specify multiple tags to rename by separating them with commas." +msgstr "Mehrere Stichwörter zum Umbenennen durch Komma trennen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:198 +msgid "Tag(s) to rename:" +msgstr "Stichwörter umbennenen:" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:202 +msgid "New tag name(s):" +msgstr "Neuer Name für das Stichwort" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:205 +msgid "Rename" +msgstr "Umbenennen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:211 +msgid "Delete Tag" +msgstr "Stichwort löschen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:219 +msgid "" +"Enter the name of the tag to delete. This tag will be removed from all " +"posts." +msgstr "" +"Trage das zu löschende Stichwort ein. Das Stichwort wird aus allen Bildern " +"entfernt." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:220 +msgid "You can specify multiple tags to delete by separating them with commas" +msgstr "" +"Du kannst mehrere Stichwörter zum Löschen markieren, indem Du sie mit Kommas " +"trennst" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:224 +msgid "Tag(s) to delete:" +msgstr "Folgede Stichwörter löschen:" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:233 +msgid "Edit Tag Slug" +msgstr "Ändere Schlagwort" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:241 +msgid "" +"Enter the tag name to edit and its new slug. This will be used in tagcloud " +"links. Slug definition" +msgstr "" +"Trage den Namen des zu ändernden Stichworts und seinen neuen \"Slug\" ein. " +"Was " +"ist ein Slug?" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:246 +msgid "Tag(s) to match:" +msgstr "Stichwörter vergleichen :" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:250 +msgid "Slug(s) to set:" +msgstr "Schlagwörter setzen:" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_create_page_field.php:3 +msgid "Main Page (no parent)" +msgstr "Hauptseite (keine Eltern)" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_create_page_field.php:10 +msgid "Add page" +msgstr "Seite hinzufügen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/thumbnails-template.php:103 +msgid "These are maximum values" +msgstr "Diese Angaben sind maximale Angaben" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:61 +msgid "" +"Some folders/files could not renamed, please recheck the permission and " +"rescan the folder in the manage gallery section." +msgstr "" +"Einige Verzeichnisse / Bilder konnten nicht umbenannt werden, bitte " +"überprüfe die Zugriffsrechte und scanne dann das Verzeichnis neu ein." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:63 +msgid "Rename failed" +msgstr "Konnte nicht umbenannt werden" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:159 +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:178 +msgid "Upgrade NextGEN Gallery" +msgstr "NextGEN-Gallery aktualisieren" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:160 +msgid "The script detect that you upgrade from a older version." +msgstr "Es wurde eine ältere NextGEN-Datenbank erkannt." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:161 +msgid "" +"Your database tables for NextGEN Gallery is out-of-date, and must be " +"upgraded before you can continue." +msgstr "" +"Deine Datenbanktabellen für NextGEN-Gallery sind nicht auf dem aktuellen " +"Stand, sie müssen jetzt aktualisiert werden." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:162 +msgid "" +"If you would like to downgrade later, please make first a complete backup of " +"your database and the images." +msgstr "" +"Wenn Du wieder auf eine ältere Version zurückgehen möchtest, solltest Du " +"vorher die Datenbank sichern." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:163 +msgid "The upgrade process may take a while, so please be patient." +msgstr "Der Upgrade-Prozess kann etwas dauern, bitte sei geduldig..." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:164 +msgid "Start upgrade now" +msgstr "Aktualisierung starten" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:180 +msgid "Upgrade finished..." +msgstr "Upgrade beendet..." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:181 +msgid "Continue" +msgstr "Weiter" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:33 +msgid "Update successfully" +msgstr "Aktualisierung erfolgreich" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:48 +msgid "Network Options" +msgstr "Netzwerk Optionen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:56 +msgid "" +"This is the default path for all blogs. With the placeholder %BLOG_ID% you " +"can organize the folder structure better." +msgstr "" +"Dieses ist der Default-Pfad für alle Blogs. Mit dem Platzhalter %BLOG_ID% " +"wird die Ordnerstruktur gesteuert. Der Pfad muss mit / enden." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:57 +#, php-format +msgid "The default setting should be %s" +msgstr "Grundeinstellung ist %s" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:61 +msgid "Enable upload quota check" +msgstr "Schalte die Uploadbegrenzung ein" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:63 +msgid "Should work if the gallery is bellow the blog.dir" +msgstr "" +"Sollte funktionieren, wenn die Galerien sich unterhalb blog.dir befinden" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:67 +msgid "Enable zip upload option" +msgstr "Erlaube ZIP-Upload" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:69 +msgid "Allow users to upload zip folders." +msgstr "Erlaubt die Nutzung des ZIP-Upload" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:73 +msgid "Enable import function" +msgstr "Erlaube Import Funktion" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:75 +msgid "Allow users to import images folders from the server." +msgstr "" +"Erlaube dem User Bilder direkt aus den Server Verzeichnissen zu importieren." + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:79 +msgid "Enable style selection" +msgstr "Freie CSS-Style-Auswahl" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:81 +msgid "Allow users to choose a style for the gallery." +msgstr "Erlaube dem User, ein CSS für die Galerie zu wählen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:85 +msgid "Enable roles/capabilities" +msgstr "Rollen / Zugriffsrechte freischalten" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:87 +msgid "Allow users to change the roles for other blog authors." +msgstr "Erlaube dem User die Anpassung der Zugangsberechtigung" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:91 +msgid "Default style" +msgstr "Standard-CSS-Style" + +#: ../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:108 +msgid "Choose the default style for the galleries." +msgstr "Wähle das Default-Stylesheet für die Galerien" + +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/core.php:410 +#, php-format +msgid "" +"Note : Based on your server memory limit you should not upload larger images " +"then %d x %d pixel" +msgstr "" +"Hinweis: Basierend auf der Speicherbegrenzung auf dem Server, solltest Du " +"keine Bilder grösser als %d x %d Pixel hochladen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/locale.php:120 +msgid "Invalid URL Provided." +msgstr "Ungültige URL" + +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/locale.php:124 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/locale.php:128 +msgid "Could not create Temporary file." +msgstr "Konnte temporäre Datei nicht erstellen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php:337 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php:338 +msgid "Album overview" +msgstr "Album Übersicht" + +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:68 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:70 +msgid "Set NextGEN featured image" +msgstr "Zeige das NextGEN empfohlene Bild" + +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:328 +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:329 +msgid "Set featured image" +msgstr "Zeige empfohlenes Bild" + +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:356 +msgid "Remove featured image" +msgstr "Entferne das empfohlene Bild" + +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:35 +msgid "No new tag specified!" +msgstr "Kein neues Stichwort definiert!" + +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:50 +msgid "No new/old valid tag specified!" +msgstr "Kein neues Stichwort definiert!" + +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:86 +msgid "No tag renamed." +msgstr "Kein Stichwort umbenannt." + +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:88 +#, php-format +msgid "Renamed tag(s) «%1$s» to «%2$s»" +msgstr "" +"Es wurden die Stichwörter «%1$s» bis «%2$s» umbenannt" + +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:95 +msgid "No valid new tag." +msgstr "Kein gültiges Stichwort" + +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:112 +msgid "No objects (post/page) found for specified old tags." +msgstr "Keine Objekte (Seite/Beitrag) enthält das ausgewählte Stichwort" + +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:141 +msgid "No tag merged." +msgstr "Keine Stichwörter zusammengeführt." + +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:143 +#, php-format +msgid "" +"Merge tag(s) «%1$s» to «%2$s». %3$s objects edited." +msgstr "" +"Stichwörter «%1$s» bis «%2$s» zusammengeführt. %3$s " +"Objekte geändert." + +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:146 +msgid "Error. No enough tags for rename. Too for merge. Choose !" +msgstr "Fehler. Es wurden nicht genug Stichwörter ausgewählt." + +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:165 +msgid "No tag specified!" +msgstr "Kein Stichwort angegeben" + +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:188 +msgid "No tag deleted." +msgstr "Kein Stichwort gelöscht" + +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:190 +#, php-format +msgid "%1s tag(s) deleted." +msgstr "%1s Stichwörter gelöscht" + +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:206 +msgid "No new slug(s) specified!" +msgstr "Keine neuen Stichwörter ausgewählt" + +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:218 +msgid "Tags number and slugs number isn't the same!" +msgstr "Stichwort und Schlagwort ist nicht das Gleiche!" + +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:245 +msgid "No slug edited." +msgstr "Kein Stichwort geändert" + +#: ../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:247 +#, php-format +msgid "%s slug(s) edited." +msgstr "%s Stichwörter geändert" + +#: ../products/photocrati_nextgen/modules/ngglegacy/nggallery.php:67 +msgid "" +"Translation by : See here" +msgstr "" +"Übersetzt von : Alex Rabe" + +#: ../products/photocrati_nextgen/modules/ngglegacy/nggallery.php:68 +msgid "" +"This translation is not yet updated for Version 1.9.0. If " +"you would like to help with translation, download the current po from the " +"plugin folder and read here how you can translate the plugin." +msgstr "" +"Sollten jemand Rechtschreibfehler, Deppenapostrophe oder andere deutsche " +"Ungereimtheiten finden, freue ich mich jederzeit über einen kurzen Hinweis" + +#: ../products/photocrati_nextgen/modules/ngglegacy/nggallery.php:161 +msgid "" +"Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB or higher" +msgstr "" +"Tut mir leid, aber NextGEN-Galerie benötigt mindestens 16MB Speicher (Memory " +"Limit) oder mehr" + +#: ../products/photocrati_nextgen/modules/ngglegacy/nggallery.php:187 +msgid "Picture tag" +msgstr "Bilder-Stichwort" + +#: ../products/photocrati_nextgen/modules/ngglegacy/nggallery.php:188 +msgid "Picture tag: %2$l." +msgstr "Bilder-Stichwort: %2$l." + +#: ../products/photocrati_nextgen/modules/ngglegacy/nggallery.php:189 +msgid "Separate picture tags with commas." +msgstr "Trenne Stichwörter mittels Komma" + +#: ../products/photocrati_nextgen/modules/ngglegacy/nggallery.php:333 +msgid "Get help" +msgstr "Hilfe" + +#: ../products/photocrati_nextgen/modules/ngglegacy/nggallery.php:334 +msgid "Contribute" +msgstr "Mithelfen" + +#: ../products/photocrati_nextgen/modules/ngglegacy/nggfunctions.php:29 +msgid "[Gallery not found]" +msgstr "[Galerie nicht gefunden]" + +#: ../products/photocrati_nextgen/modules/ngglegacy/nggfunctions.php:163 +msgid "Related images for" +msgstr "Verwandte Bilder von" + +#: ../products/photocrati_nextgen/modules/ngglegacy/view/gallery-caption.php:32 +#: ../products/photocrati_nextgen/modules/ngglegacy/view/gallery.php:32 +#: ../products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:93 +msgid "[View with PicLens]" +msgstr "[Mit PicLens anzeigen]" + +#: ../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:38 +msgid "Meta data" +msgstr "Metadaten" + +#: ../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:42 +msgid "Camera / Type" +msgstr "Kameratyp" + +#: ../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:50 +msgid "Focal Length" +msgstr "Brennweite" + +#: ../products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:50 +msgid "No galleries have been yet created." +msgstr "Keine Galerie wurde derzeit erstellt." + +#: ../products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:69 +#, php-format +msgid "The gallery ID=%s does not exist." +msgstr "Die Galerie ID=%s existiert nicht." + +#: ../products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:100 +msgid "No album ID has been provided as parameter" +msgstr "Es wurde kein Album als Parameter übergeben" + +#: ../products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:108 +#, php-format +msgid "The album ID=%s does not exist." +msgstr "Album-ID %s existiert nicht" + +#: ../products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:115 +msgid "Invalid MediaRSS command" +msgstr "Ungültiger Media-RSS-Befehl" + +#: ../products/photocrati_nextgen/modules/widget/class.widget_gallery.php:7 +msgid "Add recent or random images from the galleries" +msgstr "Füge die neusten Bilder oder Zufallsbilder aus NextGEN-Gallery ein" + +#: ../products/photocrati_nextgen/modules/widget/class.widget_gallery.php:8 +msgid "NextGEN Widget" +msgstr "NextGEN-Widget" + +#: ../products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:9 +msgid "Widget that displays Media RSS links for NextGEN Gallery." +msgstr "Hiermit können NextGEN-Bilder als Media RSS eingebunden werden" + +#: ../products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:10 +msgid "NextGEN Media RSS" +msgstr "NextGEN Media RSS" + +#: ../products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:22 +msgid "Media RSS" +msgstr "Media RSS" + +#: ../products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:23 +msgid "Link to the main image feed" +msgstr "Link zum Bilder-Feed" + +#: ../products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:7 +msgid "Show a NextGEN Gallery Slideshow" +msgstr "Binde eine NextGEN-Gallery-Slideshow ein" + +#: ../products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:8 +msgid "NextGEN Slideshow" +msgstr "NextGEN-Diashow" + +#: ../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:4 +#: ../products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:3 +msgid "Title :" +msgstr "Titel :" + +#: ../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:15 +msgid "Show :" +msgstr "Zeige als :" + +#: ../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:29 +msgid "Original images" +msgstr "Original Bilder" + +#: ../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:50 +msgid "recent added " +msgstr "zuletzt hinzugefügt" + +#: ../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:62 +msgid "Enable IE8 Web Slices" +msgstr "IE8 Web Slices aktivieren" + +#: ../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:68 +msgid "Width x Height :" +msgstr "Breite x Höhe :" + +#: ../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:87 +msgid "Select :" +msgstr "Wähle :" + +#: ../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:92 +msgid "All galleries" +msgstr "Alle Galerien" + +#: ../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:95 +msgid "Only which are not listed" +msgstr "Nur ungelistete" + +#: ../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:98 +msgid "Only which are listed" +msgstr "Nur gelistete" + +#: ../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:107 +msgid "Gallery ID :" +msgstr "Galerie-ID :" + +#: ../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:114 +msgid "Gallery IDs, separated by commas." +msgstr "Galerie-IDs, mit Kommas getrennt" + +#: ../products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:20 +msgid "Show Media RSS icon" +msgstr "Zeige Media RSS Icon" + +#: ../products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:31 +msgid "Show the Media RSS link" +msgstr "Zeige den globalen Media RSS Link" + +#: ../products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:37 +msgid "Text for Media RSS link:" +msgstr "Text für den globalen Media RSS Link:" + +#: ../products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:49 +msgid "Tooltip text for Media RSS link:" +msgstr "Tooltipp-Text für den globalen Media RSS Link." + +#: ../products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:15 +msgid "Select Gallery:" +msgstr "Wähle Galerie" + +#: ../products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:23 +msgid "All images" +msgstr "Alle Bilder" + +#~ msgid "" +#~ "Reset all options to default settings?\n" +#~ "\n" +#~ "Choose [Cancel] to Stop, [OK] to proceed." +#~ msgstr "" +#~ "Alle Optionen zu Standard zurücksetzen ?\n" +#~ "\n" +#~ "Wähle [Cancel] um abzubrechen, [OK] zum Fortfahren." + +#~ msgid "Enable fullscreen on double tap" +#~ msgstr "Vollbild aktivieren mit Doppelklick" + +#~ msgid "Enabling this may cause compatibility issues with some devices" +#~ msgstr "" +#~ "Die Aktivierung könnte Kombatibilitätsprobleme mit anderer Software " +#~ "verursachen" + +#~ msgid "Save" +#~ msgstr "Speichern" + +#~ msgid "Reset all settings to default parameter" +#~ msgstr "Stelle alle Einstellungen auf Anfangswerte zurück" + +#~ msgid "" +#~ "Uninstall sucessful ! Now delete the plugin and enjoy your life ! Good " +#~ "luck !" +#~ msgstr "" +#~ "Deinstallation erfolgreich! Nun kannst Du das Plugin löschen und Dein " +#~ "Leben weiterhin genießen! Stay geeky! Viel Glück!" + +#~ msgid "Reset options" +#~ msgstr "Optionen zurücksetzen" + +#~ msgid "Reset all options/settings to the default installation." +#~ msgstr "Alle Optionen/Einstellungen zurücksetzen" + +#~ msgid "" +#~ "Reset all options to default settings ?\\n\\nChoose [Cancel] to Stop, " +#~ "[OK] to proceed.\\n" +#~ msgstr "" +#~ "Alle Optionen zu Standard zurücksetzen ?\\n\\nWähle [Cancel] um " +#~ "abzubrechen, [OK] zum Fortfahren.\\n" + +#~ msgid "Uninstall plugin tables" +#~ msgstr "Plugin Tabellen (DB) entfernen" + +#~ msgid "You don't like NextGEN Gallery ?" +#~ msgstr "Du magst die NextGEN Gallery nicht ?" + +#~ msgid "" +#~ "No problem, before you deactivate this plugin press the Uninstall Button, " +#~ "because deactivating NextGEN Gallery does not remove any data that may " +#~ "have been created. " +#~ msgstr "" +#~ "Null Problemo. Einfach nur vor dem Deaktivieren dieses Plugins den " +#~ "Uninstall-Button betätigen, damit alle Tabellen der Galerie entfernt " +#~ "werden." + +#~ msgid "WARNING:" +#~ msgstr "WARNUNG:" + +#~ msgid "" +#~ "Once uninstalled, this cannot be undone. You should use a Database Backup " +#~ "plugin of WordPress to backup all the tables first. NextGEN gallery is " +#~ "stored in the tables" +#~ msgstr "" +#~ "Eine einmalig durchgeführte Deinstallation kann nicht mehr rückgängig " +#~ "gemacht werden, da alle Tabellen der Galerie aus der Datenbank entfernt " +#~ "werden und KEIN Backup dieser Galerie-Tabellen angelegt wird." + +#~ msgid "and" +#~ msgstr "und" + +#~ msgid "Uninstall plugin" +#~ msgstr "Plugin deinstallieren" + +#~ msgid "" +#~ "You are about to Uninstall this plugin from WordPress.\\nThis action is " +#~ "not reversible.\\n\\nChoose [Cancel] to Stop, [OK] to Uninstall.\\n" +#~ msgstr "" +#~ "Du bist dabei, das Plugin zu deinstallieren.\\nDiese Aktion kann NICHT " +#~ "rückgängig gemacht werden.\\n\\nWähle [Cancel] zum Abbrechen, [OK] zum " +#~ "Deinstallieren.\\n" + +#, fuzzy +#~ msgid "BildThumbnail" +#~ msgstr "Vorschaubild" + +#~ msgid "NGG_BASIC_COMPACT_ALBUM" +#~ msgstr "NextGEN Basis Kompakt-Album " + +#~ msgid "NextGEN Basic Compact Album" +#~ msgstr "NextGEN Basis Kompakt-Album" + +#, fuzzy +#~ msgid "NextGen Pro Slideshow" +#~ msgstr "NextGen Pro Slideshow" + +#~ msgid "NextGEN Basic Extended Album" +#~ msgstr "NextGEN Basis Gestrecktes Album" + +#~ msgid "NextGEN Pro Thumbnail Grid" +#~ msgstr "NextGen Pro Vorschaubild Raster" + +#~ msgid "Add Files" +#~ msgstr "Dateien hinzufügen" + +#, fuzzy +#~ msgid "Manage Gallerien" +#~ msgid_plural "Manage Gallerien" +#~ msgstr[0] "Galerien verwalten" +#~ msgstr[1] "Galerien verwalten" + +#~ msgid "Please update the database of NextGEN Gallery." +#~ msgstr "Bitte aktualisiere die Datenbank von NextGEN Gallery." + +#~ msgid "Donate" +#~ msgstr "Spenden" + +#~ msgid "[Album not found]" +#~ msgstr "[Album nicht gefunden]" + +#~ msgid "[SinglePic not found]" +#~ msgstr "[Bild nicht gefunden]" + +#~ msgid "Copyright notes / Credits" +#~ msgstr "Copyright Hinweise / Credits" + +#~ msgid "" +#~ "This plugin is primarily developed, maintained, supported, documented by" +#~ msgstr "" +#~ "Dieses Plugin wird hauptsächlich entwickelt, dokumentiert und supported " +#~ "von" + +#~ msgid "" +#~ "There are many other folks who have made contributions to this project :" +#~ msgstr "Folgende Personen haben die Entwicklung unterstützt :" + +#~ msgid "Contributors / Tribute to" +#~ msgstr "Anerkennung / Hinweise" + +#~ msgid "" +#~ "If you study the code of this plugin, you will find out that we mixed a " +#~ "lot of good already existing code and ideas together." +#~ msgstr "" +#~ "Falls Du Dir den Sourcecode dieses Plugins ansiehst, wirst Du merken, " +#~ "dass wir verschiedene gute Scripte sowie Ideen verwendet haben." + +#~ msgid "" +#~ "So, we would like to thank the following people for their pioneer work " +#~ "(without this work it's impossible to create such a plugin so fast)" +#~ msgstr "" +#~ "Wir möchten folgenden Menschen für Ihre Pionier-Arbeit danken (ohne diese " +#~ "Vorleistung wäre es unmöglich, ein Plugin so schnell zu entwickeln)" + +#~ msgid "for their great documented code" +#~ msgstr "für ihren großartig dokumentierten Code" + +#~ msgid "for jQuery, which is the best Web2.0 framework" +#~ msgstr "für jQuery, das Beste Web 2.0 Framework" + +#~ msgid "for the fantastic PHP Thumbnail Class" +#~ msgstr "für die fantastische PHP-Thumbnail-Klasse" + +#~ msgid "for a lot of very useful plugins and ideas" +#~ msgstr "für viele nützliche Plugins und Ideen" + +#~ msgid "for Shutter Reloaded, a real lightweight image effect" +#~ msgstr "für Shutter Reloaded, ein wirklich smarten Bildeffekt" + +#~ msgid "for the best Media Flash Scripts on earth" +#~ msgstr "für die besten Media-Flash-Scripte" + +#~ msgid "for the Gallery Icon" +#~ msgstr "für das Galerie Icon" + +#~ msgid "for the Watermark plugin" +#~ msgstr "für das Wasserzeichen-Plugin" + +#~ msgid "" +#~ "If you didn't find your name on this list and there is some code which I " +#~ "integrate in my plugin, don't hesitate to send me a mail." +#~ msgstr "" +#~ "Falls Du Deinen Namen nicht auf dieser Liste findest und es aber Code " +#~ "gibt, den ich in meinem Plugin verwendet habe, so schicken mir bitte " +#~ "sofort eine E-Mail." + +#~ msgid "How to support ?" +#~ msgstr "Unterstützung / Hilfe" + +#~ msgid "" +#~ "There exist several ways to contribute, help or support us in this work. " +#~ "Non of them are mandatory." +#~ msgstr "" +#~ "Es existieren verschiedene Möglichkeiten, diese Arbeit zu unterstützen." + +#~ msgid "Send us bugfixes / code changes" +#~ msgstr "Schicke uns Verbesserungen / Bugfixes" + +#~ msgid "" +#~ "The most motivated support for this plugin are your ideas and brain work" +#~ msgstr "Der beste Support für dieses Plugin sind Deine Ideen und Gedanken" + +#~ msgid "Translate the plugin" +#~ msgstr "Übersetze das Plugin" + +#~ msgid "" +#~ "To help people to work with this plugin, I would like to have it in all " +#~ "available languages" +#~ msgstr "" +#~ "Um jedem das Arbeiten mit diesem Plugin zu vereinfachen, würde ich es " +#~ "gerne in allen möglichen Sprachen anbieten" + +#~ msgid "Donate the work via paypal" +#~ msgstr "Zeig Dich für diese Arbeit per PayPal dankbar" + +#~ msgid "No doubt a very useful and easy motivation :-)" +#~ msgstr "Kein Zweifel, eine schöne und einfache Motivationshilfe" + +#~ msgid "Place a link to the plugin in your blog/webpage" +#~ msgstr "Setze einen Link zu diesem Plugin auf Deinen Blog" + +#~ msgid "Yes, share and trackback is also a good support for this work " +#~ msgstr "" +#~ "Natürlich sind Trackbacks und Links auch ein guter Support für diese " +#~ "Arbeit" + +#~ msgid "Thanks!" +#~ msgstr "Vielen Dank!" + +#~ msgid "We would like to thank this people which support us in the work :" +#~ msgstr "" +#~ "Ich möchte mich bei diesen Menschen für Ihre Unterstützung bedanken:" + +#~ msgid "Upload failed!" +#~ msgstr "Upload fehlgeschlagen!" + +#~ msgid "Upload failed! " +#~ msgstr "Upload fehlgeschlagen!" + +#~ msgid "remove" +#~ msgstr "Entfernen" + +#~ msgid "Browse..." +#~ msgstr "Durchsuche..." + +#~ msgid "Upload images" +#~ msgstr "Bilder hochladen" + +#~ msgid "Upload a Zip-File" +#~ msgstr "Zip-Datei hochladen" + +#~ msgid "Import image folder" +#~ msgstr "Bilder-Verzeichnis importieren" + +#~ msgid "Add gallery" +#~ msgstr "Galerie hinzufügen" + +#~ msgid "Upload a zip file with images" +#~ msgstr "Lade eine Zip-Datei mit Bildern hoch" + +#~ msgid "or enter a Zip-File URL" +#~ msgstr "oder gib eine URL zur ZIP-Datei an" + +#~ msgid "Import a zip file with images from a url" +#~ msgstr "Lade eine Zip-Datei mit Bildern über ein URL hoch" + +#~ msgid "in to" +#~ msgstr "in" + +#~ msgid "Note : The upload limit on your server is " +#~ msgstr "Hinweis : Das Upload-Limit auf dem Server beträgt " + +#~ msgid "Start upload" +#~ msgstr "Upload starten" + +#~ msgid "Import from Server path:" +#~ msgstr "Importieren aus Server-Pfad:" + +#~ msgid "Note : Change the default path in the gallery settings" +#~ msgstr "" +#~ "Hinweis : Der Standard-Pfad kann in den Einstellungen angepasst werden" + +#~ msgid "" +#~ " Please note : For safe-mode = ON you need to add the subfolder thumbs " +#~ "manually" +#~ msgstr "" +#~ "Achtung : Da der Safe-Mode (PHP.INI) eingeschaltet ist, mußt Du das " +#~ "Unterverzeichnis für die Vorschaubilder (\"thumbs\") manuell (per FTP) " +#~ "anlegen" + +#~ msgid "Upload image" +#~ msgstr "Bild hochladen" + +#~ msgid "Choose files to upload" +#~ msgstr "Wähle die Bilder zum Upload aus" + +#~ msgid "Select Files" +#~ msgstr "Wähle Datei" + +#~ msgid "Or you can drop the files into this window." +#~ msgstr "Du kannst auch die Bilder per Drag & Drop in den Browser schieben." + +#~ msgid "Scale images to max width %1$dpx or max height %2$dpx" +#~ msgstr "" +#~ "Skaliere die Bilder mit einer max. Breite von %1$dpx oder max. Höhe von " +#~ "%2$dpx" + +#~ msgid "Choose gallery" +#~ msgstr "Wähle Galerie" + +#~ msgid "" +#~ "The batch upload requires Adobe Flash 10, disable it if you have problems" +#~ msgstr "" +#~ "Das Batch-Upload benötigt Adbode Flash 10, wenn es Probleme gibt " +#~ "deaktiviere es besser." + +#~ msgid "Disable flash upload" +#~ msgstr "Deaktiviere Batch-Upload" + +#~ msgid "Upload multiple files at once by ctrl/shift-selecting in dialog" +#~ msgstr "Wähle im Dialog mit Ctrl/Shift mehrere Bilder gleichzeitig aus." + +#~ msgid "Enable flash based upload" +#~ msgstr "Aktiviere Flash Batch Upload" + +#~ msgid "Manage Gallery" +#~ msgstr "Galerie verwalten" + +#~ msgid "Options" +#~ msgstr "Optionen" + +#~ msgid "Roles" +#~ msgstr "Zugriff" + +#~ msgid "About this Gallery" +#~ msgstr "Über diese Galerie" + +#~ msgid "Reset / Uninstall" +#~ msgstr "Rücksetzen" + +#~ msgid "" +#~ "Thanks for using this plugin, I hope you are satisfied ! If you would " +#~ "like to support the further development, please consider a donation! If you still need some help, please " +#~ "post your questions here ." +#~ msgstr "" +#~ "Vielen Dank, dass Du dieses Plugin nutzt. Ich hoffe, Du bist soweit " +#~ "zufrieden! Wenn Du die Weiterentwicklung unterstützen möchtest, würde ich " +#~ "mich über eine kleine Spende freuen! " +#~ "Wenn Du Fragen oder Problem hast, schreib sie doch hier ins Forum." + +#~ msgid "OK, hide this message now !" +#~ msgstr "OK, danke für die Info !" + +#~ msgid "" +#~ "Setup" +#~ msgstr "" +#~ "Setup" + +#~ msgid "" +#~ "Roles / Capabilities" +#~ msgstr "" +#~ "Einführung" + +#~ msgid "" +#~ "Styles" +#~ msgstr "" +#~ "Einführung" + +#~ msgid "" +#~ "Gallery management" +#~ msgstr "" +#~ "Einführung" + +#~ msgid "Gallery example" +#~ msgstr "Galerie Beispiel" + +#~ msgid "Gallery tags" +#~ msgstr "Galerie Stichwörter" + +#~ msgid "" +#~ "Album management" +#~ msgstr "" +#~ "Einführung" + +#~ msgid "Album example" +#~ msgstr "Album Beispiel" + +#~ msgid "Album tags" +#~ msgstr "Album Stichwörter" + +#~ msgid "" +#~ "Gallery tags" +#~ msgstr "" +#~ "Einführung" + +#~ msgid "" +#~ "Image management" +#~ msgstr "" +#~ "Bilderverwaltung (englisch)" + +#~ msgid "Custom fields" +#~ msgstr "Spezialfelder" + +#~ msgid "You are not allowed to be here" +#~ msgstr "Keine Zugangsberechtigung" + +#~ msgid " is not writeable " +#~ msgstr "ist schreibgeschützt !" + +#~ msgid "No Picture" +#~ msgstr "Kein Bild" + +#~ msgid "Path" +#~ msgstr "Pfad" + +#~ msgid "View \"%s\"" +#~ msgstr "Anzeigen \"%s\"" + +#~ msgid "Recover \"%s\" ?" +#~ msgstr " \"%s\" wiederherstellen ?" + +#~ msgid "Delete \"%s\" ?" +#~ msgstr "Lösche \"%s\" ?" + +#~ msgid "Latest News" +#~ msgstr "Letzte Informationen" + +#~ msgid "Recent donators" +#~ msgstr "Neueste Spender" + +#~ msgid "Plugin Check" +#~ msgstr "Plugin prüfen" + +#~ msgid "Related plugins" +#~ msgstr "Verwandte Plugins" + +#~ msgid "Donate the work via paypal." +#~ msgstr "Zeig Dich für diese Arbeit per PayPal dankbar" + +#~ msgid "Running..." +#~ msgstr "Läuft... Bitte warten" + +#~ msgid "Check plugin/theme conflict" +#~ msgstr "Plugin/Theme Konflikt prüfen" + +#~ msgid "Not tested" +#~ msgstr "Nicht getested" + +#~ msgid "No conflict could be detected" +#~ msgstr "Es konnte kein Konflikt festgestellt werden" + +#~ msgid "Test failed, disable other plugins & switch to default theme" +#~ msgstr "" +#~ "Test fehlgeschlagen, deaktiviere andere Plugins & aktiviere das Default " +#~ "Theme" + +#~ msgid "Test image function" +#~ msgstr "Teste Bildbearbeitung" + +#~ msgid "The plugin could create images" +#~ msgstr "Es konnte ein Bild erstellt werden" + +#~ msgid "Couldn't create image, check your memory limit" +#~ msgstr "Konnte kein Bild erzeugen, überprüfe dein Speicherlimit (Server)" + +#~ msgid "Check theme compatibility" +#~ msgstr "Theme Kompatibilität prüfen" + +#~ msgid "Your theme should work fine with NextGEN Gallery" +#~ msgstr "Dein Theme sollte mit NextGEN Gallery funktionieren" + +#~ msgid "wp_head()/wp_footer() is missing, contact the theme author" +#~ msgstr "" +#~ "wp_head()/wp_footer() wurde nicht gefunden, kontaktiere den Theme Author" + +#~ msgid "Check plugin" +#~ msgstr "Plugin prüfen" + +#~ msgid "Upload pictures" +#~ msgstr "Bilder hochladen" + +#~ msgid "Here you can control your images, galleries and albums." +#~ msgstr "Hier kannst Du die Bilder, Galerien und Alben verwalten." + +#~ msgid "Install" +#~ msgstr "Installieren" + +#~ msgid "" +#~ "

      Client side resize

      You can now resize the images before you " +#~ "start with the upload.

      " +#~ msgstr "" +#~ "

      Neue Funktion

      Du kannst nun die Bilder bereits vor dem Upload " +#~ "beschneiden.

      " + +#~ msgid "Updated capabilities" +#~ msgstr "Zugriffsrechte geändert" + +#~ msgid "Update capabilities" +#~ msgstr "Rechte aktualisieren" + +#~ msgid "The settings are only used in the JW Image Rotator Version" +#~ msgstr "" +#~ "Die Einstellungen werden im JW-Image-Rotator benutzt, in der Version" + +#~ msgid "See more information for the Flash Player on the web page" +#~ msgstr "Weitere Informationen auf der Flash-Player-Homepage" + +#~ msgid "" +#~ "If you would like to use the JW Image Rotatator, please download the " +#~ "player here and upload it to your Upload folder (Default " +#~ "is wp-content/uploads)." +#~ msgstr "" +#~ "Wenn Du den JW-Image-Rotator (Slideshow) nutzen möchtest, lade Dir die " +#~ "aktuelle Version hier herunter und übertrage sie dann in " +#~ "Dein WordPress-Upload-Verzeichnis (normalerweise wp-content/uploads)," + +#~ msgid "" +#~ "Press the button to search automatically for the imagerotator, if you " +#~ "uploaded it to wp-content/uploads or a subfolder" +#~ msgstr "" +#~ "Drücke 'Suche jetzt' um automatisch den Pfad zum Image-Rotator zu " +#~ "ermitteln, sofern Du den Player in wp-content/uploads oder ein " +#~ "Unterverzeichnis hochgeladen hast." + +#~ msgid "Style Editor" +#~ msgstr "CSS-Editor" + +#~ msgid "Upgrade database structure..." +#~ msgstr "Aktualisiere die Datenbank-Strukturen..." + +#~ msgid "finished" +#~ msgstr "beendet" + +#~ msgid "Update file structure..." +#~ msgstr "Aktualisiere Verzeichnisse..." + +#~ msgid "Import date and time information..." +#~ msgstr "Importiere Datum/Uhrzeit..." + +#~ msgid "Move imagerotator to new location..." +#~ msgstr "Verschiebe den Image-Rotator in ein neues Verzeichnis..." + +#~ msgid "Update settings..." +#~ msgstr "Einstellungen gespeichert..." + +#~ msgid "" +#~ "Updated widget structure. If you used NextGEN Widgets, you need to setup " +#~ "them again..." +#~ msgstr "" +#~ "Die Widgets wurden überarbeitet. Wenn Du NextGEN Widgets nutzt, musst du " +#~ "Sie nun neu einfügen..." + +#~ msgid "Updated options." +#~ msgstr "Einstellungen gespeichert." + +#~ msgid "Create unique slug" +#~ msgstr "Permalinks erstellen" + +#~ msgid "One of the upcomming features are a reworked permalinks structure." +#~ msgstr "Die Permalinkstruktur wird in einer kommenden Version überarbeitet." + +#~ msgid "" +#~ "Therefore it's needed to have a unique identifier for each image, gallery " +#~ "and album." +#~ msgstr "" +#~ "Deshalb ist es notwendig ein eindeutiges Schlagwort für jedes Bild, " +#~ "Galerie und Album zu erzeugen." + +#~ msgid "" +#~ "Depend on the amount of database entries this will take a while, don't " +#~ "reload this page." +#~ msgstr "" +#~ "Diese Operation kann je nach Anzahl der Bilder eine Weile daueren, bitte " +#~ "die Seite nicht neu laden." + +#~ msgid "Could not find NextGEN Gallery database tables, upgrade failed !" +#~ msgstr "" +#~ "Konnte die NextGEN Gallery Tabellen nicht finden, Upgrade fehlgeschlagen !" + +#~ msgid "" +#~ "Thanks for using this plugin, NextGEN Gallery is initially developed for " +#~ "self hosted blogs. A multisite setup is possible, but cannot currently " +#~ "fully supported, as it can have several special condition ( i.e. Domain " +#~ "mapping).
      If you would like to support the further development, " +#~ "please consider a donation! If you " +#~ "still need some help, please post your questions here ." +#~ msgstr "" +#~ "Vielen Dank, dass Du dieses Plugin nutzt. NextGEN Gallery wurde für " +#~ "einfache Blogs entwickelt. Die Nutzung im Netzwerk (Multisite) ist " +#~ "möglich, aber wird nicht vollständig unterstützt (z.B. Domain Mapping)." +#~ "
      Wenn Du die Weiterentwicklung unterstützen möchtest, würde ich " +#~ "mich über eine kleine Spende freuen! " +#~ "Wenn Du Fragen oder Problem hast, schreib sie doch hier ins Forum." + +#~ msgid "Select or enter gallery" +#~ msgstr "Wähle oder Suche Galerie" + +#~ msgid "Show as" +#~ msgstr "Zeige als" + +#~ msgid "Select or enter album" +#~ msgstr "Wähle oder Suche Album" + +#~ msgid "Extended version" +#~ msgstr "Erweiterte Version" + +#~ msgid "Compact version" +#~ msgstr "Kompakte Version" + +#~ msgid "Select or enter picture" +#~ msgstr "Wähle oder Suche Bild" + +#~ msgid "Width x Height" +#~ msgstr "Breite x Höhe" + +#~ msgid "No effect" +#~ msgstr "Kein Effekt" + +#~ msgid "Web 2.0" +#~ msgstr "Web 2.0" + +#~ msgid "No float" +#~ msgstr "Kein Float" + +#~ msgid "Insert" +#~ msgstr "Einfügen" + +#~ msgid "[Pictures not found]" +#~ msgstr "[Bilder nicht gefunden]" + +#~ msgid "" +#~ "XML-RPC services are disabled on this blog. An admin user can enable " +#~ "them at %s" +#~ msgstr "" +#~ "XML-RPC Service ist ausgeschaltet. Der Administrator kann es hier %s " +#~ "einschalten" + +#~ msgid "Bad login/pass combination." +#~ msgstr "Username/Password falsch" + +#~ msgid "You are not allowed to upload files to this site." +#~ msgstr "Du hast keine Berechtigung, Bilder hochzuladen" + +#~ msgid "Could not find gallery " +#~ msgstr "Konnte Galerie nicht finden" + +#~ msgid "You are not allowed to upload files to this gallery." +#~ msgstr "Du hast keine Berechtigung, Bilder in diese Galerie zuladen" + +#~ msgid "This is no valid image file." +#~ msgstr "Das ist keine zulässige Bilddatei!" + +#~ msgid "Failed to delete image %1$s " +#~ msgstr "Konnte das Bild %1$s nicht löschen" + +#~ msgid "Could not write file %1$s (%2$s)" +#~ msgstr "Konnte die Datei %1$s (%2$s) nicht schreiben " + +#~ msgid "Invalid image ID" +#~ msgstr "Keine gültige Bilder ID" + +#~ msgid "Sorry, you must be able to edit this image" +#~ msgstr "Sorry, Du hast nicht das Recht, dieses Bild zu bearbeiten" + +#~ msgid "Sorry, could not update the image" +#~ msgstr "Konnte das Bild nicht aktualisieren" + +#~ msgid "Sorry, could not create the gallery" +#~ msgstr "Konnte die Galerie nicht anlegen" + +#~ msgid "Sorry, you must be able to manage this gallery" +#~ msgstr "Sorry, Du hast nicht das Recht, diese Galerie zu bearbeiten" + +#~ msgid "Sorry, could not update the gallery" +#~ msgstr "Konnte die Galerie nicht aktualisieren" + +#~ msgid "Sorry, you must be able to manage albums" +#~ msgstr "Sorry, Du hast nicht das Recht, dieses Album zu bearbeiten" + +#~ msgid "Sorry, could not create the album" +#~ msgstr "Konnte das Album nicht anlegen" + +#~ msgid "Invalid album ID" +#~ msgstr "Ungültige Album ID" + +#~ msgid "Sorry, could not update the album" +#~ msgstr "Konnte das Album nicht aktualisieren" + +#~ msgid "" +#~ "Get the Flash " +#~ "Player to see the slideshow." +#~ msgstr "" +#~ "Lade Dir den " +#~ "Flash Player, um die Diashow zu sehen." + +#~ msgid "Cache single pictures" +#~ msgstr "Nutze Cache für Einzelbilder" + +#~ msgid "Creates a file for each singlepic settings. Reduce the CPU load" +#~ msgstr "" +#~ "Erstellt ein Cache-Bild für jedes Einzelbild (singlepic). Reduziert die " +#~ "CPU Belastung." + +#~ msgid "Currently not used, prepare database for upcoming version" +#~ msgstr "Derzeit nicht genutzt, Vorbereitung für kommende Versionen" + +#~ msgid "Send a gift to show your appreciation." +#~ msgstr "Schau doch einfach auf meinen Wunschzettel." + +#~ msgid "Displaying %s–%s of %s" +#~ msgstr "Zeige %s–%s von %s" + +#~ msgid "A new version of NextGEN Gallery is available !" +#~ msgstr "Eine neue Version von NextGEN Gallery ist jetzt verfügbar" + +#~ msgid "Download here" +#~ msgstr "Hier downloaden" + +#~ msgid "already exists" +#~ msgstr "gibt es bereits" + +#~ msgid "Gallery Overview" +#~ msgstr "Galerie Übersicht" + +#~ msgid "Quantity" +#~ msgstr "Anzahl" + +#~ msgid "Action" +#~ msgstr "Aktion" + +#~ msgid "Delete this gallery ?" +#~ msgstr "Diese Galerie löschen ?" + +#~ msgid "General WordPress MU Settings" +#~ msgstr "WordPress-MU-Einstellungen" + +#~ msgid "No album" +#~ msgstr "Kein Album" + +#~ msgid "for the Fugue Iconset" +#~ msgstr "für das Fugue-Iconset" + +#~ msgid "Gallery Administrator" +#~ msgstr "Galerie-Administrator" + +#~ msgid "Gallery Editor" +#~ msgstr "Galerie-Mitarbeiter" + +#~ msgid "You currently have %s rights." +#~ msgstr "Du hast derzeit %s Rechte." + +#~ msgid "Upload Space Remaining:" +#~ msgstr "Verbleibender Speicher:" + +#~ msgid "View all images tagged with %s" +#~ msgstr "Zeige alle Bilder, die mit dem Stichwort %s markiert sind" + +#~ msgid "Upgrade sucessful" +#~ msgstr "Aktualisierung erfolgreich" + +#~ msgid "" +#~ "Would you like to help to translate this plugin ? Download the current pot file and read " +#~ "here how you can translate the plugin." +#~ msgstr "" +#~ "Would you like to help to translate this plugin ? Download the current pot file and read " +#~ "here how you can translate the plugin." + +#~ msgid "" +#~ "Translation by : N/A" +#~ msgstr "" +#~ "Übersetzt von : Alex " +#~ "Rabe" + +#~ msgid "Setup Gallery" +#~ msgstr "Galerie Setup" + +#~ msgid "Setup" +#~ msgstr "Setup" + +#~ msgid "PHP Output Buffer Size" +#~ msgstr "PHP Output Buffer Größe" + +#~ msgid "for PclZip , a PHP library that manage ZIP archives" +#~ msgstr "für PclZip, eine ZIP PHP Library" + +#~ msgid "Crop square thumbnail from image" +#~ msgstr "Mittige Thumbnails aus Bildern ausschneiden" + +#~ msgid "Create square thumbnails, use only the width setting :" +#~ msgstr "Erstellt viereckige Thumbnails, nutzt nur den Wert der Breite :" + +#, fuzzy +#~ msgid "Search Media" +#~ msgstr "Suche nach Stichwörter" + +#~ msgid "Select Gallery" +#~ msgstr "Wähle Galerie" + +#~ msgid "Album Page ID" +#~ msgstr "Album Seiten ID (Page ID)" + +#~ msgid "Import a folder with all images." +#~ msgstr "Importiere ein Verzeichnis mit Bildern." + +#~ msgid "Show tags" +#~ msgstr "Zeige Tags" + +#~ msgid "Delete this file ?" +#~ msgstr "Diese Datei löschen ?" + +#~ msgid "" +#~ "You are about to copy or move %s images \n" +#~ " \n" +#~ " 'Cancel' to stop, 'OK' to proceed." +#~ msgstr "" +#~ "Willst du wirklich %s Bild(er) verschieben \n" +#~ " \n" +#~ " 'Abbrechen' um zu stoppen, 'OK' um die Bearbeitung durchzuführen." + +#~ msgid "Add Gallery" +#~ msgstr "Bilder/Galerie hinzufügen" + +#~ msgid "" +#~ "There are totally %1$s pictures in %2$s galleries, which are spread " +#~ "across %3$s albums." +#~ msgstr "" +#~ "Es gibt insgesamt %1$s Bilder in %2$s Galerien - verteilt in %3$s Alben." + +#~ msgid "GD support" +#~ msgstr "GD Unterstützung" + +#~ msgid "ImageMagick" +#~ msgstr "ImageMagick" + +#~ msgid "Add Metadata :" +#~ msgstr "Metadaten hinzufügen :" + +#~ msgid "Import EXIF, IPTC or XMP data (if available)" +#~ msgstr "EXIF, IPTC oder XMP Daten importieren (wenn verfügbar)" + +#~ msgid "New Version available" +#~ msgstr "Neue Version verfügbar !!" + +#~ msgid "" +#~ "The server reports that a new NextGEN Gallery Version is now available. " +#~ "Please visit the plugin homepage for more information." +#~ msgstr "" +#~ "Der Server benachrichtigt Dich über eine neu verfügbare Version der " +#~ "NextGEN Galerie. Bitte besuche die Plugin Homepage um weitere " +#~ "Informationen zu erhalten." + +#~ msgid "Resample Mode" +#~ msgstr "Resample Modus" + +#~ msgid "Value between 1-5 (higher value, more CPU load)" +#~ msgstr "Wähle zwischen 1-5 (je höhere desto länger braucht der Server)" + +#~ msgid "How many NextGEN Gallery widgets would you like?" +#~ msgstr "Wie viele NextGEN Gallery Widgets möchtest du haben ?" + +#~ msgid "for Simple:Press Forum, it saved me a lot of time" +#~ msgstr "für das Simple:Press Forum, welches mir viel Zeit sparte" + +#~ msgid "Sorry, NextGEN Gallery works only under WordPress 2.5 or higher" +#~ msgstr "" +#~ "Tut mir leid aber NextGEN Gallery arbeitet nur ab WordPress 2.5 und " +#~ "aufwärts" + +#~ msgid "Watch gallery" +#~ msgstr "Galerie ansehen" + +#~ msgid "from" +#~ msgstr "von" + +#~ msgid " : Image resized..." +#~ msgstr " : Bild angepasst..." + +#~ msgid "Some pictures are not writeable :" +#~ msgstr "Einige Bilder sind schreibgeschützt :" + +#~ msgid " : Watermark created..." +#~ msgstr " : Wasserzeichen gesetzt..." + +#~ msgid " : Thumbnail created..." +#~ msgstr ": Thumbnail erstellt..." + +#~ msgid "Follow thumbnails could not created." +#~ msgstr "Folgende Thumbnails konnten nicht erstellt werden :" + +#~ msgid "Some thumbnails are not writeable :" +#~ msgstr "Einige Thumbnails sind schreibgeschützt :" + +#~ msgid "Watermark successfully added" +#~ msgstr "Wasserzeichen erfolgreich erstellt" + +#~ msgid " (require WordPress 2.3 or higher)" +#~ msgstr " (benötigt WordPress 2.3 oder höher)" + +#~ msgid "Description text" +#~ msgstr "Beschreibung" + +#~ msgid "Import a folder with images. Please note :" +#~ msgstr "Importiere ein Verzeichnis mit Bildern. Bitte beachte:" + +#~ msgid "For safe-mode = ON you need to add the subfolder thumbs manually" +#~ msgstr "" +#~ "Da der Safe-Mode (PHP.INI) eingeschaltet ist, mußt Du das " +#~ "Unterverzeichnis für die Vorschaubilder (\"thumbs\") manuell (per FTP) " +#~ "anlegen" + +#~ msgid "The Zip-file is too large. Exceed Memory limit !" +#~ msgstr "Das Zip-File ist zu groß. Speicherlimit überschritten !" + +#~ msgid "Summary" +#~ msgstr "Zusammenfassung" + +#~ msgid "Welcome" +#~ msgstr "Willkommen" + +#~ msgid "" +#~ "Welcome to NextGEN Gallery. Here you can control your images, galleries " +#~ "and albums. You currently have %s rights." +#~ msgstr "" +#~ "Willkommen zur NextGEN Galerie. Hier kannst Du Deine Bilder, Galerien und " +#~ "Alben verwalten. Du hast im Moment %s Rechte." + +#~ msgid "Add a new gallery or import pictures" +#~ msgstr "Neue Galerie erstellen oder Bilder importieren" + +#~ msgid "URL" +#~ msgstr "URL" + +#~ msgid "Delete File" +#~ msgstr "Datei löschen" + +#~ msgid "Delete image ?" +#~ msgstr "Bilder löschen ?" + +#~ msgid "Browse your files" +#~ msgstr "Durchsuche deine Dateien" + +#~ msgid "Direct link to file" +#~ msgstr "Link zur Datei" + +#~ msgid "Show:" +#~ msgstr "Zeige als:" + +#~ msgid "Send to editor »" +#~ msgstr "Zum Editor schicken »" + +#~ msgid "" +#~ "Are you sure you want to delete the file '%s'?\n" +#~ "Click ok to delete or cancel to go back." +#~ msgstr "Bist du sicher das Du diese Datei '%s' löschen willst ?" + +#~ msgid "Alt/Titel text" +#~ msgstr "Alt / Titel Text" diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-es_ES.mo b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-es_ES.mo new file mode 100644 index 0000000000000000000000000000000000000000..ea9038c065d00af5ca125d1525938f5de9c2c620 GIT binary patch literal 78073 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

      u)yKj`Qbx!5`w6 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 mV|kB&A)n`1=3-{{Oss`aUyf&YW4F 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

      u)yKj`Qbx!5`w6 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 mV|kB&Aa1`9>m?#<#r+6L@_r!fB+zVa=mA;$c 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-fi.po b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-fi.po new file mode 100644 index 0000000..4bfd22e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-fi.po @@ -0,0 +1,4072 @@ +# NextGEN Gallery base (English) .po source +# Copyright (C) 2014 Photocrati Media +# This file is distributed under the same license as the NextGEN Gallery package. +# +msgid "" +msgstr "" +"Project-Id-Version: NextGEN Gallery\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-02-20 19:45-0800\n" +"PO-Revision-Date: 2014-04-12 14:41+0200\n" +"Last-Translator: Vesa Tiirikainen \n" +"Language-Team: Photocrati Media\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: nggallery.php:290 +#, php-format +msgid "Every %d seconds" +msgstr "Joka %dta sekunti" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:157 +#, php-format +msgid "Album: %s" +msgstr "Albumi: %s" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:159 +#, php-format +msgid "Gallery: %s" +msgstr "Galleria: %s" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:177 +msgid "Missing parameters" +msgstr "Puuttuvia parametrejä" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:213 +msgid "Displayed gallery does not exist" +msgstr "Näytettävää galleriaa ei ole olemassa" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:216 +msgid "Invalid request" +msgstr "Väärä pyyntö" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:248 +msgid "NextGEN Gallery - Attach To Post" +msgstr "NextGEN Galleria - Liitä artikkeliin" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:266 +msgid "Display Galleries" +msgstr "Näytä galleriat" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:273 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_controller.php:7 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:192 +msgid "Add Gallery / Images" +msgstr "Lisää galleria / kuvia" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:280 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:160 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:194 +msgid "Manage Galleries" +msgid_plural "Manage Galleries" +msgstr[0] "Galleriat" +msgstr[1] "Galleriat" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:287 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:404 +msgid "Manage Albums" +msgid_plural "Manage Albums" +msgstr[0] "Albumit" +msgstr[1] "Albumit" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:294 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:162 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:198 +msgid "Manage Tags" +msgstr "Tägit" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:115 +msgid "What would you like to display?" +msgstr "Mitä haluat näyttää?" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:139 +msgid "Select a display type" +msgstr "Valitse näyttötapa" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:162 +msgid "Customize the display settings" +msgstr "Muokkaa näyttöasetuksia" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:253 +msgid "No display type selected" +msgstr "Mitään näyttötapaa ei valittuna" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:271 +msgid "Sort or Exclude Images" +msgstr "Lajittele tai piilota kuvat" + +#: products/photocrati_nextgen/modules/attach_to_post/module.attach_to_post.php:186 +msgid "Invalid Displayed Gallery" +msgstr "Väärä näytettävä galleria" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab.php:10 +#: products/photocrati_nextgen/modules/nextgen_admin/templates/nextgen_admin_page.php:25 +msgid "Save" +msgstr "Tallenna" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:612 +msgid "Sources" +msgstr "Lähteet" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:646 +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:362 +msgid "(optional)" +msgstr "(valinnainen)" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:654 +msgid "Sets an SEO-friendly name to this gallery for URLs. Currently only in use by the Pro Lightbox." +msgstr "" +"Asettaa SEO-ystävällisen nimen tälle gallerialle URLiä varten. Toistaiseksi " +"käytössä vain Pro Lightboxissa." + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:655 +msgid "Slug" +msgstr "Lyhytnimi" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:860 +msgid "No entities to display for this source." +msgstr "Tästä lähteestä ei näytettäviä kohteita." + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1264 +msgid "Select a gallery" +msgstr "Valitse galleria" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1292 +msgid "Albums" +msgstr "Albumit" + +#: products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:34 +msgid "Code" +msgstr "Koodi" + +#: products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:48 +msgid "Stylesheet URL" +msgstr "Tyylitiedoston URL" + +#: products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:62 +msgid "Javascript URL" +msgstr "Javascript URL" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.import_folder_form.php:7 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:6 +msgid "Import Folder" +msgstr "Tuontikansio" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:41 +msgid "No gallery name specified" +msgstr "Gallerianimeä ei määritelty" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:55 +msgid "Failed to extract images from ZIP" +msgstr "Epäonnistui purkamaan kuvia ZIP-tiedostosta" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:61 +msgid "Image generation failed" +msgstr "Kuvien generointi epäonnistui" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:70 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:150 +msgid "An unexpected error occured." +msgstr "Odottamaton virhe" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:77 +msgid "No permissions to upload images. Try refreshing the page or ensuring that your user account has sufficient roles/privileges." +msgstr "" +"Ei valtuuksia tuoda kuvia. Yritä päivittää sivu tai varmista, että " +"käyttäjätililläsi on riittävät roolit/oikeudet." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:117 +msgid "Directory does not exist." +msgstr "Hakemistoa ei ole olemassa" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:121 +msgid "No directory specified." +msgstr "Hakemistoa ei määritelty." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:125 +msgid "No permissions to browse folders. Try refreshing the page or ensuring that your user account has sufficient roles/privileges." +msgstr "" +"Ei valtuuksia selata kansioita. Yritä päivittää sivu tai varmista, että " +"käyttäjätililläsi on riittävät roolit/oikeudet." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:155 +msgid "No folder specified" +msgstr "Kansiota ei määritelty" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:159 +msgid "No permissions to import folders. Try refreshing the page or ensuring that your user account has sufficient roles/privileges." +msgstr "" +"Ei valtuuksia tuoda kansioita. Yritä päivittää sivu tai varmista, että " +"käyttäjätililläsi on riittävät roolit/oikeudet." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.upload_images_form.php:7 +msgid "Upload Images" +msgstr "Tuo kuvia" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:1 +msgid "Select a folder to import. The folder name will be used as the title of the gallery." +msgstr "Valitse kansio tuotavaksi. Kansion nimeä käytetään gallerian nimenä." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:5 +msgid "Keep images in original location." +msgstr "Säilytä kuvat alkuperäissijainnissa." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:5 +msgid "Caution: If you keep images in the original folder and later delete the gallery, the images in that folder might be deleted depending on your settings." +msgstr "" +"Varoitus: jos säilytät kuvat alkuperäiskansiossa ja myöhemmin poistat " +"gallerian, kuvat tuossa kansiossa voidaan poistaa riippuen asetuksistasi." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:39 +msgid "Importing gallery" +msgstr "Tuon gallerian" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:41 +msgid "In Progress..." +msgstr "Käynnissä..." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:56 +#, php-format +msgid "Done! Successfully imported %s images" +msgstr "Valmis! Tuotu onnistuneesti %s kuvaa" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1268 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:2 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:189 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:217 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:226 +msgid "Gallery" +msgid_plural "Galleries" +msgstr[0] "Galleria" +msgstr[1] "Galleriat" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:4 +msgid "Create a new gallery" +msgstr "Luo uusi galleria" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:13 +msgid "You browser doesn't have Flash, Silverlight, HTML5, or HTML4 support." +msgstr "Selaimesi ei tue seuraavia: Flash, Silverlight, HTML5, tai HTML4." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:99 +msgid "Drag image and ZIP files here or click Add Files" +msgstr "Vedä kuva ja ZIP-tiedostot tähän tai klikkaa Add Files" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:149 +#, php-format +msgid "%s images were uploaded successfully" +msgstr "%s kuvaa tuotu onnistuneesti" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:152 +msgid "1 image was uploaded successfully" +msgstr "1 kuva tuotu onnistuneesti" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:155 +msgid "0 images were uploaded" +msgstr "0 kuvaa tuotiin" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:169 +msgid "Upload complete" +msgstr "Tuonti valmis" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:191 +msgid "An unexpected error occured. This is most likely due to a server misconfiguration. Check your PHP error log or ask your hosting provider for assistance." +msgstr "" +"Tapahtui odottamaton virhe. Tämä johtuu todennäköisimmin palvelimen väärästä " +"konfiguroinnista. Tarkista PHP-virhelogisi tai pyydä apua " +"palveluntarjoajaltasi." + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:226 +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:167 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:537 +msgid "Enable AJAX pagination" +msgstr "Salli AJAX-sivutus" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:238 +msgid "Override thumbnail settings" +msgstr "Ohita esikatselukuva-asetukset" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:240 +msgid "This does not affect existing thumbnails; overriding the thumbnail settings will create an additional set of thumbnails. To change the size of existing thumbnails please visit 'Manage Galleries' and choose 'Create new thumbnails' for all images in the gallery." +msgstr "" +"Tämä ei vaikuta oleviin esikatselukuviin; esikatselukuvien asetusten ohitus " +"luo lisäjoukon esikatselukuvia. Olevien esikatselukuvien muuttamiseksi käy " +"kohdassa 'Galleriat' ja valitse 'Luo uudet esikatselukuvat' kaikille " +"gallerian kuville." + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:248 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:37 +msgid "Thumbnail dimensions" +msgstr "Esikatselukuvan mitat" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:262 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:431 +msgid "Thumbnail quality" +msgstr "Esikatselukuvan laatu" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:272 +msgid "Thumbnail crop" +msgstr "Esikatselukuvan rajaus" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:281 +msgid "Thumbnail watermark" +msgstr "Esikatselukuvan vesileima" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:306 +msgid "Override image settings" +msgstr "Ohita kuva-asetukset" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:308 +msgid "Overriding the image settings will create an additional set of images" +msgstr "Kuva-asetusten ohitus luo lisäjoukon kuvia" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:316 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:66 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:456 +msgid "Image quality" +msgstr "Kuvan laatu" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:326 +msgid "Image crop" +msgstr "Kuvan rajaus" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:335 +msgid "Image watermark" +msgstr "Kuvan vesileima" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:359 +msgid "Gallery width" +msgstr "Gallerian leveys" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:361 +msgid "An empty or 0 setting will make the gallery full width" +msgstr "Tyhjä tai 0 -asetus tekee galleriasta täysleveän" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:365 +msgid "Pixels" +msgstr "Pikseliä" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:365 +msgid "Percent" +msgstr "Prosenttia" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:374 +msgid "First Image" +msgstr "Ensimmäinen kuva" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:375 +msgid "Average" +msgstr "Keskiarvo" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:100 +msgid "Clear" +msgstr "Pyyhi" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:101 +msgid "Default" +msgstr "Oletus" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:102 +msgid "Select Color" +msgstr "Valitse väri" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:103 +msgid "Current Color" +msgstr "Nykyinen väri" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:174 +msgid "Saved successfully" +msgstr "Tallennettu onnistuneesti" + +#: products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_radio.php:16 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_radio.php:16 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:122 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:24 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:40 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:65 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:191 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php:37 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:407 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:454 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:457 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:460 +msgid "Yes" +msgstr "Kyllä" + +#: products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_radio.php:24 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_radio.php:24 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:123 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:23 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:47 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:72 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:198 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php:44 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:409 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:455 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:458 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:461 +msgid "No" +msgstr "Ei" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:25 +msgid "Display galleries as" +msgstr "Näytä galleriat" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:26 +msgid "How would you like galleries to be displayed?" +msgstr "Miten haluat näyttää galleriasi?" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:28 +msgid "Galleries per page" +msgstr "Gallerioita sivulla" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:47 +msgid "Items per page" +msgstr "Kuvia sivulla" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:48 +msgid "Maximum number of galleries or sub-albums to appear on a single page" +msgstr "Yhdellä sivulla näytettävien gallerioiden tai alialbumien maksimimäärä" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/templates/compact.php:28 +#: products/photocrati_nextgen/modules/nextgen_basic_album/templates/extended.php:15 +#: products/photocrati_nextgen/modules/ngglegacy/view/album-compact.php:45 +#: products/photocrati_nextgen/modules/ngglegacy/view/album-extend.php:31 +msgid "Photos" +msgstr "Valokuvaa" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_mapper.php:94 +msgid "[Show PicLens]" +msgstr "[Näytä PicLens]" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:63 +msgid "Interval" +msgstr "Väli" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:67 +msgid "# of seconds" +msgstr "sekuntimäärä" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:77 +msgid "Image limit" +msgstr "Kuvarajoitus" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:79 +msgid "Maximum number of images to display with recent or random sources" +msgstr "Viimeisten tai satunnaisesti esitettävien kuvien maksimimäärä" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:81 +msgid "# of images" +msgstr "Kuvamäärä" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:112 +msgid "Maximum dimensions" +msgstr "Maksimimitat" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:113 +msgid "Certain themes may allow images to flow over their container if this setting is too large" +msgstr "" +"Jotkin teemat voivat sallia kuvien ylittävän esitysalueen rajat jos tämä " +"asetus on liian suuri" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:123 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:765 +msgid "Enable flash slideshow" +msgstr "Salli flash-diashow" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:125 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:767 +msgid "Integrate the flash based slideshow for all flash supported devices" +msgstr "Integroi flash-diashow kaikille flashia tukeville laitteille" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:134 +msgid "Shuffle" +msgstr "Sekoita" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:146 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:782 +msgid "Show next image on click" +msgstr "Näytä seuraava kuva klikkauksella" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:158 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:786 +msgid "Show navigation bar" +msgstr "Näytä navigointipalkki" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:170 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:790 +msgid "Show loading icon" +msgstr "Näytä latauskuvake" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:182 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:794 +msgid "Use watermark logo" +msgstr "Käytä vesileimalogoa" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:184 +msgid "Use the watermark image in the Flash object. Note: this does not watermark the image itself, and cannot be applied with text watermarks" +msgstr "" +"Käytä vesileimakuvaa Flash-objektissa. Huom: tämä ei vesileimaa varsinaista " +"kuvaa, eikä tätä voi käyttää tekstipohjaisten vesileimojen kanssa" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:194 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:799 +msgid "Stretch image" +msgstr "Venytä kuvaa" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:231 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:827 +msgid "Use slow zooming effect" +msgstr "Käytä hidasta zoomausefektiä" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:243 +msgid "Background music (url)" +msgstr "Taustamusiikki (URL)" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:256 +msgid "Try XHTML validation" +msgstr "Kokeile XHTML-validointia" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:268 +msgid "Background" +msgstr "Tausta" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:280 +msgid "Texts / buttons" +msgstr "Tekstit / painikkeet" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:292 +msgid "Rollover / active" +msgstr "Hiiri päällä / aktiivinen" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:304 +msgid "Screen" +msgstr "Näyttö" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:322 +msgid "Show thumbnail link" +msgstr "Näytä esikatselukuvalinkki" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:338 +msgid "Thumbnail link text" +msgstr "Esikatselukuvan linkin teksti" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:65 +msgid "Images per page" +msgstr "Kuvia sivulla" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:67 +msgid "0 will display all images at once" +msgstr "0 näyttää kaikki kuvat kerralla" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:85 +msgid "Number of columns to display" +msgstr "Näytettävien sarakkeiden lukumäärä" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:89 +msgid "# of columns" +msgstr "Sarakemäärä" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:105 +msgid "Piclens link text" +msgstr "Piclens-linkin teksti" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:123 +msgid "Show piclens link" +msgstr "Näytä piclens-linkki" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:139 +msgid "Add Hidden Images" +msgstr "Lisää piilotetut kuvat" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:141 +msgid "If pagination is used this option will show all images in the modal window (Thickbox, Lightbox etc.) This increases page load." +msgstr "" +"Jos sivutus on käytössä, tämä valinta näyttää kaikki kuvat " +"modaali-ikkunassa(Thickbox, Lightbox jne.) Tämä kasvattaa sivukuormitusta." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:150 +msgid "Use imagebrowser effect" +msgstr "Käytä kuvaselainefektiä" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:152 +msgid "When active each image in the gallery will link to an imagebrowser display and lightbox effects will not be applied." +msgstr "" +"Jos aktiivisena, jokainen gallerian kuva linkittyy kuvaselainnäyttöön eikä " +"lightbox-efektejä sovelleta." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:169 +msgid "Browse images without reloading the page." +msgstr "Selaa kuvia lataamatta sivua." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:184 +msgid "Show slideshow link" +msgstr "Näytä diashow-linkki." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:200 +msgid "Slideshow link text" +msgstr "Diashow-linkin teksti." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/index.php:35 +msgid "Slideshows require the Flash Player and a browser with Javascript support." +msgstr "" +"Diashowt vaaativat  Flash Playerin ja a Javascriptiä tukevan selaimen." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/nextgen_basic_slideshow_settings_gallery_dimensions.php:13 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:38 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_dimensions.php:13 +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:52 +msgid "Width" +msgstr "Leveys" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/nextgen_basic_slideshow_settings_gallery_dimensions.php:21 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:40 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_dimensions.php:20 +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:40 +msgid "Height" +msgstr "Korkeus" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:41 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:26 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:30 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:26 +msgid "Back" +msgstr "Takaisin" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:49 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:29 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:33 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:29 +msgid "Next" +msgstr "Seuraava" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:90 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:220 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:31 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:35 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:31 +msgid "Picture" +msgstr "Kuva" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:31 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:35 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:31 +msgid "of" +msgstr " / " + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:53 +msgid "Link" +msgstr "Linkki" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:78 +msgid "Display watermark" +msgstr "Näytä vesileima" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:88 +msgid "Display reflection" +msgstr "Näytä heijastus" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:98 +msgid "Crop thumbnail" +msgstr "Rajaa esikatselukuvaa" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:108 +msgid "Float" +msgstr "Kellu" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:24 +msgid "Maximum number of tags" +msgstr "Tägien maksimimäärä" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:47 +msgid "Display type" +msgstr "Näyttötyyppi" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:50 +msgid "The display type that the tagcloud will point its results to" +msgstr "Näyttötyyppi, johon tägipilvi tuottaa tulokset" + +#: products/photocrati_nextgen/modules/nextgen_basic_templates/adapter.nextgen_basic_template_form.php:46 +msgid "Template" +msgstr "Malli" + +#: products/photocrati_nextgen/modules/nextgen_basic_templates/adapter.nextgen_basic_template_form.php:47 +msgid "Use a legacy template when rendering (not recommended)." +msgstr "Käytä legacy-mallia kuvan renderoinnissa (ei suositella)." + +#: products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php:580 +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:658 +#: products/photocrati_nextgen/modules/ngglegacy/lib/multisite.php:23 +msgid "Sorry, you have used your space allocation. Please delete some files to upload more files." +msgstr "" +"Sori, olet käyttänyt tilavarauksesi. Poista joitakin tiedostoja " +"lisätiedostojen tuomiseksi." + +#: products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php:1002 +msgid "Could not calculate resized image dimensions" +msgstr "Ei voinut laskea muutettua kuvakokoa" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:154 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:135 +msgid " mm" +msgstr " mm" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:163 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:141 +msgid " sec" +msgstr " s" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:168 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:145 +msgid "Fired" +msgstr "Laukaistu" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:168 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:145 +msgid "Not fired" +msgstr "Ei laukaistu" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:539 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:452 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:46 +msgid "Aperture" +msgstr "Aukko" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:540 +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:565 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:453 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:478 +msgid "Credit" +msgstr "Tunnustus" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:541 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:454 +msgid "Camera" +msgstr "Kamera" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:542 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:455 +msgid "Caption" +msgstr "Kuvateksti" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:543 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:26 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:114 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:456 +msgid "Date/Time" +msgstr "Pvm/aika" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:544 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:457 +msgid "Copyright" +msgstr "Copyright" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:545 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:458 +msgid "Focal length" +msgstr "Polttoväli" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:546 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:459 +msgid "ISO" +msgstr "ISO" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:547 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:460 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:54 +msgid "Shutter speed" +msgstr "Suljinnopeus" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:548 +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:4 +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:3 +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:3 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:678 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:461 +msgid "Title" +msgstr "Otsikko" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:549 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:459 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:410 +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:132 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:462 +msgid "Author" +msgstr "Tekijä" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:550 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:51 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:176 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:389 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:463 +msgid "Tags" +msgstr "Tägit" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:551 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:464 +msgid "Subject" +msgstr "Kohde" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:552 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:465 +msgid "Make" +msgstr "Malli" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:553 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:466 +msgid "Edit Status" +msgstr "Muokkaustila" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:554 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:467 +msgid "Category" +msgstr "Luokka" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:555 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:468 +msgid "Keywords" +msgstr "Avainsanat" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:556 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:469 +msgid "Date Created" +msgstr "Luontipäivä" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:557 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:470 +msgid "Time Created" +msgstr "Luontiaika" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:558 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:471 +msgid "Author Position" +msgstr "Tekijän ammatti" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:559 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:472 +msgid "City" +msgstr "Kaupunki" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:560 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:473 +msgid "Location" +msgstr "Sijainti" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:561 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:474 +msgid "Province/State" +msgstr "Provinssi/Osavaltio" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:562 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:475 +msgid "Country code" +msgstr "Maakoodi" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:563 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:476 +msgid "Country" +msgstr "Maa" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:564 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:477 +msgid "Headline" +msgstr "Otsikko" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:566 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:479 +msgid "Source" +msgstr "Lähde" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:567 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:480 +msgid "Copyright Notice" +msgstr "Copyright-merkintä" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:568 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:481 +msgid "Contact" +msgstr "Yhteys" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:569 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:482 +msgid "Last modified" +msgstr "Viimeksi muokattu" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:570 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:483 +msgid "Program tool" +msgstr "Muokkausohjelma" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:571 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:484 +msgid "Format" +msgstr "Muoto" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:572 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:485 +msgid "Image Width" +msgstr "Kuvan leveys" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:573 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:486 +msgid "Image Height" +msgstr "Kuvan korkeus" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:574 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:487 +msgid "Flash" +msgstr "Salama" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:647 +#, php-format +msgid "Unable to create directory %s." +msgstr "Ei pysty luomaan hakemistoa %s." + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:652 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:823 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1021 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1106 +#, php-format +msgid "Unable to write to directory %s. Is this directory writable by the server?" +msgstr "" +"Hakemistoon %s ei voi kirjoittaa. Onko tämä hakemisto kirjoitettavissa " +"palvelimella?" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:681 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1146 +#, php-format +msgid "Failed to copy database row for picture %s" +msgstr "Kuvan %s tietokantarivin kopiointi epäonnistui" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:693 +#, php-format +msgid "Failed to get image path for %s" +msgstr "Kuvan %s hakemistopolun haku epäonnistui" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:711 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1132 +#, php-format +msgid "Failed to copy image %1$s to %2$s" +msgstr "Kuvan %1$s kopiointi kuvaksi %2$s epäonnistui" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:715 +#, php-format +msgid "Copied image %1$s to %2$s" +msgstr "Kopioi kuvan %1$s kuvaksi %2$s" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:723 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1158 +#, php-format +msgid "Image %1$s (%2$s) copied as image %3$s (%4$s) » The file already existed in the destination gallery." +msgstr "" +"Kuva %1$s (%2$s) kopioitu kuvaksi %3$s (%4$s) » kohdegalleriassa oli jo " +"samanniminen tiedosto." + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:727 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1161 +#, php-format +msgid "Image %1$s (%2$s) copied as image %3$s (%4$s)" +msgstr "Kuva %1$s (%2$s) kopioitu kuvaksi %3$s (%4$s)" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:740 +#, php-format +msgid "Copied %1$s picture(s) to gallery %2$s ." +msgstr "Kopioitu %1$s kuva(a) galleriaan %2$s ." + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:767 +msgid "Could not find image" +msgstr "Kuvaa ei löytynyt" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:772 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:388 +msgid " is not writeable" +msgstr " ei voi kirjoittaa" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:777 +msgid "Backup file does not exist" +msgstr "Varmistustiedostoa ei ole olemassa" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:782 +msgid "Could not restore original image" +msgstr "Alkuperäiskuvan palautus ei onnistunut" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.display_settings_controller.php:17 +#: products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:242 +#: products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:328 +msgid "Gallery Settings" +msgstr "Asetukset" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery.php:73 +msgid "Source not compatible with selected display type" +msgstr "Lähde ei sovi yhteen valitun näyttötyypin kanssa" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:327 +msgid "NextGEN Gallery & Album Settings" +msgstr "NextGEN galleria- & albumiasetukset" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/templates/alt_view_link_text.php:15 +#: products/photocrati_nextgen/modules/nextgen_gallery_display/templates/return_link_text.php:15 +msgid "link text" +msgstr "linkkiteksti" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:12 +msgid "Image Options" +msgstr "Kuvavalinnat" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:22 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:588 +#: products/photocrati_nextgen/modules/ngglegacy/admin/thumbnails-template.php:76 +msgid "Custom" +msgstr "Räätälöity" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:23 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:111 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:549 +msgid "Image ID" +msgstr "Kuvan ID" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:24 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:570 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:112 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:166 +msgid "Filename" +msgstr "Tiedostonimi" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:25 +msgid "Alt/Title Text" +msgstr "Alt/Otsikkoteksti" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:38 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:115 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:557 +msgid "Ascending" +msgstr "Nouseva" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:39 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:116 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:558 +msgid "Descending" +msgstr "Laskeva" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:50 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:388 +msgid "Categories" +msgstr "Kategoriat" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:81 +msgid "Gallery path does not exist and could not be created" +msgstr "Galleriapolkua ei ole eikä sitä voitu luoda" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:86 +msgid "Where would you like galleries stored?" +msgstr "Minne haluaisit tallentaa galleriasi?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:87 +msgid "Where galleries and their images are stored" +msgstr "Gallerioiden ja niiden kuvien tallennuspaikka" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:89 +msgid "Delete Image Files?" +msgstr "Poista kuvatiedostot?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:90 +msgid "When enabled, image files will be removed after a Gallery has been deleted" +msgstr "Kun vlittu, kuvatiedostot poistetaan gallerian poiston jälkeen" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:92 +msgid "Show Related Images on Posts?" +msgstr "Näytä liittyvät kuvat artikkeleissa?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:93 +msgid "When enabled, related images will be appended to each post by matching the posts tags/categories to image tags" +msgstr "" +"Kun valittu, liittyvät kuvat lisätään jokaiseen artikkeliin, jonka " +"tägit/kategoriat vastaavat kuvien tägejä" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:95 +msgid "(Show Customization Settings)" +msgstr "(Näytä räätälöintiasetukset)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:96 +msgid "(Hide Customization Settings)" +msgstr "(Piilota räätälöintiasetukset)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:97 +msgid "How should related images be match?" +msgstr "Miten liittyvien kuvien pitäisi vastata?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:100 +msgid "Maximum # of related images to display" +msgstr "Näytettävien liittyvien kuvien maksimimäärä" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:102 +msgid "Heading for related images" +msgstr "Liittyvien kuvien otsikko" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:104 +msgid "What's the default sorting method?" +msgstr "Mikä on oletus lajittelumenetelmälle?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:107 +msgid "Sort in what direction?" +msgstr "Mihin suuntaan lajitellaan?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:110 +msgid "Automatically resize images after upload" +msgstr "Muuta kuvien koko automaattisesti tuonnin jälkeen" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:111 +msgid "It is recommended that your images be resized to be web friendly" +msgstr "On suositeltavaa muuttaa kuvien koko nettiystävälliseksi" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:113 +msgid "What should images be resized to?" +msgstr "Mihin kokoon kuvat pitäisi muuttaa?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:114 +msgid "After images are uploaded, they will be resized to the above dimensions and quality" +msgstr "Kun kuvat on tuotu, ne muutetaan yllä oleviin mittoihin ja laatuun" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:115 +msgid "Width:" +msgstr "Leveys:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:116 +msgid "Height:" +msgstr "Korkeus:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:117 +msgid "Quality:" +msgstr "Laatu:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:121 +msgid "Backup the original images?" +msgstr "Varmista alkuperäiskuvat?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.lightbox_manager_form.php:12 +msgid "Lightbox Effects" +msgstr "Lightbox-efektit" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.lightbox_manager_form.php:38 +msgid "What effect would you like to use?" +msgstr "Mitä efektiä haluaisit käyttää?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:12 +msgid "Miscellaneous" +msgstr "Sekalaista" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:21 +msgid "Add MediaRSS link?" +msgstr "Lisää MediaRSS-linkki?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:22 +msgid "When enabled, adds a MediaRSS link to your header. Third-party web services can use this to publish your galleries" +msgstr "" +"Kun valittu, sivujesi yläotsikkoon lisätään MediaRSS-linkki. Kolmannen " +"osapuolen web-palvelut voivat käyttää tätä julkaistakseen gallerioitasi" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:26 +msgid "Clear image cache" +msgstr "Tyhjennä kuvien välimuisti" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:27 +msgid "" +"Completely clear the NextGEN cache of all image modifications?\n" +"\n" +"Choose [Cancel] to Stop, [OK] to proceed." +msgstr "" +"Tyhennä NextGENin välimuisti täysin kaikista kuvamuokkauksista?\n\nValitse " +"[Peruuta] pysäyttääksesi, [OK] jatkaaksesi." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:32 +msgid "Permalink slug" +msgstr "Pysyvien linkkien lyhytnimi" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:39 +msgid "Maximum image count" +msgstr "Kuvien maksimimäärä" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:41 +msgid "This is the maximum limit of images that NextGEN will restrict itself to querying" +msgstr "Tämä on NextGENin rajoitus hauissa käytettävien kuvien maksimimäärälle" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.other_options_controller.php:22 +#: products/photocrati_nextgen/modules/nextgen_other_options/module.nextgen_other_options.php:39 +msgid "Other Options" +msgstr "Muut valinnat" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:7 +msgid "Reset Options" +msgstr "Palauta valinnat" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:15 +msgid "Reset all options to default settings" +msgstr "Palauta kaikki valinnat oletusasetuksiin" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:16 +msgid "Replace all existing options and gallery options with their default settings" +msgstr "Vaihda kaikki valinnat ja galleriavalinnat niiden alkuperäisasetuksiin" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:17 +msgid "Reset settings" +msgstr "Palauta asetukseste" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:18 +msgid "" +"Reset all options to default settings?\n" +"\n" +"Choose [Cancel] to Stop, [OK] to proceed." +msgstr "" +"Palauta kaikki valinnat oletusasetuksiin?\n\nValitse [Peruuta] " +"pysäyttääksesi, [OK] jatkaaksesi." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.roles_form.php:7 +msgid "Roles & Capabilities" +msgstr "Roolit & kyvykkyydet" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:12 +msgid "Styles" +msgstr "Tyylit" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:18 +msgid "What stylesheet would you like to use?" +msgstr "Mitä tyylitiedostoa haluat käyttää?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:21 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:136 +msgid "(Show Customization Options)" +msgstr "(Näytä räätälöintivalinnat)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:22 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:137 +msgid "(Hide Customization Options)" +msgstr "(Piilota räätälöintivalinnat)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:23 +msgid "File Content:" +msgstr "Tiedoston sisältö:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:24 +msgid "Changes you make to the contents will be saved to" +msgstr "Sisältöön tehtävät muutokset tallennetaan paikkaan " + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:25 +msgid "You could edit this file if it were writable" +msgstr "Voisit muokata tätä tiedostoa, jos sen voisi kirjoittaa" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:12 +msgid "Thumbnail Options" +msgstr "Esikatselukuvien valinnat" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:20 +msgid "Default thumbnail dimensions:" +msgstr "Esikatselukuvien oletusmitat:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:21 +msgid "When generating thumbnails, what image dimensions do you desire?" +msgstr "Millaiset mitat haluaisit luotaville esikatselukuville?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:24 +msgid "Set fix dimension?" +msgstr "Aseta kiinteä mitta?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:25 +msgid "Ignore the aspect ratio, no portrait thumbnails?" +msgstr "Ohita sivusuhde, ei pystyssä olevia esikatselukuvia?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:27 +msgid "Adjust Thumbnail Quality?" +msgstr "Muuta esikatselukuvien laatua?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:28 +msgid "When generating thumbnails, what image quality do you desire?" +msgstr "Minkä laadun haluaisit luotaville esikatselukuville?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:30 +msgid "Size List" +msgstr "Kokolista" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:31 +msgid "List of default sizes used for thumbnails and images" +msgstr "Oletuskokojen lista esikatselukuville ja kuville" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:12 +msgid "Watermarks" +msgstr "Vesileimat" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:41 +msgid "Using an Image" +msgstr "Käytetään kuvaa" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:42 +msgid "Using Text" +msgstr "Käytetään tekstiä" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:69 +msgid "An absolute or relative (to the site document root) file system path" +msgstr "" +"Absoluuttinen tai suhteellinen (sivuston dokumenttien juureen) " +"tiedostojärjestelmän polku" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:71 +msgid "An absolute or relative (to the site document root) file system path or an HTTP url" +msgstr "" +"Absoluuttinen tai suhteellinen (sivuston dokumenttien juureen) " +"tiedostojärjestelmän polku tai HTTP URL" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:74 +msgid "Image URL:" +msgstr "Kuvan URL:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:90 +msgid "Font Family:" +msgstr "Fonttiperhe:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:92 +msgid "Font Size:" +msgstr "Fonttikoko:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:94 +msgid "Font Color:" +msgstr "Fonttiväri:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:97 +msgid "Text:" +msgstr "Teksti:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:99 +msgid "Opacity:" +msgstr "Läpinäkyvyys:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:126 +msgid "Please note: You can only activate the watermark under Manage Gallery. This action cannot be undone." +msgstr "" +"Huom: voit aktivoida vesileiman vain gallerioiden hallinnasta. Tätä " +"toimenpidettä ei voi perua." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:127 +msgid "How will you generate a watermark?" +msgstr "Miten haluat luoda vesileiman?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:131 +msgid "Position:" +msgstr "Sijainti:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:133 +msgid "Offset:" +msgstr "Etäisyys:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:139 +msgid "Preview of saved settings:" +msgstr "Tallennettujen asetusten esikatselu:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:140 +msgid "Refresh preview image" +msgstr "Tuoreuta esikatselukuva" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:34 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:37 +msgid "(Show Advanced Settings)" +msgstr "(Näytä lisäasetukset)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:35 +msgid "(Hide Advanced Settings)" +msgstr "(Piilota lisäasetukset)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:56 +msgid "What must the lightbox be applied to?" +msgstr "Mihin lightboxia sovelletaan?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:60 +msgid "Only apply to NextGEN images" +msgstr "Sovella vain NextGEN-kuviin" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:61 +msgid "Only apply to NextGEN and WordPress images" +msgstr "Sovella vain NextGEN- ja WordPress-kuviin" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:62 +msgid "Try to apply to all images" +msgstr "Yritä soveltaa kaikkiin kuviin" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:63 +msgid "Try to apply to all images that link to image files" +msgstr "Yritä soveltaa kaikkiin kuviin, joissa on kuvatiedostolinkki" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php:21 +msgid "Place any custom stylesheets in wp-content/ngg_styles" +msgstr "" +"Sijoita räätälöidyt tyylitiedostot kansioon " +"wp-content/ngg_styles" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php:24 +#, php-format +msgid "All stylesheets must contain a file header" +msgstr "" +"Kaikissa tyylitiedostoissa on oltava file header" + +#: products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:41 +msgid "Related Images" +msgstr "Liittyvät kuvat" + +#: products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:61 +msgid "[Show slideshow]" +msgstr "[Näytä diashow]" + +#: products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:62 +msgid "[Show thumbnails]" +msgstr "[Näytä esikatselukuvat]" + +#: products/photocrati_nextgen/modules/nextgen_xmlrpc/module.nextgen_xmlrpc.php:425 +msgid "Sorry, you must be able to manage galleries" +msgstr "Sori, sinun on voitava hallita gallerioitasi" + +#: products/photocrati_nextgen/modules/widget/class.widget_gallery.php:7 +msgid "Add recent or random images from the galleries" +msgstr "Lisää tuoreimmat tai satunnaiset kuvat gallerioista" + +#: products/photocrati_nextgen/modules/widget/class.widget_gallery.php:8 +msgid "NextGEN Widget" +msgstr "NextGEN Vimpain" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:9 +msgid "Widget that displays Media RSS links for NextGEN Gallery." +msgstr "Vimpain, joka näyttää Media RSS -linkit NextGEN galleriaan." + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:10 +msgid "NextGEN Media RSS" +msgstr "NextGEN Media RSS" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:22 +msgid "Media RSS" +msgstr "Media RSS" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:23 +msgid "Link to the main image feed" +msgstr "Linkki kuvan pääsyötteseen" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:93 +#: products/photocrati_nextgen/modules/ngglegacy/view/gallery-caption.php:32 +#: products/photocrati_nextgen/modules/ngglegacy/view/gallery.php:32 +msgid "[View with PicLens]" +msgstr "[Näytä PicLensillä]" + +#: products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:7 +msgid "Show a NextGEN Gallery Slideshow" +msgstr "Näytä NextGEN Gallery diashow" + +#: products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:8 +msgid "NextGEN Slideshow" +msgstr "NextGEN diashow" + +#: products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:76 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:321 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:521 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:721 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:215 +msgid "Slideshow" +msgstr "Diashow" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:15 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:229 +msgid "Show" +msgstr "Näytä" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:26 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:316 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:520 +msgid "Thumbnails" +msgstr "Esikatselukuvat" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:29 +msgid "Original images" +msgstr "Alkuperäiskuvat" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:42 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:822 +msgid "random" +msgstr "satunnaiset" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:50 +msgid "recently added" +msgstr "tuoreimmat" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:62 +msgid "Enable IE8 Web Slices" +msgstr "Salli IE8 Web Slices" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:68 +msgid "Width x Height" +msgstr "Leveys x korkeus" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:87 +msgid "Select" +msgstr "Valitse" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:92 +msgid "All galleries" +msgstr "Kaikki galleriat" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:95 +msgid "Only which are not listed" +msgstr "Vain listaamattomat" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:98 +msgid "Only which are listed" +msgstr "Vain listatut" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:107 +msgid "Gallery ID" +msgstr "Gallerian ID" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:114 +msgid "Gallery IDs, separated by commas." +msgstr "Gallerioiden ID:t erotettuna pilkuilla." + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:19 +msgid "Show Media RSS icon" +msgstr "Näytä Media RSS -kuvake" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:30 +msgid "Show the Media RSS link" +msgstr "Näytä Media RSS -linkki" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:36 +msgid "Text for Media RSS link" +msgstr "Teksti Media RSS -linkkiin" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:47 +msgid "Tooltip text for Media RSS link" +msgstr "Vinkkiteksti Media RSS -linkkiin" + +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:15 +msgid "Select Gallery" +msgstr "Valitse galleria" + +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:23 +msgid "All images" +msgstr "Kaikki kuvat" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:159 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:190 +msgid "Overview" +msgstr "Yleistä" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:172 +msgid "Network settings" +msgstr "Verkkoasetukset" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:305 +msgid "You do not have the correct permission" +msgstr "Sinulla ei ole oikeaa valtuutusta" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:306 +msgid "Unexpected Error" +msgstr "Odottamaton virhe" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:307 +msgid "A failure occurred" +msgstr "Tapahtui virhe" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:311 +msgid "You have attempted to queue too many files." +msgstr "Olet yrittänyt laittaa liian monta tiedostoa jonoon." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:312 +msgid "This file exceeds the maximum upload size for this site." +msgstr "Tämän tiedoston koko on suurempi kuin sivuston maksimituontikoko." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:313 +msgid "This file is empty. Please try another." +msgstr "Tämä tiedosto on tyhjä. Yritä toista." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:314 +msgid "This file type is not allowed. Please try another." +msgstr "Tämä tiedostotyyppi ei ole sallittu. Yritä toista." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:315 +msgid "This file is not an image. Please try another." +msgstr "Tämä tiedosto ei ole kuva. Yritä toista." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:316 +msgid "Memory exceeded. Please try another smaller file." +msgstr "Muisti ylitetty. Yritä toista pienempää tiedostoa." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:317 +msgid "This is larger than the maximum size. Please try another." +msgstr "Tämä on maksimikokoa suurempi. Yritä toista." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:318 +msgid "An error occurred in the upload. Please try again later." +msgstr "Tuonnissa tapahtui virhe. Yritä myöhemmin uudestaan." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:319 +msgid "There was a configuration error. Please contact the server administrator." +msgstr "Ilmeni asetusvirhe. Ota yhteys palvelimen administraattoriin." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:320 +msgid "You may only upload 1 file." +msgstr "Voit tuoda vain yhden (1) tiedoston." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:321 +msgid "HTTP error." +msgstr "HTTP-virhe." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:322 +msgid "Upload failed." +msgstr "Tuonti epäonnistui." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:323 +msgid "IO error." +msgstr "IO-virhe." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:324 +msgid "Security error." +msgstr "Turvavirhe." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:325 +msgid "File canceled." +msgstr "Tiedosto peruttu." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:326 +msgid "Upload stopped." +msgstr "Tuonti pysähtyi." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:327 +msgid "Dismiss" +msgstr "Poistu" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:328 +msgid "Crunching…" +msgstr "Murskaa…" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:329 +msgid "moved to the trash." +msgstr "siirretty roskakoriin." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:330 +#, php-format +msgid "“%s” has failed to upload due to an error" +msgstr "“%s” tuonti epäonnistui virheen vuoksi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:352 +msgid "L O A D I N G" +msgstr "L A T A A N" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:353 +msgid "Click to Close" +msgstr "Klikkaa sulkeaksesi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:462 +msgid "Introduction" +msgstr "" +"Johdanto" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:465 +msgid "Languages" +msgstr "" +"Kielet" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:470 +msgid "Get help with NextGEN Gallery" +msgstr "Saa apua NextGEN Galleryyn" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:474 +msgid "More Help & Info" +msgstr "Lisää apua & info" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:476 +msgid "Support Forums" +msgstr "" +"Tukifoorumit (engl.)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:477 +msgid "FAQ" +msgstr "FAQ (engl.)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:478 +msgid "Feature request" +msgstr "Ominaisuuspyyntö" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:479 +msgid "Get your language pack" +msgstr "Tuo kielipakettisi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:480 +msgid "Contribute development" +msgstr "Tue kehitystyötä" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:481 +msgid "Download latest version" +msgstr "Lataa viimeisin versio" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/ajax.php:360 +#, php-format +msgid "Could create image with %s x %s pixel" +msgstr "%s x %s pikselin kuvan luonti onnistui" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:172 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:216 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:239 +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:19 +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:22 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:619 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:7 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:10 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:13 +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:17 +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:20 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:10 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:13 +msgid "Cheatin’ uh?" +msgstr "Petkutat’ häh?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:180 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:209 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:253 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:178 +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:24 +msgid "Update Successfully" +msgstr "Päivitys onnistui" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:227 +msgid "Album deleted" +msgstr "Albumi poistettu" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:389 +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:55 +msgid "Edit Album" +msgstr "Muokkaa albumia" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:410 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:459 +msgid "Select album" +msgstr "Valitse albumi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:412 +msgid "No album selected" +msgstr "Albumia ei valittuna" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:423 +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:166 +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:94 +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:112 +msgid "Update" +msgstr "Päivitä" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:425 +msgid "Edit album" +msgstr "Muokkaa albumia" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:428 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:187 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:362 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:364 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:227 +msgid "Delete" +msgstr "Poista" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:432 +msgid "Add new album" +msgstr "Lisää uusi albumi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:434 +msgid "Add" +msgstr "Lisää" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:445 +msgid "Show / hide used galleries" +msgstr "Näytä / piilota käytetyt galleriat" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:445 +msgid "[Show all]" +msgstr "[Näytä kaikki]" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:446 +msgid "Maximize the widget content" +msgstr "Maksimoi vimpaimen sisältö" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:446 +msgid "[Maximize]" +msgstr "[Maksimoi]" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:447 +msgid "Minimize the widget content" +msgstr "Minimoi vimpaimen sisältö" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:447 +msgid "[Minimize]" +msgstr "[Minimoi]" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:449 +msgid "After you create and select a album, you can drag and drop a gallery or another album into your new album below" +msgstr "" +"Kun luot ja valitset albumin, voit vetää ja pudottaa gallerian tai toisen " +"albumin alle uuteen albumiisi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:475 +msgid "Select gallery" +msgstr "Valitse galleria" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:500 +msgid "Album ID" +msgstr "Albumin ID" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:513 +msgid "No album selected!" +msgstr "Ei albumia valittuna!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:534 +msgid "Album name:" +msgstr "Albumin nimi:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:540 +msgid "Album description:" +msgstr "Albumin kuvaus:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:546 +msgid "Select a preview image:" +msgstr "Valitse esikatselukuva:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:549 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:552 +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_preview_image_field.php:3 +msgid "No picture" +msgstr "Ei kuvaa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:563 +msgid "Page Link to" +msgstr "Linkki sivulle" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:582 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:337 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:366 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:397 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:406 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:442 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:471 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:502 +msgid "OK" +msgstr "OK" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:584 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:339 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:368 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:399 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:408 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:444 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:473 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:504 +msgid "Cancel" +msgstr "Peruuta" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:677 +msgid "Name" +msgstr "Nimi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:679 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:229 +msgid "Page" +msgstr "Sivu" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:116 +msgid "Select with the mouse the area for the new thumbnail" +msgstr "Valitse hiirellä uuden esikatselukuvan alue" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:130 +msgid "Thumbnail updated" +msgstr "Esikatselukuva päivitetty" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:135 +msgid "Error updating thumbnail" +msgstr "Virhe esikatselukuvan päivityksessä" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:151 +msgid "Select the area for the thumbnail from the picture on the left." +msgstr "Valitse vasemmalla kuvasta esikatselukuvan alue" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:39 +msgid "No valid gallery name!" +msgstr "Ei kelvollinen gallerianimi!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:46 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:80 +msgid "Directory" +msgstr "Hakemisto" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:46 +msgid "didn't exist. Please create first the main gallery folder " +msgstr "ei ole olemassa. Luo ensin gallerioiden pääkansio" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:47 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:56 +msgid "Check this link, if you didn't know how to set the permission :" +msgstr "Tarkista tämä linkki, jos et tiedä miten valtuutus asetetaan :" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:80 +msgid "is not writeable !" +msgstr "ei voi kirjoittaa !" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:76 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:85 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:736 +#: products/photocrati_nextgen/modules/ngglegacy/lib/core.php:101 +msgid "Unable to create directory " +msgstr "Hakemistoa ei voitu luoda" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:89 +msgid "The server setting Safe-Mode is on !" +msgstr "Palvelimen Safe-Mode -asetus käytössä !" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:90 +msgid "If you have problems, please create directory" +msgstr "Jos ongelmia, luo käsin hakemisto" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:91 +msgid "and the thumbnails directory" +msgstr "ja esikatselukuvien hakemisto" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:91 +msgid "with permission 777 manually !" +msgstr "valtuutuksella 777 !" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:116 +#, php-format +msgid "Gallery ID %1$s successfully created. You can show this gallery in your post or page with the shortcode %2$s.
      " +msgstr "" +"Galleria ID %1$s luonti onnistui. Voit näyttää tämän gallerian artikkelissa " +"tai sivulla käyttäen lyhytkoodia %2$s.
      " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:119 +msgid "Edit gallery" +msgstr "Muokkaa galleriaa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:188 +msgid "Error while creating thumbnail." +msgstr "Virhe esikatselukuvan luonnissa." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:242 +msgid "Error while resizing image." +msgstr "Virhe kuvan pienentämisessä," + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:326 +msgid "Error while rotating image." +msgstr "Virhe kuvan pyörityksessä." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:361 +msgid "Error while applying watermark to image." +msgstr "Virhe vesileiman soveltamisessa kuvaan." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:385 +msgid "Object didn't contain correct data" +msgstr "Kohde ei sisältänyt oikeaa dataa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:391 +msgid "File do not exists" +msgstr "Tiedostoa ei ole olemassa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:395 +msgid "Couldn't restore original image" +msgstr "Ei voinut palauttaa alkuperäiskuvaa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:511 +msgid "(Error : Couldn't not update data base)" +msgstr "(Virhe: ei voinut päivittää tietokantaa)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:518 +msgid "(Error : Couldn't not update meta data)" +msgstr "(Virhe: ei voinut päivittää metadataa)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:527 +msgid "(Error : Couldn't not find image)" +msgstr "(Virhe: ei löytänyt kuvaa)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:670 +msgid "No valid URL path " +msgstr "Ei validi URL-polku" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:686 +msgid "Import via cURL failed." +msgstr "Tuonti cURL:illa epäonnistui." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:703 +msgid "Uploaded file was no or a faulty zip file ! The server recognized : " +msgstr "" +"Tuotu tiedosto ei ollut tai oli virheellinen ZIP-tiedosto. Palvelin ilmoitti :" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:720 +msgid "Could not get a valid foldername" +msgstr "Ei saanut validia kansionimeä" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:731 +#, php-format +msgid "Unable to create directory %s. Is its parent directory writable by the server?" +msgstr "" +"Ei voinut luoda hakemistoa %s. Onko sen emohakemisto kirjoituskelpoinen " +"palvelimella?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:746 +msgid "Zip-File successfully unpacked" +msgstr "ZIP-tiedosto purettu onnistuneesti" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:777 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:877 +msgid "No gallery selected !" +msgstr "Galleriaa ei valittuna !" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:785 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:902 +msgid "Failure in database, no gallery path set !" +msgstr "Virhe tietokannssa, galleriapolkua ei asetettuna !" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:809 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:896 +msgid "is no valid image file!" +msgstr "ei ole sopiva kvuatiedosto!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:830 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:919 +msgid "Error, the file could not be moved to : " +msgstr "Virhe, tiedostoa ei voitu siirtää paikkaan :" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:835 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:923 +msgid "Error, the file permissions could not be set" +msgstr "Virhe, tiedoston valtuutuksia ei voitu asettaa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:853 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:111 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:189 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:238 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:322 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:661 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:740 +msgid "Create new thumbnails" +msgstr "Luo uudet esikatselukuvat" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:858 +msgid " Image(s) successfully added" +msgstr " Kuva(a) lisätty onnistuneesti" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:885 +msgid "Invalid upload. Error Code : " +msgstr "Väärä tuonti. Virhekoodi :" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:961 +#, php-format +msgid "SAFE MODE Restriction in effect! You need to create the folder %s manually" +msgstr "" +"SAFE MODE -rajoitus käytössä! Sinun on luotava käsin hakemisto " +"%s." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:962 +#, php-format +msgid "When safe_mode is on, PHP checks to see if the owner (%s) of the current script matches the owner (%s) of the file to be operated on by a file function or its directory" +msgstr "" +"Kun safe_mode on käytössä, PHP tarkistaa, vastaako nykyisen skriptin omistaja " +"(%s) omistajaa (%s) tiedostolle, jota käsitellään tiedostofunktiolla tai sen " +"hakemistossa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1015 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1092 +msgid "The destination gallery does not exist" +msgstr "Kohdegalleriaa ei ole olemassa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1046 +#, php-format +msgid "Failed to move image %1$s to %2$s" +msgstr "Kuvan %1$s siirto kuvaksi %2$s epäonnistui" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1066 +#, php-format +msgid "Moved %1$s picture(s) to gallery : %2$s ." +msgstr "Siirretty %1$s kuva(a) galleriaan : %2$s ." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1170 +#, php-format +msgid "Copied %1$s picture(s) to gallery: %2$s ." +msgstr "Kopioitu %1$s kuva(a) galleriaan : %2$s ." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1278 +msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgstr "" +"Tuontavan tiedoston koko ylittää upload_max_filesize -asetuksen php.ini " +"-tiedostossa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1281 +msgid "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" +msgstr "" +"Tuotavan tiedoston koko ylittää MAX_FILE_SIZE -asetuksen, joka on määritelty " +"HTML -lomakkeessa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1284 +msgid "The uploaded file was only partially uploaded" +msgstr "Tuotava tiedosto tuotiin vain osittain" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1287 +msgid "No file was uploaded" +msgstr "Mitään tiedostoa ei tuotu" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1290 +msgid "Missing a temporary folder" +msgstr "Tilapäishakemisto puuttuu" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1293 +msgid "Failed to write file to disk" +msgstr "Tiedoston kirjoitus levylle epäonnistui" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1296 +msgid "File upload stopped by extension" +msgstr "Tiedostotyyppi pysäytti tiedoston tuonnin" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1299 +msgid "Unknown upload error" +msgstr "Tuntematon tuontivirhe" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/install.php:20 +msgid "Sorry, NextGEN Gallery works only with a role called administrator" +msgstr "Sori, NextGEN Gallery toimii vain roolilla administrator" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/install.php:92 +msgid "NextGEN Gallery : Tables could not created, please check your database settings" +msgstr "" +"NextGEN Gallery : Tauluja ei voitu luoda, tarkista tietokanta-asetuksesi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:99 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:206 +msgid "No images selected" +msgstr "Ei kuvia valittuna" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:107 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:190 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:234 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:323 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:642 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:724 +msgid "Resize images" +msgstr "Pienennä kuvien kokoa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:116 +#, php-format +msgid "" +"You are about to start the bulk edit for %s galleries \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" +"Olet aloittamassa massamuokkauksen %s gallerialle \n \nKlikkaa 'Peruuta' " +"pysäyttääksesi, 'OK' jatkaaksesi." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:154 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:197 +msgid "Add new gallery" +msgstr "Lisää uusi galleria" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:171 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:174 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:272 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:275 +msgid "Search Images" +msgstr "Etsi kuvia" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:186 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:320 +msgid "Bulk actions" +msgstr "Massatoiminnot" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:188 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:321 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:572 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:687 +msgid "Set watermark" +msgstr "Aseta vesileima" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:191 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:326 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:577 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:708 +msgid "Import metadata" +msgstr "Tuo metadata" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:192 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:324 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:567 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:684 +msgid "Recover from backup" +msgstr "Palauta varmistuksesta" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:194 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:335 +msgid "Apply" +msgstr "Hyväksy" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:262 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:253 +msgid "Edit" +msgstr "Muokkaa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:309 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:379 +msgid "No entries found" +msgstr "Kohteita ei löydetty" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:327 +msgid "New Gallery" +msgstr "Uusi galleria" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:329 +msgid "Create a new , empty gallery below the folder" +msgstr "Luo uusi, tyhjä galleria kansion alle" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:331 +msgid "Allowed characters for file and folder names are" +msgstr "Sallitut merkit tiedosto- ja kansionimissä" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:357 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:462 +msgid "Resize Images to" +msgstr "Muuta kuvien kooksi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:361 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:466 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:453 +msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size" +msgstr "Leveys x korkeus (pikseleinä). NextGEN Gallery säilyttää sivusuhteen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:385 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:490 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:40 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:416 +msgid "Width x height (in pixel)" +msgstr "Leveys x korkeus (pikseleinä)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:391 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:496 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:426 +msgid "Set fix dimension" +msgstr "Aseta kiinteä dimensio" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:393 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:498 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:428 +msgid "Ignore the aspect ratio, no portrait thumbnails" +msgstr "Älä välitä sivusuhteesta, ei esikatselukuvia pystyssä" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:456 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:568 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:156 +msgid "ID" +msgstr "ID" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:458 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:571 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:245 +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:134 +msgid "Description" +msgstr "Kuvaus" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:460 +msgid "Page ID" +msgstr "Sivu ID" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:35 +msgid "Gallery not found." +msgstr "Galleriaa ei löytynyt." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:41 +msgid "Sorry, you have no access here" +msgstr "Sori, sinulla ei ole pääsyä tänne" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:214 +msgid "Copy image to..." +msgstr "Kopioi kuva paikkaan..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:218 +msgid "Move image to..." +msgstr "Siirrä kuva paikkaan..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:222 +msgid "Add new tags" +msgstr "Lisää uusia tägejä" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:226 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:332 +msgid "Delete tags" +msgstr "Poista tägejä" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:230 +msgid "Overwrite" +msgstr "Kirjoita yli" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:243 +#, php-format +msgid "" +"You are about to start the bulk edit for %s images \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" +"Olet aloittamassa massamuokkauksen %s kuvalle \n \nKlikkaa 'Peruuta' " +"pysäyttääksesi, 'OK' jatkaaksesi." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:269 +#, php-format +msgid "Search results for “%s”" +msgstr "Etsintätulokset haulle “%s”" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:298 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:488 +msgid "Gallery settings" +msgstr "Asetukset" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:298 +msgid "Click here for more settings" +msgstr "Klikkaa tästä lisäasetuksille" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:304 +msgid "Scan Folder for new images" +msgstr "Skannaa kansiosta uusia kuvia" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:306 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:341 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:386 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:400 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:436 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:478 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:563 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:598 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:708 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:861 +msgid "Save Changes" +msgstr "Tallenna muutokset" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:325 +msgid "Delete images" +msgstr "Poista kuvia" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:327 +msgid "Rotate images clockwise" +msgstr "Pyöritä kuvia myötäpäivään" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:328 +msgid "Rotate images counter-clockwise" +msgstr "Pyöritä kuvia vastapäivään" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:329 +msgid "Copy to..." +msgstr "Kopioi..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:330 +msgid "Move to..." +msgstr "Siirrä..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:331 +msgid "Add tags" +msgstr "Lisää tägejä" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:333 +msgid "Overwrite tags" +msgstr "Kirjoita tägejä yli" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:338 +msgid "Sort gallery" +msgstr "Lajittele galleria" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:402 +msgid "Enter the tags" +msgstr "Anna tägit" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:426 +msgid "Select the destination gallery:" +msgstr "Valitse kohdegalleria: " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:569 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:161 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:266 +msgid "Thumbnail" +msgstr "Esikatselukuva" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:571 +msgid "Alt & Title Text" +msgstr "Alt & otsikkoteksti" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:572 +msgid "Tags (comma separated list)" +msgstr "Tägit (pilkulla erotettu lista)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:35 +msgid "Sort order changed" +msgstr "Lajittelujärjestys muutettu" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:97 +msgid "Sort Gallery" +msgstr "Lajittele galleria" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:101 +msgid "Update Sort Order" +msgstr "Päivitä lajittelujärjestys" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:104 +msgid "Back to gallery" +msgstr "Takaisin galleriaan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:109 +msgid "Presort" +msgstr "Esilajittele" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:110 +msgid "Unsorted" +msgstr "Ei lajiteltu" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:113 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:241 +msgid "Alt/Title text" +msgstr "Alt/otsikkoteksti" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:90 +msgid "deleted successfully" +msgstr "poistettu onnistuneesti" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:106 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:115 +msgid "Operation successful. Please clear your browser cache." +msgstr "Operaatio onnistui. Tyhjennä selaimesi välimuisti." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:171 +msgid "Alt & Title Text / Description" +msgstr "Alt & otsikkoteksti / Kuvaus" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:214 +msgid "Exclude ?" +msgstr "Sulje pois ?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:299 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:301 +msgid "View" +msgstr "Näytä" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:309 +msgid "Show meta data" +msgstr "Näytä metadata" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:310 +msgid "Meta" +msgstr "Meta" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:318 +msgid "Customize thumbnail" +msgstr "Räätälöi esikatselukuvaa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:319 +msgid "Edit thumb" +msgstr "Muokkaa esikatselukuvaa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:327 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:328 +msgid "Rotate" +msgstr "Pyöritä" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:338 +msgid "Publish this image" +msgstr "Julkaise tämä kuva" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:339 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:58 +msgid "Publish" +msgstr "Julkaise" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:349 +msgid "Recover image from backup" +msgstr "Palauta kuva varmistuksesta" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:350 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:352 +msgid "Recover" +msgstr "Palauta" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:361 +msgid "Delete image" +msgstr "Poista kuva" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:392 +msgid "Title:" +msgstr "Otsikko:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:398 +msgid "Description:" +msgstr "Kuvaus:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:404 +msgid "Gallery path:" +msgstr "Gallerian polku:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:419 +msgid "Link to page:" +msgstr "Linkki sivulle:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:420 +msgid "Albums will link this gallery to the selected page" +msgstr "Albumit linkittävät tämän gallerian valittuun sivuun" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:425 +msgid "Preview image:" +msgstr "Esikatsele kuvaa:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:431 +msgid "Create new page:" +msgstr "Luo uusi sivu:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:607 +msgid "Gallery deleted successfully " +msgstr "Gallerian poisto onnistui" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:678 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:681 +msgid "Rotate images" +msgstr "Pyöritä kuvia" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:704 +msgid "Pictures deleted successfully " +msgstr "Kuvien poisto onnistui" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:802 +msgid "Tags changed" +msgstr "Tägit muutettu" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:842 +msgid "Update successful" +msgstr "Päivitys onnistui" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:877 +msgid "New gallery page ID" +msgstr "Uusi galleriasivu ID" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:877 +msgid "created" +msgstr "luotu" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:915 +msgid "Published a new post" +msgstr "Julkaise uusi artikkeli" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1062 +msgid "Go to the first page" +msgstr "Mene ensimmäiselle sivulle" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1069 +msgid "Go to the previous page" +msgstr "Mene edelliselle sivulle" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1078 +msgid "Current page" +msgstr "Nykyinen sivu" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1089 +msgid "Go to the next page" +msgstr "Mene seuraavalle sivulle" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1096 +msgid "Go to the last page" +msgstr "Mene viimeiselle sivulle" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1046 +#, php-format +msgid "1 item" +msgid_plural "%s items" +msgstr[0] "1 kohde" +msgstr[1] "%s kohdetta" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1046 +#, php-format +msgctxt "paging" +msgid "%1$s of %2$s" +msgstr "%1$s / %2$s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:11 +msgid "NextGEN Gallery" +msgstr "NextGEN Gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:186 +msgid "No gallery" +msgstr "Ei gallerioita" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:198 +msgid "Select »" +msgstr "Valitse »" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:230 +msgid "Hide" +msgstr "Piilota" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:235 +msgid "Image ID:" +msgstr "Kuva ID:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:249 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:45 +msgid "Alignment" +msgstr "Tasaus" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:252 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:47 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:583 +msgid "None" +msgstr "Ei mitään" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:254 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:49 +msgid "Left" +msgstr "Vasen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:256 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:51 +msgid "Center" +msgstr "Keskelle" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:258 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:53 +msgid "Right" +msgstr "Oikea" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:262 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:690 +msgid "Size" +msgstr "Koko" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:268 +msgid "Full size" +msgstr "Täyskoko" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:270 +msgid "Singlepic" +msgstr "Yksittäiskuva" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:282 +msgid "Use as featured image" +msgstr "Käytetään sivukuvana" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:284 +msgid "Insert into Post" +msgstr "Lisää artikkeliin" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:295 +msgid "Save all changes" +msgstr "Tallenna kaikki muutokset" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:14 +msgid "NextGEN Gallery Overview" +msgstr "NextGEN Gallery yleistä" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:84 +msgid "Welcome to NextGEN Gallery !" +msgstr "Tervetuloa NextGEN Galleryyn !" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:85 +msgid "Do you like this Plugin?" +msgstr "Pidätkö tästä lisäosasta?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:87 +msgid "About" +msgstr "Lisäosasta" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:90 +msgid "Server Settings" +msgstr "Palvelinasetukset" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97 +msgid "NextGEN Gallery is one of the most popular Wordpress plugins of all time with over 9 million downloads. It is developed and supported by Photocrati Media. We'd like to offer a special thanks to Alex Rabe, who first developed the plugin and maintained it through 2011." +msgstr "" +"NextGEN Gallery on yksi suosituimmista Wordpressin lisäosista koskaan ja sitä " +"on ladattu yli 9 miljoonaa kertaa. Sitä kehittää ja tukee Photocrati Media. " +"Haluamme antaa erityiskiitokset Alex Rabelle, joka kehitti ensimmämisen " +"lisäosaversion ja piti sitä yllä vuoteen 2011." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:98 +msgid "NEED HELP? If you need help or assistance please visit the NextGEN Gallery forums on WordPress.org. Please note that we actively monitor and participate in the forums, but given that NextGEN Gallery is a free product, we don't guarantee replies to support queries." +msgstr "" +"TARVITSETKO APUA? Jos tarvitset apua, käy NextGEN Gallery " +"forums on WordPress.org [engl.]. Huomioi, että seuraamme ja käymme " +"foorumeissa, mutta koska NextGEN Gallery on ilmainen tuote, emme takaa " +"vastauksia tukikyselyihin." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:99 +msgid "EXTENDING NEXTGEN? There are many third party plugins that add displays and functionality for NextGEN Gallery. See our Complete List of NextGEN Extension Plugins." +msgstr "" +"LAAJENNATKO NEXTGENIÄ? Olemassa monia lisäosia, jotka " +"lisäävät näyttötapoja ja toimintoja NextGEN Galleryyn. Katso Katta" +"vaa listaamme NextGENiä laajentavista lisäosista." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:107 +#, php-format +msgid "This plugin is primarily developed, maintained, supported and documented by Photocrati Media with a lot of love & effort. Any kind of contribution would be highly appreciated. Thanks!" +msgstr "" +"Tätä lisäosaa kehittää, ylläpitää ja dokumentoi pääasiassa Photocrati Media runsaalla rakkaudella ja " +"yrityksellä. Mitä tahansa lahjoitusta pidämme erittäin tärkeänä. Kiitokset!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:112 +msgid "Please click \"Works\" on WordPress.org" +msgstr "Klikkaa \\\"Works\\\" WordPress.org-sivuilla" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:117 +msgid "Give it a good rating on WordPress.org" +msgstr "Anna hyvä arvosana WordPress.org:issa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:122 +msgid "Visit the plugin homepage" +msgstr "Käy lisäosan kotisivulla" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:127 +msgid "Help translating it" +msgstr "Auta kääntämään se" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:149 +msgid "Graphic Library" +msgstr "Grafiikkakirjasto" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:165 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:214 +msgid "Loading…" +msgstr "Lataan…" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:165 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:214 +msgid "This widget requires JavaScript." +msgstr "Tämä vimpain edellyttää JavaScriptiä." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:178 +msgid "Thanks to all donators..." +msgstr "Kiitos kaikille lahjoittajille..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:200 +msgid "View all" +msgstr "Katso kaikki" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:226 +#, php-format +msgid "Newsfeed could not be loaded. Check the front page to check for updates." +msgstr "" +"Uutissyötettä ei voitu ladata. Tarkista etusivulta " +"päivitykset." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:238 +msgid "Untitled" +msgstr "Nimetön" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:303 +msgid "At a Glance" +msgstr "Lyhyesti" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:356 +msgid "Storage Space" +msgstr "Tallennustila" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:360 +#, php-format +msgid "%2$sMB" +msgstr "" +"%2$sMB" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:361 +msgid "Space Allowed" +msgstr "Välilyönti sallittu" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:368 +#, php-format +msgid "%2$sMB (%3$s%%)" +msgstr "" +"%2$sMB " +"(%3$s%%)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:369 +msgid "Space Used" +msgstr "Välilyönti käytössä" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:395 +msgid "No GD support" +msgstr "Ei GD-tukea" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:427 +msgid "Not set" +msgstr "Ei asetettu" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:429 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:432 +msgid "On" +msgstr "Päällä" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:430 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:433 +msgid "Off" +msgstr "Pois" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:437 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:440 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:443 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:446 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:449 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:452 +msgid "N/A" +msgstr "N/A" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:451 +msgid " MByte" +msgstr " Mtavua" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:464 +msgid "Operating System" +msgstr "Käyttöjärjestelmä" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:465 +msgid "Server" +msgstr "Palvelin" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:466 +msgid "Memory usage" +msgstr "Muistin käyttö" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:467 +msgid "MYSQL Version" +msgstr "MYSQL Versio" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:468 +msgid "SQL Mode" +msgstr "SQL-tila" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:469 +msgid "PHP Version" +msgstr "PHP Versio" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:470 +msgid "PHP Safe Mode" +msgstr "PHP Safe Mode" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:471 +msgid "PHP Allow URL fopen" +msgstr "PHP salli URL fopen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:472 +msgid "PHP Memory Limit" +msgstr "PHP muistiraja" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:473 +msgid "PHP Max Upload Size" +msgstr "PHP Max latauskoko" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:474 +msgid "PHP Max Post Size" +msgstr "PHP Max artikkelikoko" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:475 +msgid "PCRE Backtracking Limit" +msgstr "PCRE Backtracking -raja" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:476 +msgid "PHP Max Script Execute Time" +msgstr "PHP Max skriptin suoritusaika" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:477 +msgid "PHP Exif support" +msgstr "PHP Exif-tuki" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:478 +msgid "PHP IPTC support" +msgstr "PHP IPTC -tuki" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:479 +msgid "PHP XML support" +msgstr "PHP XML-tuki" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:491 +msgid "NextGEN Gallery contains some functions which are only available under PHP 5.2. You are using the old PHP 4 version, upgrade now! It's no longer supported by the PHP group. Many shared hosting providers offer both PHP 4 and PHP 5, running simultaneously. Ask your provider if they can do this." +msgstr "" +"NextGEN Gallery sisältää joitakin toimintoja, jotka toimivat versiolla PHP " +"5.2. Käytät vanhaa PHP 4 -versiota, päivitä nyt! PHP group ei enää tue sitä. " +"Monet yleiset hosting-palvelun tarjoajat antavat mahdollisuuden sekä versioon " +"PHP 4 että PHP 5, samanaikaisesti. Kysy palveluntarjoajaltasi, tarjoavatko he " +"tällaista." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:35 +msgid "Post title" +msgstr "Artikkelin otsikko" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:37 +msgid "Enter the post title " +msgstr "Anna artikkelin otsikko" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:42 +msgid "Size of the image" +msgstr "Kuvan koko" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:60 +msgid "Draft" +msgstr "Luonnos" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:26 +msgid "Select the lowest role which should be able to access the following capabilities. NextGEN Gallery supports the standard roles from WordPress." +msgstr "" +"Valitse alin rooli, jonka pitäisi saada käyttöönsä seuraavat kyvykkyydet. " +"NextGEN Gallery tukee WordPressin standardirooleja." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:27 +msgid "For a more flexible user management you can use the" +msgstr "Joustavampaan käyttäjähallintaan voit käyttää " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:31 +msgid "Main NextGEN Gallery overview" +msgstr "NextGEN Gallery yleistä päänäyttö" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:35 +msgid "Use TinyMCE Button / Upload tab" +msgstr "Käytä TinyMCE -painiketta / latausvälilehti" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:39 +msgid "Add gallery / Upload images" +msgstr "Lisää galleria / lataa kuvia" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:43 +msgid "Manage gallery" +msgstr "Hallitse galleriaa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:47 +msgid "Manage others gallery" +msgstr "Hallitse toisten gallerioita" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:51 +msgid "Manage tags" +msgstr "Tägit" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:59 +msgid "Change style" +msgstr "Muuta tyyli" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:63 +msgid "Change options" +msgstr "Muuta vaihtoehdot" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:67 +msgid "NextGEN Attach Interface" +msgstr "NextGEN Liitä " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:60 +msgid "Image rotated" +msgstr "Kuva käännetty" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:62 +msgid "Error rotating thumbnail" +msgstr "Virhe esikatselukuvan pyörityksessä" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:85 +msgid "90° clockwise" +msgstr "90° myötäpäivään" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:86 +msgid "90° anticlockwise" +msgstr "90° vastapäivään" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:87 +msgid "Flip vertically" +msgstr "Peilikuva pystysuoraan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:88 +msgid "Flip horizontally" +msgstr "Peilikuva vaakasuoraan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:22 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:204 +#, php-format +msgid "Rebuild image structure : %s / %s images" +msgstr "Uudista kuvarakenne : %s / %s kuvaa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:23 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:205 +#, php-format +msgid "Rebuild gallery structure : %s / %s galleries" +msgstr "Uudista galleriarakenne : %s / %s galleriaa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:24 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:206 +#, php-format +msgid "Rebuild album structure : %s / %s albums" +msgstr "Uudista albumirakenne : %s / %s albumia" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:81 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:263 +msgid "Done." +msgstr "Tehty." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:196 +msgid "Cache cleared" +msgstr "Välimuisti tyhjennetty" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:315 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:334 +msgid "General Options" +msgstr "Yleiset valinnat" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:317 +msgid "Image" +msgid_plural "Images" +msgstr[0] "Kuva" +msgstr[1] "Kuvat" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:319 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:572 +msgid "Effects" +msgstr "Efektit" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:320 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:614 +msgid "Watermark" +msgstr "Vesileima" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:340 +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:54 +msgid "Gallery path" +msgstr "Galleriat" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:342 +msgid "This is the default path for all galleries" +msgstr "Tämä on kaikkien gallerioiden oletuspolku" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:345 +msgid "Delete image files" +msgstr "Poista kuvatiedostoja" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:347 +msgid "Delete files, when removing a gallery in the database" +msgstr "Poista tiedostot, kun poistat gallerian tietokannasta" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:350 +msgid "Activate permalinks" +msgstr "Aktivoi pysyvät linkit" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:352 +msgid "When you activate this option, you need to update your permalink structure one time." +msgstr "" +"Kun aktivoit tämän valinnan, sinun on päivitettävä linkkirakenne kerran." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:353 +msgid "Gallery slug name :" +msgstr "Gallerian lyhytnimi :" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:357 +msgid "Create new URL friendly image slugs" +msgstr "Luo uudet URL-ystävälliset kuvien lyhytnimet" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:358 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:474 +msgid "Proceed now" +msgstr "Etene" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:361 +msgid "Select graphic library" +msgstr "Valitse grafiikkakirjasto" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:362 +msgid "GD Library" +msgstr "GD-kirjasto" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:363 +msgid "ImageMagick (Experimental). Path to the library :" +msgstr "ImageMagick (kokeellinen). Polku kirjastoon :" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:368 +msgid "Activate Media RSS feed" +msgstr "Media RSS -syöte" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:370 +msgid "A RSS feed will be added to you blog header. Useful for CoolIris/PicLens" +msgstr "Lisää RSS-syöte blogisi headeriin. Kätevä CoolIris/PicLensin kanssa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:373 +msgid "Activate PicLens/CoolIris support" +msgstr "Lisää tuki PicLensille ja CoolIrisille" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:375 +msgid "When you activate this option, some javascript is added to your site footer. Make sure that wp_footer is called in your theme." +msgstr "" +"Jos aktivoitu, JavaScript lisätään sivustosi alaotsikkoon. Varmista, että " +"teemasi kutsuu wp_footer:ia." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:378 +msgid "Tags / Categories" +msgstr "Tägit / kategoriat" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:381 +msgid "Activate related images" +msgstr "Aktivoi liittyvät kuvat" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:383 +msgid "This option will append related images to every post" +msgstr "Tämä lisää liittyvät kuvat kaikkiin artikkeleihin" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:387 +msgid "Match with" +msgstr "Vertaa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:393 +msgid "Max. number of images" +msgstr "Kuvien maksimimäärä" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:395 +msgid "0 will show all images" +msgstr "0 näyttää kaikki kuvat" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:399 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:435 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:477 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:562 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:597 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:860 +msgid "More settings" +msgstr "Lisää asetuksia" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:409 +msgid "Thumbnail settings" +msgstr "Esikatselukuvien asetukset" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:413 +msgid "Please note : If you change the settings, you need to recreate the thumbnails under -> Manage Gallery ." +msgstr "" +"Huom : Jos muutat näitä asetuksia, sinun on luotava esikatselukuvat uudelleen " +"-> Gallerian hallinta." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:422 +msgid "These values are maximum values " +msgstr "Nämä ovat maksimiarvot." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:445 +msgid "Image settings" +msgstr "Kuva-asetukset" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:451 +msgid "Resize Images" +msgstr "Muuta kuvakokoa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:460 +msgid "Backup original images" +msgstr "Varmista alkuperäiskuvat" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:462 +msgid "Creates a backup for inserted images" +msgstr "uo varmistus kooltaan muutetuista kuvista" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:465 +msgid "Automatically resize" +msgstr "Muuta koko automaattisesti" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:467 +msgid "Automatically resize images on upload." +msgstr "Muuta kuvien koko automaattisesti latauksessa." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:470 +msgid "Single picture" +msgstr "Yksittäiskuva" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:473 +msgid "Clear cache folder" +msgstr "Tyhjennä välimuistikansio" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:494 +msgid "Deactivate gallery page link" +msgstr "Inline-galleriat" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:496 +msgid "The album will not link to a gallery subpage. The gallery is shown on the same page." +msgstr "Gallerioita ei näytetä alasivulla, vaan samalla sivulla." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:500 +msgid "Number of images per page" +msgstr "Kuvien lukumäärä sivulla" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:502 +msgid "0 will disable pagination, all images on one page" +msgstr "0 estää sivutuksen, kaikki kuvat samalla sivulla" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:506 +msgid "Number of columns" +msgstr "Sarakkeita" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:508 +msgid "0 will display as much as possible based on the width of your theme. Setting normally only required for captions below the images" +msgstr "" +"0 näyttää niin monta kuin mahtuu teemasi sisältöleveydelle. Asetus tarvitaan " +"yleensä vain kuviatekstejä varten." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:512 +msgid "Integrate slideshow" +msgstr "Diasarja" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:519 +msgid "Show first" +msgstr "Näytä ensin" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:525 +msgid "Show ImageBrowser" +msgstr "Kuvaselain" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:527 +msgid "The gallery will open the ImageBrowser instead the effect." +msgstr "Galleria avautuu kuvaselaimeen eikä efektiin." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:531 +msgid "Add hidden images" +msgstr "Lisää piilotetut kuvat" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:533 +msgid "If pagination is used, this option will still show all images in the modal window (Thickbox, Lightbox etc.). Note : This increases the page load" +msgstr "" +"Lataa kaikki kuvat modaali-ikkunaan kun sivutus on käytössä (esim. Thickbox, " +"Lightbox jne.). huom: tämä lisää sivukuormitusta (mahdollisesti paljonkin)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:539 +msgid "Browse images without reload the page. Note : Works only in combination with Shutter effect" +msgstr "Selaa kuvia AJAX-sivutuksella ilman sivun latausta." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:543 +msgid "Sort options" +msgstr "Lajitteluvaihtoehdot" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:546 +msgid "Sort thumbnails" +msgstr "Lajittele esikatselukuvat" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:548 +msgid "Custom order" +msgstr "Räätälöity järjestys" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:550 +msgid "File name" +msgstr "Tiedostonimi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:551 +msgid "Alt / Title text" +msgstr "Alt / otsikkoteksti" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:552 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:58 +msgid "Date / Time" +msgstr "Pvm/aika" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:556 +msgid "Sort direction" +msgstr "Lajittelusuunta" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:576 +msgid "Here you can select the thumbnail effect, NextGEN Gallery will integrate the required HTML code in the images. Please note that only the Shutter and Thickbox effect will automatic added to your theme." +msgstr "" +"Tässä voit valita esikatselukuvien efektin, NextGEN Gallery lisää tarvittavan " +"HTML-koodin kuviin. Huomaa, että vain Shutter- ja Thickbox -efektit lisätään " +"automaattisesti teemaasi. " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:577 +msgid "With the placeholder" +msgstr "Sijoituspaikalla" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:577 +msgid "you can activate a navigation through the images (depend on the effect). Change the code line only , when you use a different thumbnail effect or you know what you do." +msgstr "" +"voit aktivoida navigoinnin kuvista (efektistä riippuen). Muuta koodiriviä " +"vain, kun käytät toista esikatselukuvien efektiä tai tiedät, mitä olet " +"tekemässä." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:580 +msgid "JavaScript Thumbnail effect" +msgstr "JavaScript-esikatselukuva-efekti" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:584 +msgid "Thickbox" +msgstr "Thickbox" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:585 +msgid "Lightbox" +msgstr "Lightbox" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:586 +msgid "Highslide" +msgstr "Highslide" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:587 +msgid "Shutter" +msgstr "Suljin" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:593 +msgid "Link Code line" +msgstr "Linkki-koodirivi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:615 +msgid "Please note : You can only activate the watermark under -> Manage Gallery . This action cannot be undone." +msgstr "" +"Huom: voit aktivoida vesileiman vain --> Gallerian hallinta. Toimenpidettä ei " +"voi peruuttaa." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:620 +msgid "Preview" +msgstr "Esikatselu" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:622 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:627 +msgid "Position" +msgstr "Sijainti" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:647 +msgid "Offset" +msgstr "Siirtymä" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:663 +msgid "Use image as watermark" +msgstr "Käytä kuvaa vesileimana" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:666 +msgid "URL to file" +msgstr "URL tiedostoon" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:668 +msgid "The accessing of URL files is disabled at your server (allow_url_fopen)" +msgstr "URL -tiedostoihin pääsy on estettynä palvelimellasi (allow_url_fopen)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:671 +msgid "Use text as watermark" +msgstr "Käytä tekstiä vesileimana" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:674 +msgid "Font" +msgstr "Font" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:683 +msgid "This function will not work, cause you need the FreeType library" +msgstr "Tämä ei toimi, koska tarvitset FreeType-kirjaston" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:685 +msgid "You can upload more fonts in the folder nggallery/fonts" +msgstr "Voit ladata lisää fontteja kansioon nggallery/fonts." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:694 +msgid "Color" +msgstr "Väri" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:696 +msgid "(hex w/o #)" +msgstr "(hex w/o #)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:699 +msgid "Text" +msgstr "Teksti" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:703 +msgid "Opaque" +msgstr "Läpinäkyvä" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:724 +msgid "Default size (W x H)" +msgstr "Oletuskoko (L x K)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:729 +msgid "Duration time" +msgstr "Kestoaika" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:730 +msgid "sec." +msgstr "s." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:733 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:810 +msgid "Transition / Fade effect" +msgstr "Siirtymäefekti" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:736 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:813 +msgid "fade" +msgstr "häivytys" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:737 +msgid "blindX" +msgstr "blindX" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:738 +msgid "cover" +msgstr "peitto" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:739 +msgid "scrollUp" +msgstr "scrollUp" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:740 +msgid "scrollDown" +msgstr "scrollDown" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:741 +msgid "shuffle" +msgstr "sekoitus" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:742 +msgid "toss" +msgstr "heitto" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:743 +msgid "wipe" +msgstr "pyyhi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:745 +msgid "See here for more information about the effects :" +msgstr "Täältä löytyy lisätietoa efekteistä:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:749 +msgid "Settings for the JW Image Rotator" +msgstr "JW Image Rotatorin asetukset" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:758 +msgid "The path to JW Image Rotator is not defined, the slideshow will not work." +msgstr "Polkua JW Image Rotatoriin ei ole määriteltynä, diashow ei toimiwork." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:770 +msgid "Path to the JW Image Rotator (URL)" +msgstr "Polku JW Image Rotatoriin (URL)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:773 +msgid "Search now" +msgstr "Etsi nyt" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:774 +msgid "Press the button below to search for the JW Image Rotator" +msgstr "Klikkaa 'Etsi nyt' hakeaksesi automaattisesti imagerotatorin" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:778 +msgid "Shuffle mode" +msgstr "Sekoitustila" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:796 +msgid "You can change the logo at the watermark settings" +msgstr "Voit muttaa logoa vesileima-asetuksista" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:802 +msgid "true" +msgstr "tosi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:803 +msgid "false" +msgstr "epätosi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:804 +msgid "fit" +msgstr "sovita" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:805 +msgid "none" +msgstr "ei mitään" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:814 +msgid "bgfade" +msgstr "taustahäivytys" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:815 +msgid "slowfade" +msgstr "hidas häivytys" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:816 +msgid "circles" +msgstr "ympyrät" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:817 +msgid "bubbles" +msgstr "kuplat" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:818 +msgid "blocks" +msgstr "lohkot" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:819 +msgid "fluids" +msgstr "nesteet" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:820 +msgid "flash" +msgstr "salama" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:821 +msgid "lines" +msgstr "viivat" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:831 +msgid "Background Color" +msgstr "Taustaväri (BG)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:836 +msgid "Texts / Buttons Color" +msgstr "Teksti- / nappiväri" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:841 +msgid "Rollover / Active Color" +msgstr "Rollover / aktiivi (linkki) -väri" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:846 +msgid "Screen Color" +msgstr "Ruudun väri" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:851 +msgid "Background music (URL)" +msgstr "Taustamusiikki (URL)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:855 +msgid "Try XHTML validation (with CDATA)" +msgstr "Kokeile XHTML-validointia (hyödyntää CDATA)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:857 +msgid "Important : Could causes problem at some browser. Please recheck your page." +msgstr "" +"Tärkeää: Voi aiheuttaa ongelmia joisskin selaimissa. Tarkista sivusi " +"uudelleen." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:29 +msgid "Meta Data" +msgstr "Metadata" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:34 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:60 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:85 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:109 +msgid "Tag" +msgstr "Tägi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:35 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:61 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:86 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:110 +msgid "Value" +msgstr "Arvo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:49 +msgid "No meta data saved" +msgstr "Ei tallennettua metadataa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:55 +msgid "EXIF Data" +msgstr "EXIF Data" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:74 +msgid "No exif data" +msgstr "ei exif-dataa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:81 +msgid "IPTC Data" +msgstr "IPTC Data" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:105 +msgid "XMP Data" +msgstr "XMP Data" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:11 +msgid "(From the theme folder)" +msgstr "(teeman kansiosta)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:43 +msgid "You do not have sufficient permissions to edit templates for this blog." +msgstr "Sinulla ei ole riittäviä oikeuksia tämän blogin templaten muokkaukseen." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:52 +msgid "CSS file successfully updated" +msgstr "CSS-tiedosto päivitetty onnistuneesti" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:91 +msgid "Activate and use style sheet:" +msgstr "Aktivoi ja käytä tyylitiedostoa:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:111 +msgid "Activate" +msgstr "Aktivoi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:121 +#, php-format +msgid "Editing %s" +msgstr "Muokkaa %s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:123 +#, php-format +msgid "Browsing %s" +msgstr "Selaa %s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:133 +msgid "Version" +msgstr "Versio" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:136 +msgid "Tip : Copy your stylesheet (nggallery.css) to your theme folder, so it will be not lost during a upgrade" +msgstr "" +"Vihje : Kopioi tyylitiedostosi (nggallery.css) teemasi kansioon, niin et " +"menetä sitä päivityksissä" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:138 +msgid "Your theme contain a NextGEN Gallery stylesheet (nggallery.css), this file will be used" +msgstr "" +"Teemasi sisltää NextGEN Gallery tyylitiedoston (nggallery.css), tätä " +"tiedostoa käytetään" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:140 +msgid "Tip No. 2: Use the color picker below to help you find the right color scheme for your gallery!" +msgstr "" +"Vihje No. 2: Käytä alla olevaa väripoimintaa löytääksesi oikean " +"värivalikoiman galleriaasi!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:156 +msgid "Update File" +msgstr "Päivitä tiedosto" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:159 +msgid "If this file were writable you could edit it." +msgstr "Voisit päivittää tätä tiedostoa, jos se olisi päivitettävissä." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:164 +msgid "Oops, no such file exists! Double check the name and try again, merci." +msgstr "" +"Oho, sellaista tiedostoa ei ole! Varmista nimi ja yritä uudelleen, merci." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:41 +msgid "Most popular" +msgstr "Suosituin" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:42 +msgid "Least used" +msgstr "Vähiten käytetty" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:43 +msgid "Alphabetical" +msgstr "Aakkosellinen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:100 +msgid "Manage image tags" +msgstr "Hallitse kuvatägejä" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:112 +msgid "Existing Tags" +msgstr "Olevat tägit" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:116 +msgid "Search tags" +msgstr "Etsi tägejä" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:120 +msgid "Go" +msgstr "Aloita" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:125 +msgid "Sort Order:" +msgstr "Lajittelujärjestys" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:160 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:164 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:177 +msgid "Previous tags" +msgstr "Edelliset tägit" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:173 +msgid "Next tags" +msgstr "Seuraavat tägit" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:185 +msgid "Rename Tag" +msgstr "Anna tägille uusi nimi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:193 +msgid "Enter the tag to rename and its new value. You can use this feature to merge tags too. Click \"Rename\" and all posts which use this tag will be updated." +msgstr "" +"Anna tägi uutta nimeä ja arvoa varten. Voit käyttää tätä ominaisuutta myös " +"tägien yhdistämiseen. Klikkaa \"Uudelleennimeä\" ja kaikki tätä tägiä " +"käyttävät artikkelit päivitetään." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:194 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:242 +msgid "You can specify multiple tags to rename by separating them with commas." +msgstr "" +"Voit määritellä useita tägejä uudelleennimettäväksi erottamalla ne pilkuilla." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:198 +msgid "Tag(s) to rename:" +msgstr "Tägi(t) uudelleennimettäväksi:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:202 +msgid "New tag name(s):" +msgstr "Tägien uudet nimet:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:205 +msgid "Rename" +msgstr "Uudelleennimeä" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:211 +msgid "Delete Tag" +msgstr "Poista tägi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:219 +msgid "Enter the name of the tag to delete. This tag will be removed from all posts." +msgstr "Anna poistettavan tägin nimi. Tägi poistetaan kaikista kuvista." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:220 +msgid "You can specify multiple tags to delete by separating them with commas" +msgstr "Voit poistaa useita tägejä erottamalla ne toisistaan pilkuilla." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:224 +msgid "Tag(s) to delete:" +msgstr "Tägi(t) poistettavaksi:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:233 +msgid "Edit Tag Slug" +msgstr "Muokkaa tägin lyhytnimeä" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:241 +msgid "Enter the tag name to edit and its new slug. This will be used in tagcloud links. Slug definition" +msgstr "" +"Anna tägin nimi muokkausta ja uutta lyhytnimeä varten. Mikä on " +"lyhytnimi (Slug - engl.)?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:246 +msgid "Tag(s) to match:" +msgstr "Vertailtava(t) tägi(t) :" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:250 +msgid "Slug(s) to set:" +msgstr "Asetettava(t) lyhytnimi(et):" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_create_page_field.php:3 +msgid "Main Page (no parent)" +msgstr "Pääsivu (ei emosivua)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_create_page_field.php:10 +msgid "Add page" +msgstr "Lisää sivu" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_link_to_page_field.php:3 +msgid "Not linked" +msgstr "Ei linkitetty" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/thumbnails-template.php:103 +msgid "These are maximum values" +msgstr "Nämä ovat maksimiarvot" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:61 +msgid "Some folders/files could not renamed, please recheck the permission and rescan the folder in the manage gallery section." +msgstr "" +"Joitakin kansioita/tiedostoja ei voitu nimetä uudelleen, tarkista oikeudet ja " +"skannaa kansio uudelleen gallerian hallintaosiossa." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:63 +msgid "Rename failed" +msgstr "Uudelleennimeäminen epäonnistui" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:159 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:178 +msgid "Upgrade NextGEN Gallery" +msgstr "Päivitä NextGEN Gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:160 +msgid "The script detect that you upgrade from a older version." +msgstr "Tämä skripti tunnistaa, että voit päivittää vanhemmasta versiosta." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:161 +msgid "Your database tables for NextGEN Gallery is out-of-date, and must be upgraded before you can continue." +msgstr "" +"Tiedokantasi NextGEN Gallery -taulut eivät ole ajan tasalla, sinun täytyy " +"päivittää ne ennenkuin voit jatkaa." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:162 +msgid "If you would like to downgrade later, please make first a complete backup of your database and the images." +msgstr "" +"Jos haluat palata aikaisempaan versioon, tee ensin täydellinen varmistus " +"kokok tiedokannastasi ja kuvistasi." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:163 +msgid "The upgrade process may take a while, so please be patient." +msgstr "Päivitys voi kestää hetken, malta." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:164 +msgid "Start upgrade now" +msgstr "Aloita päivitys nyt" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:180 +msgid "Upgrade finished..." +msgstr "Päivitys valmis..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:181 +msgid "Continue" +msgstr "Jatka" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:33 +msgid "Update successfully" +msgstr "Päivitys onnistui" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:48 +msgid "Network Options" +msgstr "Verkkovalinnat" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:56 +msgid "This is the default path for all blogs. With the placeholder %BLOG_ID% you can organize the folder structure better." +msgstr "" +"Tämä on kaikkien blogien oletuspolku. Paikkatiedolla %BLOG_ID% voit " +"organisoida hakemistorakenteen paremmin." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:57 +#, php-format +msgid "The default setting should be %s" +msgstr "Oletusasetuksen pitäisi olla %s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:61 +msgid "Enable upload quota check" +msgstr "Salli latauksen quota-tarkistus" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:63 +msgid "Should work if the gallery is bellow the blog.dir" +msgstr "Pitäisi toimia, jos galleria sijaitsee blog.dir alla" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:67 +msgid "Enable zip upload option" +msgstr "Salli zip-lataus" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:69 +msgid "Allow users to upload zip folders." +msgstr "Salli käyttäjien ladata zip-kansioita." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:73 +msgid "Enable import function" +msgstr "Salli tuontitoiminto" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:75 +msgid "Allow users to import images folders from the server." +msgstr "Sallii käyttäjien tuoda kuvakansioita palvelimelta." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:79 +msgid "Enable style selection" +msgstr "Salli tyylin valinta" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:81 +msgid "Allow users to choose a style for the gallery." +msgstr "Sallii käyttäjien valita gallerian tyylin." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:85 +msgid "Enable roles/capabilities" +msgstr "Salli roolit/kyvykkyydet" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:87 +msgid "Allow users to change the roles for other blog authors." +msgstr "Sallii käyttäjien vaihtaa toisten blogikirjoittajien rooleja." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:91 +msgid "Default style" +msgstr "Oletustyyli" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:108 +msgid "Choose the default style for the galleries." +msgstr "Valitse gallerioiden oletustyyli." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/core.php:410 +#, php-format +msgid "Note : Based on your server memory limit you should not upload larger images then %d x %d pixel" +msgstr "" +"Huom : palvelimesti muistirajan vuoksi sinun ei pitäisi ladata suurempia " +"kuvia kuin %d x %d pikseliä" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php:337 +#: products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php:338 +msgid "Album overview" +msgstr "Yleistä albumista" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:68 +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:70 +msgid "Set NextGEN featured image" +msgstr "Aseta NextGEN esikatselukuva" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:328 +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:329 +msgid "Set featured image" +msgstr "Aseta esikatselukuva" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:356 +msgid "Remove featured image" +msgstr "Poista esikatselukuva" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:223 +msgid "Album" +msgid_plural "Albums" +msgstr[0] "Albumi" +msgstr[1] "Albumit" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:35 +msgid "No new tag specified!" +msgstr "Uutta tägiä ei määriteltynä!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:50 +msgid "No new/old valid tag specified!" +msgstr "Uutta/vanhaa tägiä ei määriteltynä!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:86 +msgid "No tag renamed." +msgstr "Yhtään tägiä ei nimetty uudelleen." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:88 +#, php-format +msgid "Renamed tag(s) «%1$s» to «%2$s»" +msgstr "Nimeä uudelleen tägi(t) «%1$s» - «%2$s»" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:95 +msgid "No valid new tag." +msgstr "Ei kelvollista uutta tägiä." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:112 +msgid "No objects (post/page) found for specified old tags." +msgstr "Vanhoille tägeille ei löytynyt mitään kohteita (artikkeli/sivu)." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:141 +msgid "No tag merged." +msgstr "Yhtään tägiä ei yhdistetty." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:143 +#, php-format +msgid "Merge tag(s) «%1$s» to «%2$s». %3$s objects edited." +msgstr "" +"Yhdistä tagi(t) «%1$s» - «%2$s». %3$s objektia " +"muokattu." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:146 +msgid "Error. Not enough tags provided to rename or merge." +msgstr "" +"Virhe. Uudelleennimeämistä tai yhdistämistä varen ei ole tarpeeksi tägejä." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:165 +msgid "No tag specified!" +msgstr "Mitään tägiä ei määritelty!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:188 +msgid "No tag deleted." +msgstr "Yhtään tägiä ei poistettu." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:190 +#, php-format +msgid "%1s tag(s) deleted." +msgstr "%1s tägi(ä) poistettu." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:206 +msgid "No new slug(s) specified!" +msgstr "Mitään uutta lyhytnimeä ei ole määritelty!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:218 +msgid "Tags number and slugs number isn't the same!" +msgstr "Tägin numero ja lyhytnimen numero eivät ole samat!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:245 +msgid "No slug edited." +msgstr "Yhtään lyhytnimeä ei muokattu." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:247 +#, php-format +msgid "%s slug(s) edited." +msgstr "%s lyhytnimi(ä) muokattu." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:64 +msgid "Translation by : See here" +msgstr "" +"Kääntänyt : Katso täältä" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:65 +msgid "This translation is not yet updated for Version 1.9.0. If you would like to help with translation, download the current po from the plugin folder and read here how you can translate the plugin." +msgstr "" +"Tätä käännöstä ei ole vielä täysin päivitetty versioon " +"2.1.62. Jos haluat auttaa käännöksessä, lataa uusin .po -tiedosto " +"lisäosan hakemistosta ja lue tästä miten voit kääntää lisäosan." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:158 +msgid "Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB or higher" +msgstr "Sori, NextGEN Gallery toimii vain muistirajalla 16 Mt tai isompi" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:184 +msgid "Picture tag" +msgstr "Kuvan tägi" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:185 +msgid "Picture tag: %2$l." +msgstr "Kuvan tägi: %2$l." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:186 +msgid "Separate picture tags with commas." +msgstr "Erota kuvatägit pilkuilla." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:324 +msgid "Get help" +msgstr "Apua" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:325 +msgid "Contribute" +msgstr "Tue" + +#: products/photocrati_nextgen/modules/ngglegacy/nggfunctions.php:29 +msgid "[Gallery not found]" +msgstr "[Galleriaa ei löytynyt]" + +#: products/photocrati_nextgen/modules/ngglegacy/nggfunctions.php:163 +msgid "Related images for" +msgstr "Liittyvät kuvat" + +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:38 +msgid "Meta data" +msgstr "Metadata" + +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:42 +msgid "Camera / Type" +msgstr "Kamera / Tyyppi" + +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:50 +msgid "Focal Length" +msgstr "Polttoväli" + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:50 +msgid "No galleries have been yet created." +msgstr "Yhtään galleriaa ei ole vielä luotu." + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:69 +#, php-format +msgid "The gallery ID=%s does not exist." +msgstr "Galleria ID=%s ei ole olemassa." + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:100 +msgid "No album ID has been provided as parameter" +msgstr "Parametrina ei ole annettu mitään Album ID:tä" + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:108 +#, php-format +msgid "The album ID=%s does not exist." +msgstr "Albumi ID=%s ei ole olemassa." + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:115 +msgid "Invalid MediaRSS command" +msgstr "Väärä MediaRSS -komento" + +msgid "NextGEN Basic Compact Album" +msgstr "NextGEN tiivis perus-albumi" + +msgid "NextGEN Basic Extended Album" +msgstr "NextGEN laajennettu perus-albumi" + +msgid "NextGEN Basic Thumbnails" +msgstr "NextGEN perus-esikatselukuvat" + +msgid "NextGEN Basic Slideshow" +msgstr "NextGEN perus-diashow" + +msgid "NextGEN Basic ImageBrowser" +msgstr "NextGEN perus-kuvaselain" + +msgid "NextGEN Basic Singlepic" +msgstr "NextGEN perus-yksittäiskuva" + +msgid "NextGEN Basic Tagcloud" +msgstr "NextGEN perus-tägipilvi" + diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-fil.mo b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-fil.mo new file mode 100644 index 0000000000000000000000000000000000000000..be325b2590e4e542db85f351fa395c17e74156ac GIT binary patch literal 78627 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-fil.po b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-fil.po new file mode 100644 index 0000000..7be5025 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-fil.po @@ -0,0 +1,4330 @@ +# NextGEN Gallery base (English) .po source +# Copyright (C) 2014 Photocrati Media +# This file is distributed under the same license as the NextGEN Gallery package. +# +msgid "" +msgstr "" +"Project-Id-Version: NextGEN Gallery\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-02-20 19:45-0800\n" +"PO-Revision-Date: 2014-05-27 20:07+0800\n" +"Last-Translator: kristen \n" +"Language-Team: Photocrati Media\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Language: fil\n" +"X-Generator: Poedit 1.6.5\n" + +#: nggallery.php:290 +#, php-format +msgid "Every %d seconds" +msgstr "Every %d seconds" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:157 +#, php-format +msgid "Album: %s" +msgstr "Album:% s" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:159 +#, php-format +msgid "Gallery: %s" +msgstr "Gallery: %s" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:177 +msgid "Missing parameters" +msgstr "Nawawalang parameter" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:213 +msgid "Displayed gallery does not exist" +msgstr "Ipinakitang gallery ay hindi umiiral" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:216 +msgid "Invalid request" +msgstr "Di-wastong kahilingan" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:248 +msgid "NextGEN Gallery - Attach To Post" +msgstr "NextGen Gallery - I-attach para mag Post" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:266 +msgid "Display Galleries" +msgstr "Mga Gallery Display" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:273 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_controller.php:7 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:192 +msgid "Add Gallery / Images" +msgstr "Magdagdag ng Gallery / Images" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:280 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:160 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:194 +msgid "Manage Galleries" +msgid_plural "Manage Galleries" +msgstr[0] "pamahalaan ang Mga Gallery" +msgstr[1] "pamahalaan ang Mga Gallery" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:287 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:404 +msgid "Manage Albums" +msgid_plural "Manage Albums" +msgstr[0] "pamahalaan ang Album" +msgstr[1] "pamahalaan ang Album" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:294 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:162 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:198 +msgid "Manage Tags" +msgstr "pamahalaan ang Mga Tag" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:115 +msgid "What would you like to display?" +msgstr "Ano ang gusto mong ipakita?" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:139 +msgid "Select a display type" +msgstr "Pumili ng uri ng display" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:162 +msgid "Customize the display settings" +msgstr "I-customize ang mga setting ng display" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:253 +msgid "No display type selected" +msgstr "Walang uri ng napiling display" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:271 +msgid "Sort or Exclude Images" +msgstr "Pagsunud-sunurin ayon o Ibukod ang Mga imahe" + +#: products/photocrati_nextgen/modules/attach_to_post/module.attach_to_post.php:186 +msgid "Invalid Displayed Gallery" +msgstr "Di-wastong Ipinapakitang Gallery" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab.php:10 +#: products/photocrati_nextgen/modules/nextgen_admin/templates/nextgen_admin_page.php:25 +msgid "Save" +msgstr "Save" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:612 +msgid "Sources" +msgstr "Mga Pagmumulan" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:646 +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:362 +msgid "(optional)" +msgstr "(opsyonal)" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:654 +msgid "" +"Sets an SEO-friendly name to this gallery for URLs. Currently only in use by " +"the Pro Lightbox." +msgstr "" +"Nagtatakda ng SEO-friendly na gallery para sa mga URL. Sa kasalukuyan " +"lamang sa paggamit ng Pro Lightbox." + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:655 +msgid "Slug" +msgstr "Slug" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:860 +msgid "No entities to display for this source." +msgstr "Walang mga entity na ipapakita para sa source na ito." + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1264 +msgid "Select a gallery" +msgstr "Pumili ng isang gallery" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1292 +msgid "Albums" +msgstr "Albums" + +#: products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:34 +msgid "Code" +msgstr "Code" + +#: products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:48 +msgid "Stylesheet URL" +msgstr "Stylesheet URL" + +#: products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:62 +msgid "Javascript URL" +msgstr "Javascript URL" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.import_folder_form.php:7 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:6 +msgid "Import Folder" +msgstr "Folder-import" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:41 +msgid "No gallery name specified" +msgstr "Walang pangalan ng gallery tinukoy" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:55 +msgid "Failed to extract images from ZIP" +msgstr "Nabigong i-extract ang mga imahe mula sa ZIP" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:61 +msgid "Image generation failed" +msgstr "Nabigo ang pagbuo ng Imahe" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:70 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:150 +msgid "An unexpected error occured." +msgstr "May hindi inaasahang error na naganap." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:77 +msgid "" +"No permissions to upload images. Try refreshing the page or ensuring that " +"your user account has sufficient roles/privileges." +msgstr "" +"Walang pahintulot upang mag-upload ng mga larawan. Subukang i-refresh ang " +"pahina o sa pagtiyak na ang iyong user account ay may sapat na mga " +"tungkulin / pribilehiyo." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:117 +msgid "Directory does not exist." +msgstr "Directory ay hindi umiiral." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:121 +msgid "No directory specified." +msgstr "Walang tinukoy na direktoryo." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:125 +msgid "" +"No permissions to browse folders. Try refreshing the page or ensuring that " +"your user account has sufficient roles/privileges." +msgstr "" +"Walang pahintulot upang i-browse ang mga folder. Subukang i-refresh ang " +"pahina o sa pagtiyak na ang iyong user account ay may sapat na mga " +"tungkulin / pribilehiyo." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:155 +msgid "No folder specified" +msgstr "Walang tinukoy na folder" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:159 +msgid "" +"No permissions to import folders. Try refreshing the page or ensuring that " +"your user account has sufficient roles/privileges." +msgstr "" +"Walang pahintulot na mag-import ng mga folder. Subukang i-refresh ang pahina " +"o sa pagtiyak na ang iyong user account ay may sapat na mga tungkulin / " +"pribilehiyo." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.upload_images_form.php:7 +msgid "Upload Images" +msgstr "Mag-upload ng Imahe" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:1 +msgid "" +"Select a folder to import. The folder name will be used as the title of the " +"gallery." +msgstr "" +"Pumili ng folder upang i-import. Ang pangalan ng folder ay gagamitin bilang " +"pamagat ng gallery." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:5 +msgid "Keep images in original location." +msgstr "Panatilihin ang mga imahe sa orihinal na lokasyon." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:5 +msgid "" +"Caution: If you keep images in the original folder and later delete the " +"gallery, the images in that folder might be deleted depending on your " +"settings." +msgstr "" +"Babala: Kung gusto mong panatilihin ang mga imahe sa orihinal na folder at " +"sa ibang pagkakataon tanggalin ang gallery, ang mga imahe sa folder ay " +"maaaring matanggal depende sa iyong mga setting." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:39 +msgid "Importing gallery" +msgstr "Ini-import ang gallery" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:41 +msgid "In Progress..." +msgstr "Isinasagawa ..." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:56 +#, php-format +msgid "Done! Successfully imported %s images" +msgstr "Tapos na! Matagumpay na na-import% s mga larawan" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1268 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:2 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:189 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:217 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:226 +msgid "Gallery" +msgid_plural "Galleries" +msgstr[0] "galerya" +msgstr[1] "galerya" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:4 +msgid "Create a new gallery" +msgstr "Lumikha ng isang bagong gallery" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:13 +msgid "You browser doesn't have Flash, Silverlight, HTML5, or HTML4 support." +msgstr "" +"Ang iyong browser ay hindi naka Flash, Silverlight, HTML5, o HTML4 suporta." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:99 +msgid "Drag image and ZIP files here or click Add Files" +msgstr "" +"I-drag ang mga imahe at ZIP file dito o i-click Magdagdag ng mga " +"File " + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:149 +#, php-format +msgid "%s images were uploaded successfully" +msgstr "% s mga larawan ay matagumpay na na-upload" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:152 +msgid "1 image was uploaded successfully" +msgstr "% S mga larawan ay matagumpay Na Na-upload" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:155 +msgid "0 images were uploaded" +msgstr "0 mga imahe ay na-upload" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:169 +msgid "Upload complete" +msgstr "kumpleto na-upload" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:191 +msgid "" +"An unexpected error occured. This is most likely due to a server " +"misconfiguration. Check your PHP error log or ask your hosting provider for " +"assistance." +msgstr "" +"May hindi inaasahang error na naganap. Ito ay malamang dahil sa isang maling " +"pag-configure sa server. Suriin ang iyong error log PHP o hilingin sa iyong " +"hosting provider para sa tulong." + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:226 +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:167 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:537 +msgid "Enable AJAX pagination" +msgstr "Paganahin ang AJAX pagbilang ng pahina" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:238 +msgid "Override thumbnail settings" +msgstr "Mga setting ng Override thumbnail" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:240 +msgid "" +"This does not affect existing thumbnails; overriding the thumbnail settings " +"will create an additional set of thumbnails. To change the size of existing " +"thumbnails please visit 'Manage Galleries' and choose 'Create new " +"thumbnails' for all images in the gallery." +msgstr "" +"Hindi ito makakaapekto sa umiiral na mga thumbnail; ang pag override ng mga " +"setting ng thumbnail ay lilikha ng isang karagdagang hanay ng mga thumbnail. " +"Upang baguhin ang laki ng mga umiiral na mga thumbnail mangyaring bisitahin " +"ang 'Pamahalaan ang Mga Gallery' at piliin ang 'Lumikha ng bagong mga " +"thumbnail' para sa lahat ng mga imahe sa gallery." + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:248 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:37 +msgid "Thumbnail dimensions" +msgstr "Mga sukat ng thumbnail" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:262 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:431 +msgid "Thumbnail quality" +msgstr "kalidad Thumbnail" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:272 +msgid "Thumbnail crop" +msgstr "i-crop ang Thumbnail" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:281 +msgid "Thumbnail watermark" +msgstr "watermark Thumbnail" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:306 +msgid "Override image settings" +msgstr "Mga setting ng Override larawan" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:308 +msgid "Overriding the image settings will create an additional set of images" +msgstr "" +"Ang pag Override ng setting ng imahe ay lilikha ng isang karagdagang hanay " +"ng mga larawan" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:316 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:66 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:456 +msgid "Image quality" +msgstr "kalidad ng Imahe" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:326 +msgid "Image crop" +msgstr "i-crop ang Larawan" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:335 +msgid "Image watermark" +msgstr "watermark Imahe" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:359 +msgid "Gallery width" +msgstr "lapad ng Gallery" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:361 +msgid "An empty or 0 setting will make the gallery full width" +msgstr "" +"Ang isang walang laman o 0 setting na ito at gumawa ng gallery buong lapad" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:365 +msgid "Pixels" +msgstr "Mga pixel" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:365 +msgid "Percent" +msgstr "porsiyento" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:374 +msgid "First Image" +msgstr "unang Larawan" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:375 +msgid "Average" +msgstr "karaniwan" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:100 +msgid "Clear" +msgstr "Clear" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:101 +msgid "Default" +msgstr "default" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:102 +msgid "Select Color" +msgstr "pumili ng Kulay" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:103 +msgid "Current Color" +msgstr "Kasalukuyang Kulay" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:174 +msgid "Saved successfully" +msgstr "matagumpay na nai-save " + +#: products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_radio.php:16 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_radio.php:16 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:122 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:24 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:40 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:65 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:191 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php:37 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:407 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:454 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:457 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:460 +msgid "Yes" +msgstr "Oo" + +#: products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_radio.php:24 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_radio.php:24 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:123 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:23 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:47 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:72 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:198 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php:44 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:409 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:455 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:458 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:461 +msgid "No" +msgstr "Wala/Hindi" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:25 +msgid "Display galleries as" +msgstr "Ipakita ang mga gallery bilang" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:26 +msgid "How would you like galleries to be displayed?" +msgstr "Paano mo gusto na maipakita ang gallery?" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:28 +msgid "Galleries per page" +msgstr "Mga Gallery sa bawat pahina" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:47 +msgid "Items per page" +msgstr "Mga item sa bawat pahina" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:48 +msgid "Maximum number of galleries or sub-albums to appear on a single page" +msgstr "" +"Maximum na bilang ng mga gallery o sub-album na lumitaw sa isang solong " +"pahina" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/templates/compact.php:28 +#: products/photocrati_nextgen/modules/nextgen_basic_album/templates/extended.php:15 +#: products/photocrati_nextgen/modules/ngglegacy/view/album-compact.php:45 +#: products/photocrati_nextgen/modules/ngglegacy/view/album-extend.php:31 +msgid "Photos" +msgstr "Mga Larawan" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_mapper.php:94 +msgid "[Show PicLens]" +msgstr "[Ipakita ang PicLens]" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:63 +msgid "Interval" +msgstr "agwat" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:67 +msgid "# of seconds" +msgstr "# Ng mga segundo" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:77 +msgid "Image limit" +msgstr "limitasyon ng Imahe" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:79 +msgid "Maximum number of images to display with recent or random sources" +msgstr "" +"Maximum na bilang ng mga larawan upang ipakita sa kamakailang o random na " +"pinagmumulan" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:81 +msgid "# of images" +msgstr "# Ng mga larawan" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:112 +msgid "Maximum dimensions" +msgstr "Ang pinakamataas na sukat" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:113 +msgid "" +"Certain themes may allow images to flow over their container if this setting " +"is too large" +msgstr "" +"Ang ilang mga tema ay maaaring pahintulutan ang mga imahe upang dumaloy sa " +"kanilang lalagyan kung ang setting na ito ay masyadong malaki" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:123 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:765 +msgid "Enable flash slideshow" +msgstr "Paganahin ang flash slideshow" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:125 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:767 +msgid "Integrate the flash based slideshow for all flash supported devices" +msgstr "" +"Isama ang flash batay slideshow para sa lahat ng flash suportadong aparato" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:134 +msgid "Shuffle" +msgstr "Shuffle" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:146 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:782 +msgid "Show next image on click" +msgstr "Ipakita ang susunod na imahe sa pag-click" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:158 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:786 +msgid "Show navigation bar" +msgstr "Ipakita ang navigation bar" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:170 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:790 +msgid "Show loading icon" +msgstr "Ipakita ang paglo-load ng icon" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:182 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:794 +msgid "Use watermark logo" +msgstr "Gamitin ang watermark logo" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:184 +msgid "" +"Use the watermark image in the Flash object. Note: this does not watermark " +"the image itself, and cannot be applied with text watermarks" +msgstr "" +"Gamitin ang watermark na larawan sa bagay na Flash. Tandaan: ito ay hindi " +"watermark mismong imahe, at hindi maaaring mailapat may watermark teksto" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:194 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:799 +msgid "Stretch image" +msgstr "mag-inat larawan" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:231 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:827 +msgid "Use slow zooming effect" +msgstr "Gamitin ng mabagal ang Pagzoo-zoom ng effect" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:243 +msgid "Background music (url)" +msgstr "Background ng musika (url)" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:256 +msgid "Try XHTML validation" +msgstr "Subukan ang pagpapatunay ng XHTML" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:268 +msgid "Background" +msgstr "Background" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:280 +msgid "Texts / buttons" +msgstr "Mga teksto / mga pindutan" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:292 +msgid "Rollover / active" +msgstr "Rollover / active" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:304 +msgid "Screen" +msgstr "Screen" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:322 +msgid "Show thumbnail link" +msgstr "Ipakita ang link na thumbnail" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:338 +msgid "Thumbnail link text" +msgstr "Teksto ng Thumbnail link" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:65 +msgid "Images per page" +msgstr "Mga imahe sa bawat pahina" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:67 +msgid "0 will display all images at once" +msgstr "0 ay magpapakita ng lahat ng mga imahe nang sabay-sabay" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:85 +msgid "Number of columns to display" +msgstr "Bilang ng mga hanay na ipapakita" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:89 +msgid "# of columns" +msgstr "# of columns" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:105 +msgid "Piclens link text" +msgstr "Piclens teksto ng link" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:123 +msgid "Show piclens link" +msgstr "Ipakita ang link ng piclens" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:139 +msgid "Add Hidden Images" +msgstr "Magdagdag Nakatagong Larawan" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:141 +msgid "" +"If pagination is used this option will show all images in the modal window " +"(Thickbox, Lightbox etc.) This increases page load." +msgstr "" +"Kung pagbilang ng pahina ay ginagamit ang pagpipiliang ito ay magpapakita ng " +"lahat ng mga imahe sa modal window (Thickbox, Lightbox atbp) nito tinataasan-" +"load ng pahina." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:150 +msgid "Use imagebrowser effect" +msgstr "Gamitin imagebrowser epekto" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:152 +msgid "" +"When active each image in the gallery will link to an imagebrowser display " +"and lightbox effects will not be applied." +msgstr "" +"Kapag aktibo ang bawat larawan sa gallery ay mali-link sa isang imagebrowser " +"display at lightbox mga epekto ay hindi ilalapat." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:169 +msgid "Browse images without reloading the page." +msgstr "Mag-browse ng mga larawan nang walang i-reload ang pahina." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:184 +msgid "Show slideshow link" +msgstr "Ipakita ang slideshow link" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:200 +msgid "Slideshow link text" +msgstr "Teksto ng link Slideshow" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/index.php:35 +msgid "" +"Slideshows require the Flash Player and a browser with Javascript support." +msgstr "" +"Slideshows require the Flash Player and a browser with Javascript support." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/nextgen_basic_slideshow_settings_gallery_dimensions.php:13 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:38 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_dimensions.php:13 +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:52 +msgid "Width" +msgstr "lapad" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/nextgen_basic_slideshow_settings_gallery_dimensions.php:21 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:40 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_dimensions.php:20 +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:40 +msgid "Height" +msgstr "Taas" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:41 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:26 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:30 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:26 +msgid "Back" +msgstr "Back" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:49 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:29 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:33 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:29 +msgid "Next" +msgstr "Sunod" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:90 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:220 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:31 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:35 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:31 +msgid "Picture" +msgstr "larawan" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:31 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:35 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:31 +msgid "of" +msgstr "sa" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:53 +msgid "Link" +msgstr "Link" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:78 +msgid "Display watermark" +msgstr "Display watermark" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:88 +msgid "Display reflection" +msgstr "Ipakita ang repleksyon" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:98 +msgid "Crop thumbnail" +msgstr "I-crop ang thumbnail" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:108 +msgid "Float" +msgstr "Float" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:24 +msgid "Maximum number of tags" +msgstr "Maximum na bilang ng mga tag" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:47 +msgid "Display type" +msgstr "uri ng Display" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:50 +msgid "The display type that the tagcloud will point its results to" +msgstr "Ang uri ng display na ang tagcloud ituturo ang mga resulta nito sa" + +#: products/photocrati_nextgen/modules/nextgen_basic_templates/adapter.nextgen_basic_template_form.php:46 +msgid "Template" +msgstr "Template" + +#: products/photocrati_nextgen/modules/nextgen_basic_templates/adapter.nextgen_basic_template_form.php:47 +msgid "Use a legacy template when rendering (not recommended)." +msgstr "" +"Gumamit ng isang legacy na template kapag rendering (hindi inirerekumenda)." + +#: products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php:580 +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:658 +#: products/photocrati_nextgen/modules/ngglegacy/lib/multisite.php:23 +msgid "" +"Sorry, you have used your space allocation. Please delete some files to " +"upload more files." +msgstr "" +"Paumanhin, na ginamit mo ang iyong space laang-gugulin. Mangyaring tanggalin " +"ang ilang mga file upang mag-upload ng higit pang mga file." + +#: products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php:1002 +msgid "Could not calculate resized image dimensions" +msgstr "Hindi makalkula ang laki ng sukat ng larawan" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:154 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:135 +msgid " mm" +msgstr " mm" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:163 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:141 +msgid " sec" +msgstr " sec" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:168 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:145 +msgid "Fired" +msgstr "Fired" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:168 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:145 +msgid "Not fired" +msgstr "Not fired" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:539 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:452 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:46 +msgid "Aperture" +msgstr "Aperture" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:540 +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:565 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:453 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:478 +msgid "Credit" +msgstr "kredito" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:541 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:454 +msgid "Camera" +msgstr "Camera" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:542 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:455 +msgid "Caption" +msgstr "paliwanag" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:543 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:26 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:114 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:456 +msgid "Date/Time" +msgstr "Petsa / Oras" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:544 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:457 +msgid "Copyright" +msgstr "karapatang magpalathala" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:545 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:458 +msgid "Focal length" +msgstr "Focal length" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:546 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:459 +msgid "ISO" +msgstr "ISO" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:547 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:460 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:54 +msgid "Shutter speed" +msgstr "Shutter speed" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:548 +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:4 +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:3 +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:3 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:678 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:461 +msgid "Title" +msgstr "Titulo" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:549 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:459 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:410 +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:132 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:462 +msgid "Author" +msgstr "may-akda" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:550 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:51 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:176 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:389 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:463 +msgid "Tags" +msgstr "Tags" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:551 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:464 +msgid "Subject" +msgstr "paksa" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:552 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:465 +msgid "Make" +msgstr "gumawa" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:553 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:466 +msgid "Edit Status" +msgstr "I-edit ang Katayuan" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:554 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:467 +msgid "Category" +msgstr "kategorya" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:555 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:468 +msgid "Keywords" +msgstr "Mga Keyword" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:556 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:469 +msgid "Date Created" +msgstr "petsa ng Paglikha" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:557 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:470 +msgid "Time Created" +msgstr "Oras Nilikha" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:558 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:471 +msgid "Author Position" +msgstr "Posisyon ng May-akda" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:559 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:472 +msgid "City" +msgstr "lungsod" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:560 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:473 +msgid "Location" +msgstr "lokasyon" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:561 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:474 +msgid "Province/State" +msgstr "Lalawigan / Estado" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:562 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:475 +msgid "Country code" +msgstr "Country code" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:563 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:476 +msgid "Country" +msgstr "Bansa" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:564 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:477 +msgid "Headline" +msgstr "Headline" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:566 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:479 +msgid "Source" +msgstr "pinagmulan" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:567 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:480 +msgid "Copyright Notice" +msgstr "Abiso sa Copyright" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:568 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:481 +msgid "Contact" +msgstr "Contact" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:569 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:482 +msgid "Last modified" +msgstr "Huling binago" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:570 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:483 +msgid "Program tool" +msgstr "tool ng Programa" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:571 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:484 +msgid "Format" +msgstr "Format" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:572 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:485 +msgid "Image Width" +msgstr "Image Width" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:573 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:486 +msgid "Image Height" +msgstr "Image Height" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:574 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:487 +msgid "Flash" +msgstr "Flash" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:647 +#, php-format +msgid "Unable to create directory %s." +msgstr "Hindi makalikha ng directory% s." + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:652 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:823 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1021 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1106 +#, php-format +msgid "" +"Unable to write to directory %s. Is this directory writable by the server?" +msgstr "" +"Hindi maisulat sa directory% s. Writable sa pamamagitan ng ang server ay " +"direktoryong ito?" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:681 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1146 +#, php-format +msgid "Failed to copy database row for picture %s" +msgstr "Nabigong kopyahin hilera ng database para sa larawan% s" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:693 +#, php-format +msgid "Failed to get image path for %s" +msgstr "Nabigong makuha ang landas larawan para sa% s" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:711 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1132 +#, php-format +msgid "Failed to copy image %1$s to %2$s" +msgstr "Failed to copy image %1$s to %2$s" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:715 +#, php-format +msgid "Copied image %1$s to %2$s" +msgstr "Copied image %1$s to %2$s" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:723 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1158 +#, php-format +msgid "" +"Image %1$s (%2$s) copied as image %3$s (%4$s) » The file already " +"existed in the destination gallery." +msgstr "" +"Image %1$s (%2$s) copied as image %3$s (%4$s) » The file already " +"existed in the destination gallery." + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:727 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1161 +#, php-format +msgid "Image %1$s (%2$s) copied as image %3$s (%4$s)" +msgstr "Image %1$s (%2$s) copied as image %3$s (%4$s)" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:740 +#, php-format +msgid "Copied %1$s picture(s) to gallery %2$s ." +msgstr "Kinopya ang%1$s (mga) larawan sa gallery ng%2$s." + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:767 +msgid "Could not find image" +msgstr "Hindi mahanap ang imahe" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:772 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:388 +msgid " is not writeable" +msgstr "ay hindi writeable" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:777 +msgid "Backup file does not exist" +msgstr "backup file ay hindi umiiral" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:782 +msgid "Could not restore original image" +msgstr "Hindi ma-restore ang orihinal na imahe" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.display_settings_controller.php:17 +#: products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:242 +#: products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:328 +msgid "Gallery Settings" +msgstr "Mga Setting ng Gallery" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery.php:73 +msgid "Source not compatible with selected display type" +msgstr "Pinagmulan hindi tugma sa napiling uri ng display" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:327 +msgid "NextGEN Gallery & Album Settings" +msgstr "NextGEN Gallery & Mga Setting Album" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/templates/alt_view_link_text.php:15 +#: products/photocrati_nextgen/modules/nextgen_gallery_display/templates/return_link_text.php:15 +msgid "link text" +msgstr "teksto ng link" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:12 +msgid "Image Options" +msgstr "Mga Pagpipilian Imahe" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:22 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:588 +#: products/photocrati_nextgen/modules/ngglegacy/admin/thumbnails-template.php:76 +msgid "Custom" +msgstr "Custom" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:23 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:111 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:549 +msgid "Image ID" +msgstr "Image ID" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:24 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:570 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:112 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:166 +msgid "Filename" +msgstr "Filename" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:25 +msgid "Alt/Title Text" +msgstr "Teksto Alt / Pamagat" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:38 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:115 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:557 +msgid "Ascending" +msgstr "Ascending" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:39 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:116 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:558 +msgid "Descending" +msgstr "Descending" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:50 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:388 +msgid "Categories" +msgstr "Mga Kategorya" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:81 +msgid "Gallery path does not exist and could not be created" +msgstr "Ang Gallery path ay hindi umiiral at hindi malikha" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:86 +msgid "Where would you like galleries stored?" +msgstr "Saan ang gusto mong mga gallery na naka-imbak?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:87 +msgid "Where galleries and their images are stored" +msgstr "Saan mga gallery at ang kanilang mga imahe ay naka-imbak" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:89 +msgid "Delete Image Files?" +msgstr "Tanggalin ang Imahe File?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:90 +msgid "" +"When enabled, image files will be removed after a Gallery has been deleted" +msgstr "" +"Kapag pinagana, ang mga file ng imahe ay aalisin pagkatapos ng Gallery ay " +"tinanggal na" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:92 +msgid "Show Related Images on Posts?" +msgstr "Ipakita ang mga kaugnay na mga imahe sa Mga Post?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:93 +msgid "" +"When enabled, related images will be appended to each post by matching the " +"posts tags/categories to image tags" +msgstr "" +"Kapag pinagana, ang nauugnay na mga larawan ay idinagdag sa bawat post sa " +"pamamagitan ng pagtutugma ng mga post na mga tag / mga kategorya sa mga tag " +"ng imahe" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:95 +msgid "(Show Customization Settings)" +msgstr "(Ipakita ang mga Setting ng Pag-customize)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:96 +msgid "(Hide Customization Settings)" +msgstr "(Itago ang Mga Setting ng Pag-customize)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:97 +msgid "How should related images be match?" +msgstr "Paano dapat na tugma nauugnay na mga larawan?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:100 +msgid "Maximum # of related images to display" +msgstr "Maximum # ng mga nauugnay na mga larawan upang ipakita" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:102 +msgid "Heading for related images" +msgstr "Pamagat para sa nauugnay na mga larawan" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:104 +msgid "What's the default sorting method?" +msgstr "Ano ang default na paraan ng pag-uuri?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:107 +msgid "Sort in what direction?" +msgstr "Pagsunud-sunurin ayon sa kung ano ang direksyon?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:110 +msgid "Automatically resize images after upload" +msgstr "Awtomatikong palitan ang laki ng mga imahe pagkatapos ng pag-upload" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:111 +msgid "It is recommended that your images be resized to be web friendly" +msgstr "" +"Ito ay inirerekomenda na ang iyong mga imahe ang laki upang maging friendly " +"na web" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:113 +msgid "What should images be resized to?" +msgstr "" +"Ito ay inirerekomenda Na ang iyong mga imahe ang laki upang maging magiliw " +"Na web" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:114 +msgid "" +"After images are uploaded, they will be resized to the above dimensions and " +"quality" +msgstr "" +"Pagkatapos ng mga imahe ay ina-upload, babaguhin ang laki nila sa mga sukat " +"sa itaas at kalidad" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:115 +msgid "Width:" +msgstr "lapad:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:116 +msgid "Height:" +msgstr "Taas:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:117 +msgid "Quality:" +msgstr "Marka:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:121 +msgid "Backup the original images?" +msgstr "I-backup ang orihinal na mga imahe?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.lightbox_manager_form.php:12 +msgid "Lightbox Effects" +msgstr "Lightbox Effects" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.lightbox_manager_form.php:38 +msgid "What effect would you like to use?" +msgstr "Ano epekto gusto mo bang gumamit?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:12 +msgid "Miscellaneous" +msgstr "Miscellaneous" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:21 +msgid "Add MediaRSS link?" +msgstr "Magdagdag ng MediaRSS link?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:22 +msgid "" +"When enabled, adds a MediaRSS link to your header. Third-party web services " +"can use this to publish your galleries" +msgstr "" +"Kapag pinagana, ay nagdadagdag ng isang Media RSS link sa iyong header. Mga " +"serbisyo ng Third-party na web ay maaari itong gamitin upang i-publish ang " +"iyong mga gallery" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:26 +msgid "Clear image cache" +msgstr "I-clear ang cache ng imahe" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:27 +msgid "" +"Completely clear the NextGEN cache of all image modifications?\n" +"\n" +"Choose [Cancel] to Stop, [OK] to proceed." +msgstr "" +"Completely clear the NextGEN cache of all image modifications?\n" +"\n" +"Choose [Cancel] to Stop, [OK] to proceed." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:32 +msgid "Permalink slug" +msgstr "Permalink slug" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:39 +msgid "Maximum image count" +msgstr "Maximum na bilang ng larawan" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:41 +msgid "" +"This is the maximum limit of images that NextGEN will restrict itself to " +"querying" +msgstr "" +"Ito ang maximum na limitasyon ng mga larawan na NextGEN ay higpitan ang " +"sarili nito sa querying" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.other_options_controller.php:22 +#: products/photocrati_nextgen/modules/nextgen_other_options/module.nextgen_other_options.php:39 +msgid "Other Options" +msgstr "Iba pang Pagpipilian" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:7 +msgid "Reset Options" +msgstr "I-reset ang Opsyon" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:15 +msgid "Reset all options to default settings" +msgstr "I-reset ang lahat ng mga pagpipilian sa default na mga setting" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:16 +msgid "" +"Replace all existing options and gallery options with their default settings" +msgstr "" +"Palitan ang lahat ng mga pagpipilian umiiral at mga pagpipilian sa gallery " +"kasama ang kanilang mga default na setting" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:17 +msgid "Reset settings" +msgstr "I-reset ang mga setting" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:18 +msgid "" +"Reset all options to default settings?\n" +"\n" +"Choose [Cancel] to Stop, [OK] to proceed." +msgstr "" +"Reset all options to default settings?\n" +"\n" +"Choose [Cancel] to Stop, [OK] to proceed." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.roles_form.php:7 +msgid "Roles & Capabilities" +msgstr "Mga Tungkulin & Mga Kakayahan" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:12 +msgid "Styles" +msgstr "Estilo" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:18 +msgid "What stylesheet would you like to use?" +msgstr "Anong stylesheet ang gusto mong gamitin?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:21 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:136 +msgid "(Show Customization Options)" +msgstr "(Ipakita ang Opsyon Customization)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:22 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:137 +msgid "(Hide Customization Options)" +msgstr "(Itago ang Pag-customize ang Opsyon)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:23 +msgid "File Content:" +msgstr "Nilalaman ng file:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:24 +msgid "Changes you make to the contents will be saved to" +msgstr "Pagbabago na gagawin mo ang mga nilalaman ay mase-save sa" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:25 +msgid "You could edit this file if it were writable" +msgstr "Maaari mong i-edit ang file na ito parang ito ay writable" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:12 +msgid "Thumbnail Options" +msgstr "Mga Pagpipilian sa Thumbnail" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:20 +msgid "Default thumbnail dimensions:" +msgstr "Mga sukat ng Default na thumbnail:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:21 +msgid "When generating thumbnails, what image dimensions do you desire?" +msgstr "Kapag pagbuo ng mga thumbnail, ano ang larawan sukat ko na gusto mo?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:24 +msgid "Set fix dimension?" +msgstr "Itakda ang fix na dimensyon?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:25 +msgid "Ignore the aspect ratio, no portrait thumbnails?" +msgstr "Huwag pansinin ang aspect ratio, walang portrait thumbnail?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:27 +msgid "Adjust Thumbnail Quality?" +msgstr "Ayusin ang Marka ng Thumbnail?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:28 +msgid "When generating thumbnails, what image quality do you desire?" +msgstr "Kapag bumuo ng mga thumbnail, ano ang kalidad ng larawan ang gusto mo?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:30 +msgid "Size List" +msgstr "Size List" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:31 +msgid "List of default sizes used for thumbnails and images" +msgstr "" +"Listahan ng mga default na laki na ginamit para sa mga thumbnail at mga " +"larawan" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:12 +msgid "Watermarks" +msgstr "" +"Listahan ng mga default na laki na ginamit para sa mga thumbnail at mga " +"larawan" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:41 +msgid "Using an Image" +msgstr "Paggamit ng isang Imahe" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:42 +msgid "Using Text" +msgstr "Paggamit ng Teksto" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:69 +msgid "An absolute or relative (to the site document root) file system path" +msgstr "" +"Ang isang absolute o kamag-anak (sa root dokumento site) path ng file system " +"sa" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:71 +msgid "" +"An absolute or relative (to the site document root) file system path or an " +"HTTP url" +msgstr "" +"Ang isang absolute o kamag-anak (sa root dokumento site) path ng file system " +"o isang HTTP url" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:74 +msgid "Image URL:" +msgstr "Image URL:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:90 +msgid "Font Family:" +msgstr "Font Family:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:92 +msgid "Font Size:" +msgstr "Laki ng Font:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:94 +msgid "Font Color:" +msgstr "Kulay ng font:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:97 +msgid "Text:" +msgstr "Teksto:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:99 +msgid "Opacity:" +msgstr "Opacity:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:126 +msgid "" +"Please note: You can only activate the watermark under Manage Gallery. This " +"action cannot be undone." +msgstr "" +"Tandaan: Maaari ka lamang mag aactivate ng watermark sa ilalim ng Pamahalaan " +"Gallery. Hindi na mababawi ang pagkilos na ito." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:127 +msgid "How will you generate a watermark?" +msgstr "Paano ka bubuo ng isang watermark?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:131 +msgid "Position:" +msgstr "posisyon:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:133 +msgid "Offset:" +msgstr "Offset:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:139 +msgid "Preview of saved settings:" +msgstr "I-preview ng naka-save na mga setting:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:140 +msgid "Refresh preview image" +msgstr "I-refresh ang preview na larawan" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:34 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:37 +msgid "(Show Advanced Settings)" +msgstr "(Ipakita ang mga Advanced na Mga Setting)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:35 +msgid "(Hide Advanced Settings)" +msgstr "(Itago ang mga Advanced na Mga Setting)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:56 +msgid "What must the lightbox be applied to?" +msgstr "Ano ang dapat lightbox ilapat sa?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:60 +msgid "Only apply to NextGEN images" +msgstr "Nalalapat lamang sa NextGEN mga larawan" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:61 +msgid "Only apply to NextGEN and WordPress images" +msgstr "Nalalapat lamang sa NextGEN at WordPress mga larawan" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:62 +msgid "Try to apply to all images" +msgstr "Subukan na mag-aplay sa lahat ng mga imahe" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:63 +msgid "Try to apply to all images that link to image files" +msgstr "" +"Subukan na mag-aplay sa lahat ng mga imahe na may link sa mga file ng larawan" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php:21 +msgid "Place any custom stylesheets in wp-content/ngg_styles" +msgstr "" +"Ilagay ang anumang pasadyang na stylesheet sa wp-content/ngg_styles " +"" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php:24 +#, php-format +msgid "All stylesheets must contain a file header" +msgstr "" +"Dapat na maglaman ang lahat ng mga style sheet ng " +"header ng ​​file " + +#: products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:41 +msgid "Related Images" +msgstr "Kaugnay na Mga Imahe" + +#: products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:61 +msgid "[Show slideshow]" +msgstr "[Ipakita ang slideshow]" + +#: products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:62 +msgid "[Show thumbnails]" +msgstr "[Ipakita ang mga thumbnail]" + +#: products/photocrati_nextgen/modules/nextgen_xmlrpc/module.nextgen_xmlrpc.php:425 +msgid "Sorry, you must be able to manage galleries" +msgstr "Paumanhin, kailangan mong magagawang upang pamahalaan ang mga gallery" + +#: products/photocrati_nextgen/modules/widget/class.widget_gallery.php:7 +msgid "Add recent or random images from the galleries" +msgstr "Magdagdag ng kamakailang o random na mga imahe mula sa gallery" + +#: products/photocrati_nextgen/modules/widget/class.widget_gallery.php:8 +msgid "NextGEN Widget" +msgstr "NextGEN Widget" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:9 +msgid "Widget that displays Media RSS links for NextGEN Gallery." +msgstr "Widget na nagpapakita Media RSS link para sa NextGEN Gallery." + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:10 +msgid "NextGEN Media RSS" +msgstr "NextGEN Media RSS" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:22 +msgid "Media RSS" +msgstr "Media RSS" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:23 +msgid "Link to the main image feed" +msgstr "Link sa pangunahing feed larawan" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:93 +#: products/photocrati_nextgen/modules/ngglegacy/view/gallery-caption.php:32 +#: products/photocrati_nextgen/modules/ngglegacy/view/gallery.php:32 +msgid "[View with PicLens]" +msgstr "[Tingnan ang may PicLens]" + +#: products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:7 +msgid "Show a NextGEN Gallery Slideshow" +msgstr "Magpakita ng NextGEN Gallery Slideshow" + +#: products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:8 +msgid "NextGEN Slideshow" +msgstr "NextGEN Slideshow" + +#: products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:76 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:321 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:521 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:721 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:215 +msgid "Slideshow" +msgstr "Slideshow" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:15 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:229 +msgid "Show" +msgstr "Show" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:26 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:316 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:520 +msgid "Thumbnails" +msgstr "Thumbnails" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:29 +msgid "Original images" +msgstr "orihinal na mga larawan" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:42 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:822 +msgid "random" +msgstr "random" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:50 +msgid "recently added" +msgstr "kamakailang idinagdag" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:62 +msgid "Enable IE8 Web Slices" +msgstr "Paganahin ang IE8 Web Slices" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:68 +msgid "Width x Height" +msgstr "Lapad x Taas" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:87 +msgid "Select" +msgstr "piliin" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:92 +msgid "All galleries" +msgstr "Ang lahat ng mga gallery" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:95 +msgid "Only which are not listed" +msgstr "Na lamang ang hindi nakalista" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:98 +msgid "Only which are listed" +msgstr "Na lamang ang nakalista" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:107 +msgid "Gallery ID" +msgstr "ID Gallery" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:114 +msgid "Gallery IDs, separated by commas." +msgstr "Mga ID ng Gallery, na pinaghihiwalay ng mga kuwit." + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:19 +msgid "Show Media RSS icon" +msgstr "Ipakita ang icon ng RSS Media" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:30 +msgid "Show the Media RSS link" +msgstr "Ipakita ang link na Media RSS" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:36 +msgid "Text for Media RSS link" +msgstr "Teksto para sa mga Media RSS link" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:47 +msgid "Tooltip text for Media RSS link" +msgstr "Tooltip teksto para sa mga Media RSS link" + +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:15 +msgid "Select Gallery" +msgstr "Piliin ang Gallery" + +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:23 +msgid "All images" +msgstr "Lahat ng mga larawan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:159 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:190 +msgid "Overview" +msgstr "Overview" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:172 +msgid "Network settings" +msgstr "Network settings" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:305 +msgid "You do not have the correct permission" +msgstr "Wala kang tamang pahintulot" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:306 +msgid "Unexpected Error" +msgstr "Unexpected Error" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:307 +msgid "A failure occurred" +msgstr "Ang isang pagkabigo naganap" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:311 +msgid "You have attempted to queue too many files." +msgstr "Sinubukan mong mag-lilinya masyadong maraming mga file." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:312 +msgid "This file exceeds the maximum upload size for this site." +msgstr "" +"Lumagpas ang file na ito sa maximum na laki ng upload para sa site na ito." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:313 +msgid "This file is empty. Please try another." +msgstr "Ang file na ito ay walang laman. Mangyaring subukan ang iba." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:314 +msgid "This file type is not allowed. Please try another." +msgstr "Ang uri ng file ay hindi pinahihintulutan. Mangyaring subukan ang iba." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:315 +msgid "This file is not an image. Please try another." +msgstr "Ang file na ito ay hindi isang imahe. Mangyaring subukan ang iba." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:316 +msgid "Memory exceeded. Please try another smaller file." +msgstr "Lumagpas Memory. Mangyaring subukan ang ibang mas maliit na file." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:317 +msgid "This is larger than the maximum size. Please try another." +msgstr "" +"Ito ay mas malaki kaysa sa maximum na laki. Mangyaring subukan ang iba." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:318 +msgid "An error occurred in the upload. Please try again later." +msgstr "May naganap na error sa pag-upload. Mangyaring subukan muli mamaya." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:319 +msgid "" +"There was a configuration error. Please contact the server administrator." +msgstr "" +"Nagkaroon ng error configuration. Mangyaring makipag-ugnay sa administrator " +"ng server." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:320 +msgid "You may only upload 1 file." +msgstr "Maaari ka lamang mag-upload ng 1 file." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:321 +msgid "HTTP error." +msgstr "Error sa HTTP." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:322 +msgid "Upload failed." +msgstr "Nabigo ang pag-upload." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:323 +msgid "IO error." +msgstr "Error sa IO." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:324 +msgid "Security error." +msgstr "Error Security." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:325 +msgid "File canceled." +msgstr "Kinansela ng File." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:326 +msgid "Upload stopped." +msgstr "Tumigil sa pag-upload." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:327 +msgid "Dismiss" +msgstr "Dismiss" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:328 +msgid "Crunching…" +msgstr "Crunching…" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:329 +msgid "moved to the trash." +msgstr "inilipat sa trash." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:330 +#, php-format +msgid "“%s” has failed to upload due to an error" +msgstr "“%s” ay nabigong mag-upload dahil sa isang error" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:352 +msgid "L O A D I N G" +msgstr "L O A D I N G" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:353 +msgid "Click to Close" +msgstr "I-click upang Isara" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:462 +msgid "" +"Introduction" +msgstr "" +"Introduction" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:465 +msgid "" +"Languages" +msgstr "" +"Languages" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:470 +msgid "Get help with NextGEN Gallery" +msgstr "Kumuha ng tulong sa NextGEN Gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:474 +msgid "More Help & Info" +msgstr "Higit Pang Tulong at Impormasyon" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:476 +msgid "" +"Support Forums" +msgstr "" +"Support Forums" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:477 +msgid "FAQ" +msgstr "FAQ" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:478 +msgid "Feature request" +msgstr "hiling ng tampok" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:479 +msgid "Get your language pack" +msgstr "Kunin ang iyong language pack" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:480 +msgid "Contribute development" +msgstr "Mag-ambag sa pag-develop" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:481 +msgid "Download latest version" +msgstr "I-download ang pinakabagong bersyon" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/ajax.php:360 +#, php-format +msgid "Could create image with %s x %s pixel" +msgstr "Malikha ang imahe sa% s x% s pixel" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:172 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:216 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:239 +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:19 +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:22 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:619 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:7 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:10 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:13 +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:17 +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:20 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:10 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:13 +msgid "Cheatin’ uh?" +msgstr "Cheatin’ uh?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:180 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:209 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:253 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:178 +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:24 +msgid "Update Successfully" +msgstr "I-update Matagumpay na" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:227 +msgid "Album deleted" +msgstr "tinanggal ang album" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:389 +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:55 +msgid "Edit Album" +msgstr "Edit Album" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:410 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:459 +msgid "Select album" +msgstr "pumili ng album" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:412 +msgid "No album selected" +msgstr "Walang napiling album" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:423 +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:166 +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:94 +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:112 +msgid "Update" +msgstr "Update" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:425 +msgid "Edit album" +msgstr "Edit album" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:428 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:187 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:362 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:364 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:227 +msgid "Delete" +msgstr "alisin" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:432 +msgid "Add new album" +msgstr "Magdagdag ng bagong album" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:434 +msgid "Add" +msgstr "Add" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:445 +msgid "Show / hide used galleries" +msgstr "Ipakita / itago ang ginamit gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:445 +msgid "[Show all]" +msgstr "[Ipakita lahat]" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:446 +msgid "Maximize the widget content" +msgstr "I-maximize ang nilalaman ng widget" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:446 +msgid "[Maximize]" +msgstr "[I-maximize]" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:447 +msgid "Minimize the widget content" +msgstr "I-minimize ang nilalaman ng widget" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:447 +msgid "[Minimize]" +msgstr "[Minimize]" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:449 +msgid "" +"After you create and select a album, you can drag and drop a gallery or " +"another album into your new album below" +msgstr "" +"Pagkatapos mong lumikha at pumili ng isang album, maaari mong i-drag at i-" +"drop ng isang gallery o ibang album papunta sa iyong bagong album sa ibaba" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:475 +msgid "Select gallery" +msgstr "Pumili ng gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:500 +msgid "Album ID" +msgstr "Album ID" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:513 +msgid "No album selected!" +msgstr "Walang napiling mga album!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:534 +msgid "Album name:" +msgstr "Pangalan ng Album:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:540 +msgid "Album description:" +msgstr "Paglalarawan Album:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:546 +msgid "Select a preview image:" +msgstr "Pumili ng isang larawan ng preview:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:549 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:552 +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_preview_image_field.php:3 +msgid "No picture" +msgstr "Walang mga larawan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:563 +msgid "Page Link to" +msgstr "Pahina ng Link sa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:582 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:337 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:366 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:397 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:406 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:442 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:471 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:502 +msgid "OK" +msgstr "OK" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:584 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:339 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:368 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:399 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:408 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:444 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:473 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:504 +msgid "Cancel" +msgstr "Cancel" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:677 +msgid "Name" +msgstr "Pangalan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:679 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:229 +msgid "Page" +msgstr "pahina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:116 +msgid "Select with the mouse the area for the new thumbnail" +msgstr "Piliin gamit ang mouse sa lugar para sa bagong thumbnail" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:130 +msgid "Thumbnail updated" +msgstr "update Thumbnail" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:135 +msgid "Error updating thumbnail" +msgstr "Error sa pag-update ng thumbnail" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:151 +msgid "Select the area for the thumbnail from the picture on the left." +msgstr "Piliin ang lugar para sa mga thumbnail mula sa larawan sa kaliwa." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:39 +msgid "No valid gallery name!" +msgstr "Walang wastong pangalan ng gallery!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:46 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:80 +msgid "Directory" +msgstr "Directory" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:46 +msgid "didn't exist. Please create first the main gallery folder " +msgstr "" +"ay hindi umiiral. Mangyaring lumikha muna sa pangunahing folder ng gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:47 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:56 +msgid "Check this link, if you didn't know how to set the permission :" +msgstr "" +"Lagyan ng check ang link na ito, kung hindi mo alam kung paano i-set ang " +"pahintulot:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:80 +msgid "is not writeable !" +msgstr "ay hindi writeable!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:76 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:85 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:736 +#: products/photocrati_nextgen/modules/ngglegacy/lib/core.php:101 +msgid "Unable to create directory " +msgstr "Hindi makalikha ng direktoryo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:89 +msgid "The server setting Safe-Mode is on !" +msgstr "Ang server ng ​​pagtatakda ng Safe-Mode ay nasa!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:90 +msgid "If you have problems, please create directory" +msgstr "Kung mayroon kang mga problema, mangyaring lumikha ng direktoryo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:91 +msgid "and the thumbnails directory" +msgstr "at ang direktoryo thumbnail" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:91 +msgid "with permission 777 manually !" +msgstr "may pahintulot 777 manu-mano" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:116 +#, php-format +msgid "" +"Gallery ID %1$s successfully created. You can show this gallery in your post " +"or page with the shortcode %2$s.
      " +msgstr "" +"Gallery ID %1$s ay matagumpay na nalikha. Maaari mong ipakita ang gallery na " +"ito sa iyong post o pahina na may shortcode %2$s.
      " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:119 +msgid "Edit gallery" +msgstr "Edit gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:188 +msgid "Error while creating thumbnail." +msgstr "Error habang ang paglikha ng thumbnail." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:242 +msgid "Error while resizing image." +msgstr "Nagkaroon ng error habang pagbabago ng laki ng imahe." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:326 +msgid "Error while rotating image." +msgstr "Nagkaroon ng error ni rorotate ang imahe." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:361 +msgid "Error while applying watermark to image." +msgstr "Error habang inilalapat ang watermark sa imahe." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:385 +msgid "Object didn't contain correct data" +msgstr "Bagay ay hindi naglalaman ng tamang data" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:391 +msgid "File do not exists" +msgstr "File ay hindi umiiral" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:395 +msgid "Couldn't restore original image" +msgstr "Hindi ma-restore ang orihinal na imahe" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:511 +msgid "(Error : Couldn't not update data base)" +msgstr "(Error: Hindi ma-update ang database)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:518 +msgid "(Error : Couldn't not update meta data)" +msgstr "(Error: Hindi ma-update ang metadata)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:527 +msgid "(Error : Couldn't not find image)" +msgstr "(Error: Hindi ma-hindi mahanap ng larawan)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:670 +msgid "No valid URL path " +msgstr "Walang wastong URL path" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:686 +msgid "Import via cURL failed." +msgstr "Nabigo ang pag-import ng sa pamamagitan ng kulutin." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:703 +msgid "Uploaded file was no or a faulty zip file ! The server recognized : " +msgstr "" +"Na-upload na file ay walang o isang may sira zip file! Nakilala ang server " +"ng:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:720 +msgid "Could not get a valid foldername" +msgstr "Hindi makuha ng isang wastong pangalan ng folder" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:731 +#, php-format +msgid "" +"Unable to create directory %s. Is its parent directory writable by the " +"server?" +msgstr "" +"Hindi makalikha ng directory% s. Ang parent directory ba ay writable sa " +"server?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:746 +msgid "Zip-File successfully unpacked" +msgstr "Matagumpay na na-unpacked ang Zip-File" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:777 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:877 +msgid "No gallery selected !" +msgstr "Walang napiling mga gallery!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:785 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:902 +msgid "Failure in database, no gallery path set !" +msgstr "Pagkabigo sa database, itakda ang walang gallery landas!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:809 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:896 +msgid "is no valid image file!" +msgstr "ay hindi wastong file ng imahe!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:830 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:919 +msgid "Error, the file could not be moved to : " +msgstr "Error, ang file ay hindi ma-inilipat sa:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:835 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:923 +msgid "Error, the file permissions could not be set" +msgstr "Error, ang mga pahintulot ng file ay hindi mai-set" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:853 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:111 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:189 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:238 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:322 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:661 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:740 +msgid "Create new thumbnails" +msgstr "Lumikha ng bagong thumbnail" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:858 +msgid " Image(s) successfully added" +msgstr "Mga imahe) ay matagumpay na naidagdag" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:885 +msgid "Invalid upload. Error Code : " +msgstr "Di-wastong pag-upload. Error Code:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:961 +#, php-format +msgid "" +"SAFE MODE Restriction in effect! You need to create the folder %s manually" +msgstr "" +"Safe Mode paghihigpit sa epekto! Kailangan mong gawin ang folder na " +"%s manually" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:962 +#, php-format +msgid "" +"When safe_mode is on, PHP checks to see if the owner (%s) of the current " +"script matches the owner (%s) of the file to be operated on by a file " +"function or its directory" +msgstr "" +"Kapag safe_mode ay ON, nagsusuri ang PHP upang makita kung ang may-ari (% s) " +"ng kasalukuyang script ay tumutugma sa may-ari (% s) ng file na mai-operated " +"sa pamamagitan ng isang file ng function o direktoryo nito" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1015 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1092 +msgid "The destination gallery does not exist" +msgstr "Ang destination gallery ay hindi umiiral" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1046 +#, php-format +msgid "Failed to move image %1$s to %2$s" +msgstr "Nabigong ilipat ang imahe %1$s to %2$s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1066 +#, php-format +msgid "Moved %1$s picture(s) to gallery : %2$s ." +msgstr "Inilipat ang %1$s mga larawan) sa gallery: %2$s ." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1170 +#, php-format +msgid "Copied %1$s picture(s) to gallery: %2$s ." +msgstr "Kinopya ang %1$s (mga) larawan sa gallery: %2$s ." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1278 +msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgstr "" +"Ay lumampas sa-upload na file ang upload_max_filesize direktiba sa php.ini" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1281 +msgid "" +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " +"the HTML form" +msgstr "" +"Ay lumampas sa-upload na file ang MAX_FILE_SIZE direktiba na tinukoy sa form " +"na HTML" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1284 +msgid "The uploaded file was only partially uploaded" +msgstr "Ang na-upload na file ay lamang bahagyang na-upload" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1287 +msgid "No file was uploaded" +msgstr "Walang mga file ay na-upload" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1290 +msgid "Missing a temporary folder" +msgstr "Nawawalang isang pansamantalang folder" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1293 +msgid "Failed to write file to disk" +msgstr "Nabigong isulat ang file sa disk" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1296 +msgid "File upload stopped by extension" +msgstr "Pag-upload ng File Huminto sa pamamagitan ng extension" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1299 +msgid "Unknown upload error" +msgstr "Hindi kilalang pag-upload ng error" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/install.php:20 +msgid "Sorry, NextGEN Gallery works only with a role called administrator" +msgstr "" +"Paumanhin, gumagana lamang ang NextGEN Gallery na may papel na tinatawag na " +"administrator" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/install.php:92 +msgid "" +"NextGEN Gallery : Tables could not created, please check your database " +"settings" +msgstr "" +"NextGEN Gallery: hindi ma nilikha Tables, mangyaring suriin ang iyong mga " +"setting ng database" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:99 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:206 +msgid "No images selected" +msgstr "Walang napiling mga larawan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:107 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:190 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:234 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:323 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:642 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:724 +msgid "Resize images" +msgstr "Baguhin ang laki ng imahe" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:116 +#, php-format +msgid "" +"You are about to start the bulk edit for %s galleries \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" +"You are about to start the bulk edit for %s galleries \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:154 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:197 +msgid "Add new gallery" +msgstr "Magdagdag ng bagong gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:171 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:174 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:272 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:275 +msgid "Search Images" +msgstr "Maghanap ng mga Imahe" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:186 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:320 +msgid "Bulk actions" +msgstr "Bultuhang mga aksyon" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:188 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:321 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:572 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:687 +msgid "Set watermark" +msgstr "Set watermark" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:191 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:326 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:577 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:708 +msgid "Import metadata" +msgstr "Import metadata" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:192 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:324 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:567 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:684 +msgid "Recover from backup" +msgstr "Ibalik muli mula sa backup" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:194 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:335 +msgid "Apply" +msgstr "Apply" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:262 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:253 +msgid "Edit" +msgstr "I-Edit" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:309 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:379 +msgid "No entries found" +msgstr "Walang nahanap na mga entry" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:327 +msgid "New Gallery" +msgstr "bagong Gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:329 +msgid "Create a new , empty gallery below the folder" +msgstr "Lumikha ng isang bagong, walang laman ang gallery sa ibaba ang folder" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:331 +msgid "Allowed characters for file and folder names are" +msgstr "Pinayagan character para sa file at folder na pangalan ay" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:357 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:462 +msgid "Resize Images to" +msgstr "Baguhin ang laki ng mga imahe sa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:361 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:466 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:453 +msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size" +msgstr "Lapad x taas (sa pixel). NextGEN Gallery ay itatago ang ratio size" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:385 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:490 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:40 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:416 +msgid "Width x height (in pixel)" +msgstr "Width x height (in pixel)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:391 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:496 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:426 +msgid "Set fix dimension" +msgstr "Itakda ang sukat " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:393 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:498 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:428 +msgid "Ignore the aspect ratio, no portrait thumbnails" +msgstr "Huwag pansinin ang aspect ratio, walang portrait thumbnail" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:456 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:568 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:156 +msgid "ID" +msgstr "ID" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:458 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:571 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:245 +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:134 +msgid "Description" +msgstr "Description" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:460 +msgid "Page ID" +msgstr "Page ID" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:35 +msgid "Gallery not found." +msgstr "Hindi nahanap ang Gallery." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:41 +msgid "Sorry, you have no access here" +msgstr "Paumanhin, wala kang access dito" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:214 +msgid "Copy image to..." +msgstr "Kopyahin ang larawan sa ..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:218 +msgid "Move image to..." +msgstr "Ilipat ang mga larawan sa ..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:222 +msgid "Add new tags" +msgstr "Magdagdag ng bagong tag" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:226 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:332 +msgid "Delete tags" +msgstr "Tanggalin ang tag" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:230 +msgid "Overwrite" +msgstr "Overwrite" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:243 +#, php-format +msgid "" +"You are about to start the bulk edit for %s images \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" +"You are about to start the bulk edit for %s images \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:269 +#, php-format +msgid "Search results for “%s”" +msgstr "Mga resulta ng paghahanap para sa \"% s\"" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:298 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:488 +msgid "Gallery settings" +msgstr "Gallery settings" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:298 +msgid "Click here for more settings" +msgstr "Mag-click dito para sa higit pang mga setting" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:304 +msgid "Scan Folder for new images" +msgstr "I-scan ang Folder para sa mga bagong larawan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:306 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:341 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:386 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:400 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:436 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:478 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:563 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:598 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:708 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:861 +msgid "Save Changes" +msgstr "I-save ang Mga Pagbabago" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:325 +msgid "Delete images" +msgstr "Tanggalin ang mga larawan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:327 +msgid "Rotate images clockwise" +msgstr "I-rotate ang mga imahe pakanan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:328 +msgid "Rotate images counter-clockwise" +msgstr "I-rotate ang mga imahe counter-clockwise" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:329 +msgid "Copy to..." +msgstr "Kopyahin sa ..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:330 +msgid "Move to..." +msgstr "Ilipat sa..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:331 +msgid "Add tags" +msgstr "Magdagdag ng mga tag" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:333 +msgid "Overwrite tags" +msgstr "Overwrite tags" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:338 +msgid "Sort gallery" +msgstr "Sort gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:402 +msgid "Enter the tags" +msgstr "Enter the tags" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:426 +msgid "Select the destination gallery:" +msgstr "Piliin ang patutunguhang gallery:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:569 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:161 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:266 +msgid "Thumbnail" +msgstr "Thumbnail" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:571 +msgid "Alt & Title Text" +msgstr "Alt & Title Text" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:572 +msgid "Tags (comma separated list)" +msgstr "Mga Tag (comma separated na listahan)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:35 +msgid "Sort order changed" +msgstr "Sort order changed" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:97 +msgid "Sort Gallery" +msgstr "Sort Gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:101 +msgid "Update Sort Order" +msgstr "I-update ang uri-uriin ang Order" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:104 +msgid "Back to gallery" +msgstr "Bumalik sa gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:109 +msgid "Presort" +msgstr "Presort" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:110 +msgid "Unsorted" +msgstr "Unsorted" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:113 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:241 +msgid "Alt/Title text" +msgstr "Alt/Title text" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:90 +msgid "deleted successfully" +msgstr "matagumpay na natanggal" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:106 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:115 +msgid "Operation successful. Please clear your browser cache." +msgstr "" +"Matagumpay ang operasyon. Mangyaring i-clear ang cache ng browser ng ​​iyong." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:171 +msgid "Alt & Title Text / Description" +msgstr "Alt & Pamagat ng Teksto / Paglalarawan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:214 +msgid "Exclude ?" +msgstr "Ibukod?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:299 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:301 +msgid "View" +msgstr "View" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:309 +msgid "Show meta data" +msgstr "Show meta data" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:310 +msgid "Meta" +msgstr "Meta" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:318 +msgid "Customize thumbnail" +msgstr "I-customize ang thumbnail" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:319 +msgid "Edit thumb" +msgstr "Edit thumb" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:327 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:328 +msgid "Rotate" +msgstr "I-Rotate" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:338 +msgid "Publish this image" +msgstr "I-publish ang imahe" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:339 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:58 +msgid "Publish" +msgstr "I-Publish" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:349 +msgid "Recover image from backup" +msgstr "Ibalik muli ang imahe mula sa backup" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:350 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:352 +msgid "Recover" +msgstr "Bawiin" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:361 +msgid "Delete image" +msgstr "Tanggalin ang imahe" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:392 +msgid "Title:" +msgstr "pamagat:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:398 +msgid "Description:" +msgstr "Paglalarawan:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:404 +msgid "Gallery path:" +msgstr "Gallery path:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:419 +msgid "Link to page:" +msgstr "Link to page:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:420 +msgid "Albums will link this gallery to the selected page" +msgstr "Albums ay mali-link gallery na ito sa napiling pahina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:425 +msgid "Preview image:" +msgstr "Preview image:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:431 +msgid "Create new page:" +msgstr "Gumawa ng bagong pahina:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:607 +msgid "Gallery deleted successfully " +msgstr "Matagumpay na natanggal ang Gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:678 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:681 +msgid "Rotate images" +msgstr "I-rotate ang mga imahe" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:704 +msgid "Pictures deleted successfully " +msgstr "Matagumpay na natanggal ang Larawan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:802 +msgid "Tags changed" +msgstr "Tags changed" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:842 +msgid "Update successful" +msgstr "matagumpay na naI-update" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:877 +msgid "New gallery page ID" +msgstr "Bagong pahina ng gallery ID" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:877 +msgid "created" +msgstr "Paglikha" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:915 +msgid "Published a new post" +msgstr "Nai-publish ng isang bagong post" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1062 +msgid "Go to the first page" +msgstr "Pumunta sa unang pahina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1069 +msgid "Go to the previous page" +msgstr "Pumunta sa nakaraang pahina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1078 +msgid "Current page" +msgstr "Ang kasalukuyang pahina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1089 +msgid "Go to the next page" +msgstr "Pumunta sa susunod na pahina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1096 +msgid "Go to the last page" +msgstr "Pumunta sa huling pahina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1046 +#, php-format +msgid "1 item" +msgid_plural "%s items" +msgstr[0] "1 item" +msgstr[1] "%s items" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1046 +#, php-format +msgctxt "paging" +msgid "%1$s of %2$s" +msgstr "%1$s of %2$s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:11 +msgid "NextGEN Gallery" +msgstr "NextGEN Gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:186 +msgid "No gallery" +msgstr "Walang gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:198 +msgid "Select »" +msgstr "Select »" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:230 +msgid "Hide" +msgstr "itago" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:235 +msgid "Image ID:" +msgstr "Image ID:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:249 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:45 +msgid "Alignment" +msgstr "pagkakahanay" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:252 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:47 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:583 +msgid "None" +msgstr "None" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:254 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:49 +msgid "Left" +msgstr "kaliwa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:256 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:51 +msgid "Center" +msgstr "Gitna" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:258 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:53 +msgid "Right" +msgstr "Kanan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:262 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:690 +msgid "Size" +msgstr "laki" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:268 +msgid "Full size" +msgstr "Kabuuang laki" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:270 +msgid "Singlepic" +msgstr "Singlepic" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:282 +msgid "Use as featured image" +msgstr "Gamitin bilang itinatampok na larawan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:284 +msgid "Insert into Post" +msgstr "Insert into Post" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:295 +msgid "Save all changes" +msgstr "I-save ang lahat ng mga pagbabago" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:14 +msgid "NextGEN Gallery Overview" +msgstr "NextGEN Gallery Overview" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:84 +msgid "Welcome to NextGEN Gallery !" +msgstr "Maligayang pagdating sa NextGEN Gallery!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:85 +msgid "Do you like this Plugin?" +msgstr "Gusto mo ba itong Plugin?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:87 +msgid "About" +msgstr "tungkol sa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:90 +msgid "Server Settings" +msgstr "Mga Setting ng server" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97 +msgid "" +"NextGEN Gallery is one of the most popular Wordpress plugins of all time " +"with over 9 million downloads. It is developed and supported by Photocrati " +"Media. We'd like to offer a special thanks to Alex Rabe, who first developed " +"the plugin and maintained it through 2011." +msgstr "" +"NextGEN Gallery ay isa sa mga pinaka-popular na Wordpress plugin sa lahat ng " +"panahon na may higit sa 9,000,000 mga pag-download. Ito ay binuo at " +"suportado ng Photocrati Media. Gusto naming mag-alok ng isang espesyal na " +"salamat kay Alex Rabe, na unang ngabuo ng plugin at iminenteyn ito hanggang " +"2011." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:98 +msgid "" +"NEED HELP? If you need help or assistance please visit the " +"NextGEN " +"Gallery forums on WordPress.org. Please note that we actively monitor " +"and participate in the forums, but given that NextGEN Gallery is a free " +"product, we don't guarantee replies to support queries." +msgstr "" +" Kailangan ng Tulong? Kung kailangan mo ng tulong " +"mangyaring bisitahin ang mga ng forum NextGEN Gallery sa WordPress.org . " +"Tandaan na aktibo kaming nagsusubaybay at lumalahok sa mga forum, ngunit " +"dahil ang NextGEN Gallery ay isang libreng produkto, hindi namin " +"ginagarantiya ang mga tugon upang suportahan ang mga query." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:99 +msgid "" +"EXTENDING NEXTGEN? There are many third party plugins that " +"add displays and functionality for NextGEN Gallery. See our Complete List of " +"NextGEN Extension Plugins." +msgstr "" +" pagpapalawig ng NEXTGEN? Maraming mga third party plugin " +"na nagdagdag at nagpapakita ng functionality para sa NextGEN Gallery. " +"Tingnan ang aming Kumpletong Listahan ng mga Extension ng NextGEN Plugin " +"." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:107 +#, php-format +msgid "" +"This plugin is primarily developed, maintained, supported and documented by " +"Photocrati Media with a lot of love & " +"effort. Any kind of contribution would be highly appreciated. Thanks!" +msgstr "" +"Plugin na ito ay binuo, pinananatili, suportado at dokumentado sa " +"pamamagitan ng Photocrati Media na " +"may maraming mga pag-ibig at pagsisikap. Ang anumang uri ng kontribusyon ay " +"lubos na pinahahalagahan. Salamat!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:112 +msgid "Please click \"Works\" on WordPress.org" +msgstr "Please click \"Works\" on WordPress.org" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:117 +msgid "Give it a good rating on WordPress.org" +msgstr "Bigyan ito ng magandang rating sa WordPress.org" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:122 +msgid "Visit the plugin homepage" +msgstr "Bisitahin ang homepage ng plugin" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:127 +msgid "Help translating it" +msgstr "Tulungan ang pagta-translate nito" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:149 +msgid "Graphic Library" +msgstr "Graphic Library" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:165 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:214 +msgid "Loading…" +msgstr "Loading…" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:165 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:214 +msgid "This widget requires JavaScript." +msgstr "Ang widget na ito ay nangangailangan ng JavaScript." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:178 +msgid "Thanks to all donators..." +msgstr "Salamat sa lahat ng donators ..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:200 +msgid "View all" +msgstr "View all" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:226 +#, php-format +msgid "" +"Newsfeed could not be loaded. Check the front page to " +"check for updates." +msgstr "" +"Hindi ma-load Feed News. Lagyan ng tsek ang front page " +"upang suriin para sa mga update." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:238 +msgid "Untitled" +msgstr "Untitled" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:303 +msgid "At a Glance" +msgstr "At a Glance" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:356 +msgid "Storage Space" +msgstr "Space Storage" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:360 +#, php-format +msgid "" +"%2$sMB" +msgstr "" +"%2$sMB" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:361 +msgid "Space Allowed" +msgstr "Space Allowed" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:368 +#, php-format +msgid "" +"%2$sMB (%3$s" +"%%)" +msgstr "" +"%2$sMB (%3$s" +"%%)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:369 +msgid "Space Used" +msgstr "Space Ginamit" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:395 +msgid "No GD support" +msgstr "Walang suporta Gd" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:427 +msgid "Not set" +msgstr "Not set" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:429 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:432 +msgid "On" +msgstr "On" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:430 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:433 +msgid "Off" +msgstr "Off" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:437 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:440 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:443 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:446 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:449 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:452 +msgid "N/A" +msgstr "N/A" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:451 +msgid " MByte" +msgstr " MByte" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:464 +msgid "Operating System" +msgstr "Operating System" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:465 +msgid "Server" +msgstr "Server" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:466 +msgid "Memory usage" +msgstr "paggamit ng memory" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:467 +msgid "MYSQL Version" +msgstr "MySQL Bersyon" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:468 +msgid "SQL Mode" +msgstr "SQL Mode" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:469 +msgid "PHP Version" +msgstr "Bersyon PHP" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:470 +msgid "PHP Safe Mode" +msgstr "PHP Safe Mode" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:471 +msgid "PHP Allow URL fopen" +msgstr "PHP Allow URL fopen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:472 +msgid "PHP Memory Limit" +msgstr "PHP Memory Limit" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:473 +msgid "PHP Max Upload Size" +msgstr "PHP Max Upload Size" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:474 +msgid "PHP Max Post Size" +msgstr "PHP Max Post Size" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:475 +msgid "PCRE Backtracking Limit" +msgstr "PCRE Backtracking Limit" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:476 +msgid "PHP Max Script Execute Time" +msgstr "PHP Max Script Execute Time" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:477 +msgid "PHP Exif support" +msgstr "PHP Exif support" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:478 +msgid "PHP IPTC support" +msgstr "PHP IPTC support" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:479 +msgid "PHP XML support" +msgstr "PHP XML support" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:491 +msgid "" +"NextGEN Gallery contains some functions which are only available under PHP " +"5.2. You are using the old PHP 4 version, upgrade now! It's no longer " +"supported by the PHP group. Many shared hosting providers offer both PHP 4 " +"and PHP 5, running simultaneously. Ask your provider if they can do this." +msgstr "" +"NextGEN Gallery ay naglalaman ng ilang mga function na kung saan ay " +"magagamit lamang sa ilalim ng PHP 5.2. Kung gumagamit ka ng lumang PHP 4 " +"bersyon, i-upgrade ngayon! Ito ay hindi na suportado ng mga pangkat na PHP. " +"Maraming mga ibinahaging hosting provider ang nag-aalok ng parehong PHP 4 at " +"PHP 5, na tumatakbo nang sabay-sabay. Tanungin ang iyong tagapaglaan ng kung " +"maaari nilang gawin ito." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:35 +msgid "Post title" +msgstr "Post title" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:37 +msgid "Enter the post title " +msgstr "Ipasok ang pamagat ng post" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:42 +msgid "Size of the image" +msgstr "Sukat ng larawan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:60 +msgid "Draft" +msgstr "Draft" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:26 +msgid "" +"Select the lowest role which should be able to access the following " +"capabilities. NextGEN Gallery supports the standard roles from WordPress." +msgstr "" +"Piliin ang pinakamababang papel na dapat ay ma-access ang mga sumusunod na " +"mga kakayahan. Sinusuportahan ng NextGEN Gallery ang karaniwang mga " +"tungkulin mula sa WordPress." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:27 +msgid "For a more flexible user management you can use the" +msgstr "Para sa mas nababagay na pamamahala ng user maaari mong gamitin ang" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:31 +msgid "Main NextGEN Gallery overview" +msgstr "Main NextGEN Gallery overview" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:35 +msgid "Use TinyMCE Button / Upload tab" +msgstr "Use TinyMCE Button / Upload tab" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:39 +msgid "Add gallery / Upload images" +msgstr "Magdagdag ng gallery / Mag-upload ng imahe" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:43 +msgid "Manage gallery" +msgstr "pamahalaan ang gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:47 +msgid "Manage others gallery" +msgstr "Pamahalaan ang iba gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:51 +msgid "Manage tags" +msgstr "Manage tags" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:59 +msgid "Change style" +msgstr "Baguhin ang istilo ng" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:63 +msgid "Change options" +msgstr "baguhin ang pagpipilian" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:67 +msgid "NextGEN Attach Interface" +msgstr "NextGEN Attach Interface" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:60 +msgid "Image rotated" +msgstr "Image rotated" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:62 +msgid "Error rotating thumbnail" +msgstr "Error rotating thumbnail" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:85 +msgid "90° clockwise" +msgstr "90 ° paikot sa kanan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:86 +msgid "90° anticlockwise" +msgstr "90 ° paikot sa kaliwa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:87 +msgid "Flip vertically" +msgstr "Baligtarin nang patayo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:88 +msgid "Flip horizontally" +msgstr "Baligtarin nang pahalang" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:22 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:204 +#, php-format +msgid "Rebuild image structure : %s / %s images" +msgstr "Muling itayo ang istraktura ng imahe:% s /% s mga larawan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:23 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:205 +#, php-format +msgid "Rebuild gallery structure : %s / %s galleries" +msgstr "Muling itayo istraktura gallery:% s /% s gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:24 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:206 +#, php-format +msgid "Rebuild album structure : %s / %s albums" +msgstr "Muling itayo ang istraktura ng album:% s /% s album" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:81 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:263 +msgid "Done." +msgstr "Done." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:196 +msgid "Cache cleared" +msgstr "Cache cleared" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:315 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:334 +msgid "General Options" +msgstr "General Options" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:317 +msgid "Image" +msgid_plural "Images" +msgstr[0] "larawan" +msgstr[1] "Mga larawan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:319 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:572 +msgid "Effects" +msgstr "Effects" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:320 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:614 +msgid "Watermark" +msgstr "Watermark" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:340 +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:54 +msgid "Gallery path" +msgstr "Gallery path" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:342 +msgid "This is the default path for all galleries" +msgstr "Ito ang default na landas para sa lahat ng mga gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:345 +msgid "Delete image files" +msgstr "Tanggalin ang mga file ng larawan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:347 +msgid "Delete files, when removing a gallery in the database" +msgstr "" +"Tanggalin ang mga file, kapag ang pag-aalis ng isang gallery sa database" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:350 +msgid "Activate permalinks" +msgstr "I-activate ang permalinks" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:352 +msgid "" +"When you activate this option, you need to update your permalink structure " +"one time." +msgstr "" +"Kapag isinaaktibo mo ang pagpipiliang ito, kailangan mong i-update ang iyong " +"istraktura Permalink isang pagkakataon." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:353 +msgid "Gallery slug name :" +msgstr "Pangalan banatan Gallery:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:357 +msgid "Create new URL friendly image slugs" +msgstr "Lumikha ng bagong URL friendly na slug larawan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:358 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:474 +msgid "Proceed now" +msgstr "magpatuloy ngayon" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:361 +msgid "Select graphic library" +msgstr "Piliin graphic library" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:362 +msgid "GD Library" +msgstr "GD Library" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:363 +msgid "ImageMagick (Experimental). Path to the library :" +msgstr "ImageMagick (Pang-eksperimento). Path sa library:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:368 +msgid "Activate Media RSS feed" +msgstr "I-activate ang RSS feed Media" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:370 +msgid "" +"A RSS feed will be added to you blog header. Useful for CoolIris/PicLens" +msgstr "" +"Ang isang RSS feed ay idadagdag sa iyong blog header. Kapaki-pakinabang para " +"sa CoolIris / PicLens" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:373 +msgid "Activate PicLens/CoolIris support" +msgstr "I-activate ang PicLens / CoolIris suporta" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:375 +msgid "" +"When you activate this option, some javascript is added to your site footer. " +"Make sure that wp_footer is called in your theme." +msgstr "" +"Kapag isinaaktibo mo ang pagpipiliang ito, ang ilang mga javascript ay " +"idadagdag sa iyong footer site. Tiyakin na wp_footer ay tinatawag sa iyong " +"tema." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:378 +msgid "Tags / Categories" +msgstr "Tags / Kategorya" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:381 +msgid "Activate related images" +msgstr "I-activate ang nauugnay na mga larawan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:383 +msgid "This option will append related images to every post" +msgstr "" +"Ang pagpipiliang ito ay magkabit ng nauugnay na mga larawan sa bawat post" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:387 +msgid "Match with" +msgstr "Itugma sa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:393 +msgid "Max. number of images" +msgstr "Max. bilang ng mga imahe" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:395 +msgid "0 will show all images" +msgstr "0 ay magpapakita ng lahat ng mga imahe" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:399 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:435 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:477 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:562 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:597 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:860 +msgid "More settings" +msgstr "Higit pang mga setting" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:409 +msgid "Thumbnail settings" +msgstr "Mga setting Thumbnail" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:413 +msgid "" +"Please note : If you change the settings, you need to recreate the " +"thumbnails under -> Manage Gallery ." +msgstr "" +"Tandaan: Kung binago mo ang mga setting, kailangan muling likhain ang mga " +"thumbnail sa ilalim -> Pamahalaan ang Gallery." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:422 +msgid "These values are maximum values " +msgstr "Ang mga halaga ay maximum na halaga" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:445 +msgid "Image settings" +msgstr "Mga setting ng Imahe" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:451 +msgid "Resize Images" +msgstr "Baguhin ang laki ng mga Imahe" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:460 +msgid "Backup original images" +msgstr "Backup na orihinal na imahe" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:462 +msgid "Creates a backup for inserted images" +msgstr "Lumilikha ng isang backup na para sa ipinasok na larawan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:465 +msgid "Automatically resize" +msgstr "awtomatikong palitan ang laki" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:467 +msgid "Automatically resize images on upload." +msgstr "Awtomatikong palitan ang laki ng mga imahe sa pag-upload." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:470 +msgid "Single picture" +msgstr "Single picture" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:473 +msgid "Clear cache folder" +msgstr "Clear cache folder" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:494 +msgid "Deactivate gallery page link" +msgstr "Deactivate gallery page link" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:496 +msgid "" +"The album will not link to a gallery subpage. The gallery is shown on the " +"same page." +msgstr "" +"Ang album ay hindi link sa isang gallery subpage. Ang gallery ay ipinapakita " +"sa parehong pahina." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:500 +msgid "Number of images per page" +msgstr "Bilang ng mga imahe sa bawat pahina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:502 +msgid "0 will disable pagination, all images on one page" +msgstr "" +"0 ay hindi paganahin ang pagbilang ng pahina, lahat ng mga imahe sa isang " +"pahina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:506 +msgid "Number of columns" +msgstr "Bilang ng mga hanay" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:508 +msgid "" +"0 will display as much as possible based on the width of your theme. Setting " +"normally only required for captions below the images" +msgstr "" +"0 ay ipapakita hangga't maaari batay sa lapad ng iyong tema. Setting ay " +"kinakailangan lamang para sa mga caption sa ibaba ng larawan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:512 +msgid "Integrate slideshow" +msgstr "Integrate slideshow" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:519 +msgid "Show first" +msgstr "Show first" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:525 +msgid "Show ImageBrowser" +msgstr "Show ImageBrowser" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:527 +msgid "The gallery will open the ImageBrowser instead the effect." +msgstr "Ang gallery ay magbubukas ang ImageBrowser sa halip ang epekto." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:531 +msgid "Add hidden images" +msgstr "Magdagdag ng mga nakatagong mga larawan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:533 +msgid "" +"If pagination is used, this option will still show all images in the modal " +"window (Thickbox, Lightbox etc.). Note : This increases the page load" +msgstr "" +"Kung pagbilang ng pahina ay ginagamit, ang pagpipiliang ito ay pa rin " +"ipakita ang lahat ng mga imahe sa modal window (Thickbox, Lightbox atbp). " +"Paunawa: Ito pinatataas ang pag-load ng pahina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:539 +msgid "" +"Browse images without reload the page. Note : Works only in combination with " +"Shutter effect" +msgstr "" +"Mag-browse ng mga larawan nang walang i-reload ang pahina. Tandaan: Works " +"lamang sa kumbinasyon na may epekto Shutter" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:543 +msgid "Sort options" +msgstr "Sort options" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:546 +msgid "Sort thumbnails" +msgstr "Sort thumbnails" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:548 +msgid "Custom order" +msgstr "Custom order" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:550 +msgid "File name" +msgstr "File name" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:551 +msgid "Alt / Title text" +msgstr "Alt / Title text" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:552 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:58 +msgid "Date / Time" +msgstr "Petsa / Oras" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:556 +msgid "Sort direction" +msgstr "Sort direction" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:576 +msgid "" +"Here you can select the thumbnail effect, NextGEN Gallery will integrate the " +"required HTML code in the images. Please note that only the Shutter and " +"Thickbox effect will automatic added to your theme." +msgstr "" +"Dito maaari mong piliin ang mga thumbnail effect, ang NextGEN Gallery ay " +"isasama ang mga kinakailangang HTML code na ito sa mga larawan. Tandaan na " +"tanging ang Shutter at Thickbox effect ay awtomatikong idinagdag sa iyong " +"tema." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:577 +msgid "With the placeholder" +msgstr "Gamit ang placeholder" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:577 +msgid "" +"you can activate a navigation through the images (depend on the effect). " +"Change the code line only , when you use a different thumbnail effect or you " +"know what you do." +msgstr "" +"Maaari mong isaaktibo ang isang nabigasyon sa pamamagitan ng mga imahe " +"(nakasalalay sa mga epekto). Baguhin ang linya ng code lamang, kapag gumamit " +"ka ng ibang thumbnail effwct o kung alam mo kung ano ang ginagawa mo." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:580 +msgid "JavaScript Thumbnail effect" +msgstr "JavaScript Thumbnail effect" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:584 +msgid "Thickbox" +msgstr "Thickbox" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:585 +msgid "Lightbox" +msgstr "Lightbox" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:586 +msgid "Highslide" +msgstr "Highslide" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:587 +msgid "Shutter" +msgstr "Shutter" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:593 +msgid "Link Code line" +msgstr "Link Code line" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:615 +msgid "" +"Please note : You can only activate the watermark under -> Manage Gallery . " +"This action cannot be undone." +msgstr "" +"Tandaan: Maaari ka lamang buhayin ang watermark sa ilalim -> Pamahalaan ang " +"Gallery. Hindi na mababawi ang pagkilos na ito." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:620 +msgid "Preview" +msgstr "Preview" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:622 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:627 +msgid "Position" +msgstr "Posisyon" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:647 +msgid "Offset" +msgstr "Offset" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:663 +msgid "Use image as watermark" +msgstr "Gamitin ang imahe bilang watermark" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:666 +msgid "URL to file" +msgstr "URL to file" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:668 +msgid "The accessing of URL files is disabled at your server (allow_url_fopen)" +msgstr "" +"Ang pag-access ng mga file URL ay hindi pinagana sa iyong server " +"(allow_url_fopen)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:671 +msgid "Use text as watermark" +msgstr "Gamitin ang teksto bilang watermark" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:674 +msgid "Font" +msgstr "Font" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:683 +msgid "This function will not work, cause you need the FreeType library" +msgstr "" +"Function na ito ay hindi gagana, dahil kailangan mo ang FreeType library" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:685 +msgid "" +"You can upload more fonts in the folder nggallery/fonts" +msgstr "" +"Maaari kang mag-upload ng higit pang mga font sa folder nggallery / " +"font " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:694 +msgid "Color" +msgstr "Kulay" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:696 +msgid "(hex w/o #)" +msgstr "(hex w/o #)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:699 +msgid "Text" +msgstr "Text" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:703 +msgid "Opaque" +msgstr "Opaque" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:724 +msgid "Default size (W x H)" +msgstr "Default size (W x H)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:729 +msgid "Duration time" +msgstr "Duration time" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:730 +msgid "sec." +msgstr "segundo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:733 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:810 +msgid "Transition / Fade effect" +msgstr "Transisyon/Fade effect" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:736 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:813 +msgid "fade" +msgstr "fade" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:737 +msgid "blindX" +msgstr "blindX" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:738 +msgid "cover" +msgstr "cover" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:739 +msgid "scrollUp" +msgstr "i-scroll pataas" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:740 +msgid "scrollDown" +msgstr "i-scroll pababa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:741 +msgid "shuffle" +msgstr "shuffle" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:742 +msgid "toss" +msgstr "toss" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:743 +msgid "wipe" +msgstr "wipe" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:745 +msgid "See here for more information about the effects :" +msgstr "Tingnan dito para sa karagdagang impormasyon tungkol sa mga epekto:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:749 +msgid "Settings for the JW Image Rotator" +msgstr "Settings for the JW Image Rotator" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:758 +msgid "" +"The path to JW Image Rotator is not defined, the slideshow will not work." +msgstr "" +"Ang path sa JW image rotator ay hindi natukoy, ang slideshow ay hindi gagana." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:770 +msgid "Path to the JW Image Rotator (URL)" +msgstr "Path to the JW Image Rotator (URL)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:773 +msgid "Search now" +msgstr "Maghanap ngayon" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:774 +msgid "Press the button below to search for the JW Image Rotator" +msgstr "" +"Pindutin ang pindutan sa ibaba upang maghanap ng mga JW Image pampainog" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:778 +msgid "Shuffle mode" +msgstr "Shuffle mode" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:796 +msgid "You can change the logo at the watermark settings" +msgstr "Maaari mong baguhin ang logo sa mga setting ng watermark" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:802 +msgid "true" +msgstr "totoo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:803 +msgid "false" +msgstr "hindi totoo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:804 +msgid "fit" +msgstr "fit" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:805 +msgid "none" +msgstr "none" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:814 +msgid "bgfade" +msgstr "bgfade" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:815 +msgid "slowfade" +msgstr "slowfade" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:816 +msgid "circles" +msgstr "circles" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:817 +msgid "bubbles" +msgstr "bubbles" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:818 +msgid "blocks" +msgstr "blocks" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:819 +msgid "fluids" +msgstr "fluids" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:820 +msgid "flash" +msgstr "flash" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:821 +msgid "lines" +msgstr "linya" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:831 +msgid "Background Color" +msgstr "Kulay ng Background" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:836 +msgid "Texts / Buttons Color" +msgstr "Kulay ng teksto / Pindutan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:841 +msgid "Rollover / Active Color" +msgstr "Rollover / Active Color" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:846 +msgid "Screen Color" +msgstr "Kulay ng Screen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:851 +msgid "Background music (URL)" +msgstr "Background ng musika (URL)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:855 +msgid "Try XHTML validation (with CDATA)" +msgstr "Subukan ang pagpapatunay XHTML (na may CDATA)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:857 +msgid "" +"Important : Could causes problem at some browser. Please recheck your page." +msgstr "" +"Mahalaga: maaring maging sanhi ng problema sa ilang mga browser. Mangyaring " +"suriin ang inyong pahina." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:29 +msgid "Meta Data" +msgstr "Meta Data" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:34 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:60 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:85 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:109 +msgid "Tag" +msgstr "Tag" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:35 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:61 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:86 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:110 +msgid "Value" +msgstr "halaga" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:49 +msgid "No meta data saved" +msgstr "Walang mga meta data na-save" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:55 +msgid "EXIF Data" +msgstr "EXIF Data" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:74 +msgid "No exif data" +msgstr "Walang data Exif" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:81 +msgid "IPTC Data" +msgstr "IPTC Data" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:105 +msgid "XMP Data" +msgstr "XMP Data" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:11 +msgid "(From the theme folder)" +msgstr "(Mula sa folder ng tema)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:43 +msgid "You do not have sufficient permissions to edit templates for this blog." +msgstr "" +"Wala kang sapat na mga pahintulot upang i-edit ang mga template para sa blog " +"na ito." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:52 +msgid "CSS file successfully updated" +msgstr "Matagumpay na na-update CSS file" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:91 +msgid "Activate and use style sheet:" +msgstr "I-activate at gamitin style sheet:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:111 +msgid "Activate" +msgstr "Activate" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:121 +#, php-format +msgid "Editing %s" +msgstr "Pag-edit ng % s " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:123 +#, php-format +msgid "Browsing %s" +msgstr "Pagba-browse % s " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:133 +msgid "Version" +msgstr "salin" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:136 +msgid "" +"Tip : Copy your stylesheet (nggallery.css) to your theme folder, so it will " +"be not lost during a upgrade" +msgstr "" +"Tip: Kopyahin ang iyong stylesheet (nggallery.css) sa iyong folder ng tema, " +"ng hindi ito mawala sa panahong ikay nag-uupgrade" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:138 +msgid "" +"Your theme contain a NextGEN Gallery stylesheet (nggallery.css), this file " +"will be used" +msgstr "" +"Ang iyong tema maglaman ng isang stylesheet NextGEN Gallery (nggallery.css), " +"ang file na ito ay gagamitin" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:140 +msgid "" +"Tip No. 2: Use the color picker below to help you find the right color " +"scheme for your gallery!" +msgstr "" +"Tip No 2: Gamitin ang tagapili ng kulay sa ibaba upang makatulong sa iyo na " +"mahanap ang tamang scheme ng kulay para sa iyong gallery!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:156 +msgid "Update File" +msgstr "I-update ang File" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:159 +msgid "If this file were writable you could edit it." +msgstr "Kung ang file na ito ay writable maaari mong i-edit ito." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:164 +msgid "Oops, no such file exists! Double check the name and try again, merci." +msgstr "" +"Oops, walang umiiral na ganoong file! I-double check ang pangalan at " +"subukang muli, merci." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:41 +msgid "Most popular" +msgstr "Pinakapopular" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:42 +msgid "Least used" +msgstr "Least used" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:43 +msgid "Alphabetical" +msgstr "Alphabetical" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:100 +msgid "Manage image tags" +msgstr "Pamahalaan ang mga tag ng imahe" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:112 +msgid "Existing Tags" +msgstr "Existing Tags" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:116 +msgid "Search tags" +msgstr "Search tags" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:120 +msgid "Go" +msgstr "Go" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:125 +msgid "Sort Order:" +msgstr "Sort Order:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:160 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:164 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:177 +msgid "Previous tags" +msgstr "Previous tags" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:173 +msgid "Next tags" +msgstr "Next tags" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:185 +msgid "Rename Tag" +msgstr "Rename Tag" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:193 +msgid "" +"Enter the tag to rename and its new value. You can use this feature to " +"merge tags too. Click \"Rename\" and all posts which use this tag will be " +"updated." +msgstr "" +"Enter the tag to rename and its new value. You can use this feature to " +"merge tags too. Click \"Rename\" and all posts which use this tag will be " +"updated." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:194 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:242 +msgid "You can specify multiple tags to rename by separating them with commas." +msgstr "" +"Maaari mong tukuyin ang maramihang mga tag sa muling pangalanan sa " +"pamamagitan ng paghihiwalay ng mga ito gamit ang mga kuwit." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:198 +msgid "Tag(s) to rename:" +msgstr "Tag(s) to rename:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:202 +msgid "New tag name(s):" +msgstr "(Mga) bagong name tag:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:205 +msgid "Rename" +msgstr "Rename" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:211 +msgid "Delete Tag" +msgstr "Delete Tag" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:219 +msgid "" +"Enter the name of the tag to delete. This tag will be removed from all " +"posts." +msgstr "" +"Ipasok ang pangalan ng tag tanggalin. Ang tag na ito ay aalisin mula sa " +"lahat ng mga post." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:220 +msgid "You can specify multiple tags to delete by separating them with commas" +msgstr "" +"Maaari mong tukuyin ang maramihang mga tag tanggalin sa pamamagitan ng " +"paghihiwalay ng mga ito gamit ang mga kuwit" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:224 +msgid "Tag(s) to delete:" +msgstr "(Mga) Tag na tatanggalin:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:233 +msgid "Edit Tag Slug" +msgstr "Edit Tag Slug" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:241 +msgid "" +"Enter the tag name to edit and its new slug. This will be used in tagcloud " +"links. Slug definition" +msgstr "" +"Ipasok ang name tag na i-edit at sa bagi nitong slug. Ito ay magagamit sa " +"tagcloud link. kahulugan banatan " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:246 +msgid "Tag(s) to match:" +msgstr "Tag(s) to match" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:250 +msgid "Slug(s) to set:" +msgstr "Slug(s) to set:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_create_page_field.php:3 +msgid "Main Page (no parent)" +msgstr "Main Page (no parent)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_create_page_field.php:10 +msgid "Add page" +msgstr "Add pag" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_link_to_page_field.php:3 +msgid "Not linked" +msgstr "Not linked" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/thumbnails-template.php:103 +msgid "These are maximum values" +msgstr "Ang mga ito ang maximum na halaga" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:61 +msgid "" +"Some folders/files could not renamed, please recheck the permission and " +"rescan the folder in the manage gallery section." +msgstr "" +"Ang ilang mga folder / mga file ay hindi ma Pinalitan ang pangalan, maaring " +"suriin ang pahintulot at rescan ang folder sa seksyon ng pamahalaan gallery." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:63 +msgid "Rename failed" +msgstr "Nabigo ang Palitan ang pangalan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:159 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:178 +msgid "Upgrade NextGEN Gallery" +msgstr "I-upgrade ang NextGEN Gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:160 +msgid "The script detect that you upgrade from a older version." +msgstr "Ang script na detect na mag-upgrade mula sa isang mas lumang bersyon." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:161 +msgid "" +"Your database tables for NextGEN Gallery is out-of-date, and must be " +"upgraded before you can continue." +msgstr "" +"Ang iyong mga talahanayan ng database para sa NextGEN Gallery ay out-of-" +"date, at dapat ma-upgrade bago ka makapagpatuloy." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:162 +msgid "" +"If you would like to downgrade later, please make first a complete backup of " +"your database and the images." +msgstr "" +"Kung nais mong mag-downgrade sa ibang pagkakataon, mangyaring gumawa muna ng " +"isang kumpletong backup ng iyong database at ang mga imahe." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:163 +msgid "The upgrade process may take a while, so please be patient." +msgstr "" +"Maaaring tumagal ang proseso ng pag-upgrade sa isang habang, kaya mangyaring " +"maging mahinahon." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:164 +msgid "Start upgrade now" +msgstr "Simulan ang mag-upgrade ngayon" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:180 +msgid "Upgrade finished..." +msgstr "Ang upgrade ay tapos na ..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:181 +msgid "Continue" +msgstr "Ipagpatuloy" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:33 +msgid "Update successfully" +msgstr "matagumpay na pag update" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:48 +msgid "Network Options" +msgstr "Network Options" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:56 +msgid "" +"This is the default path for all blogs. With the placeholder %BLOG_ID% you " +"can organize the folder structure better." +msgstr "" +"Ito ang default na landas para sa lahat ng mga blog. Gamit ang placeholder% " +"BLOG_ID% maaari mong ayusin ang istraktura ng folder na mas mahusay." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:57 +#, php-format +msgid "The default setting should be %s" +msgstr "Ang default na setting ay dapat na% s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:61 +msgid "Enable upload quota check" +msgstr "Paganahin ang pag-upload quota check" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:63 +msgid "Should work if the gallery is bellow the blog.dir" +msgstr "Dapat gumana kung ang gallery ay pumalahaw ang blog.dir" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:67 +msgid "Enable zip upload option" +msgstr "Paganahin ang zip opsyon sa pag-upload" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:69 +msgid "Allow users to upload zip folders." +msgstr "Payagan ang mga gumagamit upang mag-upload ng zip folder." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:73 +msgid "Enable import function" +msgstr "Paganahin ang pag-import ng function" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:75 +msgid "Allow users to import images folders from the server." +msgstr "" +"Payagan ang mga user na i-import ang mga folder ng ​​mga imahe mula sa server." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:79 +msgid "Enable style selection" +msgstr "Paganahin ang pagpili ng estilo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:81 +msgid "Allow users to choose a style for the gallery." +msgstr "Payagan ang mga user upang pumili ng isang estilo para sa gallery." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:85 +msgid "Enable roles/capabilities" +msgstr "Paganahin ang mga tungkulin / kakayahan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:87 +msgid "Allow users to change the roles for other blog authors." +msgstr "" +"Payagan ang mga gumagamit upang baguhin ang mga tungkulin para sa iba pang " +"mga may-akda ng blog." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:91 +msgid "Default style" +msgstr "Default style" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:108 +msgid "Choose the default style for the galleries." +msgstr "Piliin ang default na estilo para sa mga gallery." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/core.php:410 +#, php-format +msgid "" +"Note : Based on your server memory limit you should not upload larger images " +"then %d x %d pixel" +msgstr "" +"Tandaan: Batay sa iyong mga limitasyon ng server memory hindi mo dapat i-" +"upload ang mas malaking imahe pagkatapos % dx% d pixel" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php:337 +#: products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php:338 +msgid "Album overview" +msgstr "Album overview" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:68 +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:70 +msgid "Set NextGEN featured image" +msgstr "Set NextGEN featured image" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:328 +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:329 +msgid "Set featured image" +msgstr "Itakda ang mga itinatampok na larawan" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:356 +msgid "Remove featured image" +msgstr "Alisin ang itinatampok na larawan" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:223 +msgid "Album" +msgid_plural "Albums" +msgstr[0] "Albums" +msgstr[1] "Album" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:35 +msgid "No new tag specified!" +msgstr "Walang tinukoy na bagong tag!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:50 +msgid "No new/old valid tag specified!" +msgstr "Walang tinukoy na mga bagong / lumang wastong tag!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:86 +msgid "No tag renamed." +msgstr "Pinalitan ang pangalan ng Walang tag." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:88 +#, php-format +msgid "Renamed tag(s) «%1$s» to «%2$s»" +msgstr "Renamed tag(s) «%1$s» to «%2$s»" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:95 +msgid "No valid new tag." +msgstr "Walang wastong bagong tag." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:112 +msgid "No objects (post/page) found for specified old tags." +msgstr "" +"Walang mga bagay (mga post / pahina) natagpuan para sa tinukoy na mga lumang " +"tag." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:141 +msgid "No tag merged." +msgstr "No tag merged." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:143 +#, php-format +msgid "" +"Merge tag(s) «%1$s» to «%2$s». %3$s objects edited." +msgstr "" +"Merge tag(s) «%1$s» to «%2$s». %3$s objects edited." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:146 +msgid "Error. Not enough tags provided to rename or merge." +msgstr "" +"Error. Hindi sapat ang ibinigay para muling pangalanan o pagsamahin ang mga " +"tag." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:165 +msgid "No tag specified!" +msgstr "No tag specified!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:188 +msgid "No tag deleted." +msgstr "No tag deleted." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:190 +#, php-format +msgid "%1s tag(s) deleted." +msgstr "%1s tag(s) deleted." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:206 +msgid "No new slug(s) specified!" +msgstr "No new slug(s) specified!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:218 +msgid "Tags number and slugs number isn't the same!" +msgstr "Bilang mga tag at slug bilang na ito ay hindi ang parehong!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:245 +msgid "No slug edited." +msgstr "No slug edited." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:247 +#, php-format +msgid "%s slug(s) edited." +msgstr "%s slug(s) edited." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:64 +msgid "" +"Translation by : See here" +msgstr "" +"Translation by : See here" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:65 +msgid "" +"This translation is not yet updated for Version 1.9.0. If " +"you would like to help with translation, download the current po from the " +"plugin folder and read here how you can translate the plugin." +msgstr "" +" pagsasalin ito ay hindi pa na-update para Bersyon 1.9.0 . " +"Kung nais mong upang makatulong sa pagsasalin, i-download ang kasalukuyang " +"po mula sa folder ng mga plugin at basahin ang dito kung paano mo magagawa isalin ang " +"plugin." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:158 +msgid "" +"Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB or higher" +msgstr "" +"Paumanhin, gumagana lamang ang NextGEN Gallery na may Memory Limit ng 16 MB " +"o mas mataas" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:184 +msgid "Picture tag" +msgstr "Picture tag" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:185 +msgid "Picture tag: %2$l." +msgstr "Picture tag: %2$l." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:186 +msgid "Separate picture tags with commas." +msgstr "Paghiwalayin ang mga larawan mga tag gamit ang mga kuwit." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:324 +msgid "Get help" +msgstr "Get help" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:325 +msgid "Contribute" +msgstr "Contribute" + +#: products/photocrati_nextgen/modules/ngglegacy/nggfunctions.php:29 +msgid "[Gallery not found]" +msgstr "[Hindi nahanap ang Gallery]" + +#: products/photocrati_nextgen/modules/ngglegacy/nggfunctions.php:163 +msgid "Related images for" +msgstr "Kaugnay na mga imahe para sa" + +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:38 +msgid "Meta data" +msgstr "Meta data" + +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:42 +msgid "Camera / Type" +msgstr "Camera / Uri" + +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:50 +msgid "Focal Length" +msgstr "Focal Length" + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:50 +msgid "No galleries have been yet created." +msgstr "Walang mga gallery pang nilikha." + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:69 +#, php-format +msgid "The gallery ID=%s does not exist." +msgstr "Ang gallery ID =% s ay hindi umiiral." + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:100 +msgid "No album ID has been provided as parameter" +msgstr "Walang ID album ay na ibinigay bilang parameter" + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:108 +#, php-format +msgid "The album ID=%s does not exist." +msgstr "Ang album ID =% s ay hindi umiiral." + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:115 +msgid "Invalid MediaRSS command" +msgstr "Di-wastong utos MediaRSS" + +msgid "NextGEN Basic Compact Album" +msgstr "NextGEN Basic Compact Album" + +msgid "NextGEN Basic Extended Album" +msgstr "NextGEN Basic Extended Album" + +msgid "NextGEN Basic Thumbnails" +msgstr "NextGEN Basic Thumbnails" + +msgid "NextGEN Basic Slideshow" +msgstr "NextGEN Basic Slideshow" + +msgid "NextGEN Basic ImageBrowser" +msgstr "NextGEN Basic ImageBrowser" + +msgid "NextGEN Basic Singlepic" +msgstr "NextGEN Basic Singlepic" + +msgid "NextGEN Basic Tagcloud" +msgstr "NextGEN Basic Tagcloud" diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-fr_FR.mo b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-fr_FR.mo new file mode 100644 index 0000000000000000000000000000000000000000..e7ad16d5cdaf9914c268caa73be34082ec9fd3f2 GIT binary patch literal 81168 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 HTZ{h#v%BzP literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-fr_FR.po b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-fr_FR.po new file mode 100644 index 0000000..49d6c9c --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-fr_FR.po @@ -0,0 +1,4341 @@ +# NextGEN Gallery base (English) .po source +# Copyright (C) 2014 Photocrati Media +# This file is distributed under the same license as the NextGEN Gallery package. +# +msgid "" +msgstr "" +"Project-Id-Version: NextGEN Gallery\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-02-20 19:45-0800\n" +"PO-Revision-Date: 2014-07-15 17:59+0100\n" +"Last-Translator: Jean-Yves Dumaine \n" +"Language-Team: Jean-Yves Dumaine\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.5.7\n" +"Language: Français\n" +"X-Poedit-SourceCharset: UTF-8\n" + +#: nggallery.php:290 +#, php-format +msgid "Every %d seconds" +msgstr "Chaque %d secondes" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:157 +#, php-format +msgid "Album: %s" +msgstr "Album: %s" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:159 +#, php-format +msgid "Gallery: %s" +msgstr "Galerie: %s" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:177 +msgid "Missing parameters" +msgstr "Paramètres manquants" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:213 +msgid "Displayed gallery does not exist" +msgstr "La Galerie à afficher n'existe pas" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:216 +msgid "Invalid request" +msgstr "Requête invalide" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:248 +msgid "NextGEN Gallery - Attach To Post" +msgstr "NextGEN Gallery - Attacher à l'article" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:266 +msgid "Display Galleries" +msgstr "Afficher les galeries" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:273 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_controller.php:7 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:192 +msgid "Add Gallery / Images" +msgstr "Ajouter une Galerie / des Images" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:280 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:160 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:194 +msgid "Manage Galleries" +msgid_plural "Manage Galleries" +msgstr[0] "Gestion des Galeries" +msgstr[1] "Gestion des Galeries" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:287 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:404 +msgid "Manage Albums" +msgid_plural "Manage Albums" +msgstr[0] "Gestion des Albums" +msgstr[1] "Gestion des Albums" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:294 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:162 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:198 +msgid "Manage Tags" +msgstr "Gestion des Mots-Clés" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:115 +msgid "What would you like to display?" +msgstr "Que voulez-vous afficher ?" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:139 +msgid "Select a display type" +msgstr "Choisir un type d'affichage" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:162 +msgid "Customize the display settings" +msgstr "Personnaliser les paramètres d'affichage" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:253 +msgid "No display type selected" +msgstr "Aucun type d'affichage sélectionné" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:271 +msgid "Sort or Exclude Images" +msgstr "Trier ou Exclure des Images" + +#: products/photocrati_nextgen/modules/attach_to_post/module.attach_to_post.php:186 +msgid "Invalid Displayed Gallery" +msgstr "La galerie affichée n'est pas valide" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab.php:10 +#: products/photocrati_nextgen/modules/nextgen_admin/templates/nextgen_admin_page.php:25 +msgid "Save" +msgstr "Sauvegarder" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:612 +msgid "Sources" +msgstr "Sources" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:646 +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:362 +msgid "(optional)" +msgstr "(optionnel)" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:654 +msgid "" +"Sets an SEO-friendly name to this gallery for URLs. Currently only in use by " +"the Pro Lightbox." +msgstr "" +"Donnez à cette galerie un nom qui facilitera son référencement par les " +"moteurs de recherche. Supporté uniquement dans Pro Lightbox" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:655 +msgid "Slug" +msgstr "Label Court" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:860 +msgid "No entities to display for this source." +msgstr "Aucune information à afficher en provenance de cette source" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1264 +msgid "Select a gallery" +msgstr "Choisir une galerie" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1292 +msgid "Albums" +msgstr "Albums" + +#: products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:34 +msgid "Code" +msgstr "Source" + +#: products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:48 +msgid "Stylesheet URL" +msgstr "URL de la feuille de style" + +#: products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:62 +msgid "Javascript URL" +msgstr "Javascript URL" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.import_folder_form.php:7 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:6 +msgid "Import Folder" +msgstr "Importer Un Répertoire" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:41 +msgid "No gallery name specified" +msgstr "Aucun nom de galerie spécifié" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:55 +msgid "Failed to extract images from ZIP" +msgstr "Echec lors de l'extraction d'images depuis le fichier ZIP" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:61 +msgid "Image generation failed" +msgstr "La production de l'Image a échouée" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:70 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:150 +msgid "An unexpected error occured." +msgstr "Une erreur inattendue est survenue." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:77 +msgid "" +"No permissions to upload images. Try refreshing the page or ensuring that " +"your user account has sufficient roles/privileges." +msgstr "" +"Pas de droits suffisants pour télécharger des images. Essayez de rafraîchir " +"la page ou assurez vous que des rôles/privilèges suffisants ont été " +"attribués à votre compte utilisateur." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:117 +msgid "Directory does not exist." +msgstr "Le répertoire n'existe pas." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:121 +msgid "No directory specified." +msgstr "Aucun répertoire spécifié." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:125 +msgid "" +"No permissions to browse folders. Try refreshing the page or ensuring that " +"your user account has sufficient roles/privileges." +msgstr "" +"Pas les droits pour parcourir les répertoires. Essayez de recharger la page " +"ou assurez vous que les rôles ou privilèges suffisants ont été attribués à " +"votre compte utilisateur." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:155 +msgid "No folder specified" +msgstr "Aucun répertoire spécifié" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:159 +msgid "" +"No permissions to import folders. Try refreshing the page or ensuring that " +"your user account has sufficient roles/privileges." +msgstr "" +"Pas de droits suffisants pour importer un répertoire. Essayez de rafraîchir " +"la page ou assurez vous que des rôles/privilèges suffisants ont été " +"attribués à votre compte utilisateur." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.upload_images_form.php:7 +msgid "Upload Images" +msgstr "Télécharger des Images" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:1 +msgid "" +"Select a folder to import. The folder name will be used as the title of the " +"gallery." +msgstr "" +"Choisir le répertoire à importer. Le nom du répertoire deviendra le titre de " +"la la galerie" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:5 +msgid "Keep images in original location." +msgstr "Laisser les images dans leur répertoire d'origine." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:5 +msgid "" +"Caution: If you keep images in the original folder and later delete the " +"gallery, the images in that folder might be deleted depending on your " +"settings." +msgstr "" +"Attention: Si vous laissez les images dans le répertoire d'origine et que " +"vous supprimez ultérieurement la galerie, il est possible, en fonction de " +"votre paramétrage, que ces images soient également supprimées." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:39 +msgid "Importing gallery" +msgstr "Import de la galerie en cours" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:41 +msgid "In Progress..." +msgstr "En cours..." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:56 +#, php-format +msgid "Done! Successfully imported %s images" +msgstr "Terminé! %s images ont été importées" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1268 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:2 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:189 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:217 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:226 +msgid "Gallery" +msgid_plural "Galleries" +msgstr[0] "Galerie" +msgstr[1] "Galeries" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:4 +msgid "Create a new gallery" +msgstr "Créer une nouvelle galerie" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:13 +msgid "You browser doesn't have Flash, Silverlight, HTML5, or HTML4 support." +msgstr "" +"Votre navigateur n'intègre pas les technologies Flash, Silverlight, HTML5 ou " +"HTML4." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:99 +msgid "Drag image and ZIP files here or click Add Files" +msgstr "" +"Déplacer les fichiers image ou ZIP ici ou cliquer sur Ajouter des " +"Fichiers" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:149 +#, php-format +msgid "%s images were uploaded successfully" +msgstr "%s images ont été téléchargées avec succès" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:152 +msgid "1 image was uploaded successfully" +msgstr "1 image a été téléchargé avec succès" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:155 +msgid "0 images were uploaded" +msgstr "Aucune image n'a été téléchargée" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:169 +msgid "Upload complete" +msgstr "Téléchargement terminé" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:191 +msgid "" +"An unexpected error occured. This is most likely due to a server " +"misconfiguration. Check your PHP error log or ask your hosting provider for " +"assistance." +msgstr "" +"Une erreur inattendue est survenue. Ceci est certainement lié à une mauvaise " +"configuration du serveur. Regardez dans votre fichier d'erreur log PHP ou " +"demandez l'assistance de votre hébergeur." + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:226 +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:167 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:537 +msgid "Enable AJAX pagination" +msgstr "Permettre une pagination AJAX" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:238 +msgid "Override thumbnail settings" +msgstr "Changer le paramétrage des vignettes" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:240 +msgid "" +"This does not affect existing thumbnails; overriding the thumbnail settings " +"will create an additional set of thumbnails. To change the size of existing " +"thumbnails please visit 'Manage Galleries' and choose 'Create new " +"thumbnails' for all images in the gallery." +msgstr "" +"Ce choix n'affecte pas les vignettes existantes. Surpasser les paramètres " +"existants créera un jeu additionel de vignettes. Pour changer la taille des " +"vignettes existantes, aller au menu \"Gestion des Galeries\" et choisir " +"l'option \"Créer de nouvelles vignettes\" pour toutes les images dans la " +"galerie." + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:248 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:37 +msgid "Thumbnail dimensions" +msgstr "Dimensions des Vignettes" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:262 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:431 +msgid "Thumbnail quality" +msgstr "Qualité des Vignettes" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:272 +msgid "Thumbnail crop" +msgstr "découpage de la Vignette" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:281 +msgid "Thumbnail watermark" +msgstr "Filigrane Vignette" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:306 +msgid "Override image settings" +msgstr "Changer le paramétrage des images" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:308 +msgid "Overriding the image settings will create an additional set of images" +msgstr "" +"Changer le paramétrage des images va créer un nouveau jeu additionnel " +"d'images " + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:316 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:66 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:456 +msgid "Image quality" +msgstr "Qualité de l'image" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:326 +msgid "Image crop" +msgstr "Découpage de l'Image" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:335 +msgid "Image watermark" +msgstr "Filigrane image" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:359 +msgid "Gallery width" +msgstr "Largeur de la Galerie" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:361 +msgid "An empty or 0 setting will make the gallery full width" +msgstr "" +"La Galerie sera en pleine largeur si vous aissez ce champ vide ou si vous le " +"mettez à 0 (zéro) " + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:365 +msgid "Pixels" +msgstr "Pixels" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:365 +msgid "Percent" +msgstr "Pour cent" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:374 +msgid "First Image" +msgstr "Première Image" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:375 +msgid "Average" +msgstr "En moyenne" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:100 +msgid "Clear" +msgstr "Effacer" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:101 +msgid "Default" +msgstr "Par défaut" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:102 +msgid "Select Color" +msgstr "Choisir la couleur" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:103 +msgid "Current Color" +msgstr "Couleur actuelle" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:174 +msgid "Saved successfully" +msgstr "Sauvegarde Réalisée" + +#: products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_radio.php:16 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_radio.php:16 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:122 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:24 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:40 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:65 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:191 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php:37 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:407 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:454 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:457 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:460 +msgid "Yes" +msgstr "Oui" + +#: products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_radio.php:24 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_radio.php:24 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:123 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:23 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:47 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:72 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:198 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php:44 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:409 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:455 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:458 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:461 +msgid "No" +msgstr "Non" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:25 +msgid "Display galleries as" +msgstr "Afficher les galeries comme" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:26 +msgid "How would you like galleries to be displayed?" +msgstr "Comment voulez-vous afficher les galeries ?" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:28 +msgid "Galleries per page" +msgstr "Galeries par page" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:47 +msgid "Items per page" +msgstr "Items par page" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:48 +msgid "Maximum number of galleries or sub-albums to appear on a single page" +msgstr "" +"Nombre maximum de galeries ou de sous-albums qui peuvent être affichés sur " +"une seule page" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/templates/compact.php:28 +#: products/photocrati_nextgen/modules/nextgen_basic_album/templates/extended.php:15 +#: products/photocrati_nextgen/modules/ngglegacy/view/album-compact.php:45 +#: products/photocrati_nextgen/modules/ngglegacy/view/album-extend.php:31 +msgid "Photos" +msgstr "Photos" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_mapper.php:94 +msgid "[Show PicLens]" +msgstr "[Montrer avec PicLens]" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:63 +msgid "Interval" +msgstr "Interval" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:67 +msgid "# of seconds" +msgstr "#de secondes" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:77 +msgid "Image limit" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:79 +msgid "Maximum number of images to display with recent or random sources" +msgstr "" +"Nombre maximum d'images à afficher en cas de mise en oeuvre d'une recherche " +"aléatoire ou des plus récentes." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:81 +msgid "# of images" +msgstr "# d'images" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:112 +msgid "Maximum dimensions" +msgstr "Dimensions maximales" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:113 +msgid "" +"Certain themes may allow images to flow over their container if this setting " +"is too large" +msgstr "" +"Un dimensionnement trop grand peut entrainer un débordement pour certains " +"thèmes" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:123 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:765 +msgid "Enable flash slideshow" +msgstr "Autoriser un diaporama en flash" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:125 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:767 +msgid "Integrate the flash based slideshow for all flash supported devices" +msgstr "" +"Intégrer les diaporamas basés sur du flash pour tous les équipements " +"supportant les contenus flash" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:134 +msgid "Shuffle" +msgstr "Shuffle" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:146 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:782 +msgid "Show next image on click" +msgstr "Passer à l'image suivante sur un click" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:158 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:786 +msgid "Show navigation bar" +msgstr "Montrer la barre de navigation" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:170 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:790 +msgid "Show loading icon" +msgstr "Montrer l'icone de téléchargement" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:182 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:794 +msgid "Use watermark logo" +msgstr "Utilise un logo en filigrane" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:184 +msgid "" +"Use the watermark image in the Flash object. Note: this does not watermark " +"the image itself, and cannot be applied with text watermarks" +msgstr "" +"Utilise l'image en filigrane dans l'objet Flash. Note: ceci ne modifie pas " +"l'image elle-même et ne peut être appliquer aux filigranes textuels." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:194 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:799 +msgid "Stretch image" +msgstr "Agrandir l'image" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:231 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:827 +msgid "Use slow zooming effect" +msgstr "Utilise l'effet de grossissement lent" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:243 +msgid "Background music (url)" +msgstr "Musique d'arrière pla (url)" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:256 +msgid "Try XHTML validation" +msgstr "Essayer une validation XHTML" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:268 +msgid "Background" +msgstr "Arrière plan" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:280 +msgid "Texts / buttons" +msgstr "Textes / Boutons" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:292 +msgid "Rollover / active" +msgstr "Couleur active au passage de la souris" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:304 +msgid "Screen" +msgstr "Ecran" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:322 +msgid "Show thumbnail link" +msgstr "Montrer le lien vers les vignettes" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:338 +msgid "Thumbnail link text" +msgstr "Texte du lien vers les Vignettes" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:65 +msgid "Images per page" +msgstr "Images par page" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:67 +msgid "0 will display all images at once" +msgstr "0 pour afficher toutes les images à la fois" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:85 +msgid "Number of columns to display" +msgstr "Nombre de colonnes à afficher" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:89 +msgid "# of columns" +msgstr "# de colonnes" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:105 +msgid "Piclens link text" +msgstr "Texte du lien pour visualiser avec Piclens" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:123 +msgid "Show piclens link" +msgstr "Montrer le lien Piclens" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:139 +msgid "Add Hidden Images" +msgstr "Ajouter des Images Cachées" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:141 +msgid "" +"If pagination is used this option will show all images in the modal window " +"(Thickbox, Lightbox etc.) This increases page load." +msgstr "" +"Si la pagination est mise en oeuvre, cette option affichera toutes images " +"dans la fenêtre modale (Thickbox, Lightbox etc.). Ceci augmente la charge de " +"la page." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:150 +msgid "Use imagebrowser effect" +msgstr "Utilise l'outil de visualisation des images" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:152 +msgid "" +"When active each image in the gallery will link to an imagebrowser display " +"and lightbox effects will not be applied." +msgstr "" +"Si activé, chaque image de la galerie sera affichée dans l'outil de " +"visualisation d'image et les effets \"lightbox\" ne seront pas appliqués." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:169 +msgid "Browse images without reloading the page." +msgstr "Permets de Parcourir les images sans recharger la page. " + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:184 +msgid "Show slideshow link" +msgstr "Montrer le lien vers le diaporama" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:200 +msgid "Slideshow link text" +msgstr "Texte du lien vers le Diaporama" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/index.php:35 +msgid "" +"Slideshows require the Flash Player and a browser with Javascript support." +msgstr "" +"Pour visualiser les Diaporamas, il faut disposer du Flash Player ainsi qu'un navigateur susceptible d'exécuter " +"du javascript." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/nextgen_basic_slideshow_settings_gallery_dimensions.php:13 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:38 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_dimensions.php:13 +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:52 +msgid "Width" +msgstr "Largeur" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/nextgen_basic_slideshow_settings_gallery_dimensions.php:21 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:40 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_dimensions.php:20 +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:40 +msgid "Height" +msgstr "Hauteur" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:41 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:26 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:30 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:26 +msgid "Back" +msgstr "Retour" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:49 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:29 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:33 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:29 +msgid "Next" +msgstr "Suivant" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:90 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:220 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:31 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:35 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:31 +msgid "Picture" +msgstr "Image" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:31 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:35 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:31 +msgid "of" +msgstr "parmi" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:53 +msgid "Link" +msgstr "Lien" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:78 +msgid "Display watermark" +msgstr "Afficher un filigrane" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:88 +msgid "Display reflection" +msgstr "Afficher les reflets" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:98 +msgid "Crop thumbnail" +msgstr "Découper la vignette" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:108 +msgid "Float" +msgstr "Positionnement" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:24 +msgid "Maximum number of tags" +msgstr "Nombre maximum de mots-clés" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:47 +msgid "Display type" +msgstr "Type d'affichage" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:50 +msgid "The display type that the tagcloud will point its results to" +msgstr "Le type d'affichage vers lequel le nuage de mots-clés pointera." + +#: products/photocrati_nextgen/modules/nextgen_basic_templates/adapter.nextgen_basic_template_form.php:46 +msgid "Template" +msgstr "Modèle" + +#: products/photocrati_nextgen/modules/nextgen_basic_templates/adapter.nextgen_basic_template_form.php:47 +msgid "Use a legacy template when rendering (not recommended)." +msgstr "Utilise un template de base pour l'affichage (non recommandé)" + +#: products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php:580 +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:658 +#: products/photocrati_nextgen/modules/ngglegacy/lib/multisite.php:23 +msgid "" +"Sorry, you have used your space allocation. Please delete some files to " +"upload more files." +msgstr "" +"Désolé, vous avez dépassé votre quota. Effacez quelques fichiers si vous " +"voulez en télécharger de nouveaux." + +#: products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php:1002 +msgid "Could not calculate resized image dimensions" +msgstr "" +"Les dimensions pour le redimensionnement n'ont pas pu être déterminées" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:154 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:135 +msgid " mm" +msgstr "mm" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:163 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:141 +msgid " sec" +msgstr "sec" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:168 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:145 +msgid "Fired" +msgstr "Activé" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:168 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:145 +msgid "Not fired" +msgstr "activé" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:539 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:452 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:46 +msgid "Aperture" +msgstr "Ouverture" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:540 +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:565 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:453 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:478 +msgid "Credit" +msgstr "Crédit" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:541 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:454 +msgid "Camera" +msgstr "Appareil" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:542 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:455 +msgid "Caption" +msgstr "Titre" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:543 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:26 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:114 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:456 +msgid "Date/Time" +msgstr "Dat/Heure" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:544 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:457 +msgid "Copyright" +msgstr "Copyright" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:545 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:458 +msgid "Focal length" +msgstr "longueur focale" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:546 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:459 +msgid "ISO" +msgstr "OSI" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:547 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:460 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:54 +msgid "Shutter speed" +msgstr "Vitesse du volet" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:548 +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:4 +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:3 +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:3 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:678 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:461 +msgid "Title" +msgstr "Titre" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:549 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:459 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:410 +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:132 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:462 +msgid "Author" +msgstr "Auteur" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:550 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:51 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:176 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:389 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:463 +msgid "Tags" +msgstr "Mots-Clés" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:551 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:464 +msgid "Subject" +msgstr "Sujet" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:552 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:465 +msgid "Make" +msgstr "Fait" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:553 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:466 +msgid "Edit Status" +msgstr "Modifier le Status" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:554 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:467 +msgid "Category" +msgstr "Catégorie" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:555 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:468 +msgid "Keywords" +msgstr "Mots Clés" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:556 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:469 +msgid "Date Created" +msgstr "Date de création" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:557 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:470 +msgid "Time Created" +msgstr "Heure de Création" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:558 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:471 +msgid "Author Position" +msgstr "Author Position" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:559 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:472 +msgid "City" +msgstr "Ville" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:560 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:473 +msgid "Location" +msgstr "Lieu" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:561 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:474 +msgid "Province/State" +msgstr "Province/Etat" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:562 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:475 +msgid "Country code" +msgstr "Code Pays" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:563 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:476 +msgid "Country" +msgstr "Pays" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:564 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:477 +msgid "Headline" +msgstr "Grandes Lignes" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:566 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:479 +msgid "Source" +msgstr "Source" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:567 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:480 +msgid "Copyright Notice" +msgstr "Informations de Copyright" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:568 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:481 +msgid "Contact" +msgstr "Cotact" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:569 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:482 +msgid "Last modified" +msgstr "Modifié dernièrement" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:570 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:483 +msgid "Program tool" +msgstr "Outil" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:571 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:484 +msgid "Format" +msgstr "Format" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:572 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:485 +msgid "Image Width" +msgstr "Largeur de l'image" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:573 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:486 +msgid "Image Height" +msgstr "Hauteur de l'image" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:574 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:487 +msgid "Flash" +msgstr "Flash" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:647 +#, php-format +msgid "Unable to create directory %s." +msgstr "Impossible de créer le répertoire %s." + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:652 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:823 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1021 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1106 +#, php-format +msgid "" +"Unable to write to directory %s. Is this directory writable by the server?" +msgstr "" +"Impossible d'écrire dans le répertoire %s. Ce répertoire est-il bien " +"accessible en écriture par le serveur ?" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:681 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1146 +#, php-format +msgid "Failed to copy database row for picture %s" +msgstr "" +"Echec lors de la copie d'une rangée de la base de données pour l'image %s" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:693 +#, php-format +msgid "Failed to get image path for %s" +msgstr "Echec pour retrouver le chemin de l'image %s" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:711 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1132 +#, php-format +msgid "Failed to copy image %1$s to %2$s" +msgstr "Echec lors de la copie de l'image %1$s vers %2$s" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:715 +#, php-format +msgid "Copied image %1$s to %2$s" +msgstr "Image(s) copiées de %1$s à %2$s" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:723 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1158 +#, php-format +msgid "" +"Image %1$s (%2$s) copied as image %3$s (%4$s) » The file already " +"existed in the destination gallery." +msgstr "" +"L'Image %1$s (%2$s) a été copiée en %3$s (%4$s) » Ce fichier était " +"déjà présent dans la galerie de destination." + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:727 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1161 +#, php-format +msgid "Image %1$s (%2$s) copied as image %3$s (%4$s)" +msgstr "L'Image %1$s (%2$s) a été copiée en %3$s (%4$s)" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:740 +#, php-format +msgid "Copied %1$s picture(s) to gallery %2$s ." +msgstr "%1$s image(s) copiée(s) dans la galerie %2$s ." + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:767 +msgid "Could not find image" +msgstr "L'image n'a pas pu être retrouvée" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:772 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:388 +msgid " is not writeable" +msgstr "n'est pas accessible en écriture" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:777 +msgid "Backup file does not exist" +msgstr "Le fichier de suavegarde n'existe pas" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:782 +msgid "Could not restore original image" +msgstr "L'image originale n'a pas pu être restaurée" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.display_settings_controller.php:17 +#: products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:242 +#: products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:328 +msgid "Gallery Settings" +msgstr "Paramétrage des Galeries" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery.php:73 +msgid "Source not compatible with selected display type" +msgstr "" +"Le format de la source n'est pas compatible avec le type d'affichage " +"sélectionné" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:327 +msgid "NextGEN Gallery & Album Settings" +msgstr "Paramétrage des galeries et Albums NextGEN" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/templates/alt_view_link_text.php:15 +#: products/photocrati_nextgen/modules/nextgen_gallery_display/templates/return_link_text.php:15 +msgid "link text" +msgstr "texte du lien" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:12 +msgid "Image Options" +msgstr "Options des Images" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:22 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:588 +#: products/photocrati_nextgen/modules/ngglegacy/admin/thumbnails-template.php:76 +msgid "Custom" +msgstr "Personnalisé(e)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:23 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:111 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:549 +msgid "Image ID" +msgstr "Image ID" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:24 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:570 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:112 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:166 +msgid "Filename" +msgstr "Nom du Fichier" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:25 +msgid "Alt/Title Text" +msgstr "Alt/Title Texte" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:38 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:115 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:557 +msgid "Ascending" +msgstr "Ascendant" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:39 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:116 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:558 +msgid "Descending" +msgstr "Descendant" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:50 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:388 +msgid "Categories" +msgstr "Catégories" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:81 +msgid "Gallery path does not exist and could not be created" +msgstr "Le chemin des Galeries n'existe pas et n'a pas pu être créé." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:86 +msgid "Where would you like galleries stored?" +msgstr "Où voulez-vous stocker les galeries ?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:87 +msgid "Where galleries and their images are stored" +msgstr "Le répertoire dans lequel sont stockées les galeries et leurs images." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:89 +msgid "Delete Image Files?" +msgstr "Effacer les Fichiers Image ?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:90 +msgid "" +"When enabled, image files will be removed after a Gallery has been deleted" +msgstr "" +"Si autoisé, les fichiers images seront supprimés lors de la suppression de " +"la Galerie" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:92 +msgid "Show Related Images on Posts?" +msgstr "Montrer les Images Liées sur les Articles ?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:93 +msgid "" +"When enabled, related images will be appended to each post by matching the " +"posts tags/categories to image tags" +msgstr "" +"Si autorisé, les images en relation seront ajoutées à chaque article dont la " +"catégorie ou l'mot-clé correspond aux mot-clés de l'image" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:95 +msgid "(Show Customization Settings)" +msgstr "(Montrer les Paramètres de Configuration)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:96 +msgid "(Hide Customization Settings)" +msgstr "(Cacher les Paramètres de Configuration)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:97 +msgid "How should related images be match?" +msgstr "Par quel critère les images liées le sont-elles ?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:100 +msgid "Maximum # of related images to display" +msgstr "Nombre maximum d'images en relation à afficher" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:102 +msgid "Heading for related images" +msgstr "Titre pour les images en relation" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:104 +msgid "What's the default sorting method?" +msgstr "Quelle méthode de tri par défaut ?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:107 +msgid "Sort in what direction?" +msgstr "Dans quelle direction le tri ?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:110 +msgid "Automatically resize images after upload" +msgstr "Retailler automatiquement les images après téléchargement" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:111 +msgid "It is recommended that your images be resized to be web friendly" +msgstr "" +"Il est recommandé de redimensionner les images de telle sorte qu'elles " +"soient \"web friendly\"" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:113 +msgid "What should images be resized to?" +msgstr "A quelles dimensions les images doivent-elles être retaillées ?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:114 +msgid "" +"After images are uploaded, they will be resized to the above dimensions and " +"quality" +msgstr "" +"Une fois téléchargées, les images seront retaillées en appliquant les " +"dimensions et la qualité indiquées ci-dessus" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:115 +msgid "Width:" +msgstr "Largeur:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:116 +msgid "Height:" +msgstr "Hauteur:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:117 +msgid "Quality:" +msgstr "Qualité:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:121 +msgid "Backup the original images?" +msgstr "Créer une sauvegarde des images d'origine ?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.lightbox_manager_form.php:12 +msgid "Lightbox Effects" +msgstr "Effets Lightbox" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.lightbox_manager_form.php:38 +msgid "What effect would you like to use?" +msgstr "Quel effet voulez-vous utiliser ?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:12 +msgid "Miscellaneous" +msgstr "Divers" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:21 +msgid "Add MediaRSS link?" +msgstr "Ajouter un lien MediaRSS ?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:22 +msgid "" +"When enabled, adds a MediaRSS link to your header. Third-party web services " +"can use this to publish your galleries" +msgstr "" +"Si autorisé, un lien MediaRSS sera ajouté au header de votre site. Des " +"services Web tiers pourront ainsi publier vos galeries grâce à ces liens." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:26 +msgid "Clear image cache" +msgstr "Effacer le cache image" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:27 +msgid "" +"Completely clear the NextGEN cache of all image modifications?\n" +"\n" +"Choose [Cancel] to Stop, [OK] to proceed." +msgstr "" +"Efface totalement le cache NextGEN de toutes les modifications d'image?\n" +"\n" +"Choisir [Annuler] pour Arrêter, [OK] pour continuer." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:32 +msgid "Permalink slug" +msgstr "Permalien" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:39 +msgid "Maximum image count" +msgstr "Nombre maximum d'images" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:41 +msgid "" +"This is the maximum limit of images that NextGEN will restrict itself to " +"querying" +msgstr "" +"Il s'agit du nombre maximum d'images que NextGEN tentera de retrouver lors " +"d'une recherche." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.other_options_controller.php:22 +#: products/photocrati_nextgen/modules/nextgen_other_options/module.nextgen_other_options.php:39 +msgid "Other Options" +msgstr "Autres Options" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:7 +msgid "Reset Options" +msgstr "Options de Réinitialisation" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:15 +msgid "Reset all options to default settings" +msgstr "Remettre toutes les options à leurs valeurs par défaut" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:16 +msgid "" +"Replace all existing options and gallery options with their default settings" +msgstr "Remettre toutes les options à leurs valeurs par défaut" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:17 +msgid "Reset settings" +msgstr "Paramètres de Réinitialisation" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:18 +msgid "" +"Reset all options to default settings?\n" +"\n" +"Choose [Cancel] to Stop, [OK] to proceed." +msgstr "" +"Remettre toutes les options à leurs valeurs par défaut?\n" +"\n" +"Coisissez [Annuler] to arrêter, [OK] pour continuer." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.roles_form.php:7 +msgid "Roles & Capabilities" +msgstr "Rôles & Permissions" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:12 +msgid "Styles" +msgstr "Styles" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:18 +msgid "What stylesheet would you like to use?" +msgstr "Quelles feuilles de style voulez-vous appliquer ?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:21 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:136 +msgid "(Show Customization Options)" +msgstr "(Montrer les Options de Configuration)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:22 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:137 +msgid "(Hide Customization Options)" +msgstr "(Cacher les Options de Configuration)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:23 +msgid "File Content:" +msgstr "Contenu du fichier:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:24 +msgid "Changes you make to the contents will be saved to" +msgstr "Vos modifications seront sauvegardées dans le répertoire " + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:25 +msgid "You could edit this file if it were writable" +msgstr "Vous pourriez modifier ce fichier s'il était autorisé en écriture" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:12 +msgid "Thumbnail Options" +msgstr "Options des Vignettes" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:20 +msgid "Default thumbnail dimensions:" +msgstr "Dimensions par défaut des vignettes:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:21 +msgid "When generating thumbnails, what image dimensions do you desire?" +msgstr "" +"Pour la génération des vignettes, quelles dimensions d'image voulez-vous ?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:24 +msgid "Set fix dimension?" +msgstr "Taille fixe ?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:25 +msgid "Ignore the aspect ratio, no portrait thumbnails?" +msgstr "" +"Ne pas tenir compte du rapport d'aspect, pas de vignette en mode portrait ?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:27 +msgid "Adjust Thumbnail Quality?" +msgstr "Ajuster la qualité des Vignettes ?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:28 +msgid "When generating thumbnails, what image quality do you desire?" +msgstr "" +"Pour la génération des vignettes, quelle qualité d'image voulez-vous ?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:30 +msgid "Size List" +msgstr "Liste des Tailles" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:31 +msgid "List of default sizes used for thumbnails and images" +msgstr "Liste des tailles par défaut pour les vignettes et les images" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:12 +msgid "Watermarks" +msgstr "Filigranes" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:41 +msgid "Using an Image" +msgstr "A partir d'une image" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:42 +msgid "Using Text" +msgstr "A partir d'un Texte" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:69 +msgid "An absolute or relative (to the site document root) file system path" +msgstr "Un chemin de fichier absolu ou relatif (au \"document root\" du site)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:71 +msgid "" +"An absolute or relative (to the site document root) file system path or an " +"HTTP url" +msgstr "" +"Un chemin de fichier absolu ou relatif (au \"document root\" du site) ou une " +"url HTTP" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:74 +msgid "Image URL:" +msgstr "URL de l'image:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:90 +msgid "Font Family:" +msgstr "Famille de la Pocile:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:92 +msgid "Font Size:" +msgstr "Taille de la Police:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:94 +msgid "Font Color:" +msgstr "Couleur de la Police:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:97 +msgid "Text:" +msgstr "Texte:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:99 +msgid "Opacity:" +msgstr "Opacité:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:126 +msgid "" +"Please note: You can only activate the watermark under Manage Gallery. This " +"action cannot be undone." +msgstr "" +"Note: Vous ne pouvez activer la fonction filigrane qu'à partir du menu " +"\"Gérer les Galeries\". Il n'est pas possible de revenir en arrière après " +"cette action. " + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:127 +msgid "How will you generate a watermark?" +msgstr "Comment produire le filigrane ?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:131 +msgid "Position:" +msgstr "Position:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:133 +msgid "Offset:" +msgstr "Décalage:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:139 +msgid "Preview of saved settings:" +msgstr "Prévisualiser le résultat avant sauvegarde:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:140 +msgid "Refresh preview image" +msgstr "Rafraîchir l'image de prévisualisation" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:34 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:37 +msgid "(Show Advanced Settings)" +msgstr "(Montrer le Paramétrage Avancé)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:35 +msgid "(Hide Advanced Settings)" +msgstr "(Cacher le Paramétrage Avancé)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:56 +msgid "What must the lightbox be applied to?" +msgstr "A quoi l'effet \"lightbox\" doit-il être appliqué ?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:60 +msgid "Only apply to NextGEN images" +msgstr "Appliquer uniquement aux images gérées par NextGEN" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:61 +msgid "Only apply to NextGEN and WordPress images" +msgstr "" +"Appliquer uniquement aux images gérées par NextGen et par Wordpress (Media)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:62 +msgid "Try to apply to all images" +msgstr "Essayer de l'appliquer à toutes les images" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:63 +msgid "Try to apply to all images that link to image files" +msgstr "" +"Essayer de l'appliquer à toutes les images pointant vers un fichier image." + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php:21 +msgid "Place any custom stylesheets in wp-content/ngg_styles" +msgstr "" +"Mettez les feuilles de style personnalisées dans le répertoire wp-" +"content/ngg_styles" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php:24 +#, php-format +msgid "All stylesheets must contain a file header" +msgstr "" +"Toutes les feuilles de style doivent contenir un file header" + +#: products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:41 +msgid "Related Images" +msgstr "Images liées" + +#: products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:61 +msgid "[Show slideshow]" +msgstr "[Montrer sous forme de diaporama]" + +#: products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:62 +msgid "[Show thumbnails]" +msgstr "[Montrer sous forme de vignettes]" + +#: products/photocrati_nextgen/modules/nextgen_xmlrpc/module.nextgen_xmlrpc.php:425 +msgid "Sorry, you must be able to manage galleries" +msgstr "Désolé, vous n'avez pas les droits pour gérer les galeries" + +#: products/photocrati_nextgen/modules/widget/class.widget_gallery.php:7 +msgid "Add recent or random images from the galleries" +msgstr "Ajouter les images les plus récentes ou au hasard depuis les galeries" + +#: products/photocrati_nextgen/modules/widget/class.widget_gallery.php:8 +msgid "NextGEN Widget" +msgstr "Widget NextGEN" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:9 +msgid "Widget that displays Media RSS links for NextGEN Gallery." +msgstr "Widget qui affiche les liens MediaRSS pour NextGEN Gallery." + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:10 +msgid "NextGEN Media RSS" +msgstr "NextGEN Media RSS" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:22 +msgid "Media RSS" +msgstr "Media RSS" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:23 +msgid "Link to the main image feed" +msgstr "Lien vers la source principale" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:93 +#: products/photocrati_nextgen/modules/ngglegacy/view/gallery-caption.php:32 +#: products/photocrati_nextgen/modules/ngglegacy/view/gallery.php:32 +msgid "[View with PicLens]" +msgstr "[Visualiser avec PicLens]" + +#: products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:7 +msgid "Show a NextGEN Gallery Slideshow" +msgstr "Affiche un Diaporama NextGEN Gallery" + +#: products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:8 +msgid "NextGEN Slideshow" +msgstr "Diaporame NextGEN" + +#: products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:76 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:321 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:521 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:721 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:215 +msgid "Slideshow" +msgstr "Diaporama" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:15 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:229 +msgid "Show" +msgstr "Montrer" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:26 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:316 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:520 +msgid "Thumbnails" +msgstr "Vignettes" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:29 +msgid "Original images" +msgstr "Images Originales" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:42 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:822 +msgid "random" +msgstr "au hasard" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:50 +msgid "recently added" +msgstr "ajouté récemment" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:62 +msgid "Enable IE8 Web Slices" +msgstr "Autoriser les composanats Web Slices d'IE8" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:68 +msgid "Width x Height" +msgstr "Largeur x Hauteur" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:87 +msgid "Select" +msgstr "Choisir" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:92 +msgid "All galleries" +msgstr "Toutes les galeries" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:95 +msgid "Only which are not listed" +msgstr "Uniquement ceux qui ne sont pas dans la liste" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:98 +msgid "Only which are listed" +msgstr "Uniquement ceux qui sont dans la liste" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:107 +msgid "Gallery ID" +msgstr "ID de la Galerie" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:114 +msgid "Gallery IDs, separated by commas." +msgstr "IDs des galeries, séparés par des virules." + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:19 +msgid "Show Media RSS icon" +msgstr "Montrer l'icône MediaRSS" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:30 +msgid "Show the Media RSS link" +msgstr "Montrer le lien Media RSS" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:36 +msgid "Text for Media RSS link" +msgstr "texte du lien Media RSS" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:47 +msgid "Tooltip text for Media RSS link" +msgstr "text de l'infobulle pour le lien Media RSS" + +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:15 +msgid "Select Gallery" +msgstr "Choisir une Galerie" + +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:23 +msgid "All images" +msgstr "Toutes les images" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:159 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:190 +msgid "Overview" +msgstr "Vue Générale" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:172 +msgid "Network settings" +msgstr "Paramétrage Réseau" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:305 +msgid "You do not have the correct permission" +msgstr "Vous n'avez pas les droits d'accès suffisants" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:306 +msgid "Unexpected Error" +msgstr "Erreur inattendue" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:307 +msgid "A failure occurred" +msgstr "Une erreur est apparue" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:311 +msgid "You have attempted to queue too many files." +msgstr "Vous avez mis trop de fichiers dans la file d'attente." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:312 +msgid "This file exceeds the maximum upload size for this site." +msgstr "Ce fichier dépasse la taille maximale autorisée sur ce site." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:313 +msgid "This file is empty. Please try another." +msgstr "Ce fichier est vide. Essayez avec un autre." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:314 +msgid "This file type is not allowed. Please try another." +msgstr "Le type de ce fichier n'est pas autorisé. Essayez avec un autre." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:315 +msgid "This file is not an image. Please try another." +msgstr "Ce fichier n'est pas une image. Essayez avec un autre." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:316 +msgid "Memory exceeded. Please try another smaller file." +msgstr "Dépassement mémoire. Merci d'essayer avec un fichier plus petit." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:317 +msgid "This is larger than the maximum size. Please try another." +msgstr "De taille supérieure à la taille maximum. Essayez avec un autre." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:318 +msgid "An error occurred in the upload. Please try again later." +msgstr "" +"Une erreur est survenue pendant le téléchargement. Merci de réessayer un peu " +"plus tard." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:319 +msgid "" +"There was a configuration error. Please contact the server administrator." +msgstr "" +"Erreur de configuration. Merci d'en référer à l'administrateur du serveur." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:320 +msgid "You may only upload 1 file." +msgstr "Vous ne pouvez téléchargé qu'un seul fichier" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:321 +msgid "HTTP error." +msgstr "erreur HTTP" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:322 +msgid "Upload failed." +msgstr "Echec du téléchargement." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:323 +msgid "IO error." +msgstr "Erreur d'E/S." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:324 +msgid "Security error." +msgstr "Erreur de Sécurité." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:325 +msgid "File canceled." +msgstr "Fichier annulé." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:326 +msgid "Upload stopped." +msgstr "Téléchargement arrêté." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:327 +msgid "Dismiss" +msgstr "Rejeter" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:328 +msgid "Crunching…" +msgstr "Crissement…" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:329 +msgid "moved to the trash." +msgstr "déplacé(es) dans la corbeille." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:330 +#, php-format +msgid "“%s” has failed to upload due to an error" +msgstr "“%s” n'a pas été téléchargé à cause d'une erreur" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:352 +msgid "L O A D I N G" +msgstr "C H A R G E M E N T E N C O U R S" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:353 +msgid "Click to Close" +msgstr "Cliquer pour fermer" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:462 +msgid "" +"Introduction" +msgstr "" +"Introduction" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:465 +msgid "" +"Languages" +msgstr "" +"Langues" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:470 +msgid "Get help with NextGEN Gallery" +msgstr "Obtenir de l'aide pour NextGEN Gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:474 +msgid "More Help & Info" +msgstr "Une aide avancée et plus d'informations" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:476 +msgid "" +"Support Forums" +msgstr "" +"Support Forums" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:477 +msgid "FAQ" +msgstr "FAQ" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:478 +msgid "Feature request" +msgstr "Demande d'évolution" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:479 +msgid "Get your language pack" +msgstr "Récupérer les fichiers pour votre langue" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:480 +msgid "Contribute development" +msgstr "Contribuer au développement" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:481 +msgid "Download latest version" +msgstr "Télécharger la dernière version" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/ajax.php:360 +#, php-format +msgid "Could create image with %s x %s pixel" +msgstr "Image de %s x %s pixel a pu être créée" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:172 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:216 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:239 +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:19 +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:22 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:619 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:7 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:10 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:13 +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:17 +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:20 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:10 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:13 +msgid "Cheatin’ uh?" +msgstr "On triche’ uh?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:180 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:209 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:253 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:178 +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:24 +msgid "Update Successfully" +msgstr "Correctement Mis à jour " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:227 +msgid "Album deleted" +msgstr "Album supprimé" + +# Used with two different meanings in english, which are non translated easily in french: one meaning is for "edit the album", the other meaning is "edit any album" (role) +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:389 +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:55 +msgid "Edit Album" +msgstr "Modifier Album" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:410 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:459 +msgid "Select album" +msgstr "Choisir un album" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:412 +msgid "No album selected" +msgstr "Aucun album sélectionné" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:423 +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:166 +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:94 +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:112 +msgid "Update" +msgstr "Mettre à jour" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:425 +msgid "Edit album" +msgstr "Modifier l'album" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:428 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:187 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:362 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:364 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:227 +msgid "Delete" +msgstr "Effacer" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:432 +msgid "Add new album" +msgstr "Ajouter un nouvel Album" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:434 +msgid "Add" +msgstr "Ajouter" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:445 +msgid "Show / hide used galleries" +msgstr "Montre / Cache les galeries utilisées" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:445 +msgid "[Show all]" +msgstr "[Tout voir]" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:446 +msgid "Maximize the widget content" +msgstr "Agrandir le contenu du widget" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:446 +msgid "[Maximize]" +msgstr "[Maximiser]" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:447 +msgid "Minimize the widget content" +msgstr "Réduire le contenu du widget" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:447 +msgid "[Minimize]" +msgstr "[Minimiser]" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:449 +msgid "" +"After you create and select a album, you can drag and drop a gallery or " +"another album into your new album below" +msgstr "" +"Une fois que vous aurez créé et sélectionné un album, vous pourrez y glisser " +"et déposer une galerie ou un autre album (voir ci-dessous)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:475 +msgid "Select gallery" +msgstr "Choisir une galerie" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:500 +msgid "Album ID" +msgstr "Album ID" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:513 +msgid "No album selected!" +msgstr "Aucun album sélectionné !" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:534 +msgid "Album name:" +msgstr "Nom de l'Album:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:540 +msgid "Album description:" +msgstr "Description de l'Album:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:546 +msgid "Select a preview image:" +msgstr "Choisir l'image de garde" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:549 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:552 +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_preview_image_field.php:3 +msgid "No picture" +msgstr "Aucune image" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:563 +msgid "Page Link to" +msgstr "Lier la page à " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:582 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:337 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:366 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:397 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:406 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:442 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:471 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:502 +msgid "OK" +msgstr "OK" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:584 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:339 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:368 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:399 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:408 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:444 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:473 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:504 +msgid "Cancel" +msgstr "Annuler" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:677 +msgid "Name" +msgstr "Nom" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:679 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:229 +msgid "Page" +msgstr "Page" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:116 +msgid "Select with the mouse the area for the new thumbnail" +msgstr "Choisir avec la souris la zone de l'image pour la nouvelle vignette" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:130 +msgid "Thumbnail updated" +msgstr "Vignette mise à jour" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:135 +msgid "Error updating thumbnail" +msgstr "Erreur lors de la mise à jour de la vignette" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:151 +msgid "Select the area for the thumbnail from the picture on the left." +msgstr "Choisir dans la figure à gauche la zone qui servira pour la vignette" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:39 +msgid "No valid gallery name!" +msgstr "Non de galerie non valide!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:46 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:80 +msgid "Directory" +msgstr "Le répertoire" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:46 +msgid "didn't exist. Please create first the main gallery folder " +msgstr "" +"n'existe pas. Merci de créer d'abord le répertoire principal pour les " +"galeries" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:47 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:56 +msgid "Check this link, if you didn't know how to set the permission :" +msgstr "Suivez ce lien, si vous ne savez pas comment gérer les permissions" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:80 +msgid "is not writeable !" +msgstr "n'est pas accessible en écriture !" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:76 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:85 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:736 +#: products/photocrati_nextgen/modules/ngglegacy/lib/core.php:101 +msgid "Unable to create directory " +msgstr "Impossible de créer le répertoire" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:89 +msgid "The server setting Safe-Mode is on !" +msgstr "Le mode \"Safe-Mode\" est actif sur votre serveur !" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:90 +msgid "If you have problems, please create directory" +msgstr "Si vous rencontrez des problèmes, créez le répertoire" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:91 +msgid "and the thumbnails directory" +msgstr "et le répertoire des vignettes" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:91 +msgid "with permission 777 manually !" +msgstr "manuellement avec les permissions 777!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:116 +#, php-format +msgid "" +"Gallery ID %1$s successfully created. You can show this gallery in your post " +"or page with the shortcode %2$s.
      " +msgstr "" +"La Galerie avec l'ID %1$s a été créée avec succès. Vous pouvez l'intégrer " +"dans vos articles ou pages en utilisant le shortcode %2$s.
      " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:119 +msgid "Edit gallery" +msgstr "Modifier la galerie" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:188 +msgid "Error while creating thumbnail." +msgstr "Erreur pendant la création de la vignette" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:242 +msgid "Error while resizing image." +msgstr "Erreur lors du redimensionnement de l'image" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:326 +msgid "Error while rotating image." +msgstr "Erreur lors de la rotation de l'image" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:361 +msgid "Error while applying watermark to image." +msgstr "Erreur lors de l'application du filigrane à l'image" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:385 +msgid "Object didn't contain correct data" +msgstr "L'Objet contient des données invalides" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:391 +msgid "File do not exists" +msgstr "Le fichier n'existe pas" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:395 +msgid "Couldn't restore original image" +msgstr "L'image originale n'a pas pu être restaurée" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:511 +msgid "(Error : Couldn't not update data base)" +msgstr "(Erreur: Impossible de mettre à jour la base de données)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:518 +msgid "(Error : Couldn't not update meta data)" +msgstr "(Erreur: Impossible de mettre à jour les meta données)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:527 +msgid "(Error : Couldn't not find image)" +msgstr "(Erreur: Ne peut retrouver l'image)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:670 +msgid "No valid URL path " +msgstr "URL invalide" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:686 +msgid "Import via cURL failed." +msgstr "L'import via cURL a échoué" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:703 +msgid "Uploaded file was no or a faulty zip file ! The server recognized : " +msgstr "" +"Le fichier téléchargé n'était pas un fichier Zip ou alors un fichier zip en " +"errzur ! Le serveur a reconnu :" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:720 +msgid "Could not get a valid foldername" +msgstr "Un nom de répertoire valide n'a pas pu être déterminé" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:731 +#, php-format +msgid "" +"Unable to create directory %s. Is its parent directory writable by the " +"server?" +msgstr "" +"Impossible de créer le répertoire %s. Son parent est-il accessible en " +"écriture par le serveur ?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:746 +msgid "Zip-File successfully unpacked" +msgstr "Zip-File décompressé avec succès" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:777 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:877 +msgid "No gallery selected !" +msgstr "Aucune galerie n'a été sélectionnée !" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:785 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:902 +msgid "Failure in database, no gallery path set !" +msgstr "" +"Problème dans la base de données, pas de chemin vers les galeries défini !" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:809 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:896 +msgid "is no valid image file!" +msgstr "n'est pas un fichier image valide" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:830 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:919 +msgid "Error, the file could not be moved to : " +msgstr "Erreur, le fichier n'a pas pu être déplacé dans:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:835 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:923 +msgid "Error, the file permissions could not be set" +msgstr "Erreur, les permissions sur fichier n'ont pas pu être appliquées" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:853 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:111 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:189 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:238 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:322 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:661 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:740 +msgid "Create new thumbnails" +msgstr "Créer de nouvelles vignettes" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:858 +msgid " Image(s) successfully added" +msgstr "Images(s) ajoutée(s) avec succès" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:885 +msgid "Invalid upload. Error Code : " +msgstr "Téléchargement invalide. Code d'erreur:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:961 +#, php-format +msgid "" +"SAFE MODE Restriction in effect! You need to create the folder %s manually" +msgstr "" +"PHP en mode \"safe mode\". Vous devez créer le répertoire %s vous-même manuellement" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:962 +#, php-format +msgid "" +"When safe_mode is on, PHP checks to see if the owner (%s) of the current " +"script matches the owner (%s) of the file to be operated on by a file " +"function or its directory" +msgstr "" +"Quand le mode safe_mode est actif, PHP vérifie si le propriétaire (%s) du " +"script en cours d'exécution est le même (%s) que celui du fichier ou du " +"répertoire sur lequel une fonction de fichier doit être appliquée " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1015 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1092 +msgid "The destination gallery does not exist" +msgstr "La galerie de destination n'existe pas" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1046 +#, php-format +msgid "Failed to move image %1$s to %2$s" +msgstr "Echec lors du déplacement de l'image %1$s vers %2$s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1066 +#, php-format +msgid "Moved %1$s picture(s) to gallery : %2$s ." +msgstr "%1$s images déplacées dans la galerie: %2$s ." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1170 +#, php-format +msgid "Copied %1$s picture(s) to gallery: %2$s ." +msgstr "%1$s image(s) copiée(s) dans la galerie: %2$s ." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1278 +msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgstr "" +"Le taille du fichier téléchargé dépasse la directive upload_max_filesize du " +"fichier php.ini" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1281 +msgid "" +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " +"the HTML form" +msgstr "" +"Le taille du fichier téléchargé dépasse la directive MAX_FILE_SIZE spécifiée " +"dans la forme de saisie HTML" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1284 +msgid "The uploaded file was only partially uploaded" +msgstr "Le ficheir en télécharement n'a été que partiellement téléchargé" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1287 +msgid "No file was uploaded" +msgstr "Aucun fichier n'a été téléchargé" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1290 +msgid "Missing a temporary folder" +msgstr "Fichier temporaire inexistant" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1293 +msgid "Failed to write file to disk" +msgstr "Echec lors de l'écriture du fichier sur disque" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1296 +msgid "File upload stopped by extension" +msgstr "Téléchargement du fichier annulé à cause de son extension" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1299 +msgid "Unknown upload error" +msgstr "Erreur inconnue lors du téléchargement" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/install.php:20 +msgid "Sorry, NextGEN Gallery works only with a role called administrator" +msgstr "" +"Désolé, mais NextGEN Gallery ne peut fonctionner que s'il existe un rôle " +"nommé \"Administrateur\"" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/install.php:92 +msgid "" +"NextGEN Gallery : Tables could not created, please check your database " +"settings" +msgstr "" +"NextGEN Gallery : Des tables n'ont pu être créées dans la base de données, " +"vérifiez son paramétrage." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:99 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:206 +msgid "No images selected" +msgstr "aucune image sélectionnée" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:107 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:190 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:234 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:323 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:642 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:724 +msgid "Resize images" +msgstr "Redimensionner les Images" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:116 +#, php-format +msgid "" +"You are about to start the bulk edit for %s galleries \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" +"Vous êtes sur le point de démarrer les modifications en groupe pour %s " +"galeries \n" +"\n" +"'Annuler' pour arrêter, 'OK' pour lancer l'opération." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:154 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:197 +msgid "Add new gallery" +msgstr "ajouter une nouvelle galerie" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:171 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:174 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:272 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:275 +msgid "Search Images" +msgstr "Rechercher les Images" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:186 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:320 +msgid "Bulk actions" +msgstr "Actions groupées" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:188 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:321 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:572 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:687 +msgid "Set watermark" +msgstr "Mettre le filigrane" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:191 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:326 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:577 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:708 +msgid "Import metadata" +msgstr "Métadonnées d'import" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:192 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:324 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:567 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:684 +msgid "Recover from backup" +msgstr "Restaurer depuis la sauvegarde" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:194 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:335 +msgid "Apply" +msgstr "Appliquer" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:262 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:253 +msgid "Edit" +msgstr "Modifier" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:309 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:379 +msgid "No entries found" +msgstr "Aucune entrée trouvée" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:327 +msgid "New Gallery" +msgstr "Nouvelle Galerie" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:329 +msgid "Create a new , empty gallery below the folder" +msgstr "Créer une nouvelle galerie vierge sous le répertoire" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:331 +msgid "Allowed characters for file and folder names are" +msgstr "Les caratères autorisés pour les noms de fichier et de répertoire sont" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:357 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:462 +msgid "Resize Images to" +msgstr "Redimensionner les Images à" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:361 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:466 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:453 +msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size" +msgstr "" +"Largeur x Hauteur (en pixel). NextGEN Gallery conservera le rapport des " +"dimensions." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:385 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:490 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:40 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:416 +msgid "Width x height (in pixel)" +msgstr "Largeur x Hauteur (en pixel)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:391 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:496 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:426 +msgid "Set fix dimension" +msgstr "Taille fixe" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:393 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:498 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:428 +msgid "Ignore the aspect ratio, no portrait thumbnails" +msgstr "" +"Ne pas tenir compte du rapport d'aspect, pas de vignette en mode portrait" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:456 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:568 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:156 +msgid "ID" +msgstr "ID" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:458 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:571 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:245 +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:134 +msgid "Description" +msgstr "Description" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:460 +msgid "Page ID" +msgstr "Page ID" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:35 +msgid "Gallery not found." +msgstr "Galerie pas trouvée" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:41 +msgid "Sorry, you have no access here" +msgstr "Désolé, vous n'avez pas accès à cette section" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:214 +msgid "Copy image to..." +msgstr "Copier l'image dans..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:218 +msgid "Move image to..." +msgstr "Déplacer l'image vers..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:222 +msgid "Add new tags" +msgstr "Ajouter de nouveaux mots-clés" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:226 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:332 +msgid "Delete tags" +msgstr "Effacer les mots-clés" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:230 +msgid "Overwrite" +msgstr "Ecraser" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:243 +#, php-format +msgid "" +"You are about to start the bulk edit for %s images \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" +"Vous êtes sur le point de démarrer les modifications en groupe pour %s " +"images \n" +" \n" +" 'Cancel' pour arrêter, 'OK' pour lancer l'opération." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:269 +#, php-format +msgid "Search results for “%s”" +msgstr "Résultats de la Recherche “%s”" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:298 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:488 +msgid "Gallery settings" +msgstr "Paramétrage des Galeries" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:298 +msgid "Click here for more settings" +msgstr "Cliquer ici pour plus de paramétrage" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:304 +msgid "Scan Folder for new images" +msgstr "Parcourir le répertoire pour y rechercher de nouvelles images" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:306 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:341 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:386 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:400 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:436 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:478 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:563 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:598 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:708 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:861 +msgid "Save Changes" +msgstr "Sauvegarder les modifications" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:325 +msgid "Delete images" +msgstr "Effacer les images" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:327 +msgid "Rotate images clockwise" +msgstr "Rotation des images dans le sens des aiguilles d'une montre" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:328 +msgid "Rotate images counter-clockwise" +msgstr "Rotation des images dans le sens inverse des aiguilles d'une montre" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:329 +msgid "Copy to..." +msgstr "Copier vers..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:330 +msgid "Move to..." +msgstr "Déplacer vers..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:331 +msgid "Add tags" +msgstr "Ajouter des mots-clés" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:333 +msgid "Overwrite tags" +msgstr "Ecrase les mots-clés" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:338 +msgid "Sort gallery" +msgstr "Trier la galerie" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:402 +msgid "Enter the tags" +msgstr "Saisissez les mots-clés" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:426 +msgid "Select the destination gallery:" +msgstr "Choisir la galerie de destination:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:569 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:161 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:266 +msgid "Thumbnail" +msgstr "Vignette" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:571 +msgid "Alt & Title Text" +msgstr "Alt & Title Texte" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:572 +msgid "Tags (comma separated list)" +msgstr "Mots-clés (séparés par des virgules)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:35 +msgid "Sort order changed" +msgstr "L'ordre de tri a été changé" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:97 +msgid "Sort Gallery" +msgstr "Trier une Galerie" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:101 +msgid "Update Sort Order" +msgstr "Mettre à jour l'ordre du tri" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:104 +msgid "Back to gallery" +msgstr "Retour à la galerie" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:109 +msgid "Presort" +msgstr "Trier" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:110 +msgid "Unsorted" +msgstr "Non trié" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:113 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:241 +msgid "Alt/Title text" +msgstr "Alt/Title texte" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:90 +msgid "deleted successfully" +msgstr "Supprim'(es) avec succès" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:106 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:115 +msgid "Operation successful. Please clear your browser cache." +msgstr "" +"L'opération a été menée avec succès. Merci d'effacer le cache de votre " +"navigateur." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:171 +msgid "Alt & Title Text / Description" +msgstr "HTML Alt & Titre Texte / Description" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:214 +msgid "Exclude ?" +msgstr "Exclure " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:299 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:301 +msgid "View" +msgstr "Voir" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:309 +msgid "Show meta data" +msgstr "Montrer les meta données" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:310 +msgid "Meta" +msgstr "Meta" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:318 +msgid "Customize thumbnail" +msgstr "Personnaliser la vignette" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:319 +msgid "Edit thumb" +msgstr "Modifier la vignette" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:327 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:328 +msgid "Rotate" +msgstr "Effectuer une rotation" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:338 +msgid "Publish this image" +msgstr "Publier cette image" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:339 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:58 +msgid "Publish" +msgstr "Publier" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:349 +msgid "Recover image from backup" +msgstr "Restaure une image depuis la sauvegarde" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:350 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:352 +msgid "Recover" +msgstr "Restaurer" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:361 +msgid "Delete image" +msgstr "Effacer l'image" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:392 +msgid "Title:" +msgstr "Titre:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:398 +msgid "Description:" +msgstr "Description:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:404 +msgid "Gallery path:" +msgstr "Chemin des Galeries:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:419 +msgid "Link to page:" +msgstr "Lien vers la page:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:420 +msgid "Albums will link this gallery to the selected page" +msgstr "" +"Les Albums établiront un lein entre cette galerie et les pages sélectionnées" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:425 +msgid "Preview image:" +msgstr "Image de garde:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:431 +msgid "Create new page:" +msgstr "Créer une nouvelle page:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:607 +msgid "Gallery deleted successfully " +msgstr "La Galerie a correctement été supprimée" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:678 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:681 +msgid "Rotate images" +msgstr "Rotation des Images" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:704 +msgid "Pictures deleted successfully " +msgstr "Les images ont été effaccées" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:802 +msgid "Tags changed" +msgstr "Les Mots-Clés ont été modifiés" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:842 +msgid "Update successful" +msgstr "Mise à jour correctement effectuée" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:877 +msgid "New gallery page ID" +msgstr "Une nouvelle galerie d'identifiant " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:877 +msgid "created" +msgstr "créée" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:915 +msgid "Published a new post" +msgstr "Nouvel article publié" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1062 +msgid "Go to the first page" +msgstr "Aller à la première page" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1069 +msgid "Go to the previous page" +msgstr "Page Précédente" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1078 +msgid "Current page" +msgstr "Page actuelle" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1089 +msgid "Go to the next page" +msgstr "Page Suivante" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1096 +msgid "Go to the last page" +msgstr "Aller à la dernière page" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1046 +#, php-format +msgid "1 item" +msgid_plural "%s items" +msgstr[0] "1 article" +msgstr[1] "%s articles" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1046 +#, php-format +msgctxt "paging" +msgid "%1$s of %2$s" +msgstr "%1$s de %2$s [pagination]" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:11 +msgid "NextGEN Gallery" +msgstr "NextGEN Gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:186 +msgid "No gallery" +msgstr "Pas de galerie" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:198 +msgid "Select »" +msgstr "Choisir »" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:230 +msgid "Hide" +msgstr "Cacher" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:235 +msgid "Image ID:" +msgstr "Image ID:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:249 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:45 +msgid "Alignment" +msgstr "Alignement" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:252 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:47 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:583 +msgid "None" +msgstr "Aucun" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:254 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:49 +msgid "Left" +msgstr "Gauche" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:256 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:51 +msgid "Center" +msgstr "Centrer" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:258 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:53 +msgid "Right" +msgstr "Droit" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:262 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:690 +msgid "Size" +msgstr "taille" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:268 +msgid "Full size" +msgstr "Grandeur réelle" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:270 +msgid "Singlepic" +msgstr "Singlepic" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:282 +msgid "Use as featured image" +msgstr "Utilise en tant qu'image à la Une" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:284 +msgid "Insert into Post" +msgstr "Insérer dans l'article" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:295 +msgid "Save all changes" +msgstr "Sauvegarder toutes les modifications" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:14 +msgid "NextGEN Gallery Overview" +msgstr "Vue d'ensemble de NextGEN Gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:84 +msgid "Welcome to NextGEN Gallery !" +msgstr "Bienvenue dans NextGEN Gallery !" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:85 +msgid "Do you like this Plugin?" +msgstr "Aimez-vous ce Plugin?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:87 +msgid "About" +msgstr "A Propos" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:90 +msgid "Server Settings" +msgstr "Paramétres du Serveur" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97 +msgid "" +"NextGEN Gallery is one of the most popular Wordpress plugins of all time " +"with over 9 million downloads. It is developed and supported by Photocrati " +"Media. We'd like to offer a special thanks to Alex Rabe, who first developed " +"the plugin and maintained it through 2011." +msgstr "" +"NextGEN Gallery est l'un des plugins Wordpress les plus populaires de tous " +"les temps avec plus de 9 millions de téléchargement. Il est dévelopé et " +"maintenu par Photocrati Media. Nous voudrions remercier plus " +"particulièrement Alex Rabe, qui fut à l'origine du développement de ce " +"plugin et en assura la maintenance jusqu'en 2011." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:98 +msgid "" +"NEED HELP? If you need help or assistance please visit the " +"NextGEN " +"Gallery forums on WordPress.org. Please note that we actively monitor " +"and participate in the forums, but given that NextGEN Gallery is a free " +"product, we don't guarantee replies to support queries." +msgstr "" +"BESOIN D'AIDE? Si vous avez besoin d'aide, merci de visiter " +"les forums " +"NextGEN Gallery sur WordPress.org. Notez que nous supervisons et " +"participons activement dans ces forums, mais étant donné que Nextgten " +"Gallery est un produit \"gratuit\", nous ne pouvons pas garantir une réponse " +"aux demandes de support." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:99 +msgid "" +"EXTENDING NEXTGEN? There are many third party plugins that " +"add displays and functionality for NextGEN Gallery. See our Complete List of " +"NextGEN Extension Plugins." +msgstr "" +"ETENDRE LES FONCTIONNALITES DE NEXTGEN? Il existe de " +"nombreux plugins qui apportent d'autres modes d'affichage et fonctionnalités " +"à Nextgen Gallery. Voir notre Liste de Plugins d'extension pour " +"NextGEN ." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:107 +#, php-format +msgid "" +"This plugin is primarily developed, maintained, supported and documented by " +"Photocrati Media with a lot of love & " +"effort. Any kind of contribution would be highly appreciated. Thanks!" +msgstr "" +"Ce plugin est développé, maintenu, supporté et documenté essentiellement par " +"Photocrati Media. Ils y mettent " +"beaucoup d'amour et y consacrent beaucoup d'efforts. Toute contribution, " +"quelle qu'elle soit, sera hautement appréciée. Merci !" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:112 +msgid "Please click \"Works\" on WordPress.org" +msgstr "Merci de cliquer sur le bouton \"Works\" sur le site WordPress.org" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:117 +msgid "Give it a good rating on WordPress.org" +msgstr "Donnez lui une bonne appréciation sur WordPress.org" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:122 +msgid "Visit the plugin homepage" +msgstr "Visitez la page du plugin" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:127 +msgid "Help translating it" +msgstr "Participez à la traduction" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:149 +msgid "Graphic Library" +msgstr "Librairie Graphique" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:165 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:214 +msgid "Loading…" +msgstr "Chargement en cours…" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:165 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:214 +msgid "This widget requires JavaScript." +msgstr "Ce widget nécessite le support du javascript." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:178 +msgid "Thanks to all donators..." +msgstr "Merci à tous les donateurs..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:200 +msgid "View all" +msgstr "Tout Voir" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:226 +#, php-format +msgid "" +"Newsfeed could not be loaded. Check the front page to " +"check for updates." +msgstr "" +"Le flux d'informations n'a pas pu être chargé. Vérifiez sur la page de garde d'éventuelles mises à jour." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:238 +msgid "Untitled" +msgstr "Sans Titre" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:303 +msgid "At a Glance" +msgstr "D'un coup d'oeil" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:356 +msgid "Storage Space" +msgstr "Espace de stockage" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:360 +#, php-format +msgid "" +"%2$sMB" +msgstr "" +"" +"%2$sMO" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:361 +msgid "Space Allowed" +msgstr "Espace Alloué" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:368 +#, php-format +msgid "" +"%2$sMB (%3$s%%)" +"" +msgstr "" +"" +"%2$sMO (%3$s%%)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:369 +msgid "Space Used" +msgstr "Espace Utilisé" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:395 +msgid "No GD support" +msgstr "Librairie GD non disponible" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:427 +msgid "Not set" +msgstr "Non renseigné" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:429 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:432 +msgid "On" +msgstr "On" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:430 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:433 +msgid "Off" +msgstr "Off" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:437 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:440 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:443 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:446 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:449 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:452 +msgid "N/A" +msgstr "Sans Objet" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:451 +msgid " MByte" +msgstr "MOctets" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:464 +msgid "Operating System" +msgstr "Système d'Opération" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:465 +msgid "Server" +msgstr "Serveur" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:466 +msgid "Memory usage" +msgstr "Utilisation de la mémoire" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:467 +msgid "MYSQL Version" +msgstr "Version MySQL" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:468 +msgid "SQL Mode" +msgstr "Mode SQL" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:469 +msgid "PHP Version" +msgstr "Version du PHP" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:470 +msgid "PHP Safe Mode" +msgstr "Safe-mode PHP" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:471 +msgid "PHP Allow URL fopen" +msgstr "Support du fopen pour les URL par PHP" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:472 +msgid "PHP Memory Limit" +msgstr "Taille maximale de la mémoire dans PHP" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:473 +msgid "PHP Max Upload Size" +msgstr "Taille maximale de téléchargement montant dans PHP" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:474 +msgid "PHP Max Post Size" +msgstr "Taille maximale des données d'un POST dans PHP" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:475 +msgid "PCRE Backtracking Limit" +msgstr "Limite de récursivité pour la librairie PCRE" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:476 +msgid "PHP Max Script Execute Time" +msgstr "Durée maximale d'exécution d'un script PHP" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:477 +msgid "PHP Exif support" +msgstr "Support des données Exif par PHP" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:478 +msgid "PHP IPTC support" +msgstr "Support du format IPTC par PHP" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:479 +msgid "PHP XML support" +msgstr "Support du XML dans PHP" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:491 +msgid "" +"NextGEN Gallery contains some functions which are only available under PHP " +"5.2. You are using the old PHP 4 version, upgrade now! It's no longer " +"supported by the PHP group. Many shared hosting providers offer both PHP 4 " +"and PHP 5, running simultaneously. Ask your provider if they can do this." +msgstr "" +"NextGEN utilise ecraines fonction squi ne sont disponibles qu'à partir de la " +"version 5.2 de PHP. Votre site trourne actuellement sur PHP4, mettez à jour " +"dès maintenant ! Cette version n'est plus supportée par le PHP Group. De " +"nombreux fournisseurs d'hébergement partagé ont PHP4 et PHP5 dans leur " +"offre, en parallèle. Demandez lui s'ils peuvent évoluer vers le support de " +"PHP5. " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:35 +msgid "Post title" +msgstr "Titre de l'article" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:37 +msgid "Enter the post title " +msgstr "Entrer le titre de l'article" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:42 +msgid "Size of the image" +msgstr "Taille de l'image" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:60 +msgid "Draft" +msgstr "Brouillon" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:26 +msgid "" +"Select the lowest role which should be able to access the following " +"capabilities. NextGEN Gallery supports the standard roles from WordPress." +msgstr "" +"Chosir le rôle minimum nécessaire pour avoir accès aux permissions ci-" +"dessous. NextGEN Gallery met en oeuvre les rôles par défaut de Wordpress." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:27 +msgid "For a more flexible user management you can use the" +msgstr "" +"Pour une gestion des utilisateurs plus flexible, vous pourriez utiliser le " +"Plugin" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:31 +msgid "Main NextGEN Gallery overview" +msgstr "Vue d'ensemble de NextGEN Gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:35 +msgid "Use TinyMCE Button / Upload tab" +msgstr "Peut utiliser le bouton téléchargement dans TinyMCE " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:39 +msgid "Add gallery / Upload images" +msgstr "Ajouter une Gallerie / des Images" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:43 +msgid "Manage gallery" +msgstr "Gérer les Galeries" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:47 +msgid "Manage others gallery" +msgstr "Gérer les galeries créées par d'autres" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:51 +msgid "Manage tags" +msgstr "Gérer les mots-clés" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:59 +msgid "Change style" +msgstr "Changer le syle" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:63 +msgid "Change options" +msgstr "Changer les options" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:67 +msgid "NextGEN Attach Interface" +msgstr "NextGEN Attach Interface" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:60 +msgid "Image rotated" +msgstr "Image tournée" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:62 +msgid "Error rotating thumbnail" +msgstr "Erreur lors de la rotation de la vignette" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:85 +msgid "90° clockwise" +msgstr "90° dans le sens de la montre" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:86 +msgid "90° anticlockwise" +msgstr "90° sens inverse du sens de la montre" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:87 +msgid "Flip vertically" +msgstr "Retourner à la verticale" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:88 +msgid "Flip horizontally" +msgstr "Retourner à l'horizontal" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:22 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:204 +#, php-format +msgid "Rebuild image structure : %s / %s images" +msgstr "Reconstruire la structure des images : %s / %s images " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:23 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:205 +#, php-format +msgid "Rebuild gallery structure : %s / %s galleries" +msgstr "Reconstruire la structure des galeries : %s / %s galeries " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:24 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:206 +#, php-format +msgid "Rebuild album structure : %s / %s albums" +msgstr "Reconstruire la structure des albums: %s / %s albums" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:81 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:263 +msgid "Done." +msgstr "Terminé." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:196 +msgid "Cache cleared" +msgstr "Cache effacé" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:315 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:334 +msgid "General Options" +msgstr "Options Principales" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:317 +msgid "Image" +msgid_plural "Images" +msgstr[0] "Image" +msgstr[1] "Images" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:319 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:572 +msgid "Effects" +msgstr "Effets" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:320 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:614 +msgid "Watermark" +msgstr "Filigrane" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:340 +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:54 +msgid "Gallery path" +msgstr "Chemin de la Galerie" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:342 +msgid "This is the default path for all galleries" +msgstr "Il s'agit du chemin par défaut pour l'ensemble des galeries." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:345 +msgid "Delete image files" +msgstr "Effacer les fichiers image" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:347 +msgid "Delete files, when removing a gallery in the database" +msgstr "" +"Effacer les fichiers, lors de la suppression d'une galerie dans la base de " +"données" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:350 +msgid "Activate permalinks" +msgstr "Activer les permaliens" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:352 +msgid "" +"When you activate this option, you need to update your permalink structure " +"one time." +msgstr "" +"Si vous activez cette option, vous aurez besoin de modifier la structure de " +"vos permaliens." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:353 +msgid "Gallery slug name :" +msgstr "Label Court pour la Galerie (slug) :" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:357 +msgid "Create new URL friendly image slugs" +msgstr "Créer un nouveau label court adapté aux URLs" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:358 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:474 +msgid "Proceed now" +msgstr "Continuer" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:361 +msgid "Select graphic library" +msgstr "Choisir la librairie graphique" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:362 +msgid "GD Library" +msgstr "GD Library" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:363 +msgid "ImageMagick (Experimental). Path to the library :" +msgstr "ImageMagick (Experimental). Chemin vers la librairie :" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:368 +msgid "Activate Media RSS feed" +msgstr "Activer le flux Media RSS" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:370 +msgid "" +"A RSS feed will be added to you blog header. Useful for CoolIris/PicLens" +msgstr "" +"Un flux RSS sera ajouté au header de votre blog. Nécessaire pour CoolIris/" +"PicLens" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:373 +msgid "Activate PicLens/CoolIris support" +msgstr "Activer la prise en compte de PicLens/CoolIris" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:375 +msgid "" +"When you activate this option, some javascript is added to your site footer. " +"Make sure that wp_footer is called in your theme." +msgstr "" +"Si vous activez cette option, quelques scripts javascript sont ajoutés dans " +"le bas de page de votre site. Vérifiez que votre thème appelle la fonction " +"wp_footer." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:378 +msgid "Tags / Categories" +msgstr "Mots-Clés / Catégories" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:381 +msgid "Activate related images" +msgstr "Activer les images liées" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:383 +msgid "This option will append related images to every post" +msgstr "Cette option ajoutera les images liées à chaque article" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:387 +msgid "Match with" +msgstr "Correspond avec" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:393 +msgid "Max. number of images" +msgstr "Nombre max. d'images" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:395 +msgid "0 will show all images" +msgstr "0 pour afficher toutes les images" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:399 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:435 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:477 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:562 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:597 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:860 +msgid "More settings" +msgstr "Autres paramétrages" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:409 +msgid "Thumbnail settings" +msgstr "Paramètre des Vignettes" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:413 +msgid "" +"Please note : If you change the settings, you need to recreate the " +"thumbnails under -> Manage Gallery ." +msgstr "" +"Note: Si vous changez le paramétrage, vous aurez à reconstruire les " +"vignettes (menu Autres Options)." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:422 +msgid "These values are maximum values " +msgstr "Il s'agit des valeurs maximales" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:445 +msgid "Image settings" +msgstr "Paramétrages de l'image" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:451 +msgid "Resize Images" +msgstr "Redimensionner les Images" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:460 +msgid "Backup original images" +msgstr "Créer une sauvegarde de l'image d'origine" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:462 +msgid "Creates a backup for inserted images" +msgstr "Créer une sauvegarde des images insérées" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:465 +msgid "Automatically resize" +msgstr "Redimensionner automatiquement" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:467 +msgid "Automatically resize images on upload." +msgstr "Retailler automatiquement les images pendant le téléchargement." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:470 +msgid "Single picture" +msgstr "Image unique" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:473 +msgid "Clear cache folder" +msgstr "Effacer le répertoire cache" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:494 +msgid "Deactivate gallery page link" +msgstr "Désactiver le lien vers la page de la galerie" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:496 +msgid "" +"The album will not link to a gallery subpage. The gallery is shown on the " +"same page." +msgstr "La galerie sera affichée sur la même page." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:500 +msgid "Number of images per page" +msgstr "Nombre d'images par page" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:502 +msgid "0 will disable pagination, all images on one page" +msgstr "0 empêchera la pagination, toutes les images seront sur la même page" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:506 +msgid "Number of columns" +msgstr "Nombre de colonnes" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:508 +msgid "" +"0 will display as much as possible based on the width of your theme. Setting " +"normally only required for captions below the images" +msgstr "" +"0 permettra d'afficher autant d'images que possible, en fonction de la " +"largeur de votre thème. Ce paramétrage n'est requis normalement que pour les " +"titres placés en dessous des images" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:512 +msgid "Integrate slideshow" +msgstr "Intégrer les diaporamas" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:519 +msgid "Show first" +msgstr "Montrer en premier" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:525 +msgid "Show ImageBrowser" +msgstr "Montrer l'outil de visualisation d'images" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:527 +msgid "The gallery will open the ImageBrowser instead the effect." +msgstr "Cette galerie ouvrira l'outil de visualisation d'images." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:531 +msgid "Add hidden images" +msgstr "Ajouter des images cachées" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:533 +msgid "" +"If pagination is used, this option will still show all images in the modal " +"window (Thickbox, Lightbox etc.). Note : This increases the page load" +msgstr "" +"Si la pagination est mise en oeuvre, cette option affichera toutes images " +"dans la fenêtre modale (Thickbox, Lightbox etc.). Note: Ceci augmente la " +"charge de la page." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:539 +msgid "" +"Browse images without reload the page. Note : Works only in combination with " +"Shutter effect" +msgstr "" +"Permets de Parcourir les images sans recharger la page. Note: Ne marche " +"qu'en combinaison avec l'effet Shutter" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:543 +msgid "Sort options" +msgstr "Options de Tri" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:546 +msgid "Sort thumbnails" +msgstr "Trier les Vignettes" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:548 +msgid "Custom order" +msgstr "Ordre personnalisé" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:550 +msgid "File name" +msgstr "Nom du fichier" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:551 +msgid "Alt / Title text" +msgstr "Alt / Title text" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:552 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:58 +msgid "Date / Time" +msgstr "Date / Heure" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:556 +msgid "Sort direction" +msgstr "Sens du tri" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:576 +msgid "" +"Here you can select the thumbnail effect, NextGEN Gallery will integrate the " +"required HTML code in the images. Please note that only the Shutter and " +"Thickbox effect will automatic added to your theme." +msgstr "" +"Ici vous pouvez sélectionner l'effet appliqué aux vignettes; NextGEN Gallery " +"insèrera le code HTML dans les images. Notez que seuls les effets Shutter et " +"Thickbox seront automatiquement intégrés à votre thème. " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:577 +msgid "With the placeholder" +msgstr "Avec le mot-clé" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:577 +msgid "" +"you can activate a navigation through the images (depend on the effect). " +"Change the code line only , when you use a different thumbnail effect or you " +"know what you do." +msgstr "" +"vous pouvez activer la navigation d'une image à l'autre (en fonction de " +"l'effet). Ne changez que la ligne de code HTML si vous utilisez un effet " +"différent pour les vignettes ou si vous savez ce qu'il faut faire." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:580 +msgid "JavaScript Thumbnail effect" +msgstr "Effet Vignette javascript" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:584 +msgid "Thickbox" +msgstr "Thickbox" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:585 +msgid "Lightbox" +msgstr "Lightbox" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:586 +msgid "Highslide" +msgstr "Highslide" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:587 +msgid "Shutter" +msgstr "Volet" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:593 +msgid "Link Code line" +msgstr "Ligne de code html pour le lien" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:615 +msgid "" +"Please note : You can only activate the watermark under -> Manage Gallery . " +"This action cannot be undone." +msgstr "" +"Note: Vous pouvez activer le filigrane uniquement à partir du menu \"Autres " +"Options\". Il n'est pas possible de revenir en arrière sur cette action." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:620 +msgid "Preview" +msgstr "Prévisualisation" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:622 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:627 +msgid "Position" +msgstr "Position" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:647 +msgid "Offset" +msgstr "Décalage" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:663 +msgid "Use image as watermark" +msgstr "Utilise une image comme filigrane" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:666 +msgid "URL to file" +msgstr "URL d'un fichier" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:668 +msgid "The accessing of URL files is disabled at your server (allow_url_fopen)" +msgstr "" +"L'utilisation de l'URL de type file n'est pas autorisée sur votre serveur " +"(allow_url_fopen)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:671 +msgid "Use text as watermark" +msgstr "Utilise du texte comme filigrane" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:674 +msgid "Font" +msgstr "Police" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:683 +msgid "This function will not work, cause you need the FreeType library" +msgstr "" +"Cette fonction sera inactive car la librairie FreeType n'est pas installée." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:685 +msgid "" +"You can upload more fonts in the folder nggallery/fonts" +msgstr "" +"Vous pouvez télécharger plus de Police de caractères dans le répertoire " +"nggallery/fonts" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:694 +msgid "Color" +msgstr "Couleur" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:696 +msgid "(hex w/o #)" +msgstr "(hex w/o #)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:699 +msgid "Text" +msgstr "Texte" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:703 +msgid "Opaque" +msgstr "Opaque" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:724 +msgid "Default size (W x H)" +msgstr "Dimensions par défaut (L x H)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:729 +msgid "Duration time" +msgstr "Durée" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:730 +msgid "sec." +msgstr "sec." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:733 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:810 +msgid "Transition / Fade effect" +msgstr "Transition / effet de fondu" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:736 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:813 +msgid "fade" +msgstr "fondu" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:737 +msgid "blindX" +msgstr "blindX" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:738 +msgid "cover" +msgstr "couverture" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:739 +msgid "scrollUp" +msgstr "Défilement vers le haut" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:740 +msgid "scrollDown" +msgstr "Défilement vers le bas" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:741 +msgid "shuffle" +msgstr "shuffle" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:742 +msgid "toss" +msgstr "Pile ou face" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:743 +msgid "wipe" +msgstr "écrasement" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:745 +msgid "See here for more information about the effects :" +msgstr "Consulter ici pour obtenir plus d'information sue les effets:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:749 +msgid "Settings for the JW Image Rotator" +msgstr "Pramaètres du JW Image Rotator" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:758 +msgid "" +"The path to JW Image Rotator is not defined, the slideshow will not work." +msgstr "" +"Le chemin vers le JW Image Rotator n'est pas défini. Le diaporama ne " +"fonctionnera pas." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:770 +msgid "Path to the JW Image Rotator (URL)" +msgstr "Chemin vers l'outil JW Image Rotator (URL)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:773 +msgid "Search now" +msgstr "Rechercher mantenant" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:774 +msgid "Press the button below to search for the JW Image Rotator" +msgstr "" +"Cliquez sur le bouton ci-dessous pour lancer une recherche du JW Image " +"Rotator" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:778 +msgid "Shuffle mode" +msgstr "Mode schuffle" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:796 +msgid "You can change the logo at the watermark settings" +msgstr "Vous pourrez changer le logo dans le paramétrage du filigrane" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:802 +msgid "true" +msgstr "vrai" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:803 +msgid "false" +msgstr "faux" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:804 +msgid "fit" +msgstr "Correspond" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:805 +msgid "none" +msgstr "aucun" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:814 +msgid "bgfade" +msgstr "bgfade" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:815 +msgid "slowfade" +msgstr "Fondu lent" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:816 +msgid "circles" +msgstr "cercles" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:817 +msgid "bubbles" +msgstr "bulles" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:818 +msgid "blocks" +msgstr "blocks" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:819 +msgid "fluids" +msgstr "fluides" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:820 +msgid "flash" +msgstr "flash" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:821 +msgid "lines" +msgstr "lignes" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:831 +msgid "Background Color" +msgstr "Couleur d'arrière plan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:836 +msgid "Texts / Buttons Color" +msgstr "Couleur des Textes ou des Boutons" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:841 +msgid "Rollover / Active Color" +msgstr "Couleur active au passage de la souris" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:846 +msgid "Screen Color" +msgstr "Couleur de l'écran" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:851 +msgid "Background music (URL)" +msgstr "Musique d'arrière pla (URL)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:855 +msgid "Try XHTML validation (with CDATA)" +msgstr "Essayer une validation XHTML (avec CDATA)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:857 +msgid "" +"Important : Could causes problem at some browser. Please recheck your page." +msgstr "" +"Attention: XHTML en erreur pourrait poser des problèmes à quelques " +"navigateurs. Merci de vérifier votre page." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:29 +msgid "Meta Data" +msgstr "Meta Données" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:34 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:60 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:85 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:109 +msgid "Tag" +msgstr "Mot-Clé" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:35 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:61 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:86 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:110 +msgid "Value" +msgstr "Valeur" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:49 +msgid "No meta data saved" +msgstr "Aucune meta donnée sauvegardée" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:55 +msgid "EXIF Data" +msgstr "Données EXIF" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:74 +msgid "No exif data" +msgstr "Pas de données EXIF" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:81 +msgid "IPTC Data" +msgstr "Données IPTC" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:105 +msgid "XMP Data" +msgstr "Données XMP" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:11 +msgid "(From the theme folder)" +msgstr "(Depuis le répertoire du thème)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:43 +msgid "You do not have sufficient permissions to edit templates for this blog." +msgstr "" +"Vous n'avez pas les droits d'accès pour vous permettre de modifier les " +"\"templates\" pour ce blog" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:52 +msgid "CSS file successfully updated" +msgstr "Fichier CSS mis à jour avec succès" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:91 +msgid "Activate and use style sheet:" +msgstr "Activer et mettre en oeuvre la feuille de style:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:111 +msgid "Activate" +msgstr "Activer" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:121 +#, php-format +msgid "Editing %s" +msgstr "%s En cours de modification" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:123 +#, php-format +msgid "Browsing %s" +msgstr "Parcourir %s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:133 +msgid "Version" +msgstr "Version" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:136 +msgid "" +"Tip : Copy your stylesheet (nggallery.css) to your theme folder, so it will " +"be not lost during a upgrade" +msgstr "" +"Truc: Copiez la feuille de style (nggallery.css) dans le répertoire de votre " +"thème pour éviter de la perdre lors des mises à jour." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:138 +msgid "" +"Your theme contain a NextGEN Gallery stylesheet (nggallery.css), this file " +"will be used" +msgstr "" +"Votre thème contient une feuille de style pour NextGEN Gallery, il sera mis " +"en oeuvre" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:140 +msgid "" +"Tip No. 2: Use the color picker below to help you find the right color " +"scheme for your gallery!" +msgstr "" +"Truc n°. 2: Utilisez l'outil de sélection de couleur ci-dessous pour vous " +"aider à trouver le bon set de couleurs pour votre galerie !" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:156 +msgid "Update File" +msgstr "Mettre à jour le fichier" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:159 +msgid "If this file were writable you could edit it." +msgstr "Si ce fichier était accessible en écriture, vous pourriez le modifier." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:164 +msgid "Oops, no such file exists! Double check the name and try again, merci." +msgstr "Oops, ce fichier n'existe pas ! Vérifiez le nom et réessayez, merci." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:41 +msgid "Most popular" +msgstr "Les plus populaires" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:42 +msgid "Least used" +msgstr "Les moins utilisés" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:43 +msgid "Alphabetical" +msgstr "Alphabétique" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:100 +msgid "Manage image tags" +msgstr "Gestion les mots-clés" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:112 +msgid "Existing Tags" +msgstr "Etiquettes existantes" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:116 +msgid "Search tags" +msgstr "Chercher dans les mots-clés" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:120 +msgid "Go" +msgstr "Chercher" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:125 +msgid "Sort Order:" +msgstr "Sens du Tri:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:160 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:164 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:177 +msgid "Previous tags" +msgstr "Mots-clés précédents" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:173 +msgid "Next tags" +msgstr "Etiquettes suivantes" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:185 +msgid "Rename Tag" +msgstr "Changer le mot-clé" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:193 +msgid "" +"Enter the tag to rename and its new value. You can use this feature to " +"merge tags too. Click \"Rename\" and all posts which use this tag will be " +"updated." +msgstr "" +"Saisissez le mot-clé à renommer ainsi que sa nouvelle valeur. Vous pouvez " +"aussi utiliser cette fonctionnalité pour fusionner des mots-clés. Cliquez " +"sur \"Changer le nom\" et tous les articles qui utilisent ce mot-clé seront " +"mis à jour." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:194 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:242 +msgid "You can specify multiple tags to rename by separating them with commas." +msgstr "" +"Vous pouvez spécifier plusieurs mots-clés à renommer en les séparant par des " +"virgules." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:198 +msgid "Tag(s) to rename:" +msgstr "Mot(s)-Clé(s) à modifier:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:202 +msgid "New tag name(s):" +msgstr "Nom(s) des nouveau(x) mot(s)-clé(s)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:205 +msgid "Rename" +msgstr "Changer le nom" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:211 +msgid "Delete Tag" +msgstr "Effacer les mots-clés" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:219 +msgid "" +"Enter the name of the tag to delete. This tag will be removed from all " +"posts." +msgstr "" +"Entrer le nom du mot-clé à supprimer. Il sera suprimé de tous les articles." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:220 +msgid "You can specify multiple tags to delete by separating them with commas" +msgstr "" +"Vous pouvez spécifier plusieurs mots-clés à supprimer en les séparant par " +"des virgules." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:224 +msgid "Tag(s) to delete:" +msgstr "Mot(s)-Clé(s) à supprimer:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:233 +msgid "Edit Tag Slug" +msgstr "Modifier le label du mot-clé" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:241 +msgid "" +"Enter the tag name to edit and its new slug. This will be used in tagcloud " +"links. Slug definition" +msgstr "" +"Saisissez le nom du mot-clé à modifier et son nouveau label. Il sera utilisé " +"comme lien dans le nuage de mots-clés. Définition du label (court)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:246 +msgid "Tag(s) to match:" +msgstr "Mots(s)-clé(s) à retrouver:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:250 +msgid "Slug(s) to set:" +msgstr "Label(s) à ajouter : " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_create_page_field.php:3 +msgid "Main Page (no parent)" +msgstr "Page Principale (sans parent)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_create_page_field.php:10 +msgid "Add page" +msgstr "Ajouter une page" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_link_to_page_field.php:3 +msgid "Not linked" +msgstr "Non lié" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/thumbnails-template.php:103 +msgid "These are maximum values" +msgstr "Il s'agit des valeurs maximales" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:61 +msgid "" +"Some folders/files could not renamed, please recheck the permission and " +"rescan the folder in the manage gallery section." +msgstr "" +"Les noms de quelques fichiers/répertoires n'ont pas pu être changés. " +"Vérifiez les droits d'accès et demander de reparcourir le répertoire dans la " +"section Gérer les Galeries du menu." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:63 +msgid "Rename failed" +msgstr "Le Changement de nom a échoué" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:159 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:178 +msgid "Upgrade NextGEN Gallery" +msgstr "Mettre à jour NextGEN Gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:160 +msgid "The script detect that you upgrade from a older version." +msgstr "" +"Le script a détécté que vous avez procédé à une mise à jour à partir d'une " +"version précédente." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:161 +msgid "" +"Your database tables for NextGEN Gallery is out-of-date, and must be " +"upgraded before you can continue." +msgstr "" +"Les tables de votre base de données relatives à NextGEN Gallery sont " +"périmées, elles doivent être mises à jour avant de continuer." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:162 +msgid "" +"If you would like to downgrade later, please make first a complete backup of " +"your database and the images." +msgstr "" +"Si vous voulez revenir en arrière plus tard, merci de faire au préalable une " +"sauvegarde complète de votre base de données et des images." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:163 +msgid "The upgrade process may take a while, so please be patient." +msgstr "La mise à jour peut prendre un certain temps, aussi soyez patient." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:164 +msgid "Start upgrade now" +msgstr "Lancer la mise à jour" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:180 +msgid "Upgrade finished..." +msgstr "Mise à jour terminée..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:181 +msgid "Continue" +msgstr "Continuer" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:33 +msgid "Update successfully" +msgstr "Correctement Mis à jour " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:48 +msgid "Network Options" +msgstr "Options de réseau" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:56 +msgid "" +"This is the default path for all blogs. With the placeholder %BLOG_ID% you " +"can organize the folder structure better." +msgstr "" +"Il s'agit du chemin par défaut pour tous les blogs. Avec le paramètre " +"générique %BLOG_ID% vous pouvez obtenir une meilleure structure pour " +"l'arborescence." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:57 +#, php-format +msgid "The default setting should be %s" +msgstr "Le paramétrage par défaut devrait être %s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:61 +msgid "Enable upload quota check" +msgstr "Mettre en oeuvre le controle de quota sur le téléchargement" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:63 +msgid "Should work if the gallery is bellow the blog.dir" +msgstr "Nest effectif que si la galeire est sous le répertoire du blog" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:67 +msgid "Enable zip upload option" +msgstr "Autoriser la possibilité de télécharger des fichiers zip" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:69 +msgid "Allow users to upload zip folders." +msgstr "Autorise les utilisateurs à télécharger des fichiers zip" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:73 +msgid "Enable import function" +msgstr "Autoriser la fonction d'import" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:75 +msgid "Allow users to import images folders from the server." +msgstr "" +"Autorise les utilisateurs à importer es répertoires d'images depuis le " +"serveur" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:79 +msgid "Enable style selection" +msgstr "Autoriser le changement de style" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:81 +msgid "Allow users to choose a style for the gallery." +msgstr "Autorise les utilisateurs à choisir un style pour la galerie" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:85 +msgid "Enable roles/capabilities" +msgstr "Autoriser roles/possibilités" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:87 +msgid "Allow users to change the roles for other blog authors." +msgstr "" +"Autorise les utilisateurs à changer les rôles d'autres auteurs sur le blog" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:91 +msgid "Default style" +msgstr "Style par défaut" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:108 +msgid "Choose the default style for the galleries." +msgstr "Choisir le style par défaut des galeries." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/core.php:410 +#, php-format +msgid "" +"Note : Based on your server memory limit you should not upload larger images " +"then %d x %d pixel" +msgstr "" +"Note: au regard des limites en mémoire de votre serveur, vous ne devriez pas " +"télécharger d'image ayant une taille supérieure à %d x %d " +"pixel" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php:337 +#: products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php:338 +msgid "Album overview" +msgstr "Vue d'ensemble de l'Album" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:68 +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:70 +msgid "Set NextGEN featured image" +msgstr "Mettre une image NextGEN à la Une" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:328 +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:329 +msgid "Set featured image" +msgstr "Mettre une Image à la Une" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:356 +msgid "Remove featured image" +msgstr "Supprimer la vignette" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:223 +msgid "Album" +msgid_plural "Albums" +msgstr[0] "Album" +msgstr[1] "Albums" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:35 +msgid "No new tag specified!" +msgstr "Pas de nouveau mot-clé spécifié" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:50 +msgid "No new/old valid tag specified!" +msgstr "Pas de nouveau/ancien mots-clés valide spécifié!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:86 +msgid "No tag renamed." +msgstr "Aucun mot-clé n'a été changé" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:88 +#, php-format +msgid "Renamed tag(s) «%1$s» to «%2$s»" +msgstr "" +"Les noms des Mot(s)-Clé(s) ont été changés de «%1$s» à «" +"%2$s»" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:95 +msgid "No valid new tag." +msgstr "Nouveau mot-clé invalide." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:112 +msgid "No objects (post/page) found for specified old tags." +msgstr "" +"aucun objet (article ou page) n'a été trouvé correspondant à ces anciens " +"mots-clés" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:141 +msgid "No tag merged." +msgstr "Aucun mot-clé fusionné" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:143 +#, php-format +msgid "" +"Merge tag(s) «%1$s» to «%2$s». %3$s objects edited." +msgstr "" +"Fusionner les mot(s)-clés(s) «%1$s» avec «%2$s». " +"%3$s objets modifiés." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:146 +msgid "Error. Not enough tags provided to rename or merge." +msgstr "" +"Erreur. Les mots-clés à renommer ou à fusionner ne sont pas assez nombreux." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:165 +msgid "No tag specified!" +msgstr "Aucun mot-clé spécifié!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:188 +msgid "No tag deleted." +msgstr "Aucun mot-clé n'a été supprimé" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:190 +#, php-format +msgid "%1s tag(s) deleted." +msgstr "%1s tag(s) supprimé(s)." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:206 +msgid "No new slug(s) specified!" +msgstr "Pas de nouveau(x) label(s) spécifié(s)!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:218 +msgid "Tags number and slugs number isn't the same!" +msgstr "Le nombre de mots-clés et celui des labels sont différents !" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:245 +msgid "No slug edited." +msgstr "Aucun label édité." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:247 +#, php-format +msgid "%s slug(s) edited." +msgstr "%s label(s) modifié(s)." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:64 +msgid "" +"Translation by : See here" +msgstr "" +"Tarduction par : Voir ici" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:65 +msgid "" +"This translation is not yet updated for Version 1.9.0. If " +"you would like to help with translation, download the current po from the " +"plugin folder and read here how you can translate the plugin." +msgstr "" +"This translation is not yet updated for Version 1.9.0. If " +"you would like to help with translation, download the current po from the " +"plugin folder and read here how you can translate the plugin." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:158 +msgid "" +"Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB or higher" +msgstr "" +"Désolé, mais NextGEN Gallery ne peut fonctionner que si la Limite Mémoire " +"est au moins égale à 16MOctets." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:184 +msgid "Picture tag" +msgstr "Mot-Clé de l'image" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:185 +msgid "Picture tag: %2$l." +msgstr "Mot(s)-clé(s) de l'image: %2$l." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:186 +msgid "Separate picture tags with commas." +msgstr "Séparez les mot(s)-clé(s) de l'image par des virgules" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:324 +msgid "Get help" +msgstr "Obtenir de l'aide" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:325 +msgid "Contribute" +msgstr "Contribuer" + +#: products/photocrati_nextgen/modules/ngglegacy/nggfunctions.php:29 +msgid "[Gallery not found]" +msgstr "[Galerie pas trouvée]" + +#: products/photocrati_nextgen/modules/ngglegacy/nggfunctions.php:163 +msgid "Related images for" +msgstr "Images liées à " + +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:38 +msgid "Meta data" +msgstr "Meta données" + +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:42 +msgid "Camera / Type" +msgstr "Appareil / Type" + +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:50 +msgid "Focal Length" +msgstr "Longueur Focale" + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:50 +msgid "No galleries have been yet created." +msgstr "aucune galerie n'a été créée jusqu'à présent." + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:69 +#, php-format +msgid "The gallery ID=%s does not exist." +msgstr "La galerie ID=%s n'existe pas." + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:100 +msgid "No album ID has been provided as parameter" +msgstr "Aucun identifiant d'album n'a été configuré dans les paramètres" + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:108 +#, php-format +msgid "The album ID=%s does not exist." +msgstr "L'album d'ID=%s n'existe pas." + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:115 +msgid "Invalid MediaRSS command" +msgstr "Commande MediaRSS invalide" + +msgid "NextGEN Basic Compact Album" +msgstr "Album Compact de base NextGEN" + +msgid "NextGEN Basic Extended Album" +msgstr "Album étendu de base NextGEN" + +msgid "NextGEN Basic Thumbnails" +msgstr "Vignettes de Base NextGEN" + +msgid "NextGEN Basic Slideshow" +msgstr "Diaporama de base NextGEN" + +msgid "NextGEN Basic ImageBrowser" +msgstr "Affichage dans l'outil de visualisation d'images de base NextGEN" + +msgid "NextGEN Basic Singlepic" +msgstr "Image Unique de base NextGEN" + +msgid "NextGEN Basic Tagcloud" +msgstr "Nuage de mots-clés de base NextGEN" diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-hu_HU.mo b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-hu_HU.mo new file mode 100644 index 0000000000000000000000000000000000000000..d86809fc9a17daf5435cd49926eddbe37afa6f3d GIT binary patch literal 79364 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

      t*C20s*1~=CMPA?{NSe1&mp^d-_JdjU2 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 H&es0{x&h`t literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-hu_HU.po b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-hu_HU.po new file mode 100644 index 0000000..c9b7329 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-hu_HU.po @@ -0,0 +1,4279 @@ +msgid "" +msgstr "" +"Project-Id-Version: NextGEN Galéria magyar fordítás\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-02-20 19:45-0800\n" +"PO-Revision-Date: 2014-05-05 15:04+0100\n" +"Last-Translator: Varanka Zoltán \n" +"Language-Team: Novoportal \n" +"Language: hu_HU\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-KeywordsList: __;_e;__ngettext:1,2\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-SourceCharset: UTF-8\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Poedit 1.5.4\n" +"X-Poedit-SearchPath-0: .\n" +"X-Poedit-SearchPath-1: ..\n" + +#: nggallery.php:290 +#, php-format +msgid "Every %d seconds" +msgstr "Minden %d másodpercben" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:157 +#, php-format +msgid "Album: %s" +msgstr "Album: %s" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:159 +#, php-format +msgid "Gallery: %s" +msgstr "Galéria: %s" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:177 +msgid "Missing parameters" +msgstr "Hiányzó paraméterek" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:213 +msgid "Displayed gallery does not exist" +msgstr "A megjelenített galéria nem létezik." + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:216 +msgid "Invalid request" +msgstr "Érvénytelen lekérdezés" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:248 +msgid "NextGEN Gallery - Attach To Post" +msgstr "NextGEN Gallery - Csatolás bejegyzéshez" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:266 +msgid "Display Galleries" +msgstr "Galériák megjelenítése" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:273 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_controller.php:7 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:192 +msgid "Add Gallery / Images" +msgstr "Új galéria / képek" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:280 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:160 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:194 +msgid "Manage Galleries" +msgid_plural "Manage Galleries" +msgstr[0] "Galériák kezelése" +msgstr[1] "Galériák kezelése" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:287 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:404 +msgid "Manage Albums" +msgid_plural "Manage Albums" +msgstr[0] "Albumok kezelése" +msgstr[1] "Albumok kezelése" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:294 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:162 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:198 +msgid "Manage Tags" +msgstr "Címkék kezelése" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:115 +msgid "What would you like to display?" +msgstr "Megjelenítendő" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:139 +msgid "Select a display type" +msgstr "Megjelenítési típus kiválasztása" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:162 +msgid "Customize the display settings" +msgstr "Megjelenítési beállítások testreszabása" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:253 +msgid "No display type selected" +msgstr "Nincs megjelenítési típus kiválasztva." + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:271 +msgid "Sort or Exclude Images" +msgstr "Képek rendezése vagy kizárása" + +#: products/photocrati_nextgen/modules/attach_to_post/module.attach_to_post.php:186 +msgid "Invalid Displayed Gallery" +msgstr "A megjelenített galéria érvénytelen." + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab.php:10 +#: products/photocrati_nextgen/modules/nextgen_admin/templates/nextgen_admin_page.php:25 +msgid "Save" +msgstr "Mentés" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:612 +msgid "Sources" +msgstr "Források" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:646 +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:362 +msgid "(optional)" +msgstr "(opcionális)" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:654 +msgid "" +"Sets an SEO-friendly name to this gallery for URLs. Currently only in use by " +"the Pro Lightbox." +msgstr "" +"Keresőbarát név beállítása a galéria webcíméhez. Jelenleg csak a Pro " +"Lightbox bővítményben kerül használatra." + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:655 +msgid "Slug" +msgstr "Keresőbarát útvonalrész" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:860 +msgid "No entities to display for this source." +msgstr "Nincs megjelenítendő elem ehhez a forráshoz." + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1264 +msgid "Select a gallery" +msgstr "Galéria kiválasztása" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1292 +msgid "Albums" +msgstr "Albumok" + +#: products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:34 +msgid "Code" +msgstr "Kód" + +#: products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:48 +msgid "Stylesheet URL" +msgstr "Stíluslap webcím" + +#: products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:62 +msgid "Javascript URL" +msgstr "Javascript webcím" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.import_folder_form.php:7 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:6 +msgid "Import Folder" +msgstr "Importálási könyvtár" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:41 +msgid "No gallery name specified" +msgstr "Nincs megadva a galéria neve." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:55 +msgid "Failed to extract images from ZIP" +msgstr "Meghiúsult a képek kibontása a ZIP archívumból." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:61 +msgid "Image generation failed" +msgstr "Meghiúsult a kép generálása." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:70 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:150 +msgid "An unexpected error occured." +msgstr "Váratlan hiba történt." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:77 +msgid "" +"No permissions to upload images. Try refreshing the page or ensuring that " +"your user account has sufficient roles/privileges." +msgstr "" +"Nincs jogosultság a képek feltöltésére. Frissítsük az oldalt vagy " +"ellenőrizzük, hogy a felhasználónak elegendő szerepe/jogosultsága van." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:117 +msgid "Directory does not exist." +msgstr "A könyvtár nem létezik." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:121 +msgid "No directory specified." +msgstr "Nem lett megadva a könyvtár." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:125 +msgid "" +"No permissions to browse folders. Try refreshing the page or ensuring that " +"your user account has sufficient roles/privileges." +msgstr "" +"Nincs jogosultság a könyvtárak tallózására. Frissítsük az oldalt vagy " +"ellenőrizzük, hogy a felhasználónak elegendő szerepe/jogosultsága van." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:155 +msgid "No folder specified" +msgstr "Nem lett megadva a könyvtár." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:159 +msgid "" +"No permissions to import folders. Try refreshing the page or ensuring that " +"your user account has sufficient roles/privileges." +msgstr "" +"Nincs jogosultság a könyvtárak importálására. Frissítsük az oldalt vagy " +"ellenőrizzük, hogy a felhasználónak elegendő szerepe/jogosultsága van." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.upload_images_form.php:7 +msgid "Upload Images" +msgstr "Képek feltöltése" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:1 +msgid "" +"Select a folder to import. The folder name will be used as the title of the " +"gallery." +msgstr "Válasszunk importálandó könyvtárat. A könyvtárnév lesz a galéria címe." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:5 +msgid "Keep images in original location." +msgstr "Képek megtartása az eredeti helyen." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:5 +msgid "" +"Caution: If you keep images in the original folder and later delete the " +"gallery, the images in that folder might be deleted depending on your " +"settings." +msgstr "" +"Figyelem: Ha a képeket az eredeti könyvtárban tartjuk és később töröljük a " +"galériát, a beállításoktól függően törölhetők a képek." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:39 +msgid "Importing gallery" +msgstr "Galéria importálása" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:41 +msgid "In Progress..." +msgstr "Feldolgozás alatt..." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:56 +#, php-format +msgid "Done! Successfully imported %s images" +msgstr "Kész. %s kép sikeresen importálásra került." + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1268 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:2 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:189 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:217 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:226 +msgid "Gallery" +msgid_plural "Galleries" +msgstr[0] "Galéria" +msgstr[1] "Galéria" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:4 +msgid "Create a new gallery" +msgstr "Új galéria létrehozása" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:13 +msgid "You browser doesn't have Flash, Silverlight, HTML5, or HTML4 support." +msgstr "A böngészőnek nincs Flash, Silverlight, HTML5 vagy HTML4 támogatása." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:99 +msgid "Drag image and ZIP files here or click Add Files" +msgstr "" +"Vonszoljuk a képeket vagy a ZIP fájlokat ide vagy kattintsunk a " +"Fájlok hozzáadása lehetőségre." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:149 +#, php-format +msgid "%s images were uploaded successfully" +msgstr "%s kép sikeresen feltöltésre került." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:152 +msgid "1 image was uploaded successfully" +msgstr "1 kép sikeresen feltöltésre került." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:155 +msgid "0 images were uploaded" +msgstr "Nem lett feltöltve kép." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:169 +msgid "Upload complete" +msgstr "A feltöltés befejeződött." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:191 +msgid "" +"An unexpected error occured. This is most likely due to a server " +"misconfiguration. Check your PHP error log or ask your hosting provider for " +"assistance." +msgstr "" +"Váratlan hiba történt. Ez valószínűleg a szerver rossz konfigurációja miatt " +"történt. Ellenőrizzük a PHP hibanaplót vagy forduljunk segítségért a " +"kiszolgáló üzemeltetőjéhez." + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:226 +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:167 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:537 +msgid "Enable AJAX pagination" +msgstr "AJAX lapozás engedélyezése" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:238 +msgid "Override thumbnail settings" +msgstr "Bélyegkép beállítások felülbírálása" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:240 +msgid "" +"This does not affect existing thumbnails; overriding the thumbnail settings " +"will create an additional set of thumbnails. To change the size of existing " +"thumbnails please visit 'Manage Galleries' and choose 'Create new " +"thumbnails' for all images in the gallery." +msgstr "" +"Ez nem érinti a már létező bélyegképeket. Felülbírálva a bélyegkép " +"beállításokat kiegészítő bélyegképek jönnek létre. A már létező bélyegképek " +"méretének megváltoztatását a 'Galériák kezelése' oldalon az 'Új bélyegképek " +"készítése' lehetőségnél lehet kezdeményezni a galéria képeihez." + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:248 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:37 +msgid "Thumbnail dimensions" +msgstr "Bélyegkép méretek" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:262 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:431 +msgid "Thumbnail quality" +msgstr "Bélyegképek minősége" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:272 +msgid "Thumbnail crop" +msgstr "Bélyegkép vágás" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:281 +msgid "Thumbnail watermark" +msgstr "Bélyegkép vízjel" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:306 +msgid "Override image settings" +msgstr "Képbeállítások felülbírálása" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:308 +msgid "Overriding the image settings will create an additional set of images" +msgstr "Felülbírálva a kép beállításokat kiegészítő képek jönnek létre." + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:316 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:66 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:456 +msgid "Image quality" +msgstr "Képminőség" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:326 +msgid "Image crop" +msgstr "Kép vágás" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:335 +msgid "Image watermark" +msgstr "Kép vízjel" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:359 +msgid "Gallery width" +msgstr "Galéria szélesség" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:361 +msgid "An empty or 0 setting will make the gallery full width" +msgstr "Üres vagy 0 esetén a galéria teljes szélességben jelenik meg." + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:365 +msgid "Pixels" +msgstr "pixel" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:365 +msgid "Percent" +msgstr "Százalék" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:374 +msgid "First Image" +msgstr "Első kép" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:375 +msgid "Average" +msgstr "Átlag" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:100 +msgid "Clear" +msgstr "Ürítés" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:101 +msgid "Default" +msgstr "Alapértelmezett" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:102 +msgid "Select Color" +msgstr "Szín választás" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:103 +msgid "Current Color" +msgstr "Aktuális szín" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:174 +msgid "Saved successfully" +msgstr "A mentés sikeres volt." + +#: products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_radio.php:16 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_radio.php:16 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:122 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:24 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:40 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:65 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:191 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php:37 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:407 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:454 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:457 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:460 +msgid "Yes" +msgstr "Igen" + +#: products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_radio.php:24 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_radio.php:24 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:123 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:23 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:47 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:72 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:198 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php:44 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:409 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:455 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:458 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:461 +msgid "No" +msgstr "Nem" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:25 +msgid "Display galleries as" +msgstr "Galériák megjelenítése:" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:26 +msgid "How would you like galleries to be displayed?" +msgstr "Galériák megjelenítése" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:28 +msgid "Galleries per page" +msgstr "Galériák száma oldalanként" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:47 +msgid "Items per page" +msgstr "Elemek száma oldalanként" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:48 +msgid "Maximum number of galleries or sub-albums to appear on a single page" +msgstr "" +"Az önálló oldalon megjelenítendő galériák vagy al-albumok maximális száma." + +# Köszi eosz a segítséget! +#: products/photocrati_nextgen/modules/nextgen_basic_album/templates/compact.php:28 +#: products/photocrati_nextgen/modules/nextgen_basic_album/templates/extended.php:15 +#: products/photocrati_nextgen/modules/ngglegacy/view/album-compact.php:45 +#: products/photocrati_nextgen/modules/ngglegacy/view/album-extend.php:31 +msgid "Photos" +msgstr "Fénykép" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_mapper.php:94 +msgid "[Show PicLens]" +msgstr "[PicLens megjelenítése]" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:63 +msgid "Interval" +msgstr "Intervallum" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:67 +msgid "# of seconds" +msgstr "Másodpercek száma" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:77 +msgid "Image limit" +msgstr "Kép korlát" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:79 +msgid "Maximum number of images to display with recent or random sources" +msgstr "Az aktuális vagy véletlen forrásokkal megjelenítendő képek száma." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:81 +msgid "# of images" +msgstr "Képek száma" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:112 +msgid "Maximum dimensions" +msgstr "Maximális méretek" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:113 +msgid "" +"Certain themes may allow images to flow over their container if this setting " +"is too large" +msgstr "" +"Bizonyos sablonok lehetővé teszik a képek túlfolyását a konténeren, ha ez a " +"beállítás túl nagy." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:123 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:765 +msgid "Enable flash slideshow" +msgstr "Flash diabemutató bekapcsolása" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:125 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:767 +msgid "Integrate the flash based slideshow for all flash supported devices" +msgstr "" +".A Flash alapú diabemutató integrálása az összes Flash-t támogató eszközhöz" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:134 +msgid "Shuffle" +msgstr "Keverés" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:146 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:782 +msgid "Show next image on click" +msgstr "Kattintáskor a következő képre ugrás" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:158 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:786 +msgid "Show navigation bar" +msgstr "Navigációsáv megjelenítése" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:170 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:790 +msgid "Show loading icon" +msgstr "Betöltési ikon megjelenítése" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:182 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:794 +msgid "Use watermark logo" +msgstr "Vízjel használata" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:184 +msgid "" +"Use the watermark image in the Flash object. Note: this does not watermark " +"the image itself, and cannot be applied with text watermarks" +msgstr "" +"Használjuk a vízjel képet a Flash objektumban. Megjegyzés: ez nem magát a " +"képet látja el vízjellel és nem alkalmazható a szöveges vízjelekkel." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:194 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:799 +msgid "Stretch image" +msgstr "Kép széthúzása" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:231 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:827 +msgid "Use slow zooming effect" +msgstr "Lassú nagyítási effektus használata" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:243 +msgid "Background music (url)" +msgstr "Háttérzene (URL)" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:256 +msgid "Try XHTML validation" +msgstr "XHTML ellenőrzés" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:268 +msgid "Background" +msgstr "Háttér" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:280 +msgid "Texts / buttons" +msgstr "Szövegek / gombok" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:292 +msgid "Rollover / active" +msgstr "Áthúzás / aktív" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:304 +msgid "Screen" +msgstr "Képernyő" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:322 +msgid "Show thumbnail link" +msgstr "Bélyegkép-link megjelenítése" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:338 +msgid "Thumbnail link text" +msgstr "Bélyegkép-link szöveg" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:65 +msgid "Images per page" +msgstr "Képek száma oldalanként" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:67 +msgid "0 will display all images at once" +msgstr "0 esetén az összes kép megjelenítése" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:85 +msgid "Number of columns to display" +msgstr "Megjelenítendő oszlopok száma" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:89 +msgid "# of columns" +msgstr "Oszlopok száma" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:105 +msgid "Piclens link text" +msgstr "Piclens link szöveg" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:123 +msgid "Show piclens link" +msgstr "Piclens link megjelenítése" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:139 +msgid "Add Hidden Images" +msgstr "Rejtett képek hozzáadása" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:141 +msgid "" +"If pagination is used this option will show all images in the modal window " +"(Thickbox, Lightbox etc.) This increases page load." +msgstr "" +"Lapozás használatakor ez az opció modális ablakban jeleníti meg az összes " +"képet (Thickbox, Lightbox stb.). Ez növeli az oldal betöltési sebességét." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:150 +msgid "Use imagebrowser effect" +msgstr "Képböngésző effektus használata" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:152 +msgid "" +"When active each image in the gallery will link to an imagebrowser display " +"and lightbox effects will not be applied." +msgstr "" +"Ha be van kapcsolva, a galéria minden képe linkelve van egy képtallózóhoz és " +"a lightbox effektusok nem kerülnek alkalmazásra." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:169 +msgid "Browse images without reloading the page." +msgstr "Képek tallózása az oldal újra betöltése nélkül." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:184 +msgid "Show slideshow link" +msgstr "Diavetítés link megjelenítése" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:200 +msgid "Slideshow link text" +msgstr "Diavetítés link szöveg" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/index.php:35 +msgid "" +"Slideshows require the Flash Player and a browser with Javascript support." +msgstr "" +"Flash Player " +"alkalmazásra és JavaScript " +"támogatású böngészőre van szükség." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/nextgen_basic_slideshow_settings_gallery_dimensions.php:13 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:38 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_dimensions.php:13 +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:52 +msgid "Width" +msgstr "Szélesség" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/nextgen_basic_slideshow_settings_gallery_dimensions.php:21 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:40 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_dimensions.php:20 +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:40 +msgid "Height" +msgstr "Magasság" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:41 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:26 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:30 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:26 +msgid "Back" +msgstr "Előző" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:49 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:29 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:33 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:29 +msgid "Next" +msgstr "Következő" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:90 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:220 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:31 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:35 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:31 +msgid "Picture" +msgstr "Kép" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:31 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:35 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:31 +msgid "of" +msgstr " /" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:53 +msgid "Link" +msgstr "Link" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:78 +msgid "Display watermark" +msgstr "Vízjel megjelenítése" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:88 +msgid "Display reflection" +msgstr "Tükrözés megjelenítése" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:98 +msgid "Crop thumbnail" +msgstr "Bélyegkép vágása" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:108 +msgid "Float" +msgstr "Lebegő" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:24 +msgid "Maximum number of tags" +msgstr "Címkék maximális száma" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:47 +msgid "Display type" +msgstr "Megjelenítési típus" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:50 +msgid "The display type that the tagcloud will point its results to" +msgstr "Megjelenítési típus a címkefelhő eredményekre mutatásához" + +#: products/photocrati_nextgen/modules/nextgen_basic_templates/adapter.nextgen_basic_template_form.php:46 +msgid "Template" +msgstr "Sablon" + +#: products/photocrati_nextgen/modules/nextgen_basic_templates/adapter.nextgen_basic_template_form.php:47 +msgid "Use a legacy template when rendering (not recommended)." +msgstr "Örökölt sablon használata a megjelenítésnél (nem ajánlott)." + +#: products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php:580 +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:658 +#: products/photocrati_nextgen/modules/ngglegacy/lib/multisite.php:23 +msgid "" +"Sorry, you have used your space allocation. Please delete some files to " +"upload more files." +msgstr "" +"Elhasználtuk a rendelkezésre álló tárhelyet. További fájlok feltöltéséhez " +"töröljünk néhányat a régiek közül." + +#: products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php:1002 +msgid "Could not calculate resized image dimensions" +msgstr "Nem számolható ki az átméretezett kép mérete." + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:154 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:135 +msgid " mm" +msgstr " mm" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:163 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:141 +msgid " sec" +msgstr " mp" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:168 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:145 +msgid "Fired" +msgstr "Kész" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:168 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:145 +msgid "Not fired" +msgstr "Nincs kész" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:539 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:452 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:46 +msgid "Aperture" +msgstr "Nyílás" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:540 +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:565 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:453 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:478 +msgid "Credit" +msgstr "Köszönet" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:541 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:454 +msgid "Camera" +msgstr "Kamera" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:542 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:455 +msgid "Caption" +msgstr "Cím" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:543 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:26 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:114 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:456 +msgid "Date/Time" +msgstr "Dátum/Időpont" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:544 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:457 +msgid "Copyright" +msgstr "Copyright" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:545 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:458 +msgid "Focal length" +msgstr "Fókusztávolság" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:546 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:459 +msgid "ISO" +msgstr "ISO" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:547 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:460 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:54 +msgid "Shutter speed" +msgstr "Zársebesség" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:548 +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:4 +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:3 +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:3 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:678 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:461 +msgid "Title" +msgstr "Cím" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:549 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:459 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:410 +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:132 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:462 +msgid "Author" +msgstr "Szerző" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:550 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:51 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:176 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:389 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:463 +msgid "Tags" +msgstr "Címkék" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:551 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:464 +msgid "Subject" +msgstr "Tárgy" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:552 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:465 +msgid "Make" +msgstr "Gyártmány" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:553 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:466 +msgid "Edit Status" +msgstr "Státusz szerkesztése" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:554 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:467 +msgid "Category" +msgstr "Kategória" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:555 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:468 +msgid "Keywords" +msgstr "Kulcsszavak" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:556 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:469 +msgid "Date Created" +msgstr "Készítés dátuma" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:557 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:470 +msgid "Time Created" +msgstr "Készítés ideje" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:558 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:471 +msgid "Author Position" +msgstr "Szerző pozíciója" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:559 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:472 +msgid "City" +msgstr "Település" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:560 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:473 +msgid "Location" +msgstr "Hely" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:561 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:474 +msgid "Province/State" +msgstr "Megye/állam" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:562 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:475 +msgid "Country code" +msgstr "Országkód" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:563 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:476 +msgid "Country" +msgstr "Ország" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:564 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:477 +msgid "Headline" +msgstr "Címsor" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:566 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:479 +msgid "Source" +msgstr "Forrás" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:567 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:480 +msgid "Copyright Notice" +msgstr "Szerzői jogok" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:568 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:481 +msgid "Contact" +msgstr "Kapcsolat" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:569 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:482 +msgid "Last modified" +msgstr "Utolsó módosítás" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:570 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:483 +msgid "Program tool" +msgstr "Programeszköz" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:571 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:484 +msgid "Format" +msgstr "Formátum" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:572 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:485 +msgid "Image Width" +msgstr "Kép szélesség" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:573 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:486 +msgid "Image Height" +msgstr "Kép magasság" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:574 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:487 +msgid "Flash" +msgstr "Flash" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:647 +#, php-format +msgid "Unable to create directory %s." +msgstr "A könyvtár létrehozása sikertelen: %s." + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:652 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:823 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1021 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1106 +#, php-format +msgid "" +"Unable to write to directory %s. Is this directory writable by the server?" +msgstr "%s könyvtárba nem lehet írni. A szerver írhatja ezt a könyvtárat?" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:681 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1146 +#, php-format +msgid "Failed to copy database row for picture %s" +msgstr "%s képhez tartozó adatbázis sort nem lehet átmásolni." + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:693 +#, php-format +msgid "Failed to get image path for %s" +msgstr "Nem lehet a képútvonalat beolvasni: %s" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:711 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1132 +#, php-format +msgid "Failed to copy image %1$s to %2$s" +msgstr "" +"Nem lehet a képeket átmásolni a(z) %1$s könyvtárból a(z) " +"%2$s könyvtárba." + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:715 +#, php-format +msgid "Copied image %1$s to %2$s" +msgstr "Átmásolt képek: %1$s -> %2$s" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:723 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1158 +#, php-format +msgid "" +"Image %1$s (%2$s) copied as image %3$s (%4$s) » The file already " +"existed in the destination gallery." +msgstr "" +"%1$s (%2$s) képet átmásoltunk mint %3$s (%4$s) » A célkönyvtárban már " +"lézetett ez a fájl." + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:727 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1161 +#, php-format +msgid "Image %1$s (%2$s) copied as image %3$s (%4$s)" +msgstr "%1$s (%2$s) képet átmásoltunk mint %3$s (%4$s) " + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:740 +#, php-format +msgid "Copied %1$s picture(s) to gallery %2$s ." +msgstr "%1$s kép került át a galériába: %2$s." + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:767 +msgid "Could not find image" +msgstr "Nem található a kép." + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:772 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:388 +msgid " is not writeable" +msgstr " nem írható" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:777 +msgid "Backup file does not exist" +msgstr "A biztonsági másolatfájl nem létezik." + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:782 +msgid "Could not restore original image" +msgstr "Nem állítható vissza az eredeti kép." + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.display_settings_controller.php:17 +#: products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:242 +#: products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:328 +msgid "Gallery Settings" +msgstr "Galéria beállítások" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery.php:73 +msgid "Source not compatible with selected display type" +msgstr "A forrás nem kompatibilis a kiválasztott megjelenési típussal." + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:327 +msgid "NextGEN Gallery & Album Settings" +msgstr "NextGEN Galéria és album beállítások" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/templates/alt_view_link_text.php:15 +#: products/photocrati_nextgen/modules/nextgen_gallery_display/templates/return_link_text.php:15 +msgid "link text" +msgstr "linkszöveg" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:12 +msgid "Image Options" +msgstr "Kép opciók" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:22 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:588 +#: products/photocrati_nextgen/modules/ngglegacy/admin/thumbnails-template.php:76 +msgid "Custom" +msgstr "Egyedi" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:23 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:111 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:549 +msgid "Image ID" +msgstr "Kép AZ" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:24 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:570 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:112 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:166 +msgid "Filename" +msgstr "Fájlnév" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:25 +msgid "Alt/Title Text" +msgstr "Alternatív/Cím szöveg" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:38 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:115 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:557 +msgid "Ascending" +msgstr "Növekvő" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:39 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:116 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:558 +msgid "Descending" +msgstr "Csökkenő" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:50 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:388 +msgid "Categories" +msgstr "Kategóriák" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:81 +msgid "Gallery path does not exist and could not be created" +msgstr "A galéria útvonal nem létezik és nem hozható létre." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:86 +msgid "Where would you like galleries stored?" +msgstr "A galériák tárolási helye" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:87 +msgid "Where galleries and their images are stored" +msgstr "A galériák és képeik tárolási helye" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:89 +msgid "Delete Image Files?" +msgstr "Képfájlok törlése" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:90 +msgid "" +"When enabled, image files will be removed after a Gallery has been deleted" +msgstr "Engedélyezve a képek törlésre kerülnek a galéria törlése után." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:92 +msgid "Show Related Images on Posts?" +msgstr "Kapcsolódó képek megjelenítése bejegyzésekben" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:93 +msgid "" +"When enabled, related images will be appended to each post by matching the " +"posts tags/categories to image tags" +msgstr "" +"Engedélyezve a kapcsolódó képek bekerülnek minden bejegyzésbe a bejegyzés " +"címkék/kategóriák és a képcímkék egyezése alapján." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:95 +msgid "(Show Customization Settings)" +msgstr "(Testreszabási beállítások megjelenítése)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:96 +msgid "(Hide Customization Settings)" +msgstr "(Testreszabási beállítások elrejtése)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:97 +msgid "How should related images be match?" +msgstr "Kapcsolódó képek egyeztetése" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:100 +msgid "Maximum # of related images to display" +msgstr "A megjelenítendő kapcsolódó képek maximális száma" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:102 +msgid "Heading for related images" +msgstr "Kapcsolódó képek fejléce" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:104 +msgid "What's the default sorting method?" +msgstr "Alapértelmezett rendezési metódus" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:107 +msgid "Sort in what direction?" +msgstr "Rendezés iránya" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:110 +msgid "Automatically resize images after upload" +msgstr "Képek automatikus átméretezése feltöltéskor" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:111 +msgid "It is recommended that your images be resized to be web friendly" +msgstr "Ajánlatos a képek átméretezése webbarát méretre." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:113 +msgid "What should images be resized to?" +msgstr "Képek átméretezése erre a méretre:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:114 +msgid "" +"After images are uploaded, they will be resized to the above dimensions and " +"quality" +msgstr "" +"A képek feltöltése után a fenti méretre lesznek átméretezve a megadott " +"minőségben." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:115 +msgid "Width:" +msgstr "Szélesség:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:116 +msgid "Height:" +msgstr "Magasság:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:117 +msgid "Quality:" +msgstr "Minőség:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:121 +msgid "Backup the original images?" +msgstr "Eredeti képek biztonsági másolata" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.lightbox_manager_form.php:12 +msgid "Lightbox Effects" +msgstr "Lightbox effektusok" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.lightbox_manager_form.php:38 +msgid "What effect would you like to use?" +msgstr "Használandó effektus" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:12 +msgid "Miscellaneous" +msgstr "Vegyes" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:21 +msgid "Add MediaRSS link?" +msgstr "MediaRSS link hozzáadása" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:22 +msgid "" +"When enabled, adds a MediaRSS link to your header. Third-party web services " +"can use this to publish your galleries" +msgstr "" +"Engedélyezve MediaRSS link kerül a fejrészbe. A külső webszolgáltatások így " +"publikálhatják a galériákat." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:26 +msgid "Clear image cache" +msgstr "Kép gyorsítótár ürítése" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:27 +msgid "" +"Completely clear the NextGEN cache of all image modifications?\n" +"\n" +"Choose [Cancel] to Stop, [OK] to proceed." +msgstr "" +"A képmódosítások NextGEN gyorsítótárának teljes ürítése\n" +"\n" +"[Mégsem] az elvetéshez, [OK] a végrehajtáshoz." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:32 +msgid "Permalink slug" +msgstr "Közvetlen link keresőbarát útvonalrész" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:39 +msgid "Maximum image count" +msgstr "Maximális képszám" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:41 +msgid "" +"This is the maximum limit of images that NextGEN will restrict itself to " +"querying" +msgstr "Képek maximális korlátja a NextGEN által elvégzett lekérdezéshez." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.other_options_controller.php:22 +#: products/photocrati_nextgen/modules/nextgen_other_options/module.nextgen_other_options.php:39 +msgid "Other Options" +msgstr "Egyéb opciók" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:7 +msgid "Reset Options" +msgstr "Opciók alaphelyzetbe állítása" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:15 +msgid "Reset all options to default settings" +msgstr "Minden opció alaphelyzetbe kerüljön" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:16 +msgid "" +"Replace all existing options and gallery options with their default settings" +msgstr "Minden létező és galéria opció alaphelyzetbe kerüljön" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:17 +msgid "Reset settings" +msgstr "Alaphelyzetbe állítás" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:18 +msgid "" +"Reset all options to default settings?\n" +"\n" +"Choose [Cancel] to Stop, [OK] to proceed." +msgstr "" +"Minden opció alaphelyzetbe kerüljön?\n" +"\n" +"[Mégsem] ez elvetéshez, [OK] a végrehajtáshoz." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.roles_form.php:7 +msgid "Roles & Capabilities" +msgstr "Szerepkörök és lehetőségek" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:12 +msgid "Styles" +msgstr "Stílusok" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:18 +msgid "What stylesheet would you like to use?" +msgstr "Stíluslap kiválasztása" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:21 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:136 +msgid "(Show Customization Options)" +msgstr "(Testreszabási opciók megjelenítése)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:22 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:137 +msgid "(Hide Customization Options)" +msgstr "(Testreszabási opciók elrejtése)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:23 +msgid "File Content:" +msgstr "Fájltartalom:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:24 +msgid "Changes you make to the contents will be saved to" +msgstr "A tartalom változásai mentésre kerülnek:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:25 +msgid "You could edit this file if it were writable" +msgstr "Szerkeszthető lenne a fájl, ha írható lenne." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:12 +msgid "Thumbnail Options" +msgstr "Bélyegkép opciók" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:20 +msgid "Default thumbnail dimensions:" +msgstr "Alapértelmezett bélyegkép beállítások:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:21 +msgid "When generating thumbnails, what image dimensions do you desire?" +msgstr "Képméretek a bélyegképek generálásához" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:24 +msgid "Set fix dimension?" +msgstr "Fix méret beállítás" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:25 +msgid "Ignore the aspect ratio, no portrait thumbnails?" +msgstr "A képarány figyelmen kívül hagyása, ne legyenek álló bélyegképek" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:27 +msgid "Adjust Thumbnail Quality?" +msgstr "Bélyegképek minőség beállítás" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:28 +msgid "When generating thumbnails, what image quality do you desire?" +msgstr "Minőség a bélyegképek generálásához" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:30 +msgid "Size List" +msgstr "Listaméret" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:31 +msgid "List of default sizes used for thumbnails and images" +msgstr "" +"A bélyegképekhez és a képekhez használandó alapértelmezett méretek listája" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:12 +msgid "Watermarks" +msgstr "Vízjelek" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:41 +msgid "Using an Image" +msgstr "Kép használata" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:42 +msgid "Using Text" +msgstr "Szöveg használata" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:69 +msgid "An absolute or relative (to the site document root) file system path" +msgstr "" +"Abszolút vagy a webhely gyökeréhez képest megadott relatív fájlrendszer " +"útvonal." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:71 +msgid "" +"An absolute or relative (to the site document root) file system path or an " +"HTTP url" +msgstr "" +"Abszolút vagy a webhely gyökeréhez képest megadott relatív fájlrendszer " +"útvonal vagy HTTP webcím.." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:74 +msgid "Image URL:" +msgstr "Kép webcím:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:90 +msgid "Font Family:" +msgstr "Betűcsalád:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:92 +msgid "Font Size:" +msgstr "Betűméret:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:94 +msgid "Font Color:" +msgstr "Betűszín:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:97 +msgid "Text:" +msgstr "Szöveg:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:99 +msgid "Opacity:" +msgstr "Áttetszőség:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:126 +msgid "" +"Please note: You can only activate the watermark under Manage Gallery. This " +"action cannot be undone." +msgstr "" +"Megjegyzés: A vízjel a Galéria kezelés menüpont alatt aktiválható. A művelet " +"nem vonható vissza." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:127 +msgid "How will you generate a watermark?" +msgstr "A vízjel generálása" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:131 +msgid "Position:" +msgstr "Pozíció:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:133 +msgid "Offset:" +msgstr "Eltolás:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:139 +msgid "Preview of saved settings:" +msgstr "Mentett beállítások előnézete:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:140 +msgid "Refresh preview image" +msgstr "Előnézeti kép frissítése" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:34 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:37 +msgid "(Show Advanced Settings)" +msgstr "(Bővített beállítások megjelenítése)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:35 +msgid "(Hide Advanced Settings)" +msgstr "(Bővített beállítások elrejtése)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:56 +msgid "What must the lightbox be applied to?" +msgstr "Lightbox alkalmazása" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:60 +msgid "Only apply to NextGEN images" +msgstr "Alkalmazás csak a NextGEN képekre" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:61 +msgid "Only apply to NextGEN and WordPress images" +msgstr "Alkalmazás csak a NextGEN és a WordPress képekre" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:62 +msgid "Try to apply to all images" +msgstr "Alkalmazás a összes képre" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:63 +msgid "Try to apply to all images that link to image files" +msgstr "Alkalmazás az összes képfájlra mutató képre" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php:21 +msgid "Place any custom stylesheets in wp-content/ngg_styles" +msgstr "" +"Egyedi stíluslapokat lehet elhelyezni a wp-content/ngg_styles könyvtárban." + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php:24 +#, php-format +msgid "All stylesheets must contain a file header" +msgstr "" +"Minden stíluslapnak tartalmaznia kell egy fájl " +"fejrészt." + +#: products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:41 +msgid "Related Images" +msgstr "Kapcsolódó képek" + +#: products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:61 +msgid "[Show slideshow]" +msgstr "[Diavetítés indítása]" + +#: products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:62 +msgid "[Show thumbnails]" +msgstr "[Bélyegképek megjelenítése]" + +#: products/photocrati_nextgen/modules/nextgen_xmlrpc/module.nextgen_xmlrpc.php:425 +msgid "Sorry, you must be able to manage galleries" +msgstr "Jogosultság szükséges a galériák kezeléséhez." + +#: products/photocrati_nextgen/modules/widget/class.widget_gallery.php:7 +msgid "Add recent or random images from the galleries" +msgstr "Új vagy véletlenszerű képek hozzáadása galériákból" + +#: products/photocrati_nextgen/modules/widget/class.widget_gallery.php:8 +msgid "NextGEN Widget" +msgstr "NextGEN kisalkalmazás" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:9 +msgid "Widget that displays Media RSS links for NextGEN Gallery." +msgstr "A NextGEN Gallery Média RSS linjeit megjelenítő kisalkalmazás." + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:10 +msgid "NextGEN Media RSS" +msgstr "NextGEN Média RSS" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:22 +msgid "Media RSS" +msgstr "Média RSS" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:23 +msgid "Link to the main image feed" +msgstr "Hivatkozás a fő képcsatornára" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:93 +#: products/photocrati_nextgen/modules/ngglegacy/view/gallery-caption.php:32 +#: products/photocrati_nextgen/modules/ngglegacy/view/gallery.php:32 +msgid "[View with PicLens]" +msgstr "[Megtekintés PicLens alkalmazással]" + +#: products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:7 +msgid "Show a NextGEN Gallery Slideshow" +msgstr "Egy NextGEN Gallery diavetítés megtekintése" + +#: products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:8 +msgid "NextGEN Slideshow" +msgstr "NextGEN diavetítés" + +#: products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:76 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:321 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:521 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:721 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:215 +msgid "Slideshow" +msgstr "Diavetítés" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:15 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:229 +msgid "Show" +msgstr "Megjelenítés" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:26 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:316 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:520 +msgid "Thumbnails" +msgstr "Bélyegképek" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:29 +msgid "Original images" +msgstr "Eredeti képek" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:42 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:822 +msgid "random" +msgstr "véletlen" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:50 +msgid "recently added" +msgstr "legújabbak" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:62 +msgid "Enable IE8 Web Slices" +msgstr "IE8 Web szeletek bekapcsolása" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:68 +msgid "Width x Height" +msgstr "Szélesség x magasság" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:87 +msgid "Select" +msgstr "Választás" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:92 +msgid "All galleries" +msgstr "Összes galéria" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:95 +msgid "Only which are not listed" +msgstr "Csak a nem listázottak" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:98 +msgid "Only which are listed" +msgstr "Csak a listázottak" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:107 +msgid "Gallery ID" +msgstr "Galéria AZ" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:114 +msgid "Gallery IDs, separated by commas." +msgstr "Galéria azonosítók, vesszővel elválasztva" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:19 +msgid "Show Media RSS icon" +msgstr "Media RSS ikon megjelenítése" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:30 +msgid "Show the Media RSS link" +msgstr "Media RSS link megjelenítése" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:36 +msgid "Text for Media RSS link" +msgstr "Szöveg a Media RSS linkhez" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:47 +msgid "Tooltip text for Media RSS link" +msgstr "Gyorstipp szöveg a Media RSS linkhez" + +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:15 +msgid "Select Gallery" +msgstr "Galéria választás" + +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:23 +msgid "All images" +msgstr "Összes kép" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:159 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:190 +msgid "Overview" +msgstr "Áttekintés" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:172 +msgid "Network settings" +msgstr "Hálózati beállítások" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:305 +msgid "You do not have the correct permission" +msgstr "Nincs megfelelő jogosultság." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:306 +msgid "Unexpected Error" +msgstr "Váratlan hiba történt." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:307 +msgid "A failure occurred" +msgstr "Hiba történt" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:311 +msgid "You have attempted to queue too many files." +msgstr "Feltehetően túl sok fájl került a várakozási sorba." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:312 +msgid "This file exceeds the maximum upload size for this site." +msgstr "" +"A fájl mérete meghaladja a webhelyen engedélyezett maximális feltöltési " +"méretet." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:313 +msgid "This file is empty. Please try another." +msgstr "A fájl üres. Próbálkozzunk másikkal." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:314 +msgid "This file type is not allowed. Please try another." +msgstr "Ez a fájltípus nem engedélyezett. Próbálkozzunk másikkal." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:315 +msgid "This file is not an image. Please try another." +msgstr "A fájl nem képfájl. Próbálkozzunk másikkal." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:316 +msgid "Memory exceeded. Please try another smaller file." +msgstr "A memória betelt. Próbálkozzunk másik, kisebb fájllal." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:317 +msgid "This is larger than the maximum size. Please try another." +msgstr "A méret nagyobb a maximálisnál. Próbálkozzunk másikkal." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:318 +msgid "An error occurred in the upload. Please try again later." +msgstr "A feltöltéskor hiba történt. Próbáljuk újra." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:319 +msgid "" +"There was a configuration error. Please contact the server administrator." +msgstr "" +"Konfigurációs hiba történt. Fel kell venni a kapcsolatot a szerver " +"adminisztrátorával." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:320 +msgid "You may only upload 1 file." +msgstr "Csak egy fájlt ajánlatos feltölteni egyszerre." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:321 +msgid "HTTP error." +msgstr "HTTP hiba merült fel." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:322 +msgid "Upload failed." +msgstr "A feltöltés meghiúsult." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:323 +msgid "IO error." +msgstr "IO hiba merült fel." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:324 +msgid "Security error." +msgstr "Biztonsági hiba merült fel." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:325 +msgid "File canceled." +msgstr "A fájl törlésre került." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:326 +msgid "Upload stopped." +msgstr "A feltöltés félbeszakadt." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:327 +msgid "Dismiss" +msgstr "Elvetés" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:328 +msgid "Crunching…" +msgstr "Roppantás…" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:329 +msgid "moved to the trash." +msgstr "áthelyezésre került a lomtárba." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:330 +#, php-format +msgid "“%s” has failed to upload due to an error" +msgstr "“%s” feltöltése meghiúsult valamilyen hiba miatt." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:352 +msgid "L O A D I N G" +msgstr "B E T Ö L T É S" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:353 +msgid "Click to Close" +msgstr "Kattintás a bezáráshoz" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:462 +msgid "" +"Introduction" +msgstr "" +"Bevezetés" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:465 +msgid "" +"Languages" +msgstr "" +"Nyelvek" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:470 +msgid "Get help with NextGEN Gallery" +msgstr "NextGEN Gallery segítségkérés" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:474 +msgid "More Help & Info" +msgstr "További segítség és információ" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:476 +msgid "" +"Support Forums" +msgstr "" +"Támogató fórumok" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:477 +msgid "FAQ" +msgstr "GYIK (angol)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:478 +msgid "Feature request" +msgstr "Továbbfejlesztési javaslatok" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:479 +msgid "Get your language pack" +msgstr "Nyelvi csomag letöltése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:480 +msgid "Contribute development" +msgstr "Fejlesztések" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:481 +msgid "Download latest version" +msgstr "A legújabb verzió letöltése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/ajax.php:360 +#, php-format +msgid "Could create image with %s x %s pixel" +msgstr "Nem hozható létre %s x %s pixel méretű kép." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:172 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:216 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:239 +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:19 +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:22 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:619 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:7 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:10 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:13 +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:17 +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:20 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:10 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:13 +msgid "Cheatin’ uh?" +msgstr "Csalni próbálunk?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:180 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:209 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:253 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:178 +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:24 +msgid "Update Successfully" +msgstr "A frissítés sikeres volt." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:227 +msgid "Album deleted" +msgstr "Az album törlésre került." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:389 +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:55 +msgid "Edit Album" +msgstr "Album szerkesztése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:410 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:459 +msgid "Select album" +msgstr "Album kiválasztása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:412 +msgid "No album selected" +msgstr "Nincs album kiválasztva." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:423 +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:166 +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:94 +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:112 +msgid "Update" +msgstr "Frissítés" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:425 +msgid "Edit album" +msgstr "Album szerkesztése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:428 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:187 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:362 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:364 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:227 +msgid "Delete" +msgstr "Törlés" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:432 +msgid "Add new album" +msgstr "Új album létrehozása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:434 +msgid "Add" +msgstr "Létrehozás" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:445 +msgid "Show / hide used galleries" +msgstr "Működő galériák megjelenítése/elrejtése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:445 +msgid "[Show all]" +msgstr "[Összes megjelenítése]" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:446 +msgid "Maximize the widget content" +msgstr "A kisalkalmazás tartalmának kinyitása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:446 +msgid "[Maximize]" +msgstr "[Kinyitás]" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:447 +msgid "Minimize the widget content" +msgstr "A kisalkalmazás tartalmának bezárása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:447 +msgid "[Minimize]" +msgstr "[Bezárás]" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:449 +msgid "" +"After you create and select a album, you can drag and drop a gallery or " +"another album into your new album below" +msgstr "" +"Miután létrehoztunk és kiválasztottunk egy albumot, az egérrel belehúzhatjuk " +"a galériát vagy másik albumot az alábbi albumba." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:475 +msgid "Select gallery" +msgstr "Galéria kiválasztása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:500 +msgid "Album ID" +msgstr "Album azonosító" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:513 +msgid "No album selected!" +msgstr "Nincs album kiválasztva." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:534 +msgid "Album name:" +msgstr "Albumnév:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:540 +msgid "Album description:" +msgstr "Album leírása:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:546 +msgid "Select a preview image:" +msgstr "Előnézeti kép kiválasztása:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:549 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:552 +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_preview_image_field.php:3 +msgid "No picture" +msgstr "Nincs kép" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:563 +msgid "Page Link to" +msgstr "Az oldal hivatkozása ide:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:582 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:337 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:366 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:397 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:406 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:442 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:471 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:502 +msgid "OK" +msgstr "OK" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:584 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:339 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:368 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:399 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:408 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:444 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:473 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:504 +msgid "Cancel" +msgstr "Mégsem" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:677 +msgid "Name" +msgstr "Név" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:679 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:229 +msgid "Page" +msgstr "Oldal" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:116 +msgid "Select with the mouse the area for the new thumbnail" +msgstr "Jelöljük ki az egérrel az új bélyegkép területét." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:130 +msgid "Thumbnail updated" +msgstr "A bélyegkép frissítésre került" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:135 +msgid "Error updating thumbnail" +msgstr "Hiba történt a bélyegkép frissítésekor." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:151 +msgid "Select the area for the thumbnail from the picture on the left." +msgstr "Jelöljük ki a területet a bélyegkép számára a balra levő képről." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:39 +msgid "No valid gallery name!" +msgstr "A galéria neve érvénytelen." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:46 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:80 +msgid "Directory" +msgstr "Könyvtár" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:46 +msgid "didn't exist. Please create first the main gallery folder " +msgstr "nem létezik. Először hozzuk létre a főgaléria könyvtárat." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:47 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:56 +msgid "Check this link, if you didn't know how to set the permission :" +msgstr "" +"Ha nem tudjuk, hogy kell a jogosultságokat beállítani, ellenőrizzük ezt a " +"hivatkozást:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:80 +msgid "is not writeable !" +msgstr "nem írható." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:76 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:85 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:736 +#: products/photocrati_nextgen/modules/ngglegacy/lib/core.php:101 +msgid "Unable to create directory " +msgstr "Könyvtár létrehozása sikertelen." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:89 +msgid "The server setting Safe-Mode is on !" +msgstr "A Safe mode szerverbeállítás aktív:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:90 +msgid "If you have problems, please create directory" +msgstr "Ha probléma van, hozzuk létre a könyvtárat" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:91 +msgid "and the thumbnails directory" +msgstr "és a bélyegképek könyvtárát" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:91 +msgid "with permission 777 manually !" +msgstr "777 jogosultsággal, kézzel." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:116 +#, php-format +msgid "" +"Gallery ID %1$s successfully created. You can show this gallery in your post " +"or page with the shortcode %2$s.
      " +msgstr "" +"%1$s azonosítójú galéria elkészült. Ez a galéria a bejegyzésbe vagy oldalba " +"a következő gyorskóddal illeszthető be: %2$s.
      " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:119 +msgid "Edit gallery" +msgstr "Galéria szerkesztése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:188 +msgid "Error while creating thumbnail." +msgstr "Hiba történt a bélyegkép létrehozásakor." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:242 +msgid "Error while resizing image." +msgstr "Hiba történt a kép átméretezésekor." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:326 +msgid "Error while rotating image." +msgstr "Hiba történt a bélyegkép forgatása közben." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:361 +msgid "Error while applying watermark to image." +msgstr "Hiba történt a vízjel képre alkalmazásakor." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:385 +msgid "Object didn't contain correct data" +msgstr "Ez az objektum nem tartalmaz helyes adatot." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:391 +msgid "File do not exists" +msgstr "A fájl nem létezik." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:395 +msgid "Couldn't restore original image" +msgstr "Nem állítható vissza az eredeti kép." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:511 +msgid "(Error : Couldn't not update data base)" +msgstr "(Hiba : nem frissíthető az adatbázis)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:518 +msgid "(Error : Couldn't not update meta data)" +msgstr "(Hiba : nem frissíthető a metaadat)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:527 +msgid "(Error : Couldn't not find image)" +msgstr "(Hiba : a kép nem található)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:670 +msgid "No valid URL path " +msgstr "Nem érvényes az URL" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:686 +msgid "Import via cURL failed." +msgstr "A cURL importálás meghiúsult." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:703 +msgid "Uploaded file was no or a faulty zip file ! The server recognized : " +msgstr "A feltöltött állomány nem vagy hibás zip fájl. A szerver válasza :" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:720 +msgid "Could not get a valid foldername" +msgstr "Nem megfelelő a könyvtárnév." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:731 +#, php-format +msgid "" +"Unable to create directory %s. Is its parent directory writable by the " +"server?" +msgstr "" +"A %s könyvtár létrehozása sikertelen. Ellenőrizzük, hogy a szerver " +"rendelkezik írási jogokkal a szülőkönyvtárra!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:746 +msgid "Zip-File successfully unpacked" +msgstr "A tömörített állomány sikeresen kicsomagolásra került." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:777 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:877 +msgid "No gallery selected !" +msgstr "Nem választottuk ki azt a galériát, ahová a képet fel lehet tölteni." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:785 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:902 +msgid "Failure in database, no gallery path set !" +msgstr "Adatbázishiba történt. Nincs a galéria útvonal beállítva." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:809 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:896 +msgid "is no valid image file!" +msgstr "érvénytelen képfájl." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:830 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:919 +msgid "Error, the file could not be moved to : " +msgstr "Hiba történt, a fájlt nem lehetett áthelyezni:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:835 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:923 +msgid "Error, the file permissions could not be set" +msgstr "Hiba történt, a fájl-jogosultságokat nem lehet beállítani." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:853 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:111 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:189 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:238 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:322 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:661 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:740 +msgid "Create new thumbnails" +msgstr "Új bélyegképek készítése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:858 +msgid " Image(s) successfully added" +msgstr "A képek sikerese hozzáadásara kerültek." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:885 +msgid "Invalid upload. Error Code : " +msgstr "Hibás a feltöltés. Hibakód:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:961 +#, php-format +msgid "" +"SAFE MODE Restriction in effect! You need to create the folder %s manually" +msgstr "" +"A Safe mode korlátozás be van kapcsolva. Manuálisan kell létrehozni a " +"könyvtárat: %s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:962 +#, php-format +msgid "" +"When safe_mode is on, PHP checks to see if the owner (%s) of the current " +"script matches the owner (%s) of the file to be operated on by a file " +"function or its directory" +msgstr "" +"Amennyiben a Safe mode beállítás be van kapcsolva, a fájl-, illetve " +"könyvtárműveletek elvégzésekor a PHP ellenőrzi, hogy a szkript tulajdonosa " +"(%s) megegyezik-e az állomány tulajdonosával (%s) azért, hogy a fájlfüggvény " +"végrehajtható-e." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1015 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1092 +msgid "The destination gallery does not exist" +msgstr "A célgaléria nem létezik." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1046 +#, php-format +msgid "Failed to move image %1$s to %2$s" +msgstr "Nem lehet a képeket áthelyezni: %1$s -> %2$s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1066 +#, php-format +msgid "Moved %1$s picture(s) to gallery : %2$s ." +msgstr "%1$s képet került át ebbe a galériába: %2$s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1170 +#, php-format +msgid "Copied %1$s picture(s) to gallery: %2$s ." +msgstr "%1$s kép került másolásra %2$s galériába." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1278 +msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgstr "" +"A feltöltött fájl mérete meghaladja a php.ini fájlban levő " +"upload_max_filesize direktiva értékét" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1281 +msgid "" +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " +"the HTML form" +msgstr "" +"A feltöltött fájl mérete meghaladja a HTML űrlapban beállított MAX_FILE_SIZE " +"direktiva értékét" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1284 +msgid "The uploaded file was only partially uploaded" +msgstr "A fájl csak részlegesen lett feltöltve" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1287 +msgid "No file was uploaded" +msgstr "Nem lett feltöltve fájl." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1290 +msgid "Missing a temporary folder" +msgstr "Hiányzik az átmeneti könyvtár." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1293 +msgid "Failed to write file to disk" +msgstr "A fájl mentése nem sikerült." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1296 +msgid "File upload stopped by extension" +msgstr "A bővítmény leállította a fájl feltöltést" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1299 +msgid "Unknown upload error" +msgstr "Ismeretlen feltöltési hiba történt." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/install.php:20 +msgid "Sorry, NextGEN Gallery works only with a role called administrator" +msgstr "A NextGEN Gallery csak adminisztrátori szerepkörrel működik." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/install.php:92 +msgid "" +"NextGEN Gallery : Tables could not created, please check your database " +"settings" +msgstr "" +"NextGEN Gallery: A táblák létrehozása sikertelen volt, ellenőrizzük az " +"adatbázis beállításokat." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:99 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:206 +msgid "No images selected" +msgstr "Nem lett kép kiválasztva." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:107 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:190 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:234 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:323 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:642 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:724 +msgid "Resize images" +msgstr "Képek átméretezése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:116 +#, php-format +msgid "" +"You are about to start the bulk edit for %s galleries \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" +"A %s galéria csoportos szerkesztésére készülünk \n" +" \n" +"Az 'OK' végrehajtja, a 'Mégse' megállítja a folyamatot." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:154 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:197 +msgid "Add new gallery" +msgstr "Új galéria létrehozása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:171 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:174 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:272 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:275 +msgid "Search Images" +msgstr "Képek keresése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:186 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:320 +msgid "Bulk actions" +msgstr "Tömeges műveletek" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:188 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:321 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:572 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:687 +msgid "Set watermark" +msgstr "Vízjel elhelyezése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:191 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:326 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:577 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:708 +msgid "Import metadata" +msgstr "Metaadat importálása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:192 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:324 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:567 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:684 +msgid "Recover from backup" +msgstr "Visszaállítás biztonsági másolatból" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:194 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:335 +msgid "Apply" +msgstr "Alkalmazás" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:262 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:253 +msgid "Edit" +msgstr "Szerkesztés" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:309 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:379 +msgid "No entries found" +msgstr "Nincs elem." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:327 +msgid "New Gallery" +msgstr "Új galéria" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:329 +msgid "Create a new , empty gallery below the folder" +msgstr "Új, üres galéria létrehozása ebben a könyvtárban" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:331 +msgid "Allowed characters for file and folder names are" +msgstr "A fájl- és könyvtárnevekben a következő karakterek használhatók" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:357 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:462 +msgid "Resize Images to" +msgstr "Képek átméretezése:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:361 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:466 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:453 +msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size" +msgstr "" +"Szélesség x magasság (pixelben). A NextGEN Gallery megtartja a képarányokat." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:385 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:490 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:40 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:416 +msgid "Width x height (in pixel)" +msgstr "Szélesség x magasság (pixelben)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:391 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:496 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:426 +msgid "Set fix dimension" +msgstr "Fix méret beállítás" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:393 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:498 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:428 +msgid "Ignore the aspect ratio, no portrait thumbnails" +msgstr "A képarány figyelmen kívül hagyása, ne legyenek álló bélyegképek" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:456 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:568 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:156 +msgid "ID" +msgstr "AZ" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:458 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:571 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:245 +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:134 +msgid "Description" +msgstr "Leírás" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:460 +msgid "Page ID" +msgstr "Oldal AZ" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:35 +msgid "Gallery not found." +msgstr "Nem található a galéria." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:41 +msgid "Sorry, you have no access here" +msgstr "Nincs hozzáférési jogosultság." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:214 +msgid "Copy image to..." +msgstr "Kép másolása ide..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:218 +msgid "Move image to..." +msgstr "Kép áthelyezése ide..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:222 +msgid "Add new tags" +msgstr "Új címkék hozzáadása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:226 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:332 +msgid "Delete tags" +msgstr "Címkék törlése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:230 +msgid "Overwrite" +msgstr "Felülírás" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:243 +#, php-format +msgid "" +"You are about to start the bulk edit for %s images \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" +"%s kép csoportos szerkesztésére készülünk \n" +" \n" +"Az 'OK' végrehajtja, a 'Mégse' megállítja a folyamatot." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:269 +#, php-format +msgid "Search results for “%s”" +msgstr "Keresési eredmények: “%s”" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:298 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:488 +msgid "Gallery settings" +msgstr "Galéria beállítások" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:298 +msgid "Click here for more settings" +msgstr "További beállításokhoz kattintás ide" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:304 +msgid "Scan Folder for new images" +msgstr "Új képek keresése a könyvtárban" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:306 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:341 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:386 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:400 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:436 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:478 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:563 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:598 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:708 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:861 +msgid "Save Changes" +msgstr "Változások mentése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:325 +msgid "Delete images" +msgstr "Képek törlése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:327 +msgid "Rotate images clockwise" +msgstr "Képek forgatása az óramutató járásának irányában" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:328 +msgid "Rotate images counter-clockwise" +msgstr "Képek forgatása az óramutató járásával ellentétesen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:329 +msgid "Copy to..." +msgstr "Másolás ide..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:330 +msgid "Move to..." +msgstr "Áthelyezés ide..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:331 +msgid "Add tags" +msgstr "Címkék hozzáadása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:333 +msgid "Overwrite tags" +msgstr "Címke felülírása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:338 +msgid "Sort gallery" +msgstr "Galéria rendezése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:402 +msgid "Enter the tags" +msgstr "Címkék megadása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:426 +msgid "Select the destination gallery:" +msgstr "A célgaléria kiválasztása:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:569 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:161 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:266 +msgid "Thumbnail" +msgstr "Bélyegkép" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:571 +msgid "Alt & Title Text" +msgstr "Alternatív és címszöveg" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:572 +msgid "Tags (comma separated list)" +msgstr "Címkék (vesszővel elválasztott lista)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:35 +msgid "Sort order changed" +msgstr "A rendezési sorrend megváltozott." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:97 +msgid "Sort Gallery" +msgstr "Galériák rendezése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:101 +msgid "Update Sort Order" +msgstr "Rendezési sorrend frissítése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:104 +msgid "Back to gallery" +msgstr "Vissza a galériához" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:109 +msgid "Presort" +msgstr "Előrendezés" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:110 +msgid "Unsorted" +msgstr "Rendezetlen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:113 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:241 +msgid "Alt/Title text" +msgstr "Alternatív/Cím szöveg" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:90 +msgid "deleted successfully" +msgstr "sikeresen törlésre került." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:106 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:115 +msgid "Operation successful. Please clear your browser cache." +msgstr "A művelet befejeződött. Ürítsük ki a böngésző gyorsítótárát." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:171 +msgid "Alt & Title Text / Description" +msgstr "Alternatív és címszöveg / Leírás" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:214 +msgid "Exclude ?" +msgstr "Kizárás" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:299 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:301 +msgid "View" +msgstr "Nézet" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:309 +msgid "Show meta data" +msgstr "Metaadatok megjelenítése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:310 +msgid "Meta" +msgstr "EXIF" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:318 +msgid "Customize thumbnail" +msgstr "Bélyegkép testreszabása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:319 +msgid "Edit thumb" +msgstr "Bélyegkép szerkesztése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:327 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:328 +msgid "Rotate" +msgstr "Forgatás" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:338 +msgid "Publish this image" +msgstr "Kép publikálása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:339 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:58 +msgid "Publish" +msgstr "Publikálás" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:349 +msgid "Recover image from backup" +msgstr "Visszaállítás biztonsági másolatból" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:350 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:352 +msgid "Recover" +msgstr "Visszaállítás" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:361 +msgid "Delete image" +msgstr "Kép törlése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:392 +msgid "Title:" +msgstr "Cím:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:398 +msgid "Description:" +msgstr "Leírás:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:404 +msgid "Gallery path:" +msgstr "Galéria útvonal:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:419 +msgid "Link to page:" +msgstr "Link az oldalhoz:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:420 +msgid "Albums will link this gallery to the selected page" +msgstr "Az albumok ezt a galériát a kiválasztott oldalhoz kapcsolják." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:425 +msgid "Preview image:" +msgstr "Kép előnézet:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:431 +msgid "Create new page:" +msgstr "Új oldal létrehozása:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:607 +msgid "Gallery deleted successfully " +msgstr "A galéria sikeresen törlésre került." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:678 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:681 +msgid "Rotate images" +msgstr "Képek forgatása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:704 +msgid "Pictures deleted successfully " +msgstr "A képek sikeresen törlésre kerültek." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:802 +msgid "Tags changed" +msgstr "A címkék cseréje megtörtént." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:842 +msgid "Update successful" +msgstr "A frissítés sikeres volt." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:877 +msgid "New gallery page ID" +msgstr "Új galéria oldal azonosító" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:877 +msgid "created" +msgstr "létrehozva" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:915 +msgid "Published a new post" +msgstr "Az új bejegyzés publikálásra került." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1062 +msgid "Go to the first page" +msgstr "Ugrás az első oldalra" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1069 +msgid "Go to the previous page" +msgstr "Ugrás az előző oldalra" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1078 +msgid "Current page" +msgstr "Aktuális oldal" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1089 +msgid "Go to the next page" +msgstr "Ugrás a következő oldalra" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1096 +msgid "Go to the last page" +msgstr "Ugrás az utolsó oldalra" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1046 +#, php-format +msgid "1 item" +msgid_plural "%s items" +msgstr[0] "1 elem" +msgstr[1] "%s elem" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1046 +#, php-format +msgctxt "paging" +msgid "%1$s of %2$s" +msgstr "%1$s / %2$s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:11 +msgid "NextGEN Gallery" +msgstr "NextGEN Gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:186 +msgid "No gallery" +msgstr "Nincs galéria." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:198 +msgid "Select »" +msgstr "Választás »" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:230 +msgid "Hide" +msgstr "Elrejtés" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:235 +msgid "Image ID:" +msgstr "Kép AZ:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:249 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:45 +msgid "Alignment" +msgstr "Igazítás" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:252 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:47 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:583 +msgid "None" +msgstr "Nincs" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:254 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:49 +msgid "Left" +msgstr "Bal" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:256 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:51 +msgid "Center" +msgstr "Közép" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:258 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:53 +msgid "Right" +msgstr "Jobb" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:262 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:690 +msgid "Size" +msgstr "Méret" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:268 +msgid "Full size" +msgstr "Teljes méret" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:270 +msgid "Singlepic" +msgstr "Singlepic" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:282 +msgid "Use as featured image" +msgstr "Használat kiemelt képként." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:284 +msgid "Insert into Post" +msgstr "Bejegyzésbe illesztés" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:295 +msgid "Save all changes" +msgstr "Összes változtatás mentése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:14 +msgid "NextGEN Gallery Overview" +msgstr "NextGEN Gallery áttekintése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:84 +msgid "Welcome to NextGEN Gallery !" +msgstr "Üdvözlet a NextGEN Gallery bővítményben." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:85 +msgid "Do you like this Plugin?" +msgstr "Tetszik a bővítmény?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:87 +msgid "About" +msgstr "Névjegy" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:90 +msgid "Server Settings" +msgstr "Szerver beállítások" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97 +msgid "" +"NextGEN Gallery is one of the most popular Wordpress plugins of all time " +"with over 9 million downloads. It is developed and supported by Photocrati " +"Media. We'd like to offer a special thanks to Alex Rabe, who first developed " +"the plugin and maintained it through 2011." +msgstr "" +"A NextGEN Gallery az egyik legnépszerűbb Wordpress bővítmény több, mint 9 " +"millió letöltéssel. A fejlesztés és a támogatást a Photocrati Media adja. " +"Külön köszönet Alex Rabe részére, aki elkezdte a bővítmény fejlesztését és " +"karbantartotta azt 2011-ig." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:98 +msgid "" +"NEED HELP? If you need help or assistance please visit the " +"NextGEN " +"Gallery forums on WordPress.org. Please note that we actively monitor " +"and participate in the forums, but given that NextGEN Gallery is a free " +"product, we don't guarantee replies to support queries." +msgstr "" +"Segítség Ha segítségre vagy támogatásra van szükség, " +"keressük fel a NextGEN Gallery fórumokat a WordPress.org webhelyen. A " +"fejlesztők aktívan nézik át a fórumokat megválaszolva a kérdéseket, de mivel " +"a NextGEN Gallery ingyenes termék, nem garantálják a támogatói kérések " +"megválaszolását." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:99 +msgid "" +"EXTENDING NEXTGEN? There are many third party plugins that " +"add displays and functionality for NextGEN Gallery. See our Complete List of " +"NextGEN Extension Plugins." +msgstr "" +"NextGEN bővítés Számos külső fejlesztésű bővítmény ad " +"megjelenítést és funkciókat a NextGEN Gallery részére. NextGEN bővítmények " +"teljes listája." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:107 +#, php-format +msgid "" +"This plugin is primarily developed, maintained, supported and documented by " +"Photocrati Media with a lot of love & " +"effort. Any kind of contribution would be highly appreciated. Thanks!" +msgstr "" +"A bővítmény fejlesztését, karbantartását, támogatását és dokumentálását Photocrati Media végzi el. Minden " +"hozzájárulást szívesen vesznek." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:112 +msgid "Please click \"Works\" on WordPress.org" +msgstr "Kattintsunk a \"Works\" lehetőségen a WordPress.org webhelyen." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:117 +msgid "Give it a good rating on WordPress.org" +msgstr "Értékelés a WordPress.org webhelyen." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:122 +msgid "Visit the plugin homepage" +msgstr "Bővítmény webhelye" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:127 +msgid "Help translating it" +msgstr "Segítség a fordításhoz." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:149 +msgid "Graphic Library" +msgstr "Grafikus rendszerkönyvtár" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:165 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:214 +msgid "Loading…" +msgstr "Betöltés…" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:165 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:214 +msgid "This widget requires JavaScript." +msgstr "A kialkalmazás a JavaScript használatát igényli." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:178 +msgid "Thanks to all donators..." +msgstr "Köszönet az adományozóknak..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:200 +msgid "View all" +msgstr "Összes megtekintése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:226 +#, php-format +msgid "" +"Newsfeed could not be loaded. Check the front page to " +"check for updates." +msgstr "" +"A hírforrás nem tölthető be. Ellenőrizzük a kezdőlapot a " +"frissítésekért." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:238 +msgid "Untitled" +msgstr "Cím nélküli" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:303 +msgid "At a Glance" +msgstr "Összefoglaló" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:356 +msgid "Storage Space" +msgstr "Tárolási terület" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:360 +#, php-format +msgid "" +"%2$sMB" +msgstr "" +"%2$sMB" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:361 +msgid "Space Allowed" +msgstr "Engedélyezett tárterület" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:368 +#, php-format +msgid "" +"%2$sMB (%3$s" +"%%)" +msgstr "" +"%2$sMB " +"(%3$s%%)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:369 +msgid "Space Used" +msgstr "Felhasznált tárterület" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:395 +msgid "No GD support" +msgstr "Nincs GD támogatás" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:427 +msgid "Not set" +msgstr "Nincs beállítva" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:429 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:432 +msgid "On" +msgstr "Be" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:430 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:433 +msgid "Off" +msgstr "Ki" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:437 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:440 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:443 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:446 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:449 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:452 +msgid "N/A" +msgstr "Nincs adat" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:451 +msgid " MByte" +msgstr "megabájt" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:464 +msgid "Operating System" +msgstr "Operációs rendszer" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:465 +msgid "Server" +msgstr "Szerver" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:466 +msgid "Memory usage" +msgstr "Memória felhasználás" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:467 +msgid "MYSQL Version" +msgstr "MYSQL verzió" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:468 +msgid "SQL Mode" +msgstr "SQL mód" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:469 +msgid "PHP Version" +msgstr "PHP verzió" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:470 +msgid "PHP Safe Mode" +msgstr "PHP Safe Mode" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:471 +msgid "PHP Allow URL fopen" +msgstr "PHP Allow URL fopen bekapcsolása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:472 +msgid "PHP Memory Limit" +msgstr "PHP memóriakorlát" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:473 +msgid "PHP Max Upload Size" +msgstr "PHP feltöltési méretkorlát" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:474 +msgid "PHP Max Post Size" +msgstr "PHP maximális beküldési méret" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:475 +msgid "PCRE Backtracking Limit" +msgstr "PCRE visszakövetési korlát" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:476 +msgid "PHP Max Script Execute Time" +msgstr "PHP végrehajtási időkorlát" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:477 +msgid "PHP Exif support" +msgstr "PHP Exif támogatás" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:478 +msgid "PHP IPTC support" +msgstr "PHP IPTC támogatás" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:479 +msgid "PHP XML support" +msgstr "PHP XML támogatás" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:491 +msgid "" +"NextGEN Gallery contains some functions which are only available under PHP " +"5.2. You are using the old PHP 4 version, upgrade now! It's no longer " +"supported by the PHP group. Many shared hosting providers offer both PHP 4 " +"and PHP 5, running simultaneously. Ask your provider if they can do this." +msgstr "" +"A NextGEN Gallery olyan függvényeket tartalmaz, amely csak a PHP 5.2 " +"verziónál érhető el. Régebbi, PHP 4 verzió használata esetén frissítsünk " +"most! A PHP csoport már nem támogatja a régebbi verziót. Sok " +"tárhelyszolgáltató támogatja mind a PHP 4 mind a PHP 5 használatát, " +"párhuzamosan futtatva azokat. Kérdezzük meg a szolgáltatót, hogy van-e " +"megfelelő PHP szolgáltatás." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:35 +msgid "Post title" +msgstr "Bejegyzéscím" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:37 +msgid "Enter the post title " +msgstr "Bejegyzés cím megadása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:42 +msgid "Size of the image" +msgstr "Képméret" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:60 +msgid "Draft" +msgstr "Piszkozat" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:26 +msgid "" +"Select the lowest role which should be able to access the following " +"capabilities. NextGEN Gallery supports the standard roles from WordPress." +msgstr "" +"Válasszuk ki a galéria használatához szükséges legalacsonyabb jogosultsági " +"szintet. A NextGEN Gallery bővítmény a WordPress szabványos felhasználói " +"szerepköreit használja." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:27 +msgid "For a more flexible user management you can use the" +msgstr "Rugalmasabb felhasználókezeléshez a következő bővítmény használható:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:31 +msgid "Main NextGEN Gallery overview" +msgstr "NextGEN Gallery áttekintése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:35 +msgid "Use TinyMCE Button / Upload tab" +msgstr "TinyMCE Gombok / Feltöltés fül használata" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:39 +msgid "Add gallery / Upload images" +msgstr "Galéria létrehozása / Képek feltöltése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:43 +msgid "Manage gallery" +msgstr "Galéria kezelés" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:47 +msgid "Manage others gallery" +msgstr "További galériák kezelése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:51 +msgid "Manage tags" +msgstr "Címkék kezelése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:59 +msgid "Change style" +msgstr "Stílusváltás" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:63 +msgid "Change options" +msgstr "Beállítások megváltoztatása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:67 +msgid "NextGEN Attach Interface" +msgstr "NextGEN csatolási felület" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:60 +msgid "Image rotated" +msgstr "A kép elforgatásra került." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:62 +msgid "Error rotating thumbnail" +msgstr "Hiba történt a bélyegkép forgatásakor" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:85 +msgid "90° clockwise" +msgstr "90° óramutatóval megegyezően" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:86 +msgid "90° anticlockwise" +msgstr "90° óramutatóval ellentétesen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:87 +msgid "Flip vertically" +msgstr "Tükrözés függőlegesen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:88 +msgid "Flip horizontally" +msgstr "Tükrözés vízszintesen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:22 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:204 +#, php-format +msgid "Rebuild image structure : %s / %s images" +msgstr "Képstruktúra újraépítés: %s / %s kép" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:23 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:205 +#, php-format +msgid "Rebuild gallery structure : %s / %s galleries" +msgstr "Galériastruktúra újraépítés: %s / %s galéria" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:24 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:206 +#, php-format +msgid "Rebuild album structure : %s / %s albums" +msgstr "Albumstruktúra újraépítés: %s / %s album" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:81 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:263 +msgid "Done." +msgstr "Kész." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:196 +msgid "Cache cleared" +msgstr "Az gyorsítótár kiürítésre került." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:315 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:334 +msgid "General Options" +msgstr "Általános beállítások" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:317 +msgid "Image" +msgid_plural "Images" +msgstr[0] "kép" +msgstr[1] "kép" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:319 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:572 +msgid "Effects" +msgstr "Effektusok" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:320 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:614 +msgid "Watermark" +msgstr "Vízjel" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:340 +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:54 +msgid "Gallery path" +msgstr "Galéria útvonala" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:342 +msgid "This is the default path for all galleries" +msgstr "Ez az alapértelmezett útvonal az összes galériához." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:345 +msgid "Delete image files" +msgstr "Képfájlok törlése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:347 +msgid "Delete files, when removing a gallery in the database" +msgstr "A fájlok törlése a galéria adatbázisból történő eltávolításakor." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:350 +msgid "Activate permalinks" +msgstr "Közvetlen linkek bekapcsolása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:352 +msgid "" +"When you activate this option, you need to update your permalink structure " +"one time." +msgstr "" +"Ha ezt az opciót aktiváljuk, akkor frissíteni kell a közvetlenlink " +"struktúrát." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:353 +msgid "Gallery slug name :" +msgstr "Galéria keresőbarát útvonalrész név:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:357 +msgid "Create new URL friendly image slugs" +msgstr "Új webcím-barát képútvonal-részek létrehozása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:358 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:474 +msgid "Proceed now" +msgstr "Művelet végrehajtása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:361 +msgid "Select graphic library" +msgstr "Grafikus műveletek" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:362 +msgid "GD Library" +msgstr "GD rendszerkönyvtár" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:363 +msgid "ImageMagick (Experimental). Path to the library :" +msgstr "ImageMagick (kísérleti). Útvonal a rendszerkönyvtárhoz:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:368 +msgid "Activate Media RSS feed" +msgstr "Média RSS csatorna bekapcsolása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:370 +msgid "" +"A RSS feed will be added to you blog header. Useful for CoolIris/PicLens" +msgstr "" +"Egy RSS hivatkozás kerül a blog fejlécébe, mely hasznos a CoolIris/PicLens " +"lehetőségnél." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:373 +msgid "Activate PicLens/CoolIris support" +msgstr "PicLens/CoolIris támogatás bekapcsolása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:375 +msgid "" +"When you activate this option, some javascript is added to your site footer. " +"Make sure that wp_footer is called in your theme." +msgstr "" +"Amikor aktiváljuk ezt az opciót, egy pár soros JavaScript kerül a láblécbe. " +"Nézzük meg, hogy általunk használt sablonban a wp_footer függvény " +"meghívásra kerül-e." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:378 +msgid "Tags / Categories" +msgstr "Címkék / Kategóriák" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:381 +msgid "Activate related images" +msgstr "Kapcsolódó képek aktiválása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:383 +msgid "This option will append related images to every post" +msgstr "Ez az opció kapcsolódó képeket csatol minden bejegyzéshez." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:387 +msgid "Match with" +msgstr "Egyezés:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:393 +msgid "Max. number of images" +msgstr "Képek maximális száma" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:395 +msgid "0 will show all images" +msgstr "0 esetén minden kép megjelenik" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:399 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:435 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:477 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:562 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:597 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:860 +msgid "More settings" +msgstr "További beállítások" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:409 +msgid "Thumbnail settings" +msgstr "Bélyegkép beállítások" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:413 +msgid "" +"Please note : If you change the settings, you need to recreate the " +"thumbnails under -> Manage Gallery ." +msgstr "" +"Megjegyzés: ha megváltoztatjuk a beállításokat, a bélyegképeket újra kell " +"generálni a Galéria kezelés menüpontban." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:422 +msgid "These values are maximum values " +msgstr "Ezek a maximális értékek." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:445 +msgid "Image settings" +msgstr "Képbeállítások" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:451 +msgid "Resize Images" +msgstr "Képek átméretezése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:460 +msgid "Backup original images" +msgstr "Eredeti képek biztonsági másolata" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:462 +msgid "Creates a backup for inserted images" +msgstr "Biztonsági másolatot készítése a beszúrt képekről" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:465 +msgid "Automatically resize" +msgstr "Automatikus átméretezés" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:467 +msgid "Automatically resize images on upload." +msgstr "Képek automatikus átméretezése feltöltéskor." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:470 +msgid "Single picture" +msgstr "Önálló kép" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:473 +msgid "Clear cache folder" +msgstr "Gyorsítótár törlése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:494 +msgid "Deactivate gallery page link" +msgstr "Galéria oldal hivatkozás kikapcsolása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:496 +msgid "" +"The album will not link to a gallery subpage. The gallery is shown on the " +"same page." +msgstr "" +"Az album nem hivatkozik galéria aloldalra. A galéria ugyanazon az oldalon " +"jelenik meg." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:500 +msgid "Number of images per page" +msgstr "Oldalanként megjelenített képek száma" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:502 +msgid "0 will disable pagination, all images on one page" +msgstr "" +"0 esetén a lapozás kikapcsolásra kerül. Minden kép egy oldalon jelenik meg." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:506 +msgid "Number of columns" +msgstr "Oszlopok száma" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:508 +msgid "" +"0 will display as much as possible based on the width of your theme. Setting " +"normally only required for captions below the images" +msgstr "" +"0 esetén a sablon szélességén alapul. Normál beállítás, csak a kép alatti " +"szöveget kell még figyelembe venni." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:512 +msgid "Integrate slideshow" +msgstr "Diavetítés integrálása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:519 +msgid "Show first" +msgstr "Megjelenítés elsőként" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:525 +msgid "Show ImageBrowser" +msgstr "Képböngésző megjelenítése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:527 +msgid "The gallery will open the ImageBrowser instead the effect." +msgstr "A galériát a képböngésző nyitja effektus nélkül." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:531 +msgid "Add hidden images" +msgstr "Rejtett képek hozzáadása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:533 +msgid "" +"If pagination is used, this option will still show all images in the modal " +"window (Thickbox, Lightbox etc.). Note : This increases the page load" +msgstr "" +"Lapozás használatakor ez az opció modális ablakban jeleníti meg az összes " +"képet (Thickbox, Lightbox stb.). Megjegyzés : ez növeli az oldal betöltési " +"sebességét." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:539 +msgid "" +"Browse images without reload the page. Note : Works only in combination with " +"Shutter effect" +msgstr "" +"Képek tallózása az oldal újra betöltése nélkül. Megjegyzés: csak a Shutter " +"effektussal együtt működik." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:543 +msgid "Sort options" +msgstr "Rendezési beállítások" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:546 +msgid "Sort thumbnails" +msgstr "Bélyegképek rendezése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:548 +msgid "Custom order" +msgstr "Egyedi sorrend" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:550 +msgid "File name" +msgstr "Fájl neve" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:551 +msgid "Alt / Title text" +msgstr "Alternatív / Cím szöveg" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:552 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:58 +msgid "Date / Time" +msgstr "Dátum / Időpont" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:556 +msgid "Sort direction" +msgstr "Rendezés iránya" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:576 +msgid "" +"Here you can select the thumbnail effect, NextGEN Gallery will integrate the " +"required HTML code in the images. Please note that only the Shutter and " +"Thickbox effect will automatic added to your theme." +msgstr "" +"Itt lehet kiválasztani a bélyegkép effektusokat. A NextGEN Gallery " +"integrálja a szükséges HTML-kódot a képekhez.Megjegyzés: csak a Shutter és a " +"Thickbox effektus kerül automatikusan a témába." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:577 +msgid "With the placeholder" +msgstr "Helyőrrel együtt" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:577 +msgid "" +"you can activate a navigation through the images (depend on the effect). " +"Change the code line only , when you use a different thumbnail effect or you " +"know what you do." +msgstr "" +"Effektustól függően navigálhatunk a képeken keresztül. Csak akkor " +"változtassuk meg a kódsort, ha különböző bélyegkép effektusokat használunk " +"vagy tudjuk, hogy mit teszünk." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:580 +msgid "JavaScript Thumbnail effect" +msgstr "JavaScript bélyegkép effektus" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:584 +msgid "Thickbox" +msgstr "Thickbox" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:585 +msgid "Lightbox" +msgstr "Lightbox" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:586 +msgid "Highslide" +msgstr "Highslide" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:587 +msgid "Shutter" +msgstr "Shutter" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:593 +msgid "Link Code line" +msgstr "Hivatkozás kódsora" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:615 +msgid "" +"Please note : You can only activate the watermark under -> Manage Gallery . " +"This action cannot be undone." +msgstr "" +"Megjegyzés: A vízjel a Galéria kezelés menüpont alatt aktiválható. A művelet " +"nem vonható vissza." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:620 +msgid "Preview" +msgstr "Előnézet" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:622 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:627 +msgid "Position" +msgstr "Pozíció" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:647 +msgid "Offset" +msgstr "Eltolás" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:663 +msgid "Use image as watermark" +msgstr "Kép használata vízjelként" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:666 +msgid "URL to file" +msgstr "Fájl URL" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:668 +msgid "The accessing of URL files is disabled at your server (allow_url_fopen)" +msgstr "" +"Az URL hivatkozású fájlok használatát a szerver tiltja (allow_url_fopen)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:671 +msgid "Use text as watermark" +msgstr "Szöveges vízjel" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:674 +msgid "Font" +msgstr "Betűtípus" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:683 +msgid "This function will not work, cause you need the FreeType library" +msgstr "" +"Ez a függvény nem fog működni, mivel nem áll rendelkezésre a szükséges " +"FreeType rendszerkönyvtár." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:685 +msgid "" +"You can upload more fonts in the folder nggallery/fonts" +msgstr "" +"További betűtípusokat az nggallery/fonts könyvtárba lehet " +"feltölteni." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:694 +msgid "Color" +msgstr "Szín" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:696 +msgid "(hex w/o #)" +msgstr "(a számsor # nélkül)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:699 +msgid "Text" +msgstr "Szöveg" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:703 +msgid "Opaque" +msgstr "Átlátszatlan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:724 +msgid "Default size (W x H)" +msgstr "Alapértelmezett méret (SZ x M)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:729 +msgid "Duration time" +msgstr "Időtartam" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:730 +msgid "sec." +msgstr "mp." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:733 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:810 +msgid "Transition / Fade effect" +msgstr "Átmenet / Áttűnés effektus" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:736 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:813 +msgid "fade" +msgstr "halványodás" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:737 +msgid "blindX" +msgstr "blindX" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:738 +msgid "cover" +msgstr "fedés" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:739 +msgid "scrollUp" +msgstr "Gördítés fel" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:740 +msgid "scrollDown" +msgstr "Gördítés le" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:741 +msgid "shuffle" +msgstr "keverés" + +# Köszi eosz a segítséget! +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:742 +msgid "toss" +msgstr "dobás" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:743 +msgid "wipe" +msgstr "eltávolít" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:745 +msgid "See here for more information about the effects :" +msgstr "További infók az effektusról:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:749 +msgid "Settings for the JW Image Rotator" +msgstr "JW Image Rotator beállítások" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:758 +msgid "" +"The path to JW Image Rotator is not defined, the slideshow will not work." +msgstr "" +"Mivel a JW Image Rotator útvonala nincs megadva, a diavetítés nem működik." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:770 +msgid "Path to the JW Image Rotator (URL)" +msgstr "JW Image Rotator útvonal (URL)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:773 +msgid "Search now" +msgstr "Keresés most" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:774 +msgid "Press the button below to search for the JW Image Rotator" +msgstr "Nyomjuk le az alábbi gombot a JW Image Rotator kereséséhez." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:778 +msgid "Shuffle mode" +msgstr "Keverés mód" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:796 +msgid "You can change the logo at the watermark settings" +msgstr "A logót a vízjel beállításoknál lehet megváltoztatni." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:802 +msgid "true" +msgstr "igaz" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:803 +msgid "false" +msgstr "hamis" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:804 +msgid "fit" +msgstr "helykitöltés" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:805 +msgid "none" +msgstr "nincs" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:814 +msgid "bgfade" +msgstr "háttérhalványodás" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:815 +msgid "slowfade" +msgstr "lassú átúszás" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:816 +msgid "circles" +msgstr "körök" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:817 +msgid "bubbles" +msgstr "buborékok" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:818 +msgid "blocks" +msgstr "téglák" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:819 +msgid "fluids" +msgstr "folyadék" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:820 +msgid "flash" +msgstr "vaku" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:821 +msgid "lines" +msgstr "vonalak" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:831 +msgid "Background Color" +msgstr "Háttérszín" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:836 +msgid "Texts / Buttons Color" +msgstr "Szövegek / Gombok színe" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:841 +msgid "Rollover / Active Color" +msgstr "Kiválasztott / Aktív szín" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:846 +msgid "Screen Color" +msgstr "Képernyő-szín" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:851 +msgid "Background music (URL)" +msgstr "Háttérzene (URL)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:855 +msgid "Try XHTML validation (with CDATA)" +msgstr "XHTML ellenőrzés (a CDATA-val)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:857 +msgid "" +"Important : Could causes problem at some browser. Please recheck your page." +msgstr "" +"Fontos: ez egyes böngészőkkel gondokat okozhat. Ellenőrizzük az oldalt " +"minden böngészővel." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:29 +msgid "Meta Data" +msgstr "Metaadat" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:34 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:60 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:85 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:109 +msgid "Tag" +msgstr "Címke" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:35 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:61 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:86 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:110 +msgid "Value" +msgstr "Érték" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:49 +msgid "No meta data saved" +msgstr "A metaadat nem került mentésre." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:55 +msgid "EXIF Data" +msgstr "EXIF adatok" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:74 +msgid "No exif data" +msgstr "Nincs EXIF adat" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:81 +msgid "IPTC Data" +msgstr "IPTC adatok" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:105 +msgid "XMP Data" +msgstr "XMP adatok" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:11 +msgid "(From the theme folder)" +msgstr "(A téma könyvtárából)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:43 +msgid "You do not have sufficient permissions to edit templates for this blog." +msgstr "Nem rendelkezünk a sablonok szerkesztéséhez szükséges jogosultsággal." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:52 +msgid "CSS file successfully updated" +msgstr "A CSS állomány sikeresen módosításra került." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:91 +msgid "Activate and use style sheet:" +msgstr "A stíluslap aktiválása és használata: " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:111 +msgid "Activate" +msgstr "Aktiválás" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:121 +#, php-format +msgid "Editing %s" +msgstr "%s szerkesztése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:123 +#, php-format +msgid "Browsing %s" +msgstr "%s böngészése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:133 +msgid "Version" +msgstr "Verzió" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:136 +msgid "" +"Tip : Copy your stylesheet (nggallery.css) to your theme folder, so it will " +"be not lost during a upgrade" +msgstr "" +"Javaslat: ha módosítjuk a stíluslapot (nggallery.css), akkor másoljuk a " +"saját téma mappájába, ekkor nem veszik el a galéria frissítésénél a " +"változtatás." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:138 +msgid "" +"Your theme contain a NextGEN Gallery stylesheet (nggallery.css), this file " +"will be used" +msgstr "" +"A téma tartalmaz egy NextGEN Gallery stíluslapot (nggallery.css), ezért ezt " +"a fájlt fogjuk használni" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:140 +msgid "" +"Tip No. 2: Use the color picker below to help you find the right color " +"scheme for your gallery!" +msgstr "" +"2. tipp: Használjuk a színpipettát a galéria megfelelő színsémájának " +"megtalálásához!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:156 +msgid "Update File" +msgstr "Fájl frissítése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:159 +msgid "If this file were writable you could edit it." +msgstr "Ha ez a fájl írható volt, akkor szerkeszthető." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:164 +msgid "Oops, no such file exists! Double check the name and try again, merci." +msgstr "" +"Ilyen fájl nem létezik! Kétszer is ellenőrizzük a nevet és próbáljuk újra!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:41 +msgid "Most popular" +msgstr "Legnépszerűbb" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:42 +msgid "Least used" +msgstr "Utoljára használt" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:43 +msgid "Alphabetical" +msgstr "ABC sorrend" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:100 +msgid "Manage image tags" +msgstr "Képcímkék kezelése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:112 +msgid "Existing Tags" +msgstr "Meglévő címkék" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:116 +msgid "Search tags" +msgstr "Címke keresése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:120 +msgid "Go" +msgstr "OK" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:125 +msgid "Sort Order:" +msgstr "Rendezési sorrend:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:160 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:164 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:177 +msgid "Previous tags" +msgstr "Előző címke" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:173 +msgid "Next tags" +msgstr "Következő címke" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:185 +msgid "Rename Tag" +msgstr "Címke átnevezése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:193 +msgid "" +"Enter the tag to rename and its new value. You can use this feature to " +"merge tags too. Click \"Rename\" and all posts which use this tag will be " +"updated." +msgstr "" +"Írjuk be a címkét az átnevezéshez és adjunk meg új értéket. Ezt arra tudjuk " +"használni, hogy címkéket olvasszunk össze. Kattintsunk az \"Átnevezés\"-re " +"és a címkét használó összes bejegyzés lecserélésre kerül." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:194 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:242 +msgid "You can specify multiple tags to rename by separating them with commas." +msgstr "" +"Egyszerre több címkét is át tudunk nevezni, ha vesszővel választjuk el őket" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:198 +msgid "Tag(s) to rename:" +msgstr "Átnevezendő címkék:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:202 +msgid "New tag name(s):" +msgstr "Új címkék nevei:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:205 +msgid "Rename" +msgstr "Átnevezés" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:211 +msgid "Delete Tag" +msgstr "Címke törlése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:219 +msgid "" +"Enter the name of the tag to delete. This tag will be removed from all " +"posts." +msgstr "" +"Írjuk be a törölni kívánt címke nevét. Ez a címke minden bejegyzésből " +"törlődni fog." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:220 +msgid "You can specify multiple tags to delete by separating them with commas" +msgstr "" +"Egyszerre több címkét is tudunk törölni, ha vesszővel választjuk el őket" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:224 +msgid "Tag(s) to delete:" +msgstr "Törlendő címkék:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:233 +msgid "Edit Tag Slug" +msgstr "Címke rövidítés szerkesztése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:241 +msgid "" +"Enter the tag name to edit and its new slug. This will be used in tagcloud " +"links. Slug definition" +msgstr "" +"Írjuk be a szerkesztendő címkenevet és ez lesz az új keresőbarát útvonal. Keresőbarát útvonal " +"meghatározása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:246 +msgid "Tag(s) to match:" +msgstr "Illeszkedő címkék:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:250 +msgid "Slug(s) to set:" +msgstr "Hozzá illő rövidítések:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_create_page_field.php:3 +msgid "Main Page (no parent)" +msgstr "Kezdőoldal (szülő nélkül)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_create_page_field.php:10 +msgid "Add page" +msgstr "Oldal hozzáadása" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_link_to_page_field.php:3 +msgid "Not linked" +msgstr "Nincs hivatkozás" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/thumbnails-template.php:103 +msgid "These are maximum values" +msgstr "Ezek a maximális értékek." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:61 +msgid "" +"Some folders/files could not renamed, please recheck the permission and " +"rescan the folder in the manage gallery section." +msgstr "" +"Egyes mappák/fájlok nem nevezhetők át. Ellenőrizd a jogosultságokat és " +"frissítsük a mappákat a Galériakezelés menüpontnál." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:63 +msgid "Rename failed" +msgstr "Az átnevezés meghiúsult." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:159 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:178 +msgid "Upgrade NextGEN Gallery" +msgstr "NextGEN Gallery frissítése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:160 +msgid "The script detect that you upgrade from a older version." +msgstr "A szkript észlelte, hogy egy régebbi verzióról frissítettünk." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:161 +msgid "" +"Your database tables for NextGEN Gallery is out-of-date, and must be " +"upgraded before you can continue." +msgstr "" +"A NextGEN Gallery adatbázistáblái elavultak, emiatt frissíteni kell, mielőtt " +"folytatnánk." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:162 +msgid "" +"If you would like to downgrade later, please make first a complete backup of " +"your database and the images." +msgstr "" +"Ha régebbi rendszerre szeretnénk visszaállni, előbb végezzünk el egy " +"komplett mentést az adatbázisról és a képekről." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:163 +msgid "The upgrade process may take a while, so please be patient." +msgstr "A frissítés eltarthat egy darabig, várjunk türelemmel." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:164 +msgid "Start upgrade now" +msgstr "Frissítés megkezdése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:180 +msgid "Upgrade finished..." +msgstr "A frissítés befejeződött..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:181 +msgid "Continue" +msgstr "Folytatás" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:33 +msgid "Update successfully" +msgstr "A frissítés befejeződött." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:48 +msgid "Network Options" +msgstr "Hálózati beállítások" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:56 +msgid "" +"This is the default path for all blogs. With the placeholder %BLOG_ID% you " +"can organize the folder structure better." +msgstr "" +"Ez az összes blog alapértelmezett útvonala. A %BLOG_ID% segítségével jobban " +"tudjuk rendezni a könyvtárstruktúrát." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:57 +#, php-format +msgid "The default setting should be %s" +msgstr "Az ajánlott alapértelmezett beállítás: %s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:61 +msgid "Enable upload quota check" +msgstr "Feltöltési kvóta ellenőrzés engedélyezése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:63 +msgid "Should work if the gallery is bellow the blog.dir" +msgstr "Elméletileg működik, ha a galéria a blog.dir alatt van." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:67 +msgid "Enable zip upload option" +msgstr "Zip feltöltési beállítások engedélyezése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:69 +msgid "Allow users to upload zip folders." +msgstr "A zip fájlok feltöltésének engedélyezése." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:73 +msgid "Enable import function" +msgstr "Importálási művelet engedélyezése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:75 +msgid "Allow users to import images folders from the server." +msgstr "A felhasználók képeket importálhatnak a szerverről." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:79 +msgid "Enable style selection" +msgstr "Stílusválasztás engedélyezése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:81 +msgid "Allow users to choose a style for the gallery." +msgstr "A felhasználók egyedi stílust választhatnak a galériájukhoz." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:85 +msgid "Enable roles/capabilities" +msgstr "Szerepkörök/képességek engedélyezése" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:87 +msgid "Allow users to change the roles for other blog authors." +msgstr "" +"Lehetővé teszi a felhasználóknak szerepkörök változtatását más blog " +"szerzőknél." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:91 +msgid "Default style" +msgstr "Alapértelmezett stílus" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:108 +msgid "Choose the default style for the galleries." +msgstr "Alapértelmezett stílus a galériákhoz." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/core.php:410 +#, php-format +msgid "" +"Note : Based on your server memory limit you should not upload larger images " +"then %d x %d pixel" +msgstr "" +"Megjegyzés: a szerver memóriabeállításai alapján nem célszerű feltölteni " +"%d x %d pixelnél nagyobb képeket." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php:337 +#: products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php:338 +msgid "Album overview" +msgstr "Album áttekintése" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:68 +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:70 +msgid "Set NextGEN featured image" +msgstr "NextGEN kiemelt kép beállítása" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:328 +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:329 +msgid "Set featured image" +msgstr "Kiemelt kép beállítása" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:356 +msgid "Remove featured image" +msgstr "Kiemelt képek eltávolítása" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:223 +msgid "Album" +msgid_plural "Albums" +msgstr[0] "Album" +msgstr[1] "Album" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:35 +msgid "No new tag specified!" +msgstr "Nem adtunk meg új címkét." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:50 +msgid "No new/old valid tag specified!" +msgstr "Nem adtunk meg érvényes régi vagy új címkét." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:86 +msgid "No tag renamed." +msgstr "Nincs átnevezett címke." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:88 +#, php-format +msgid "Renamed tag(s) «%1$s» to «%2$s»" +msgstr "«%1$s» címke átnevezve erre: «%2$s»" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:95 +msgid "No valid new tag." +msgstr "Nincs érvényes új címke." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:112 +msgid "No objects (post/page) found for specified old tags." +msgstr "" +"Nincs olyan bejegyzés vagy oldal, mely ezeket a régi címkéket tartalmazza." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:141 +msgid "No tag merged." +msgstr "Nincs összevont címke." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:143 +#, php-format +msgid "" +"Merge tag(s) «%1$s» to «%2$s». %3$s objects edited." +msgstr "" +"«%1$s» címke összevonása ezzel: «%2$s». %3$s " +"objektum szerkesztve." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:146 +msgid "Error. Not enough tags provided to rename or merge." +msgstr "Hiba: nincs elegendő címke az átnevezéshez vagy az összevonásához." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:165 +msgid "No tag specified!" +msgstr "Nem adtunk meg címkét!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:188 +msgid "No tag deleted." +msgstr "Nincs törölt címke." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:190 +#, php-format +msgid "%1s tag(s) deleted." +msgstr "%1s címke törlésre került." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:206 +msgid "No new slug(s) specified!" +msgstr "Nincs új keresőbarát útvonalrész megadva." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:218 +msgid "Tags number and slugs number isn't the same!" +msgstr "A címkeszámok és a keresőbarát útvonalrész számok nem ugyanazok." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:245 +msgid "No slug edited." +msgstr "Nincs szerkesztett keresőbarát útvonalrész." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:247 +#, php-format +msgid "%s slug(s) edited." +msgstr "%s keresőbarát útvonalrész került szerkesztésre." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:64 +msgid "" +"Translation by : See here" +msgstr "" +"Fordítás: Itt" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:65 +msgid "" +"This translation is not yet updated for Version 1.9.0. If " +"you would like to help with translation, download the current po from the " +"plugin folder and read here how you can translate the plugin." +msgstr "" +"A fordítás még nincs frissítve az 1.9.0 verzióra. Ha részt " +"akarunk venni a fordításban, töltsük le az aktuális po fájlt a bővítmény " +"könyvtárából és olvassuk el itt a fordítási útmutatókat!" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:158 +msgid "" +"Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB or higher" +msgstr "A NextGEN Gallery 16MB-nál több memóriával működik." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:184 +msgid "Picture tag" +msgstr "Kép címke" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:185 +msgid "Picture tag: %2$l." +msgstr "Kép címke: %2$l." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:186 +msgid "Separate picture tags with commas." +msgstr "A kép címkéket vesszővel kell elválasztani." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:324 +msgid "Get help" +msgstr "Segítségkérés" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:325 +msgid "Contribute" +msgstr "Hozzájárulás" + +#: products/photocrati_nextgen/modules/ngglegacy/nggfunctions.php:29 +msgid "[Gallery not found]" +msgstr "[Nincs ilyen galéria]" + +#: products/photocrati_nextgen/modules/ngglegacy/nggfunctions.php:163 +msgid "Related images for" +msgstr "Kapcsolódó képek:" + +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:38 +msgid "Meta data" +msgstr "EXIF megjelenítése" + +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:42 +msgid "Camera / Type" +msgstr "Kameratípus" + +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:50 +msgid "Focal Length" +msgstr "Fókusztávolság" + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:50 +msgid "No galleries have been yet created." +msgstr "Még nincs galéria létrehozva." + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:69 +#, php-format +msgid "The gallery ID=%s does not exist." +msgstr "Nem létező galéria: ID=%s" + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:100 +msgid "No album ID has been provided as parameter" +msgstr "Az album azonosító nincs paraméterrel ellátva." + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:108 +#, php-format +msgid "The album ID=%s does not exist." +msgstr "Nem létező album: ID=%s" + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:115 +msgid "Invalid MediaRSS command" +msgstr "Hibás a Média RSS parancs" + +msgid "NextGEN Basic Compact Album" +msgstr "NextGEN alap kompakt album" + +msgid "NextGEN Basic Extended Album" +msgstr "NextGEN alap kiterjesztett album" + +msgid "NextGEN Basic Thumbnails" +msgstr "NextGEN alap bélyegképek" + +msgid "NextGEN Basic Slideshow" +msgstr "NextGEN alap diavetítés" + +msgid "NextGEN Basic ImageBrowser" +msgstr "NEXTGEN alap képböngésző" + +msgid "NextGEN Basic Singlepic" +msgstr "NextGEN alap Singlepic" + +msgid "NextGEN Basic Tagcloud" +msgstr "NextGEN alap címkefelhő" diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-it_IT.mo b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-it_IT.mo new file mode 100644 index 0000000000000000000000000000000000000000..e5280bfd4a7bf32a5aeee9dd3d5a37c4d674cec7 GIT binary patch literal 76080 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\n" +"Language-Team: Photocrati Media\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: it\n" +"X-Generator: Poedit 1.6.5\n" + +#: nggallery.php:290 +#, php-format +msgid "Every %d seconds" +msgstr "Ogni %d secondi" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:157 +#, php-format +msgid "Album: %s" +msgstr "Album: %s" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:159 +#, php-format +msgid "Gallery: %s" +msgstr "Galleria: %s" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:177 +msgid "Missing parameters" +msgstr "Parametri mancanti" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:213 +msgid "Displayed gallery does not exist" +msgstr "La galleria visualizzata non esiste" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:216 +msgid "Invalid request" +msgstr "Richiesta non valida" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:248 +msgid "NextGEN Gallery - Attach To Post" +msgstr "NextGEN Gallery - Allega all'articolo" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:266 +msgid "Display Galleries" +msgstr "Mostra Gallerie" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:273 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_controller.php:7 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:192 +msgid "Add Gallery / Images" +msgstr "Aggiungi Galleria / Immagini" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:280 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:160 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:194 +msgid "Manage Galleries" +msgid_plural "Manage Galleries" +msgstr[0] "Gestisci Galleria" +msgstr[1] "Gestisci Gallerie" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:287 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:404 +msgid "Manage Albums" +msgid_plural "Manage Albums" +msgstr[0] "Gestisci Album" +msgstr[1] "Gestisci Album" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:294 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:162 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:198 +msgid "Manage Tags" +msgstr "Gestisci Tag" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:115 +msgid "What would you like to display?" +msgstr "Cosa vorresti visualizzare?" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:139 +msgid "Select a display type" +msgstr "Seleziona un tipo di visualizzazione" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:162 +msgid "Customize the display settings" +msgstr "Personalizza le impostazioni di visualizzazione" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:253 +msgid "No display type selected" +msgstr "Nessun tipo di visualizzazione selezionata" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:271 +msgid "Sort or Exclude Images" +msgstr "Ordina o Escludi Immagini" + +#: products/photocrati_nextgen/modules/attach_to_post/module.attach_to_post.php:186 +msgid "Invalid Displayed Gallery" +msgstr "Galleria visualizzata non valida" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab.php:10 +#: products/photocrati_nextgen/modules/nextgen_admin/templates/nextgen_admin_page.php:25 +msgid "Save" +msgstr "Salva" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:612 +msgid "Sources" +msgstr "Sorgenti" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:646 +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:362 +msgid "(optional)" +msgstr "(opzionale)" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:654 +msgid "" +"Sets an SEO-friendly name to this gallery for URLs. Currently only in use by " +"the Pro Lightbox." +msgstr "" +"Imposta un nome SEO per questo URL di galleria. Attualmente utilizzato solo " +"da Pro Lightbox." + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:655 +msgid "Slug" +msgstr "Slug" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:860 +msgid "No entities to display for this source." +msgstr "Nessuna entità da visualizzare per questa sorgente." + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1264 +msgid "Select a gallery" +msgstr "Seleziona una galleria" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1292 +msgid "Albums" +msgstr "Album" + +#: products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:34 +msgid "Code" +msgstr "Codice" + +#: products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:48 +msgid "Stylesheet URL" +msgstr "URL del foglio di stile" + +#: products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:62 +msgid "Javascript URL" +msgstr "URL javascript" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.import_folder_form.php:7 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:6 +msgid "Import Folder" +msgstr "Importa Cartella" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:41 +msgid "No gallery name specified" +msgstr "Nessun nome galleria specificato" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:55 +msgid "Failed to extract images from ZIP" +msgstr "Estrazione di immagini dallo ZIP fallita" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:61 +msgid "Image generation failed" +msgstr "Generazione dell'immagine fallita" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:70 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:150 +msgid "An unexpected error occured." +msgstr "Si è verificato un errore imprevisto." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:77 +msgid "" +"No permissions to upload images. Try refreshing the page or ensuring that " +"your user account has sufficient roles/privileges." +msgstr "" +"Nessun permesso di caricare immagini. Prova a ricaricare la pagina o " +"assicurati che il tuo account ha i permessi necessari." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:117 +msgid "Directory does not exist." +msgstr "Directory inesistente." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:121 +msgid "No directory specified." +msgstr "Nessuna directory specificata" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:125 +msgid "" +"No permissions to browse folders. Try refreshing the page or ensuring that " +"your user account has sufficient roles/privileges." +msgstr "" +"Nessun permesso di sfogliare le cartelle. Prova a ricaricare la pagina o " +"assicurati che il tuo account ha i permessi necessari." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:155 +msgid "No folder specified" +msgstr "Nessuna cartella specificata" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:159 +msgid "" +"No permissions to import folders. Try refreshing the page or ensuring that " +"your user account has sufficient roles/privileges." +msgstr "" +"Nessun permesso di importare cartelle. Prova a ricaricare la pagina o " +"assicurati che il tuo account ha i permessi necessari." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.upload_images_form.php:7 +msgid "Upload Images" +msgstr "Carica Immagini" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:1 +msgid "" +"Select a folder to import. The folder name will be used as the title of the " +"gallery." +msgstr "" +"Seleziona una cartella da importare. Il nome della cartella verrà usato come " +"titolo della galleria." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:5 +msgid "Keep images in original location." +msgstr "Mantieni immagini nella posizione originale." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:5 +msgid "" +"Caution: If you keep images in the original folder and later delete the " +"gallery, the images in that folder might be deleted depending on your " +"settings." +msgstr "" +"Attenzione: se mantieni le immagini nella posizione originale e " +"successivamente cancelli la galleria, le immagini in quella cartella " +"potrebbero essere cancellate a seconda delle impostazioni." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:39 +msgid "Importing gallery" +msgstr "Importazione della galleria" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:41 +msgid "In Progress..." +msgstr "In corso..." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:56 +#, php-format +msgid "Done! Successfully imported %s images" +msgstr "Fatto! Importante con successo %s immagini" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1268 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:2 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:189 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:217 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:226 +msgid "Gallery" +msgid_plural "Galleries" +msgstr[0] "Galleria" +msgstr[1] "Gallerie" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:4 +msgid "Create a new gallery" +msgstr "Crea nuova galleria" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:13 +msgid "You browser doesn't have Flash, Silverlight, HTML5, or HTML4 support." +msgstr "Il tuo browser non supporta Flash, Silverlight, HTML5 o HTML4." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:99 +msgid "Drag image and ZIP files here or click Add Files" +msgstr "" +"Trascina immagini o file ZIP qui o clicca Aggiungi File" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:149 +#, php-format +msgid "%s images were uploaded successfully" +msgstr "%s immagini sono state caricate con successo" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:152 +msgid "1 image was uploaded successfully" +msgstr "1 immagine è stata caricata con successo" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:155 +msgid "0 images were uploaded" +msgstr "0 immagini sono state caricate" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:169 +msgid "Upload complete" +msgstr "Caricamento completato" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:191 +msgid "" +"An unexpected error occured. This is most likely due to a server " +"misconfiguration. Check your PHP error log or ask your hosting provider for " +"assistance." +msgstr "" +"Si è verificato un errore imprevisto. Probabilmente a causa di una errata " +"configurazione del server. Controlla il log degli errori PHP o chiedi " +"assistenza al tuo hosting provider." + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:226 +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:167 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:537 +msgid "Enable AJAX pagination" +msgstr "Abilita paginazione AJAX" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:238 +msgid "Override thumbnail settings" +msgstr "Ignora impostazioni miniatura" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:240 +msgid "" +"This does not affect existing thumbnails; overriding the thumbnail settings " +"will create an additional set of thumbnails. To change the size of existing " +"thumbnails please visit 'Manage Galleries' and choose 'Create new " +"thumbnails' for all images in the gallery." +msgstr "" +"Questo non influenza miniature esistenti; sovrascrivendo le impostazioni " +"delle miniature si creeranno set addizionali di miniature. Per modificare la " +"dimensione delle miniature esistenti visita 'Gestisci Gallerie' e seleziona " +"'Crea nuove miniature' per tutte le immagini nella galleria." + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:248 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:37 +msgid "Thumbnail dimensions" +msgstr "Dimensioni delle miniature" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:262 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:431 +msgid "Thumbnail quality" +msgstr "Qualità delle miniature" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:272 +msgid "Thumbnail crop" +msgstr "Taglio miniatura" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:281 +msgid "Thumbnail watermark" +msgstr "Filigrana miniatura" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:306 +msgid "Override image settings" +msgstr "Ignora impostazioni immagine" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:308 +msgid "Overriding the image settings will create an additional set of images" +msgstr "" +"Sovrascrivendo le impostazioni immagine saranno creati set addizionali di " +"immagini" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:316 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:66 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:456 +msgid "Image quality" +msgstr "Qualità immagine" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:326 +msgid "Image crop" +msgstr "Taglio immagine" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:335 +msgid "Image watermark" +msgstr "Filigrana immagine" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:359 +msgid "Gallery width" +msgstr "Larghezza Galleria" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:361 +msgid "An empty or 0 setting will make the gallery full width" +msgstr "Un'impostazione vuota o 0 renderanno la galleria a larghezza piena" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:365 +msgid "Pixels" +msgstr "Pixel" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:365 +msgid "Percent" +msgstr "Percentuale" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:374 +msgid "First Image" +msgstr "Prima Immagine" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:375 +msgid "Average" +msgstr "Media" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:100 +msgid "Clear" +msgstr "Pulisci" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:101 +msgid "Default" +msgstr "Default" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:102 +msgid "Select Color" +msgstr "Seleziona COlore" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:103 +msgid "Current Color" +msgstr "Colore corrente" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:174 +msgid "Saved successfully" +msgstr "Salvato con successo" + +#: products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_radio.php:16 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_radio.php:16 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:122 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:24 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:40 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:65 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:191 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php:37 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:407 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:454 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:457 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:460 +msgid "Yes" +msgstr "Si" + +#: products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_radio.php:24 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_radio.php:24 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:123 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:23 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:47 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:72 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:198 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php:44 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:409 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:455 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:458 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:461 +msgid "No" +msgstr "No" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:25 +msgid "Display galleries as" +msgstr "Mostra gallerie come" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:26 +msgid "How would you like galleries to be displayed?" +msgstr "Come vorresti mostrare le gallerie?" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:28 +msgid "Galleries per page" +msgstr "Gallerie per pagina" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:47 +msgid "Items per page" +msgstr "Oggetti per pagina" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:48 +msgid "Maximum number of galleries or sub-albums to appear on a single page" +msgstr "" +"Numero massimo di gallerie o sotto-album da visualizzare in una singola " +"pagina" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/templates/compact.php:28 +#: products/photocrati_nextgen/modules/nextgen_basic_album/templates/extended.php:15 +#: products/photocrati_nextgen/modules/ngglegacy/view/album-compact.php:45 +#: products/photocrati_nextgen/modules/ngglegacy/view/album-extend.php:31 +msgid "Photos" +msgstr "Foto" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_mapper.php:94 +msgid "[Show PicLens]" +msgstr "[Mostra PicLens]" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:63 +msgid "Interval" +msgstr "Intervallo" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:67 +msgid "# of seconds" +msgstr "# di secondi" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:77 +msgid "Image limit" +msgstr "Limite immagini" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:79 +msgid "Maximum number of images to display with recent or random sources" +msgstr "" +"Massimo numero di immagini da visualizzare da sorgenti recenti o casuali" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:81 +msgid "# of images" +msgstr "# di immagini" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:112 +msgid "Maximum dimensions" +msgstr "Dimensione massima" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:113 +msgid "" +"Certain themes may allow images to flow over their container if this setting " +"is too large" +msgstr "" +"Alcuni temi possono permettere alle immagini di andare oltre il proprio " +"contenitore se le impostazioni sono troppo larghe" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:123 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:765 +msgid "Enable flash slideshow" +msgstr "Abilita slideshow flash" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:125 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:767 +msgid "Integrate the flash based slideshow for all flash supported devices" +msgstr "Integra lo slideshow flash per tutti i device che lo supportano" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:134 +msgid "Shuffle" +msgstr "Mescola" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:146 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:782 +msgid "Show next image on click" +msgstr "Mostra immagine successiva al click" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:158 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:786 +msgid "Show navigation bar" +msgstr "Mostra barra di navigazione" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:170 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:790 +msgid "Show loading icon" +msgstr "Mostra icona di caricamento" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:182 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:794 +msgid "Use watermark logo" +msgstr "Usa logo filigrana" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:184 +msgid "" +"Use the watermark image in the Flash object. Note: this does not watermark " +"the image itself, and cannot be applied with text watermarks" +msgstr "" +"Usa l'immagine di filigrana nell'oggetto Flash. Nota: questo non modifica " +"l'immagine, e non può essere applicata con filigrana testuale" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:194 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:799 +msgid "Stretch image" +msgstr "Estendi immagine" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:231 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:827 +msgid "Use slow zooming effect" +msgstr "Usa effetto zoom lento" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:243 +msgid "Background music (url)" +msgstr "Musica di sottofondo (url)" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:256 +msgid "Try XHTML validation" +msgstr "Prova validazione XHTML" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:268 +msgid "Background" +msgstr "Sfondo" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:280 +msgid "Texts / buttons" +msgstr "Testo / pulsanti" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:292 +msgid "Rollover / active" +msgstr "Rollover / attivo" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:304 +msgid "Screen" +msgstr "Schermo" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:322 +msgid "Show thumbnail link" +msgstr "Mostra link miniatura" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:338 +msgid "Thumbnail link text" +msgstr "Testo link miniatura" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:65 +msgid "Images per page" +msgstr "Immagini per pagina" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:67 +msgid "0 will display all images at once" +msgstr "0 visualizzerà tutte le immagini insieme" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:85 +msgid "Number of columns to display" +msgstr "Numero di colonne da visualizzare" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:89 +msgid "# of columns" +msgstr "# di colonne" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:105 +msgid "Piclens link text" +msgstr "Link testuale Piclens" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:123 +msgid "Show piclens link" +msgstr "Mostra link piclens" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:139 +msgid "Add Hidden Images" +msgstr "Aggiungi Immagini Nascoste" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:141 +msgid "" +"If pagination is used this option will show all images in the modal window " +"(Thickbox, Lightbox etc.) This increases page load." +msgstr "" +"Se la paginazione è utilizzata questa opzione mostrerà tutte le immagini " +"nella finestra modale (Thickbox, Lightbox, ecc.). Il carico pagina viene " +"incrementato." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:150 +msgid "Use imagebrowser effect" +msgstr "Utilizza effetto imagebrowser" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:152 +msgid "" +"When active each image in the gallery will link to an imagebrowser display " +"and lightbox effects will not be applied." +msgstr "" +"Quando attivo ogni immagine nella galleria sarà collegato ad un " +"visualizzatore imagebrowser e gli effetti lightbox non saranno applicati." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:169 +msgid "Browse images without reloading the page." +msgstr "Sfoglia le immagini senza ricaricare la pagina." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:184 +msgid "Show slideshow link" +msgstr "Mostra link slideshow" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:200 +msgid "Slideshow link text" +msgstr "Testo link slideshow" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/index.php:35 +msgid "" +"Slideshows require the Flash Player and a browser with Javascript support." +msgstr "" +"Lo slideshow richiede il Flash Player e a un browser con supporto Javascript." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/nextgen_basic_slideshow_settings_gallery_dimensions.php:13 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:38 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_dimensions.php:13 +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:52 +msgid "Width" +msgstr "Larghezza" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/nextgen_basic_slideshow_settings_gallery_dimensions.php:21 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:40 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_dimensions.php:20 +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:40 +msgid "Height" +msgstr "Altezza" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:41 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:26 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:30 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:26 +msgid "Back" +msgstr "Indietro" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:49 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:29 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:33 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:29 +msgid "Next" +msgstr "Avanti" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:90 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:220 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:31 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:35 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:31 +msgid "Picture" +msgstr "Immagine" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:31 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:35 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:31 +msgid "of" +msgstr "di" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:53 +msgid "Link" +msgstr "Link" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:78 +msgid "Display watermark" +msgstr "Mostra filigrana" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:88 +msgid "Display reflection" +msgstr "Mostra riflesso" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:98 +msgid "Crop thumbnail" +msgstr "Taglia miniatura" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:108 +msgid "Float" +msgstr "Float" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:24 +msgid "Maximum number of tags" +msgstr "Numero massimo di tag" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:47 +msgid "Display type" +msgstr "Tipo di visualizzazione" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:50 +msgid "The display type that the tagcloud will point its results to" +msgstr "" +"Il tipo di visualizzazione alla quale tagcloung punterà i suoi risultati" + +#: products/photocrati_nextgen/modules/nextgen_basic_templates/adapter.nextgen_basic_template_form.php:46 +msgid "Template" +msgstr "Template" + +#: products/photocrati_nextgen/modules/nextgen_basic_templates/adapter.nextgen_basic_template_form.php:47 +msgid "Use a legacy template when rendering (not recommended)." +msgstr "Usa un template compatibile quando renderizza (non raccomandato)" + +#: products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php:580 +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:658 +#: products/photocrati_nextgen/modules/ngglegacy/lib/multisite.php:23 +msgid "" +"Sorry, you have used your space allocation. Please delete some files to " +"upload more files." +msgstr "" +"Scusa, hai usato lo spazio disponibile. Per favore cancella qualche file per " +"caricarne di altri." + +#: products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php:1002 +msgid "Could not calculate resized image dimensions" +msgstr "Non posso calcolare le dimensioni immagine" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:154 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:135 +msgid " mm" +msgstr " mm" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:163 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:141 +msgid " sec" +msgstr " sec" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:168 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:145 +msgid "Fired" +msgstr "Scattato" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:168 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:145 +msgid "Not fired" +msgstr "Non scattato" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:539 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:452 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:46 +msgid "Aperture" +msgstr "Apertura" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:540 +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:565 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:453 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:478 +msgid "Credit" +msgstr "Credito" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:541 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:454 +msgid "Camera" +msgstr "Macchina fotografica" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:542 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:455 +msgid "Caption" +msgstr "Didascalia" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:543 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:26 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:114 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:456 +msgid "Date/Time" +msgstr "Data/Ora" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:544 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:457 +msgid "Copyright" +msgstr "Copyright" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:545 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:458 +msgid "Focal length" +msgstr "Lunghezza focale" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:546 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:459 +msgid "ISO" +msgstr "ISO" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:547 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:460 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:54 +msgid "Shutter speed" +msgstr "Velocità otturatore" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:548 +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:4 +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:3 +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:3 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:678 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:461 +msgid "Title" +msgstr "Titolo" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:549 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:459 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:410 +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:132 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:462 +msgid "Author" +msgstr "Autore" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:550 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:51 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:176 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:389 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:463 +msgid "Tags" +msgstr "Tag" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:551 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:464 +msgid "Subject" +msgstr "Soggetto" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:552 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:465 +msgid "Make" +msgstr "Crea" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:553 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:466 +msgid "Edit Status" +msgstr "Modifica stato" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:554 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:467 +msgid "Category" +msgstr "Categoria" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:555 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:468 +msgid "Keywords" +msgstr "Parole chiave" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:556 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:469 +msgid "Date Created" +msgstr "Data creazione" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:557 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:470 +msgid "Time Created" +msgstr "Ora creazione" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:558 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:471 +msgid "Author Position" +msgstr "Posizione autore" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:559 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:472 +msgid "City" +msgstr "Città" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:560 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:473 +msgid "Location" +msgstr "Posizione" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:561 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:474 +msgid "Province/State" +msgstr "Provincia/Stato" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:562 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:475 +msgid "Country code" +msgstr "Codice Nazione" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:563 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:476 +msgid "Country" +msgstr "Nazione" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:564 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:477 +msgid "Headline" +msgstr "Headline" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:566 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:479 +msgid "Source" +msgstr "Sorgente" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:567 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:480 +msgid "Copyright Notice" +msgstr "Notifica Copyright" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:568 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:481 +msgid "Contact" +msgstr "Contatto" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:569 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:482 +msgid "Last modified" +msgstr "Ultima modifica" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:570 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:483 +msgid "Program tool" +msgstr "Program tool" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:571 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:484 +msgid "Format" +msgstr "Formato" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:572 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:485 +msgid "Image Width" +msgstr "Larghezza Immagine" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:573 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:486 +msgid "Image Height" +msgstr "Altezza Immagine" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:574 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:487 +msgid "Flash" +msgstr "Flash" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:647 +#, php-format +msgid "Unable to create directory %s." +msgstr "Impossibile creare la directory %s." + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:652 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:823 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1021 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1106 +#, php-format +msgid "" +"Unable to write to directory %s. Is this directory writable by the server?" +msgstr "" +"Impossibile scrivere nella directory %s. Il server è in grado di scriverci?" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:681 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1146 +#, php-format +msgid "Failed to copy database row for picture %s" +msgstr "La copia della riga database per l'immagine %s è fallita" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:693 +#, php-format +msgid "Failed to get image path for %s" +msgstr "Non è stato possibile ottenere il percorso per %s" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:711 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1132 +#, php-format +msgid "Failed to copy image %1$s to %2$s" +msgstr "Impossibile copiare l'immagine %1$s in %2$s" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:715 +#, php-format +msgid "Copied image %1$s to %2$s" +msgstr "Immagine %1$s copiata in %2$s" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:723 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1158 +#, php-format +msgid "" +"Image %1$s (%2$s) copied as image %3$s (%4$s) » The file already " +"existed in the destination gallery." +msgstr "" +"Immagine %1$s (%2$s) copiata come immagine %3$s (%4$s) » Il file già " +"esisteva nella galleria di destinazione." + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:727 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1161 +#, php-format +msgid "Image %1$s (%2$s) copied as image %3$s (%4$s)" +msgstr "Immagine %1$s (%2$s) copiata come immagine %3$s (%4$s)" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:740 +#, php-format +msgid "Copied %1$s picture(s) to gallery %2$s ." +msgstr "Copiate %1$s immagini nella galleria %2$s ." + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:767 +msgid "Could not find image" +msgstr "Non trovo l'immagine" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:772 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:388 +msgid " is not writeable" +msgstr " non è scrivibile" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:777 +msgid "Backup file does not exist" +msgstr "Il file di backup non esiste" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:782 +msgid "Could not restore original image" +msgstr "Non posso ripristinare l'immagine originale" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.display_settings_controller.php:17 +#: products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:242 +#: products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:328 +msgid "Gallery Settings" +msgstr "Impostazione Galleria" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery.php:73 +msgid "Source not compatible with selected display type" +msgstr "Sorgente non compatibile con il tipo di visualizzazione selezionata" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:327 +msgid "NextGEN Gallery & Album Settings" +msgstr "Impostazioni Album & Galleria NextGEN" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/templates/alt_view_link_text.php:15 +#: products/photocrati_nextgen/modules/nextgen_gallery_display/templates/return_link_text.php:15 +msgid "link text" +msgstr "collegamento testo" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:12 +msgid "Image Options" +msgstr "Opzioni Immagine" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:22 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:588 +#: products/photocrati_nextgen/modules/ngglegacy/admin/thumbnails-template.php:76 +msgid "Custom" +msgstr "Personalizzato" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:23 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:111 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:549 +msgid "Image ID" +msgstr "ID immagine" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:24 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:570 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:112 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:166 +msgid "Filename" +msgstr "Nome file" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:25 +msgid "Alt/Title Text" +msgstr "Testo Alt/titolo" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:38 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:115 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:557 +msgid "Ascending" +msgstr "Crescente" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:39 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:116 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:558 +msgid "Descending" +msgstr "Decrescente" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:50 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:388 +msgid "Categories" +msgstr "Categorie" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:81 +msgid "Gallery path does not exist and could not be created" +msgstr "Il percorso galleria non esiste e non può essere creato" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:86 +msgid "Where would you like galleries stored?" +msgstr "Dove vorresti conservare le gallerie?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:87 +msgid "Where galleries and their images are stored" +msgstr "Dove le gallerie e le immagini vengono conservate" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:89 +msgid "Delete Image Files?" +msgstr "Cancellare i file immagini?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:90 +msgid "" +"When enabled, image files will be removed after a Gallery has been deleted" +msgstr "" +"Quando abilitato, i file immagini saranno rimossi dopo che una Galleria è " +"stata cancellata" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:92 +msgid "Show Related Images on Posts?" +msgstr "Mostra Immagini Correlate negli Articoli?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:93 +msgid "" +"When enabled, related images will be appended to each post by matching the " +"posts tags/categories to image tags" +msgstr "" +"Quando abilitato, le immagini relative saranno allegate ad ogni articolo " +"attraverso i tag dei post/categorie ai tag immagine" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:95 +msgid "(Show Customization Settings)" +msgstr "(Mostra Impostazioni di personalizzazione)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:96 +msgid "(Hide Customization Settings)" +msgstr "(Nascondi Impostazioni di personalizzazione)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:97 +msgid "How should related images be match?" +msgstr "Come dovrebbero combaciare le immagini collegate?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:100 +msgid "Maximum # of related images to display" +msgstr "# massimo di immagine collegate da visualizzare" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:102 +msgid "Heading for related images" +msgstr "Intestazione delle immagini collegate" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:104 +msgid "What's the default sorting method?" +msgstr "Qual'è il metodo di ordinamento predefinito?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:107 +msgid "Sort in what direction?" +msgstr "Disponi in quale direzione?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:110 +msgid "Automatically resize images after upload" +msgstr "Ridimensiona automaticamente immagini dopo caricamento" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:111 +msgid "It is recommended that your images be resized to be web friendly" +msgstr "" +"E' consigliabile che le tue immagini siano ridimensionate per essere web " +"friendly" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:113 +msgid "What should images be resized to?" +msgstr "Come dovrebbero essere ridimensionate le immagini?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:114 +msgid "" +"After images are uploaded, they will be resized to the above dimensions and " +"quality" +msgstr "" +"Dopo che le immagini sono state caricate, saranno ridimensionate alle " +"dimensioni e qualità soprastanti" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:115 +msgid "Width:" +msgstr "Larghezza:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:116 +msgid "Height:" +msgstr "Altezza:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:117 +msgid "Quality:" +msgstr "Qualità:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:121 +msgid "Backup the original images?" +msgstr "Salva le immagini originali?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.lightbox_manager_form.php:12 +msgid "Lightbox Effects" +msgstr "Effetti Lightbox" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.lightbox_manager_form.php:38 +msgid "What effect would you like to use?" +msgstr "Quale effetto vorresti utilizzare?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:12 +msgid "Miscellaneous" +msgstr "Misto" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:21 +msgid "Add MediaRSS link?" +msgstr "Aggiungi collegamento MediaRSS?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:22 +msgid "" +"When enabled, adds a MediaRSS link to your header. Third-party web services " +"can use this to publish your galleries" +msgstr "" +"Quando abilitato, aggiunge un collegamento MediaRSS nel tuo header. Servizi " +"esterni web posso utilizzarlo per pubblicare le tue gallerie" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:26 +msgid "Clear image cache" +msgstr "Cancella cache immagini" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:27 +msgid "" +"Completely clear the NextGEN cache of all image modifications?\n" +"\n" +"Choose [Cancel] to Stop, [OK] to proceed." +msgstr "" +"Pulisci completamente la cache NextGEN di tutte le modifiche immagine?\n" +"\n" +"Selezione [Annulla] per Interrompere, [OK] per procedere." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:32 +msgid "Permalink slug" +msgstr "Slug permalink" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:39 +msgid "Maximum image count" +msgstr "Conteggio massimo immagine" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:41 +msgid "" +"This is the maximum limit of images that NextGEN will restrict itself to " +"querying" +msgstr "" +"Questo è il limite massimo delle immagini che NextGEN si impone di processare" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.other_options_controller.php:22 +#: products/photocrati_nextgen/modules/nextgen_other_options/module.nextgen_other_options.php:39 +msgid "Other Options" +msgstr "Altre Opzioni" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:7 +msgid "Reset Options" +msgstr "Azzera Opzioni" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:15 +msgid "Reset all options to default settings" +msgstr "Azzerare tutte le opzioni alle impostazioni predefinite" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:16 +msgid "" +"Replace all existing options and gallery options with their default settings" +msgstr "" +"Sostituisci tutte le opzioni esistenti e quelle della galleria con " +"predefinite." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:17 +msgid "Reset settings" +msgstr "Azzerare impostazioni" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:18 +msgid "" +"Reset all options to default settings?\n" +"\n" +"Choose [Cancel] to Stop, [OK] to proceed." +msgstr "" +"Azzerare tutte le opzioni ad impostazioni predefinite?\n" +"\n" +"Seleziona [Cancella] per Interrompere, [OK] per procedere." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.roles_form.php:7 +msgid "Roles & Capabilities" +msgstr "Ruoli & Permessi" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:12 +msgid "Styles" +msgstr "Stili" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:18 +msgid "What stylesheet would you like to use?" +msgstr "Quale foglio di stile vorresti utilizzare?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:21 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:136 +msgid "(Show Customization Options)" +msgstr "(mostra opzioni di personalizzazione)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:22 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:137 +msgid "(Hide Customization Options)" +msgstr "(nascondi opzioni di personalizzazione)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:23 +msgid "File Content:" +msgstr "Contenuto file:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:24 +msgid "Changes you make to the contents will be saved to" +msgstr "Le modifiche che fai ai contenuti saranno salvati in" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:25 +msgid "You could edit this file if it were writable" +msgstr "Potresti modificare questo file se fosse scrivibile" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:12 +msgid "Thumbnail Options" +msgstr "Opzioni minatura" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:20 +msgid "Default thumbnail dimensions:" +msgstr "Dimensioni miniature predefinite:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:21 +msgid "When generating thumbnails, what image dimensions do you desire?" +msgstr "Quando genero le miniature, quale dimensione immagine preferisci?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:24 +msgid "Set fix dimension?" +msgstr "Imposta dimensioni fisse?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:25 +msgid "Ignore the aspect ratio, no portrait thumbnails?" +msgstr "Ignora le proporzioni, nessuna miniatura verticale?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:27 +msgid "Adjust Thumbnail Quality?" +msgstr "Aggiusta Qualità Miniatura?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:28 +msgid "When generating thumbnails, what image quality do you desire?" +msgstr "Quando genero le miniature, che qualità preferisci?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:30 +msgid "Size List" +msgstr "Dimensione lista" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:31 +msgid "List of default sizes used for thumbnails and images" +msgstr "" +"Elenco delle dimensioni predefinite usate per le miniature e le immagini" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:12 +msgid "Watermarks" +msgstr "Filigrane" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:41 +msgid "Using an Image" +msgstr "Utilizzando un'Immagine" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:42 +msgid "Using Text" +msgstr "Utilizzando testo" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:69 +msgid "An absolute or relative (to the site document root) file system path" +msgstr "" +"Un percorso file system assoluto o relativo (alla root dei documenti del " +"sito)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:71 +msgid "" +"An absolute or relative (to the site document root) file system path or an " +"HTTP url" +msgstr "" +"Un percorso file system assoluto o relativo (alla root dei documenti del " +"sito) o un url HTTP" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:74 +msgid "Image URL:" +msgstr "URL immagine:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:90 +msgid "Font Family:" +msgstr "Famiglia Font:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:92 +msgid "Font Size:" +msgstr "Dimensione Font:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:94 +msgid "Font Color:" +msgstr "Colore Font:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:97 +msgid "Text:" +msgstr "Testo:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:99 +msgid "Opacity:" +msgstr "Opacità:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:126 +msgid "" +"Please note: You can only activate the watermark under Manage Gallery. This " +"action cannot be undone." +msgstr "" +"Nota bene: puoi attivare la filigrana sotto Gestisci Galleria. Questa azione " +"non può essere annullata." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:127 +msgid "How will you generate a watermark?" +msgstr "Come genererai la filigrana?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:131 +msgid "Position:" +msgstr "Posizione:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:133 +msgid "Offset:" +msgstr "Scostamento:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:139 +msgid "Preview of saved settings:" +msgstr "Anteprima delle impostazioni salvate:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:140 +msgid "Refresh preview image" +msgstr "Ricarica anteprima immagini" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:34 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:37 +msgid "(Show Advanced Settings)" +msgstr "(Mostra Impostazioni Avanzate)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:35 +msgid "(Hide Advanced Settings)" +msgstr "(Nascondi Impostazioni Avanzate)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:56 +msgid "What must the lightbox be applied to?" +msgstr "A cosa deve essere applicato il lightbox?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:60 +msgid "Only apply to NextGEN images" +msgstr "Applica solo a immagini NextGEN" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:61 +msgid "Only apply to NextGEN and WordPress images" +msgstr "Applica solo a immagini NextGEN e WordPress" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:62 +msgid "Try to apply to all images" +msgstr "Prova ad applicarlo a tutte le immagini" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:63 +msgid "Try to apply to all images that link to image files" +msgstr "" +"Prova ad applicarlo a tutte le immagini che sono collegate a file immagine" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php:21 +msgid "Place any custom stylesheets in wp-content/ngg_styles" +msgstr "" +"Posiziona ogni foglio di stile personale in wp-content/ngg_styles" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php:24 +#, php-format +msgid "All stylesheets must contain a file header" +msgstr "" +"Tutti i fogli di stile devono contenere un file " +"header" + +#: products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:41 +msgid "Related Images" +msgstr "Immagini collegate" + +#: products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:61 +msgid "[Show slideshow]" +msgstr "[Mostra slideshow]" + +#: products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:62 +msgid "[Show thumbnails]" +msgstr "[Mostra miniature]" + +#: products/photocrati_nextgen/modules/nextgen_xmlrpc/module.nextgen_xmlrpc.php:425 +msgid "Sorry, you must be able to manage galleries" +msgstr "Perdonami, devi essere abilitato a gestire gallerie" + +#: products/photocrati_nextgen/modules/widget/class.widget_gallery.php:7 +msgid "Add recent or random images from the galleries" +msgstr "Aggiungi immagini recenti o casuali dalle gallerie" + +#: products/photocrati_nextgen/modules/widget/class.widget_gallery.php:8 +msgid "NextGEN Widget" +msgstr "Widget NextGEN" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:9 +msgid "Widget that displays Media RSS links for NextGEN Gallery." +msgstr "Widget che mostra collegamenti Media RSS per NextGEN Gallery." + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:10 +msgid "NextGEN Media RSS" +msgstr "NextGEN Media RSS" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:22 +msgid "Media RSS" +msgstr "Media RSS" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:23 +msgid "Link to the main image feed" +msgstr "Collegamento al feed immagini principale" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:93 +#: products/photocrati_nextgen/modules/ngglegacy/view/gallery-caption.php:32 +#: products/photocrati_nextgen/modules/ngglegacy/view/gallery.php:32 +msgid "[View with PicLens]" +msgstr "[Visualizza con PicLens]" + +#: products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:7 +msgid "Show a NextGEN Gallery Slideshow" +msgstr "Mostra uno Slideshow NextGEN Gallery" + +#: products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:8 +msgid "NextGEN Slideshow" +msgstr "Slideshow NextGEN" + +#: products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:76 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:321 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:521 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:721 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:215 +msgid "Slideshow" +msgstr "Slideshow" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:15 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:229 +msgid "Show" +msgstr "Mostra" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:26 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:316 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:520 +msgid "Thumbnails" +msgstr "Miniature" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:29 +msgid "Original images" +msgstr "Immagini originali" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:42 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:822 +msgid "random" +msgstr "casuale" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:50 +msgid "recently added" +msgstr "aggiunti recentemente" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:62 +msgid "Enable IE8 Web Slices" +msgstr "Abilita Web Slices IE8" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:68 +msgid "Width x Height" +msgstr "Larghezza x Altezza" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:87 +msgid "Select" +msgstr "Seleziona" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:92 +msgid "All galleries" +msgstr "Tutte le gallerie" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:95 +msgid "Only which are not listed" +msgstr "Solo quelle non elencate" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:98 +msgid "Only which are listed" +msgstr "Solo quelle elencate" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:107 +msgid "Gallery ID" +msgstr "Gallery ID" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:114 +msgid "Gallery IDs, separated by commas." +msgstr "Gallery ID, separate da virgole." + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:19 +msgid "Show Media RSS icon" +msgstr "Mostra icona Media RSS" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:30 +msgid "Show the Media RSS link" +msgstr "Mostra collegamento Media RSS" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:36 +msgid "Text for Media RSS link" +msgstr "Testo collegamento Media RSS" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:47 +msgid "Tooltip text for Media RSS link" +msgstr "Testo di suggerimento per collegamento Media RSS" + +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:15 +msgid "Select Gallery" +msgstr "Seleziona Galleria" + +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:23 +msgid "All images" +msgstr "Tutte le immagini" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:159 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:190 +msgid "Overview" +msgstr "Generale" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:172 +msgid "Network settings" +msgstr "Impostazioni di rete" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:305 +msgid "You do not have the correct permission" +msgstr "Non hai i permessi necessari" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:306 +msgid "Unexpected Error" +msgstr "Errore inaspettato" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:307 +msgid "A failure occurred" +msgstr "Si è verificato un problema" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:311 +msgid "You have attempted to queue too many files." +msgstr "Hai provato a richiedere troppi file." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:312 +msgid "This file exceeds the maximum upload size for this site." +msgstr "" +"Questo file supera la dimensione massima di caricamento per questo sito." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:313 +msgid "This file is empty. Please try another." +msgstr "Questo file è vuoto. Provane un altro." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:314 +msgid "This file type is not allowed. Please try another." +msgstr "Questo tipo di file non è permesso. Provane un altro." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:315 +msgid "This file is not an image. Please try another." +msgstr "Questo file non è un'immagine. Provane un altro." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:316 +msgid "Memory exceeded. Please try another smaller file." +msgstr "Memoria esaurita. Prova un altro file più piccolo." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:317 +msgid "This is larger than the maximum size. Please try another." +msgstr "Questo è maggiore della dimensione massima. Provane un altro." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:318 +msgid "An error occurred in the upload. Please try again later." +msgstr "Si è verificato un errore di caricamento. Prova più tardi." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:319 +msgid "" +"There was a configuration error. Please contact the server administrator." +msgstr "Errore di configurazione. Contatta l'amministratore del server." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:320 +msgid "You may only upload 1 file." +msgstr "Puoi caricare solo 1 file." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:321 +msgid "HTTP error." +msgstr "Errore HTTP." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:322 +msgid "Upload failed." +msgstr "Caricamento fallito." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:323 +msgid "IO error." +msgstr "Errore InputOutput." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:324 +msgid "Security error." +msgstr "Errore di sicurezza." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:325 +msgid "File canceled." +msgstr "File cancellato." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:326 +msgid "Upload stopped." +msgstr "Upload interrotto." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:327 +msgid "Dismiss" +msgstr "Chiudi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:328 +msgid "Crunching…" +msgstr "Sto macinando…" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:329 +msgid "moved to the trash." +msgstr "spostato nel cestino." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:330 +#, php-format +msgid "“%s” has failed to upload due to an error" +msgstr "“%s” ha fallito nel caricamento a causa di un errore" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:352 +msgid "L O A D I N G" +msgstr "C A R I C A M E N T O" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:353 +msgid "Click to Close" +msgstr "Clicca per chiudere" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:462 +msgid "" +"Introduction" +msgstr "" +"Introduzione" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:465 +msgid "" +"Languages" +msgstr "" +"Lingue" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:470 +msgid "Get help with NextGEN Gallery" +msgstr "Ottieni aiuto con NextGEN Gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:474 +msgid "More Help & Info" +msgstr "Più Aiuto & Informazioni" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:476 +msgid "" +"Support Forums" +msgstr "" +"Forum di Supporto" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:477 +msgid "FAQ" +msgstr "FAQ" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:478 +msgid "Feature request" +msgstr "Richiesta funzionalità" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:479 +msgid "Get your language pack" +msgstr "Ottieni il tuo pacchetto lingue" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:480 +msgid "Contribute development" +msgstr "Contribuisci allo sviluppo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:481 +msgid "Download latest version" +msgstr "Scarica ultima versione" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/ajax.php:360 +#, php-format +msgid "Could create image with %s x %s pixel" +msgstr "Posso creare immagine con %s x %s pixel" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:172 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:216 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:239 +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:19 +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:22 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:619 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:7 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:10 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:13 +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:17 +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:20 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:10 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:13 +msgid "Cheatin’ uh?" +msgstr "Stai scherzando, eh?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:180 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:209 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:253 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:178 +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:24 +msgid "Update Successfully" +msgstr "Aggiornamento completato" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:227 +msgid "Album deleted" +msgstr "Album cancellato" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:389 +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:55 +msgid "Edit Album" +msgstr "Modifica Album" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:410 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:459 +msgid "Select album" +msgstr "Seleziona album" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:412 +msgid "No album selected" +msgstr "Nessun album selezionato" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:423 +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:166 +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:94 +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:112 +msgid "Update" +msgstr "Aggiorna" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:425 +msgid "Edit album" +msgstr "Modifica album" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:428 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:187 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:362 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:364 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:227 +msgid "Delete" +msgstr "Cancella" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:432 +msgid "Add new album" +msgstr "Aggiungi nuovo album" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:434 +msgid "Add" +msgstr "Aggiungi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:445 +msgid "Show / hide used galleries" +msgstr "Mostra / nascondi gallerie" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:445 +msgid "[Show all]" +msgstr "[Mostra tutto]" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:446 +msgid "Maximize the widget content" +msgstr "Massimizza il contenuto widget" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:446 +msgid "[Maximize]" +msgstr "[Massimizza]" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:447 +msgid "Minimize the widget content" +msgstr "Minimizza il contenuto widget" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:447 +msgid "[Minimize]" +msgstr "[Minimizza[" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:449 +msgid "" +"After you create and select a album, you can drag and drop a gallery or " +"another album into your new album below" +msgstr "" +"Dopo che hai creato e selezionato un album, puoi trascinare una galleria o " +"un altro album dentro il nuovo album sottostante" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:475 +msgid "Select gallery" +msgstr "Seleziona galleria" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:500 +msgid "Album ID" +msgstr "ID Album" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:513 +msgid "No album selected!" +msgstr "Nessun album selezionato!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:534 +msgid "Album name:" +msgstr "Nome album:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:540 +msgid "Album description:" +msgstr "Descrizione album:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:546 +msgid "Select a preview image:" +msgstr "Seleziona immagine di anteprima:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:549 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:552 +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_preview_image_field.php:3 +msgid "No picture" +msgstr "Nessuna immagine" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:563 +msgid "Page Link to" +msgstr "Link pagina a" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:582 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:337 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:366 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:397 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:406 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:442 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:471 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:502 +msgid "OK" +msgstr "OK" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:584 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:339 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:368 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:399 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:408 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:444 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:473 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:504 +msgid "Cancel" +msgstr "Annulla" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:677 +msgid "Name" +msgstr "Nome" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:679 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:229 +msgid "Page" +msgstr "Pagina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:116 +msgid "Select with the mouse the area for the new thumbnail" +msgstr "Seleziona con il mouse l'area per la nuova miniatura" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:130 +msgid "Thumbnail updated" +msgstr "Miniatura aggiornata" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:135 +msgid "Error updating thumbnail" +msgstr "Errore nell'aggiornare la miniatura" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:151 +msgid "Select the area for the thumbnail from the picture on the left." +msgstr "Seleziona l'area per la miniatura dall'immagine di sinistra" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:39 +msgid "No valid gallery name!" +msgstr "Nome galleria non valido!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:46 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:80 +msgid "Directory" +msgstr "Directory" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:46 +msgid "didn't exist. Please create first the main gallery folder " +msgstr "" +"non esiste. Per favore crea prima la cartella della galleria principale" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:47 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:56 +msgid "Check this link, if you didn't know how to set the permission :" +msgstr "Controlla questo link, se non sapevi come impostare i permessi:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:80 +msgid "is not writeable !" +msgstr "non è scrivibile!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:76 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:85 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:736 +#: products/photocrati_nextgen/modules/ngglegacy/lib/core.php:101 +msgid "Unable to create directory " +msgstr "Impossibile creare la directory" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:89 +msgid "The server setting Safe-Mode is on !" +msgstr "Il Safe-Mode è attivo nel server!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:90 +msgid "If you have problems, please create directory" +msgstr "Se hai problemi, crea la directory" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:91 +msgid "and the thumbnails directory" +msgstr "e la directory delle miniature" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:91 +msgid "with permission 777 manually !" +msgstr "con permessi 777 manualmente!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:116 +#, php-format +msgid "" +"Gallery ID %1$s successfully created. You can show this gallery in your post " +"or page with the shortcode %2$s.
      " +msgstr "" +"Galleria ID %1$s creata con successo. Puoi mostrare questa galleria nel tuo " +"articolo o pagina con lo shortcode %2$s.
      " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:119 +msgid "Edit gallery" +msgstr "Modifica galleria" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:188 +msgid "Error while creating thumbnail." +msgstr "Errore durante la creazione della miniatura." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:242 +msgid "Error while resizing image." +msgstr "Errore durante il ridimensionamento immagine." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:326 +msgid "Error while rotating image." +msgstr "Errore durante la rotazione immagine." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:361 +msgid "Error while applying watermark to image." +msgstr "Errore durante l'applicazione della filigrana all'immagine." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:385 +msgid "Object didn't contain correct data" +msgstr "L'oggetto non conteneva dati corretti" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:391 +msgid "File do not exists" +msgstr "Il file non esiste" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:395 +msgid "Couldn't restore original image" +msgstr "Non posso ripristinare l'immagine originale" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:511 +msgid "(Error : Couldn't not update data base)" +msgstr "(Errore: Non posso aggiornare il database)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:518 +msgid "(Error : Couldn't not update meta data)" +msgstr "(Errore: Non posso aggiornare i metadata)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:527 +msgid "(Error : Couldn't not find image)" +msgstr "(Errore: Non trovo l'immagine)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:670 +msgid "No valid URL path " +msgstr "Percorso URL non valido" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:686 +msgid "Import via cURL failed." +msgstr "Importazione tramite cURL fallita." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:703 +msgid "Uploaded file was no or a faulty zip file ! The server recognized : " +msgstr "" +"Il file caricato non era uno ZIP o era danneggiato! Il server ha " +"riconosciuto:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:720 +msgid "Could not get a valid foldername" +msgstr "Non posso ottenere un nome cartella valido" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:731 +#, php-format +msgid "" +"Unable to create directory %s. Is its parent directory writable by the " +"server?" +msgstr "" +"Impossibile creare la directory %s. La directory genitore è scrivibile dal " +"server?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:746 +msgid "Zip-File successfully unpacked" +msgstr "File ZIP spacchettato con successo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:777 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:877 +msgid "No gallery selected !" +msgstr "Nessuna galleria selezionata!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:785 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:902 +msgid "Failure in database, no gallery path set !" +msgstr "Errore nel database, nessun percorso galleria impostato!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:809 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:896 +msgid "is no valid image file!" +msgstr "non è un file immagine valido!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:830 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:919 +msgid "Error, the file could not be moved to : " +msgstr "Errore, il file non può essere spostato in:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:835 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:923 +msgid "Error, the file permissions could not be set" +msgstr "Errore, i permessi file non possono essere impostati" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:853 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:111 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:189 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:238 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:322 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:661 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:740 +msgid "Create new thumbnails" +msgstr "Crea nuove miniature" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:858 +msgid " Image(s) successfully added" +msgstr "Immagini aggiunte con successo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:885 +msgid "Invalid upload. Error Code : " +msgstr "Caricamento non valido. Codice Errore:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:961 +#, php-format +msgid "" +"SAFE MODE Restriction in effect! You need to create the folder %s manually" +msgstr "" +"Restrizioni SAFE MODE in vigore! E' necessario creare la cartella " +"%s manualmente" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:962 +#, php-format +msgid "" +"When safe_mode is on, PHP checks to see if the owner (%s) of the current " +"script matches the owner (%s) of the file to be operated on by a file " +"function or its directory" +msgstr "" +"Quando il safe_mode è attivo, PHP controlla se il proprietario (%s) dello " +"script corrente combacia con il proprietario (%s) del file da lavorare da " +"una funzione o le sue directory" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1015 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1092 +msgid "The destination gallery does not exist" +msgstr "La galleria di destinazione non esiste" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1046 +#, php-format +msgid "Failed to move image %1$s to %2$s" +msgstr "Impossibile spostare l'immagine %1$s in %2$s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1066 +#, php-format +msgid "Moved %1$s picture(s) to gallery : %2$s ." +msgstr "Spostate %1$s immagini nella galleria: %2$s ." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1170 +#, php-format +msgid "Copied %1$s picture(s) to gallery: %2$s ." +msgstr "Copiate %1$s immagini nella galleria: %2$s ." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1278 +msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgstr "Il file caricato eccede la direttiva upload_max_filesize in php.ini" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1281 +msgid "" +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " +"the HTML form" +msgstr "" +"Il file caricato eccede la direttiva MAX_FILE_SIZE che è stata specificata " +"nel form HTML" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1284 +msgid "The uploaded file was only partially uploaded" +msgstr "Il caricamento è stato solo parziale" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1287 +msgid "No file was uploaded" +msgstr "Nessun file è stato caricato" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1290 +msgid "Missing a temporary folder" +msgstr "Manca una cartella temporanea" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1293 +msgid "Failed to write file to disk" +msgstr "Impossibile scrivere file su disco" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1296 +msgid "File upload stopped by extension" +msgstr "Upload dei file interrotto dall'estensione" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1299 +msgid "Unknown upload error" +msgstr "Errore di caricamento sconosciuto" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/install.php:20 +msgid "Sorry, NextGEN Gallery works only with a role called administrator" +msgstr "" +"Perdonami, NextGEN Gallery funziona solo con il ruolo di amministratore" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/install.php:92 +msgid "" +"NextGEN Gallery : Tables could not created, please check your database " +"settings" +msgstr "" +"NextGEN Gallery: Impossibile creare tabelle, ricontrolla le impostazioni del " +"database" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:99 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:206 +msgid "No images selected" +msgstr "Nessuna immagine selezionata" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:107 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:190 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:234 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:323 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:642 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:724 +msgid "Resize images" +msgstr "Ridimensiona immagine" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:116 +#, php-format +msgid "" +"You are about to start the bulk edit for %s galleries \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" +"Stai per iniziare la modifica di massa per %s gallerie \n" +"\n" +"'Annulla' per interrompere, 'OK' per procedere." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:154 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:197 +msgid "Add new gallery" +msgstr "Aggiungi nuova galleria" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:171 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:174 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:272 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:275 +msgid "Search Images" +msgstr "Cerca immagini" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:186 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:320 +msgid "Bulk actions" +msgstr "Azioni di massa" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:188 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:321 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:572 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:687 +msgid "Set watermark" +msgstr "Imposta filigrana" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:191 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:326 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:577 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:708 +msgid "Import metadata" +msgstr "Importa metadata" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:192 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:324 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:567 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:684 +msgid "Recover from backup" +msgstr "Recupera da backup" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:194 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:335 +msgid "Apply" +msgstr "Applica" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:262 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:253 +msgid "Edit" +msgstr "Modifica" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:309 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:379 +msgid "No entries found" +msgstr "Nessuna voce trovata" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:327 +msgid "New Gallery" +msgstr "Nuova Galleria" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:329 +msgid "Create a new , empty gallery below the folder" +msgstr "Crea una nuova galleria vuota sotto la cartella" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:331 +msgid "Allowed characters for file and folder names are" +msgstr "I caratteri permessi per il nome del file e della cartella sono" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:357 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:462 +msgid "Resize Images to" +msgstr "Ridimensiona immagini a" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:361 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:466 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:453 +msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size" +msgstr "" +"Larghezza x Altezza (in pixel). NextGEN Gallery manterrà la proporzione" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:385 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:490 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:40 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:416 +msgid "Width x height (in pixel)" +msgstr "Larghezza x Altezza (in pixel)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:391 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:496 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:426 +msgid "Set fix dimension" +msgstr "Imposta dimensioni fisse" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:393 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:498 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:428 +msgid "Ignore the aspect ratio, no portrait thumbnails" +msgstr "Ignora la proporzione, nessuna miniatura verticale." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:456 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:568 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:156 +msgid "ID" +msgstr "ID" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:458 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:571 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:245 +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:134 +msgid "Description" +msgstr "Descrizione" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:460 +msgid "Page ID" +msgstr "ID Pagina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:35 +msgid "Gallery not found." +msgstr "Galleria non trovata." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:41 +msgid "Sorry, you have no access here" +msgstr "Scusa, qui non hai accesso." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:214 +msgid "Copy image to..." +msgstr "Copia immagine a..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:218 +msgid "Move image to..." +msgstr "Sposta immagine a..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:222 +msgid "Add new tags" +msgstr "Aggiungi nuovi tag" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:226 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:332 +msgid "Delete tags" +msgstr "Cancella tag" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:230 +msgid "Overwrite" +msgstr "Sovrascrivi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:243 +#, php-format +msgid "" +"You are about to start the bulk edit for %s images \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" +"Stai per iniziare la modifica di massa per %s immagini \n" +"\n" +"'Annulla' per interrompere, 'OK' per procedere." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:269 +#, php-format +msgid "Search results for “%s”" +msgstr "Risultati per la ricerca “%s”" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:298 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:488 +msgid "Gallery settings" +msgstr "Impostazioni galleria" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:298 +msgid "Click here for more settings" +msgstr "Clicca qui per più impostazioni" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:304 +msgid "Scan Folder for new images" +msgstr "Scansiona Cartella per nuove immagini" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:306 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:341 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:386 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:400 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:436 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:478 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:563 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:598 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:708 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:861 +msgid "Save Changes" +msgstr "Salva Modifiche" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:325 +msgid "Delete images" +msgstr "Cancella immagini" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:327 +msgid "Rotate images clockwise" +msgstr "Ruota immagini in senso orario" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:328 +msgid "Rotate images counter-clockwise" +msgstr "Ruota immagini in senso anti-orario" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:329 +msgid "Copy to..." +msgstr "Copia a..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:330 +msgid "Move to..." +msgstr "Sposta a..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:331 +msgid "Add tags" +msgstr "Aggiungi tag" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:333 +msgid "Overwrite tags" +msgstr "Sovrascrivi tag" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:338 +msgid "Sort gallery" +msgstr "Ordina galleria" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:402 +msgid "Enter the tags" +msgstr "Inserisci i tag" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:426 +msgid "Select the destination gallery:" +msgstr "Seleziona la galleria di destinazione:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:569 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:161 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:266 +msgid "Thumbnail" +msgstr "Miniatura" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:571 +msgid "Alt & Title Text" +msgstr "Testo Titolo & Alt" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:572 +msgid "Tags (comma separated list)" +msgstr "Tag (separate da virgola)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:35 +msgid "Sort order changed" +msgstr "Tipo di ordinamento modificato" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:97 +msgid "Sort Gallery" +msgstr "Ordina Galleria" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:101 +msgid "Update Sort Order" +msgstr "Aggiorna Tipo Ordinamento" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:104 +msgid "Back to gallery" +msgstr "Torna alla galleria" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:109 +msgid "Presort" +msgstr "Pre ordinati" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:110 +msgid "Unsorted" +msgstr "Non ordinati" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:113 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:241 +msgid "Alt/Title text" +msgstr "Testo Alt/Titolo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:90 +msgid "deleted successfully" +msgstr "cancellato con successo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:106 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:115 +msgid "Operation successful. Please clear your browser cache." +msgstr "Operazione completata. Pulisci la cache del browser." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:171 +msgid "Alt & Title Text / Description" +msgstr "Testo Alt & Titolo / Descrizione" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:214 +msgid "Exclude ?" +msgstr "Escludi ?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:299 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:301 +msgid "View" +msgstr "Visualizza" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:309 +msgid "Show meta data" +msgstr "Mostra metadata" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:310 +msgid "Meta" +msgstr "Meta" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:318 +msgid "Customize thumbnail" +msgstr "Imposta miniatura personalizzata" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:319 +msgid "Edit thumb" +msgstr "Modifica miniatura" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:327 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:328 +msgid "Rotate" +msgstr "Ruota" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:338 +msgid "Publish this image" +msgstr "Pubblica questa immagine" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:339 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:58 +msgid "Publish" +msgstr "Pubblica" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:349 +msgid "Recover image from backup" +msgstr "Recupera immagine da backup" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:350 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:352 +msgid "Recover" +msgstr "Recupera" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:361 +msgid "Delete image" +msgstr "Cancella immagine" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:392 +msgid "Title:" +msgstr "Titolo:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:398 +msgid "Description:" +msgstr "Descrizione:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:404 +msgid "Gallery path:" +msgstr "Percorso Galleria:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:419 +msgid "Link to page:" +msgstr "Link alla pagina:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:420 +msgid "Albums will link this gallery to the selected page" +msgstr "Gli album saranno collegati da questa galleria alla pagina selezionata" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:425 +msgid "Preview image:" +msgstr "Immagine di anteprima:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:431 +msgid "Create new page:" +msgstr "Crea nuova pagina:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:607 +msgid "Gallery deleted successfully " +msgstr "Galleria cancellata con successo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:678 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:681 +msgid "Rotate images" +msgstr "Ruota immagini" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:704 +msgid "Pictures deleted successfully " +msgstr "Immagini cancellate con successo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:802 +msgid "Tags changed" +msgstr "Tag modificati" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:842 +msgid "Update successful" +msgstr "Aggiornamento completato" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:877 +msgid "New gallery page ID" +msgstr "Nuovo ID di pagina galleria" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:877 +msgid "created" +msgstr "creato" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:915 +msgid "Published a new post" +msgstr "Pubblica un nuovo articolo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1062 +msgid "Go to the first page" +msgstr "Vai alla prima pagina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1069 +msgid "Go to the previous page" +msgstr "Vai alla pagina precedente" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1078 +msgid "Current page" +msgstr "Pagina corrente" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1089 +msgid "Go to the next page" +msgstr "Vai alla pagina successiva" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1096 +msgid "Go to the last page" +msgstr "Vai all'ultima pagina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1046 +#, php-format +msgid "1 item" +msgid_plural "%s items" +msgstr[0] "1 oggetto" +msgstr[1] "%s oggetti" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1046 +#, php-format +msgctxt "paging" +msgid "%1$s of %2$s" +msgstr "%1$s di %2$s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:11 +msgid "NextGEN Gallery" +msgstr "NextGEN Gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:186 +msgid "No gallery" +msgstr "Nessuna galleria" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:198 +msgid "Select »" +msgstr "Seleziona »" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:230 +msgid "Hide" +msgstr "Nascondi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:235 +msgid "Image ID:" +msgstr "ID Immagine:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:249 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:45 +msgid "Alignment" +msgstr "Allineamento" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:252 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:47 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:583 +msgid "None" +msgstr "Nessuno" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:254 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:49 +msgid "Left" +msgstr "Sinistra" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:256 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:51 +msgid "Center" +msgstr "Centro" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:258 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:53 +msgid "Right" +msgstr "Destra" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:262 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:690 +msgid "Size" +msgstr "Dimensione" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:268 +msgid "Full size" +msgstr "Dimensione piena" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:270 +msgid "Singlepic" +msgstr "Singlepic" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:282 +msgid "Use as featured image" +msgstr "Utilizza come immagine in evidenza" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:284 +msgid "Insert into Post" +msgstr "Inserisci nell'Articolo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:295 +msgid "Save all changes" +msgstr "Salva tutte le modifiche" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:14 +msgid "NextGEN Gallery Overview" +msgstr "Panoramica NextGEN Gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:84 +msgid "Welcome to NextGEN Gallery !" +msgstr "Benvenuto a NextGEN Gallery!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:85 +msgid "Do you like this Plugin?" +msgstr "Ti piace questo Plugin?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:87 +msgid "About" +msgstr "Riguardo a" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:90 +msgid "Server Settings" +msgstr "Impostazioni Server" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97 +msgid "" +"NextGEN Gallery is one of the most popular Wordpress plugins of all time " +"with over 9 million downloads. It is developed and supported by Photocrati " +"Media. We'd like to offer a special thanks to Alex Rabe, who first developed " +"the plugin and maintained it through 2011." +msgstr "" +"NextGEN Gallery è uno dei più popolari plugin WordPress di tutti i tempi con " +"più di 9 milioni di download. E' sviluppato e mantenuto da Photocrati Media. " +"Vorremmo porgere un ringraziamento speciale ad Alex Rabe, che per primo ha " +"sviluppato e mantenuto il plugin fino al 2011." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:98 +msgid "" +"NEED HELP? If you need help or assistance please visit the " +"NextGEN " +"Gallery forums on WordPress.org. Please note that we actively monitor " +"and participate in the forums, but given that NextGEN Gallery is a free " +"product, we don't guarantee replies to support queries." +msgstr "" +"SERVE AIUTO? Se hai bisogno di aiuto o assistenza visita il " +"NextGEN " +"Gallery forum su WordPress.org. Noi monitoriamo attivamente i forum e ci " +"partecipiamo, ma NextGEN Gallery è un prodotto gratuito, non garantiamo " +"risposte alle domande di supporto." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:99 +msgid "" +"EXTENDING NEXTGEN? There are many third party plugins that " +"add displays and functionality for NextGEN Gallery. See our Complete List of " +"NextGEN Extension Plugins." +msgstr "" +"ESTENDI NEXTGEN? Sono presenti molti plugin di terze parti " +"che aggiungono funzionalità per NextGEN Gallery. Consulta la nostra Lista completa delle estensioni per NextGEN Extension." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:107 +#, php-format +msgid "" +"This plugin is primarily developed, maintained, supported and documented by " +"Photocrati Media with a lot of love & " +"effort. Any kind of contribution would be highly appreciated. Thanks!" +msgstr "" +"Questo plugin è sviluppato, mantenuto, supportato e documentato " +"principalmente da Photocrati Media con " +"molto amore & dedizione. Ogni tipo di contributo sarà altamente apprezzato. " +"Grazie!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:112 +msgid "Please click \"Works\" on WordPress.org" +msgstr "Per favore clicca \"Works\" in WordPress.org" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:117 +msgid "Give it a good rating on WordPress.org" +msgstr "Dacci un buon voto in WordPress.org" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:122 +msgid "Visit the plugin homepage" +msgstr "Visita homepage del plugin" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:127 +msgid "Help translating it" +msgstr "Aiuta nella traduzione" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:149 +msgid "Graphic Library" +msgstr "Libreria grafica" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:165 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:214 +msgid "Loading…" +msgstr "Caricamento…" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:165 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:214 +msgid "This widget requires JavaScript." +msgstr "Questo widget richiede JavaScript." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:178 +msgid "Thanks to all donators..." +msgstr "Grazie a tutti i donatori..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:200 +msgid "View all" +msgstr "Mostra tutto" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:226 +#, php-format +msgid "" +"Newsfeed could not be loaded. Check the front page to " +"check for updates." +msgstr "" +"Il feed delle notizie non è stato caricato. Controlla la prima pagina per nuovi aggiornamenti." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:238 +msgid "Untitled" +msgstr "Senza titolo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:303 +msgid "At a Glance" +msgstr "In sisntesi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:356 +msgid "Storage Space" +msgstr "Spazio di archiviazione" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:360 +#, php-format +msgid "" +"%2$sMB" +msgstr "" +"%2$sMB" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:361 +msgid "Space Allowed" +msgstr "Spazio permesso" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:368 +#, php-format +msgid "" +"%2$sMB (%3$s" +"%%)" +msgstr "" +"%2$sMB " +"(%3$s%%)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:369 +msgid "Space Used" +msgstr "Spazio usato" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:395 +msgid "No GD support" +msgstr "Nessun supporto GD" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:427 +msgid "Not set" +msgstr "Non impostato" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:429 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:432 +msgid "On" +msgstr "On" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:430 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:433 +msgid "Off" +msgstr "Off" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:437 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:440 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:443 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:446 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:449 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:452 +msgid "N/A" +msgstr "N/D" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:451 +msgid " MByte" +msgstr " MByte" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:464 +msgid "Operating System" +msgstr "Sistema Operativo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:465 +msgid "Server" +msgstr "Server" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:466 +msgid "Memory usage" +msgstr "Utilizzo memoria" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:467 +msgid "MYSQL Version" +msgstr "Versione MYSQL" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:468 +msgid "SQL Mode" +msgstr "Modalità SQL" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:469 +msgid "PHP Version" +msgstr "Versione PHP" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:470 +msgid "PHP Safe Mode" +msgstr "PHP Safe Mode" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:471 +msgid "PHP Allow URL fopen" +msgstr "PHP Allow URL fopen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:472 +msgid "PHP Memory Limit" +msgstr "Limite memoria PHP " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:473 +msgid "PHP Max Upload Size" +msgstr "Dimensione massima di caricamento PHP" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:474 +msgid "PHP Max Post Size" +msgstr "Massima dimensione POST PHP" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:475 +msgid "PCRE Backtracking Limit" +msgstr "PCRE Backtracking Limit" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:476 +msgid "PHP Max Script Execute Time" +msgstr "Tempo massimo di esecuzione script PHP" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:477 +msgid "PHP Exif support" +msgstr "Supporto EXIF PHP" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:478 +msgid "PHP IPTC support" +msgstr "Supporto IPTC PHP" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:479 +msgid "PHP XML support" +msgstr "Supporto XML PHP" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:491 +msgid "" +"NextGEN Gallery contains some functions which are only available under PHP " +"5.2. You are using the old PHP 4 version, upgrade now! It's no longer " +"supported by the PHP group. Many shared hosting providers offer both PHP 4 " +"and PHP 5, running simultaneously. Ask your provider if they can do this." +msgstr "" +"NextGEN Gallery contiene alcune funzioni le quali sono disponibili da PHP " +"5.2. Stai utilizzando la vecchia versione PHP 4, aggiorna ora! Non è più " +"supportato da gruppo PHP. Alcuni provider di hosting condiviso offrono sia " +"PHP 4 che PHP 5, contemporaneamente. Chiedi al tuo provider se è possibile." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:35 +msgid "Post title" +msgstr "Titolo articolo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:37 +msgid "Enter the post title " +msgstr "Inserisci il titolo dell'articolo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:42 +msgid "Size of the image" +msgstr "Dimensione dell'immagine" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:60 +msgid "Draft" +msgstr "Bozza" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:26 +msgid "" +"Select the lowest role which should be able to access the following " +"capabilities. NextGEN Gallery supports the standard roles from WordPress." +msgstr "" +"Selezione il ruolo più basso con il quale è possibile accedere alle seguenti " +"funzionalità. NextGEN Gallery supporta i ruoli standard da WordPress." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:27 +msgid "For a more flexible user management you can use the" +msgstr "Per una gestione utente più flessibile puoi usare il" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:31 +msgid "Main NextGEN Gallery overview" +msgstr "Panoramica generale di NextGEN Gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:35 +msgid "Use TinyMCE Button / Upload tab" +msgstr "Utilizza Pulsante TinyMCE / Tab di caricamento" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:39 +msgid "Add gallery / Upload images" +msgstr "Aggiungi galleria / Carica immagini" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:43 +msgid "Manage gallery" +msgstr "Gestisci Galleria" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:47 +msgid "Manage others gallery" +msgstr "Gestisci altre gallerie" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:51 +msgid "Manage tags" +msgstr "Gestisci tag" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:59 +msgid "Change style" +msgstr "Cambia stile" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:63 +msgid "Change options" +msgstr "Cambia opzioni" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:67 +msgid "NextGEN Attach Interface" +msgstr "Interfaccia Allega NextGEN" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:60 +msgid "Image rotated" +msgstr "Immagine ruotata" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:62 +msgid "Error rotating thumbnail" +msgstr "Errore nella rotazione miniatura" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:85 +msgid "90° clockwise" +msgstr "90° orario" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:86 +msgid "90° anticlockwise" +msgstr "90° antiorario" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:87 +msgid "Flip vertically" +msgstr "Capovolgi verticalmente" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:88 +msgid "Flip horizontally" +msgstr "Capovolgi orizzontalmente" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:22 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:204 +#, php-format +msgid "Rebuild image structure : %s / %s images" +msgstr "Ricostruisci struttura immagine: %s / %s immagini" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:23 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:205 +#, php-format +msgid "Rebuild gallery structure : %s / %s galleries" +msgstr "Ricostruisci struttura galleria: %s / %s gallerie" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:24 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:206 +#, php-format +msgid "Rebuild album structure : %s / %s albums" +msgstr "Ricostruisci struttura album: %s / %s album" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:81 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:263 +msgid "Done." +msgstr "Fatto." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:196 +msgid "Cache cleared" +msgstr "Cache svuotata" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:315 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:334 +msgid "General Options" +msgstr "Opzioni generali" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:317 +msgid "Image" +msgid_plural "Images" +msgstr[0] "Immagine" +msgstr[1] "Immagini" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:319 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:572 +msgid "Effects" +msgstr "Effetti" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:320 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:614 +msgid "Watermark" +msgstr "Filigrana" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:340 +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:54 +msgid "Gallery path" +msgstr "Percorso galleria" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:342 +msgid "This is the default path for all galleries" +msgstr "Questo è il percorso predefinito per tutte le gallerie" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:345 +msgid "Delete image files" +msgstr "Cancella file immagine" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:347 +msgid "Delete files, when removing a gallery in the database" +msgstr "Cancella file, quando rimuovi una galleria dal database" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:350 +msgid "Activate permalinks" +msgstr "Attiva permalink" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:352 +msgid "" +"When you activate this option, you need to update your permalink structure " +"one time." +msgstr "" +"Quando attivi questa opzione, hai bisogno di aggiornare la tua struttura " +"permalink." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:353 +msgid "Gallery slug name :" +msgstr "Noma slug galleria:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:357 +msgid "Create new URL friendly image slugs" +msgstr "Crea nuovi slug immagine URL friendly" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:358 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:474 +msgid "Proceed now" +msgstr "Procedi ora" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:361 +msgid "Select graphic library" +msgstr "Seleziona libreria grafica" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:362 +msgid "GD Library" +msgstr "GD Library" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:363 +msgid "ImageMagick (Experimental). Path to the library :" +msgstr "ImageMagick (Sperimentale). Percorso della libreria:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:368 +msgid "Activate Media RSS feed" +msgstr "Attiva feed Media RSS" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:370 +msgid "" +"A RSS feed will be added to you blog header. Useful for CoolIris/PicLens" +msgstr "" +"Un feed RSS sarà aggiunto all'header del tuo blog. Utile per CoolIris/PicLens" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:373 +msgid "Activate PicLens/CoolIris support" +msgstr "Attiva supporto CoolIris/PicLens" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:375 +msgid "" +"When you activate this option, some javascript is added to your site footer. " +"Make sure that wp_footer is called in your theme." +msgstr "" +"Quando attivi questa opzione, alcuni javascript sono aggiunti in fondo al " +"tuo sito. Controlla che wp_footer è dichiarato nel tuo tema." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:378 +msgid "Tags / Categories" +msgstr "Tag / Categorie" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:381 +msgid "Activate related images" +msgstr "Attiva immagini correlate" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:383 +msgid "This option will append related images to every post" +msgstr "Questa opzione aggiungerà immagini correlate ad ogni articolo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:387 +msgid "Match with" +msgstr "Confronta con" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:393 +msgid "Max. number of images" +msgstr "Numero massimo immagini" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:395 +msgid "0 will show all images" +msgstr "0 mostrerà tutte le immagini" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:399 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:435 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:477 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:562 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:597 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:860 +msgid "More settings" +msgstr "Più impostazioni" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:409 +msgid "Thumbnail settings" +msgstr "Impostazioni miniatura" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:413 +msgid "" +"Please note : If you change the settings, you need to recreate the " +"thumbnails under -> Manage Gallery ." +msgstr "" +"Nota bene: Se cambi le impostazioni, hai bisogno di ricreare le miniature " +"sotto -> Gestisci Galleria." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:422 +msgid "These values are maximum values " +msgstr "Questi valori sono i massimi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:445 +msgid "Image settings" +msgstr "Impostazioni immagine" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:451 +msgid "Resize Images" +msgstr "Ridimensiona immagini" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:460 +msgid "Backup original images" +msgstr "Backup immagini originali" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:462 +msgid "Creates a backup for inserted images" +msgstr "Crea un backup per immagini inserite" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:465 +msgid "Automatically resize" +msgstr "Ridimensiona automaticamente" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:467 +msgid "Automatically resize images on upload." +msgstr "Ridimensiona automaticamente immagini al caricamento." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:470 +msgid "Single picture" +msgstr "Singola foto" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:473 +msgid "Clear cache folder" +msgstr "Pulisci cache cartella" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:494 +msgid "Deactivate gallery page link" +msgstr "Disattiva collegamento pagina galleria" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:496 +msgid "" +"The album will not link to a gallery subpage. The gallery is shown on the " +"same page." +msgstr "" +"L'album non è collegato alla sottopagina galleria. La galleria è mostrata " +"nella stessa pagina." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:500 +msgid "Number of images per page" +msgstr "Numero di immagini per pagina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:502 +msgid "0 will disable pagination, all images on one page" +msgstr "0 disabiliterà l'impaginazione, tutte le immagini una per ogni pagina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:506 +msgid "Number of columns" +msgstr "Numero di colonne" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:508 +msgid "" +"0 will display as much as possible based on the width of your theme. Setting " +"normally only required for captions below the images" +msgstr "" +"0 mostrerà il più possibile in base alla larghezza del tuo tema. " +"Impostazione normalmente richiesta per didascalie sotto le immagini" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:512 +msgid "Integrate slideshow" +msgstr "Integra slideshow" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:519 +msgid "Show first" +msgstr "Mostra prima" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:525 +msgid "Show ImageBrowser" +msgstr "Mostra ImageBrowser" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:527 +msgid "The gallery will open the ImageBrowser instead the effect." +msgstr "La galleria aprirà l'ImageBrowser invece che l'effetto" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:531 +msgid "Add hidden images" +msgstr "Aggiungi immagini nascoste" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:533 +msgid "" +"If pagination is used, this option will still show all images in the modal " +"window (Thickbox, Lightbox etc.). Note : This increases the page load" +msgstr "" +"Se l'impaginazione è utilizzata, questa opzione mostrerà comunque tutte le " +"immagini nella finestra modale (Thickbox, Lightbox etc.). Nota: incrementerà " +"il carico pagina." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:539 +msgid "" +"Browse images without reload the page. Note : Works only in combination with " +"Shutter effect" +msgstr "" +"Sfoglia immagini senza ricaricare la pagina. Nota: Funziona solo in " +"combinazione con l'effetto Shutter" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:543 +msgid "Sort options" +msgstr "Opzioni disposizione" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:546 +msgid "Sort thumbnails" +msgstr "Disponi miniature" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:548 +msgid "Custom order" +msgstr "Ordine personale" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:550 +msgid "File name" +msgstr "Nome file" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:551 +msgid "Alt / Title text" +msgstr "Testo Alt / Titolo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:552 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:58 +msgid "Date / Time" +msgstr "Data / Ora" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:556 +msgid "Sort direction" +msgstr "Direzione ordinamento" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:576 +msgid "" +"Here you can select the thumbnail effect, NextGEN Gallery will integrate the " +"required HTML code in the images. Please note that only the Shutter and " +"Thickbox effect will automatic added to your theme." +msgstr "" +"Qui puoi selezionare l'effetto miniatura, NextGEN Gallery integrerà il " +"codice HTML richiesto nell'immagine. Nota bene che solo gli effetti Shutter " +"e Thickbox saranno automaticamente aggiunti al tuo tema." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:577 +msgid "With the placeholder" +msgstr "Con segnaposto" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:577 +msgid "" +"you can activate a navigation through the images (depend on the effect). " +"Change the code line only , when you use a different thumbnail effect or you " +"know what you do." +msgstr "" +"puoi attivare una navigazione attraverso le immagini (a seconda " +"dell'effetto). Cambia solo la linea di codice, quando usi un effetto " +"miniatura differente o sai cosa fare." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:580 +msgid "JavaScript Thumbnail effect" +msgstr "Effetto Miniatura JavaScript" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:584 +msgid "Thickbox" +msgstr "Thickbox" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:585 +msgid "Lightbox" +msgstr "Lightbox" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:586 +msgid "Highslide" +msgstr "Highslide" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:587 +msgid "Shutter" +msgstr "Shutter" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:593 +msgid "Link Code line" +msgstr "Collegamento linea di Codice" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:615 +msgid "" +"Please note : You can only activate the watermark under -> Manage Gallery . " +"This action cannot be undone." +msgstr "" +"Nota bene: Puoi attivare la filigrana solo sotto -> Gestisci Galleria. " +"Questa azione non può essere annullata." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:620 +msgid "Preview" +msgstr "Anteprima" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:622 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:627 +msgid "Position" +msgstr "Posizione" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:647 +msgid "Offset" +msgstr "Distanza" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:663 +msgid "Use image as watermark" +msgstr "Utilizza immagine come filigrana" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:666 +msgid "URL to file" +msgstr "URL al file" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:668 +msgid "The accessing of URL files is disabled at your server (allow_url_fopen)" +msgstr "L'accesso a file URL è disabilitato dal tuo server (allow_url_fopen)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:671 +msgid "Use text as watermark" +msgstr "Utilizza testo come filigrana" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:674 +msgid "Font" +msgstr "Font" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:683 +msgid "This function will not work, cause you need the FreeType library" +msgstr "Questa funzione non andrà, perché hai bisogno della libreria FreeType" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:685 +msgid "" +"You can upload more fonts in the folder nggallery/fonts" +msgstr "Puoi caricare più font nella cartella nggallery/fonts" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:694 +msgid "Color" +msgstr "Colore" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:696 +msgid "(hex w/o #)" +msgstr "(hex senza #)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:699 +msgid "Text" +msgstr "Testo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:703 +msgid "Opaque" +msgstr "Opaco" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:724 +msgid "Default size (W x H)" +msgstr "Dimensione predefinita (L x A)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:729 +msgid "Duration time" +msgstr "Durata" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:730 +msgid "sec." +msgstr "sec." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:733 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:810 +msgid "Transition / Fade effect" +msgstr "Effetto Transizione / Dissolvenza" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:736 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:813 +msgid "fade" +msgstr "dissolvenza" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:737 +msgid "blindX" +msgstr "blindX" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:738 +msgid "cover" +msgstr "cover" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:739 +msgid "scrollUp" +msgstr "scorri Su" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:740 +msgid "scrollDown" +msgstr "scorri Giù" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:741 +msgid "shuffle" +msgstr "Mescola" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:742 +msgid "toss" +msgstr "caduta" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:743 +msgid "wipe" +msgstr "wipe" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:745 +msgid "See here for more information about the effects :" +msgstr "Guarda qui per più informazioni sugli effetti:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:749 +msgid "Settings for the JW Image Rotator" +msgstr "Impostazioni per il JW Image Rotator" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:758 +msgid "" +"The path to JW Image Rotator is not defined, the slideshow will not work." +msgstr "" +"Il percorso per JW Image Rotator non è definito, lo slideshow non funzionerà." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:770 +msgid "Path to the JW Image Rotator (URL)" +msgstr "Percorso allo JW Image Rotator (URL)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:773 +msgid "Search now" +msgstr "Cerca ora" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:774 +msgid "Press the button below to search for the JW Image Rotator" +msgstr "Premi il pulsante sottostante per cercare JW Image Rotator" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:778 +msgid "Shuffle mode" +msgstr "Modalità casuale" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:796 +msgid "You can change the logo at the watermark settings" +msgstr "Puoi cambiare il logo nelle impostazioni filigrana" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:802 +msgid "true" +msgstr "vero" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:803 +msgid "false" +msgstr "falso" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:804 +msgid "fit" +msgstr "adatta" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:805 +msgid "none" +msgstr "nessuno" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:814 +msgid "bgfade" +msgstr "bgfade" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:815 +msgid "slowfade" +msgstr "slowfade" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:816 +msgid "circles" +msgstr "circles" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:817 +msgid "bubbles" +msgstr "bubbles" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:818 +msgid "blocks" +msgstr "blocks" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:819 +msgid "fluids" +msgstr "fluids" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:820 +msgid "flash" +msgstr "flash" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:821 +msgid "lines" +msgstr "lines" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:831 +msgid "Background Color" +msgstr "Colore di sfondo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:836 +msgid "Texts / Buttons Color" +msgstr "Colore Testi / Pulsanti" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:841 +msgid "Rollover / Active Color" +msgstr "Colore Rollover / Attivo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:846 +msgid "Screen Color" +msgstr "Colore Schermo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:851 +msgid "Background music (URL)" +msgstr "Musica di fondo (URL)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:855 +msgid "Try XHTML validation (with CDATA)" +msgstr "Prova validazione XHTML (con CDATA)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:857 +msgid "" +"Important : Could causes problem at some browser. Please recheck your page." +msgstr "" +"Importante: Potrebbe causare problemi a qualche browser. Per favore " +"ricontrolla la pagina." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:29 +msgid "Meta Data" +msgstr "Metadata" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:34 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:60 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:85 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:109 +msgid "Tag" +msgstr "Tag" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:35 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:61 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:86 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:110 +msgid "Value" +msgstr "Valore" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:49 +msgid "No meta data saved" +msgstr "Nessun metadata salvato" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:55 +msgid "EXIF Data" +msgstr "Dati EXIF" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:74 +msgid "No exif data" +msgstr "Nessun dato EXIF" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:81 +msgid "IPTC Data" +msgstr "Dati IPTC" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:105 +msgid "XMP Data" +msgstr "Dati XMP" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:11 +msgid "(From the theme folder)" +msgstr "(Dalla cartella del tema)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:43 +msgid "You do not have sufficient permissions to edit templates for this blog." +msgstr "" +"Non hai i permessi necessari per modificare il template per questo blog." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:52 +msgid "CSS file successfully updated" +msgstr "File CSS aggiornato con successo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:91 +msgid "Activate and use style sheet:" +msgstr "Attiva e usa foglio di stile:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:111 +msgid "Activate" +msgstr "Attiva" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:121 +#, php-format +msgid "Editing %s" +msgstr "Modificando %s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:123 +#, php-format +msgid "Browsing %s" +msgstr "Sfogliando %s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:133 +msgid "Version" +msgstr "Versione" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:136 +msgid "" +"Tip : Copy your stylesheet (nggallery.css) to your theme folder, so it will " +"be not lost during a upgrade" +msgstr "" +"Suggerimento: Copia il foglio di stile (nggallery.css) nella tua cartella " +"del tema, così non sarà cancellato durante un aggiornamento." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:138 +msgid "" +"Your theme contain a NextGEN Gallery stylesheet (nggallery.css), this file " +"will be used" +msgstr "" +"Il tuo tema contiene un foglio di stile NextGEN Gallery (nggallery.css), " +"questo file sarà utilizzato" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:140 +msgid "" +"Tip No. 2: Use the color picker below to help you find the right color " +"scheme for your gallery!" +msgstr "" +"Suggerimento No. 2: Usa il contagocce sottostante per aiutarti a trovare lo " +"schema colore giusto per la tua galleria!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:156 +msgid "Update File" +msgstr "Aggiorna file" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:159 +msgid "If this file were writable you could edit it." +msgstr "Se il file è scrivibile puoi modificarlo." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:164 +msgid "Oops, no such file exists! Double check the name and try again, merci." +msgstr "Oops, il file non esiste! Controlla bene il nome e riprova, grazie." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:41 +msgid "Most popular" +msgstr "Più popolare" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:42 +msgid "Least used" +msgstr "Meno usato" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:43 +msgid "Alphabetical" +msgstr "Alfabetico" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:100 +msgid "Manage image tags" +msgstr "Gestisci tag immagini" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:112 +msgid "Existing Tags" +msgstr "Tag esistenti" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:116 +msgid "Search tags" +msgstr "Cerca tag" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:120 +msgid "Go" +msgstr "Vai" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:125 +msgid "Sort Order:" +msgstr "Ordinamento:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:160 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:164 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:177 +msgid "Previous tags" +msgstr "Tag precedente" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:173 +msgid "Next tags" +msgstr "Tag successivo" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:185 +msgid "Rename Tag" +msgstr "Rinomina Tag" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:193 +msgid "" +"Enter the tag to rename and its new value. You can use this feature to " +"merge tags too. Click \"Rename\" and all posts which use this tag will be " +"updated." +msgstr "" +"Inserisci il tag per rinominare ed il suo nuovo valore. Puoi utilizzare " +"questa funzione anche per unire tag. Clicca \"Rinomina\" e tutti gli " +"articolo che utilizzano questo tata saranno aggiornati." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:194 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:242 +msgid "You can specify multiple tags to rename by separating them with commas." +msgstr "Puoi specificare tag multipli per rinominare separandoli con virgole." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:198 +msgid "Tag(s) to rename:" +msgstr "Tag da rinominare:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:202 +msgid "New tag name(s):" +msgstr "Nuovo nome/i tag:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:205 +msgid "Rename" +msgstr "Rinomina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:211 +msgid "Delete Tag" +msgstr "Cancella Tag" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:219 +msgid "" +"Enter the name of the tag to delete. This tag will be removed from all " +"posts." +msgstr "" +"Inserisci il nome del tag da eliminare. Questo tag sarà rimosso da ogni " +"articolo." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:220 +msgid "You can specify multiple tags to delete by separating them with commas" +msgstr "Puoi specificare tag multipli da cancellare separandoli da virgole" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:224 +msgid "Tag(s) to delete:" +msgstr "Tag da cancellare:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:233 +msgid "Edit Tag Slug" +msgstr "Modifica Slug Tag" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:241 +msgid "" +"Enter the tag name to edit and its new slug. This will be used in tagcloud " +"links. Slug definition" +msgstr "" +"Inserisci il nome tag da modificare ed il nuovo slug. Questo sarà utilizzato " +"nei collegamenti tagcloud. Definizione slug" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:246 +msgid "Tag(s) to match:" +msgstr "Tag da confrontare:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:250 +msgid "Slug(s) to set:" +msgstr "Slug da impostare:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_create_page_field.php:3 +msgid "Main Page (no parent)" +msgstr "Pagina Principale (nessun genitore)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_create_page_field.php:10 +msgid "Add page" +msgstr "Aggiungi pagina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_link_to_page_field.php:3 +msgid "Not linked" +msgstr "Non collegato" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/thumbnails-template.php:103 +msgid "These are maximum values" +msgstr "Queste sono valori massimi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:61 +msgid "" +"Some folders/files could not renamed, please recheck the permission and " +"rescan the folder in the manage gallery section." +msgstr "" +"Alcune cartelle/file non sono state rinominate, ricontrolla i permessi e ri-" +"scansiona la cartella nella sezione gestione galleria." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:63 +msgid "Rename failed" +msgstr "Rinominazione fallita" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:159 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:178 +msgid "Upgrade NextGEN Gallery" +msgstr "Aggiorna NextGEN Gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:160 +msgid "The script detect that you upgrade from a older version." +msgstr "Lo script ha trovato che hai aggiornato da una versione precedente." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:161 +msgid "" +"Your database tables for NextGEN Gallery is out-of-date, and must be " +"upgraded before you can continue." +msgstr "" +"Il tuo database tabelle per NextGEN Gallery è scaduto, e deve essere " +"aggiornato prima di continuare." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:162 +msgid "" +"If you would like to downgrade later, please make first a complete backup of " +"your database and the images." +msgstr "" +"Se dopo vuoi retrocedere, per favore fai un backup completo del database e " +"delle immagini." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:163 +msgid "The upgrade process may take a while, so please be patient." +msgstr "" +"Il processo di aggiornamento dovrebbe metterci un po', per favore sii " +"paziente." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:164 +msgid "Start upgrade now" +msgstr "Avvia aggiornamento ora" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:180 +msgid "Upgrade finished..." +msgstr "Aggiornamento completato..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:181 +msgid "Continue" +msgstr "Continua" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:33 +msgid "Update successfully" +msgstr "Aggiornamento completato" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:48 +msgid "Network Options" +msgstr "Opzioni di rete" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:56 +msgid "" +"This is the default path for all blogs. With the placeholder %BLOG_ID% you " +"can organize the folder structure better." +msgstr "" +"Questo è il percorso di default per tutti i blog. Con il segnaposto %BLOG_ID" +"% puoi organizzare la struttura cartella in modo migliore." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:57 +#, php-format +msgid "The default setting should be %s" +msgstr "L'impostazione predefinita dovrebbe essere %s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:61 +msgid "Enable upload quota check" +msgstr "Abilita controllo quota di upload" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:63 +msgid "Should work if the gallery is bellow the blog.dir" +msgstr "Dovrebbe funzionare se la galleria è sotto la blog.dir" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:67 +msgid "Enable zip upload option" +msgstr "Abilita caricamento ZIP" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:69 +msgid "Allow users to upload zip folders." +msgstr "Permetti agli utenti di caricare cartelle zip." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:73 +msgid "Enable import function" +msgstr "Abilita funzione di importazione" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:75 +msgid "Allow users to import images folders from the server." +msgstr "Permetti agli utenti di importare cartelle di immagini dal server." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:79 +msgid "Enable style selection" +msgstr "Abilita selezione stile" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:81 +msgid "Allow users to choose a style for the gallery." +msgstr "Permetti all'utente di selezionare uno stile per la galleria" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:85 +msgid "Enable roles/capabilities" +msgstr "Abilita ruoli/permessi" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:87 +msgid "Allow users to change the roles for other blog authors." +msgstr "Permetti agli utenti di cambiare i ruoli per altri autori del blog." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:91 +msgid "Default style" +msgstr "Stile predefinito" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:108 +msgid "Choose the default style for the galleries." +msgstr "Seleziona lo stile di default per le gallerie" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/core.php:410 +#, php-format +msgid "" +"Note : Based on your server memory limit you should not upload larger images " +"then %d x %d pixel" +msgstr "" +"Nota: In base ai limiti della memoria del tuo server non dovresti caricare " +"immagini più grandi di %d x %d pixel" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php:337 +#: products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php:338 +msgid "Album overview" +msgstr "Panoramica Album" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:68 +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:70 +msgid "Set NextGEN featured image" +msgstr "Imposta immagine in evidenza NextGEN" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:328 +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:329 +msgid "Set featured image" +msgstr "Imposta immagine in evidenza" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:356 +msgid "Remove featured image" +msgstr "Rimuovi immagine in evidenza" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:223 +msgid "Album" +msgid_plural "Albums" +msgstr[0] "Album" +msgstr[1] "Album" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:35 +msgid "No new tag specified!" +msgstr "Nessuna nuova tag specificata!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:50 +msgid "No new/old valid tag specified!" +msgstr "Nessun nuovo/vecchio tag valido specificato!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:86 +msgid "No tag renamed." +msgstr "Nessuna tag rinominata." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:88 +#, php-format +msgid "Renamed tag(s) «%1$s» to «%2$s»" +msgstr "Rinomina tag «%1$s» a «%2$s»" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:95 +msgid "No valid new tag." +msgstr "Nuovo tag non valido" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:112 +msgid "No objects (post/page) found for specified old tags." +msgstr "Nessun oggetto (articolo/pagina) trovato per i vecchi tag specificati." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:141 +msgid "No tag merged." +msgstr "Nessuna tag unita." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:143 +#, php-format +msgid "" +"Merge tag(s) «%1$s» to «%2$s». %3$s objects edited." +msgstr "" +"Unisci tag «%1$s» con «%2$s». %3$s oggetti " +"modificati." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:146 +msgid "Error. Not enough tags provided to rename or merge." +msgstr "Errore. Non sono stati forniti abbastanza tag da rinominare o unire." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:165 +msgid "No tag specified!" +msgstr "Nessun tag specificato!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:188 +msgid "No tag deleted." +msgstr "Nessun tag cancellato." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:190 +#, php-format +msgid "%1s tag(s) deleted." +msgstr "%1s tag cancellato/i." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:206 +msgid "No new slug(s) specified!" +msgstr "Nessun nuovo slug specificato!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:218 +msgid "Tags number and slugs number isn't the same!" +msgstr "Numero tag e numero slug non è lo stesso!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:245 +msgid "No slug edited." +msgstr "Nessuno slug modificato." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:247 +#, php-format +msgid "%s slug(s) edited." +msgstr "%s slug modificate." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:64 +msgid "" +"Translation by : See here" +msgstr "" +"Tradotto da: Vedi qui" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:65 +msgid "" +"This translation is not yet updated for Version 1.9.0. If " +"you would like to help with translation, download the current po from the " +"plugin folder and read here how you can translate the plugin." +msgstr "" +"Questa traduzione non è stata aggiornata per la Versione 1.9.0. Se vuoi aiutare con la traduzione, scarica il po corrente dalla " +"cartella plugin e leggi qui per come puoi tradurre il plugin." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:158 +msgid "" +"Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB or higher" +msgstr "" +"Mi dispiace, NextGEN Gallery lavora solo con un Limite Memoria di 16 MB o " +"superiore" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:184 +msgid "Picture tag" +msgstr "Tag immagine" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:185 +msgid "Picture tag: %2$l." +msgstr "Tag immagine: %2$l." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:186 +msgid "Separate picture tags with commas." +msgstr "Separa tag immagini con virgole." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:324 +msgid "Get help" +msgstr "Ottieni aiuto" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:325 +msgid "Contribute" +msgstr "Contribuisci" + +#: products/photocrati_nextgen/modules/ngglegacy/nggfunctions.php:29 +msgid "[Gallery not found]" +msgstr "[Galleria non trovata]" + +#: products/photocrati_nextgen/modules/ngglegacy/nggfunctions.php:163 +msgid "Related images for" +msgstr "Immagini relative per" + +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:38 +msgid "Meta data" +msgstr "Metadata" + +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:42 +msgid "Camera / Type" +msgstr "Macchina fotografica / Tipo" + +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:50 +msgid "Focal Length" +msgstr "Lunghezza focale" + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:50 +msgid "No galleries have been yet created." +msgstr "Nessuna galleria è stata ancora creata." + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:69 +#, php-format +msgid "The gallery ID=%s does not exist." +msgstr "La gallery con ID=%s non esiste." + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:100 +msgid "No album ID has been provided as parameter" +msgstr "Nessun ID album è stato fornito come parametro" + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:108 +#, php-format +msgid "The album ID=%s does not exist." +msgstr "L'album con ID=%s non esiste." + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:115 +msgid "Invalid MediaRSS command" +msgstr "Comando MediaRSS non valido" + +msgid "NextGEN Basic Compact Album" +msgstr "NextGEN Album Compatto Base" + +msgid "NextGEN Basic Extended Album" +msgstr "NextGEN Album Esteso Base" + +msgid "NextGEN Basic Thumbnails" +msgstr "NextGEN Miniature Base" + +msgid "NextGEN Basic Slideshow" +msgstr "NextGEN Slideshow Base" + +msgid "NextGEN Basic ImageBrowser" +msgstr "NextGEN ImageBrowser Base" + +msgid "NextGEN Basic Singlepic" +msgstr "NextGEN Singlepic Base" + +msgid "NextGEN Basic Tagcloud" +msgstr "NextGEN Tagcloud Base" diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-nl_NL.mo b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-nl_NL.mo new file mode 100644 index 0000000000000000000000000000000000000000..7d6def189c34cdf86b33d1ba698f57f4357000a2 GIT binary patch literal 76238 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 QEa%)4zyLN17U*R6FNq$0cmMzZ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-nl_NL.po b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-nl_NL.po new file mode 100644 index 0000000..4056939 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-nl_NL.po @@ -0,0 +1,4272 @@ +# NextGEN Gallery base (English) .po source +# Copyright (C) 2014 Photocrati Media +# This file is distributed under the same license as the NextGEN Gallery package. +# +msgid "" +msgstr "" +"Project-Id-Version: NextGEN Gallery\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-02-20 19:45-0800\n" +"PO-Revision-Date: 2014-05-13 11:33+0100\n" +"Last-Translator: Photocrati Media\n" +"Language-Team: Photocrati Media\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: nl_NL\n" +"X-Generator: Poedit 1.6.5\n" + +#: nggallery.php:290 +#, php-format +msgid "Every %d seconds" +msgstr "Elke %d seconds" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:157 +#, php-format +msgid "Album: %s" +msgstr "Album: %s" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:159 +#, php-format +msgid "Gallery: %s" +msgstr "Galerij: %s" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:177 +msgid "Missing parameters" +msgstr "Missende parameters" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:213 +msgid "Displayed gallery does not exist" +msgstr "Getoonde galerij bestaat niet" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:216 +msgid "Invalid request" +msgstr "Ongeldig verzoek" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:248 +msgid "NextGEN Gallery - Attach To Post" +msgstr "NextGEN Gallery - Aan Bericht Toevoegen" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:266 +msgid "Display Galleries" +msgstr "Galerijen Tonen" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:273 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_controller.php:7 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:192 +msgid "Add Gallery / Images" +msgstr "Galerij / Afbeeldingen Toevoegen" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:280 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:160 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:194 +msgid "Manage Galleries" +msgid_plural "Manage Galleries" +msgstr[0] "Galerijen Beheren" +msgstr[1] "Galerijen Beheren" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:287 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:404 +msgid "Manage Albums" +msgid_plural "Manage Albums" +msgstr[0] "Albums Beheren" +msgstr[1] "Beheer Albums" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:294 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:162 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:198 +msgid "Manage Tags" +msgstr "Tags Beheren" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:115 +msgid "What would you like to display?" +msgstr "Wat wilt u tonen?" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:139 +msgid "Select a display type" +msgstr "Selecteer een type weergave" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:162 +msgid "Customize the display settings" +msgstr "Weergave instellingen aanpassen" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:253 +msgid "No display type selected" +msgstr "Geen weergave type geselecteerd" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:271 +msgid "Sort or Exclude Images" +msgstr "Afbeeldingen Sorteren of Uitsluiten" + +#: products/photocrati_nextgen/modules/attach_to_post/module.attach_to_post.php:186 +msgid "Invalid Displayed Gallery" +msgstr "Ongeldige Weergegeven Galerij" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab.php:10 +#: products/photocrati_nextgen/modules/nextgen_admin/templates/nextgen_admin_page.php:25 +msgid "Save" +msgstr "Opslaan" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:612 +msgid "Sources" +msgstr "Bronnen" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:646 +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:362 +msgid "(optional)" +msgstr "(optioneel)" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:654 +msgid "" +"Sets an SEO-friendly name to this gallery for URLs. Currently only in use by " +"the Pro Lightbox." +msgstr "" +"Stelt een SEO-vriendelijke naam in voor deze galerij voor URLs. Momenteel " +"alleen in gebruik door de Pro Lightbox." + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:655 +msgid "Slug" +msgstr "Slug" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:860 +msgid "No entities to display for this source." +msgstr "Geen weer te geven entiteiten voor deze bron." + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1264 +msgid "Select a gallery" +msgstr "Selecteer een galerij" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1292 +msgid "Albums" +msgstr "Albums" + +#: products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:34 +msgid "Code" +msgstr "Code" + +#: products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:48 +msgid "Stylesheet URL" +msgstr "Stylesheet URL" + +#: products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:62 +msgid "Javascript URL" +msgstr "Javascript URL" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.import_folder_form.php:7 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:6 +msgid "Import Folder" +msgstr "Map Importeren" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:41 +msgid "No gallery name specified" +msgstr "Geen galerijnaam opgegeven" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:55 +msgid "Failed to extract images from ZIP" +msgstr "Uitpakken van bestanden uit ZIP mislukt" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:61 +msgid "Image generation failed" +msgstr "Afbeelding genereren mislukt" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:70 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:150 +msgid "An unexpected error occured." +msgstr "Een onverwachte fout is opgetreden." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:77 +msgid "" +"No permissions to upload images. Try refreshing the page or ensuring that " +"your user account has sufficient roles/privileges." +msgstr "" +"Geen toestemming om afbeeldingen te uploaden. Probeer de pagina te verversen " +"of verzeker u dat uw gebruikersaccount voldoende rollen/rechten heeft." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:117 +msgid "Directory does not exist." +msgstr "Map bestaat niet." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:121 +msgid "No directory specified." +msgstr "Geen map opgegeven." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:125 +msgid "" +"No permissions to browse folders. Try refreshing the page or ensuring that " +"your user account has sufficient roles/privileges." +msgstr "" +"Geen toestemming om door mappen te bladeren. Probeer de pagina te verversen " +"of verzeker u dat uw gebruikersaccount voldoende rollen/rechten heeft." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:155 +msgid "No folder specified" +msgstr "Geen map opgegeven" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:159 +msgid "" +"No permissions to import folders. Try refreshing the page or ensuring that " +"your user account has sufficient roles/privileges." +msgstr "" +"Geen toestemming om mappen te importeren. Probeer de pagina te verversen of " +"verzeker u dat uw gebruikersaccount voldoende rollen/rechten heeft." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.upload_images_form.php:7 +msgid "Upload Images" +msgstr "Afbeeldingen Uploaden" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:1 +msgid "" +"Select a folder to import. The folder name will be used as the title of the " +"gallery." +msgstr "" +"Selecteer een map om te importeren. De mapnaam wordt als titel van de " +"galerij gebruikt." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:5 +msgid "Keep images in original location." +msgstr "Behoud afbeeldingen in oorspronkelijke locatie." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:5 +msgid "" +"Caution: If you keep images in the original folder and later delete the " +"gallery, the images in that folder might be deleted depending on your " +"settings." +msgstr "" +"Voorzichtig: Als u afbeeldingen in de oorspronkelijke map bewaart en later " +"the galerij verwijdert, kunnen afhankelijk van uw instellingen de " +"afbeeldingen in die map verwijderd worden." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:39 +msgid "Importing gallery" +msgstr "Galerij Importeren" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:41 +msgid "In Progress..." +msgstr "Bezig..." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:56 +#, php-format +msgid "Done! Successfully imported %s images" +msgstr "Klaar! %s afbeeldingen succesvol geïmporteerd." + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1268 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:2 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:189 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:217 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:226 +msgid "Gallery" +msgid_plural "Galleries" +msgstr[0] "Galerij" +msgstr[1] "Galerijen" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:4 +msgid "Create a new gallery" +msgstr "Nieuwe galerij maken" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:13 +msgid "You browser doesn't have Flash, Silverlight, HTML5, or HTML4 support." +msgstr "Uw browser ondersteunt Flash, Silverlight, HTML5 of HTML4 niet." + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:99 +msgid "Drag image and ZIP files here or click Add Files" +msgstr "" +"Versleep afbeelding en ZIP bestanden hier of klik Bestanden " +"Toevoegen" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:149 +#, php-format +msgid "%s images were uploaded successfully" +msgstr "%s afbeeldingen succesvol geüpload" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:152 +msgid "1 image was uploaded successfully" +msgstr "1 afbeelding was successvol geüpload" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:155 +msgid "0 images were uploaded" +msgstr "0 afbeeldingen zijn geüpload" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:169 +msgid "Upload complete" +msgstr "Upload compleet" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:191 +msgid "" +"An unexpected error occured. This is most likely due to a server " +"misconfiguration. Check your PHP error log or ask your hosting provider for " +"assistance." +msgstr "" +"Een onverwachte fout is opgetreden. Dit komt hoogst waarschijnlijk door " +"misconfiguratie van de server. Controleer uw PHP foutlog of vraag uw hosting " +"provider om hulp." + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:226 +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:167 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:537 +msgid "Enable AJAX pagination" +msgstr "AJAX paginering inschakelen" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:238 +msgid "Override thumbnail settings" +msgstr "Miniatuur instellingen overschrijven" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:240 +msgid "" +"This does not affect existing thumbnails; overriding the thumbnail settings " +"will create an additional set of thumbnails. To change the size of existing " +"thumbnails please visit 'Manage Galleries' and choose 'Create new " +"thumbnails' for all images in the gallery." +msgstr "" +"Dit heeft geen effect op bestaande miniaturen; overschrijven van de " +"miniatuurinstellingen zal een extra set miniaturen aanmaken. Om de grootte " +"van bestaande miniaturen te wijzigen ga naar 'Galerijen Bheren' en kies " +"'Nieuw miniaturen aanmaken' voor alle afbeeldingen in de galerij." + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:248 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:37 +msgid "Thumbnail dimensions" +msgstr "Miniatuur afmetingen" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:262 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:431 +msgid "Thumbnail quality" +msgstr "Miniatuur kwaliteit" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:272 +msgid "Thumbnail crop" +msgstr "Miniatuur bijsnijden" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:281 +msgid "Thumbnail watermark" +msgstr "Miniatuur watermerk" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:306 +msgid "Override image settings" +msgstr "Afbeeldingsinstellingen overschrijven" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:308 +msgid "Overriding the image settings will create an additional set of images" +msgstr "" +"Het overschrijven van de afbeeldingsinstellingen maakt een extra set " +"afbeelingen aan" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:316 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:66 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:456 +msgid "Image quality" +msgstr "Afbeeldingskwaliteit" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:326 +msgid "Image crop" +msgstr "Afbeelding bijsnijden" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:335 +msgid "Image watermark" +msgstr "Afbeelding watermerk" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:359 +msgid "Gallery width" +msgstr "Galerij breedte" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:361 +msgid "An empty or 0 setting will make the gallery full width" +msgstr "Een lege of 0 instelling maakt de galerij volle breedte" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:365 +msgid "Pixels" +msgstr "Pixels" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:365 +msgid "Percent" +msgstr "Procent" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:374 +msgid "First Image" +msgstr "Eerste afbeelding" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:375 +msgid "Average" +msgstr "Gemiddeld" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:100 +msgid "Clear" +msgstr "Verwijderen" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:101 +msgid "Default" +msgstr "Standaard" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:102 +msgid "Select Color" +msgstr "Kleur Selecteren" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:103 +msgid "Current Color" +msgstr "Huidige Kleur" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:174 +msgid "Saved successfully" +msgstr "Succesvol opgeslagen" + +#: products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_radio.php:16 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_radio.php:16 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:122 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:24 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:40 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:65 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:191 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php:37 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:407 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:454 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:457 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:460 +msgid "Yes" +msgstr "Ja" + +#: products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_radio.php:24 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_radio.php:24 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:123 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:23 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:47 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:72 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:198 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php:44 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:409 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:455 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:458 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:461 +msgid "No" +msgstr "Nee" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:25 +msgid "Display galleries as" +msgstr "Galerijen weergeven als" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:26 +msgid "How would you like galleries to be displayed?" +msgstr "Hoe wilt u galerijen tonen?" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:28 +msgid "Galleries per page" +msgstr "Galerijen per pagina" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:47 +msgid "Items per page" +msgstr "Onderdelen per pagina" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:48 +msgid "Maximum number of galleries or sub-albums to appear on a single page" +msgstr "" +"Maximum aantal weer te geven galerijen of subalbums op een enkele pagina" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/templates/compact.php:28 +#: products/photocrati_nextgen/modules/nextgen_basic_album/templates/extended.php:15 +#: products/photocrati_nextgen/modules/ngglegacy/view/album-compact.php:45 +#: products/photocrati_nextgen/modules/ngglegacy/view/album-extend.php:31 +msgid "Photos" +msgstr "Foto's" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_mapper.php:94 +msgid "[Show PicLens]" +msgstr "[PicLens Tonen]" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:63 +msgid "Interval" +msgstr "Interval" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:67 +msgid "# of seconds" +msgstr "# seconden" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:77 +msgid "Image limit" +msgstr "Afbeeldingslimiet" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:79 +msgid "Maximum number of images to display with recent or random sources" +msgstr "" +"Maximum aantal weer te geven afbeeldingen met recente of willekeurige bronnen" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:81 +msgid "# of images" +msgstr "# afbeeldingen" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:112 +msgid "Maximum dimensions" +msgstr "Maximale afmetingen" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:113 +msgid "" +"Certain themes may allow images to flow over their container if this setting " +"is too large" +msgstr "" +"Sommige thema's staan toe dat afbeeldingen over hun container heen gaan als " +"deze instelling te groot is" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:123 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:765 +msgid "Enable flash slideshow" +msgstr "Flash diavoorstelling inschakelen" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:125 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:767 +msgid "Integrate the flash based slideshow for all flash supported devices" +msgstr "" +"Flash gebaseerde diavoorstelling integreren voor alle apparaten die flash " +"ondersteunen" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:134 +msgid "Shuffle" +msgstr "Shuffle" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:146 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:782 +msgid "Show next image on click" +msgstr "Volgende afbeelding tonen bij klik" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:158 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:786 +msgid "Show navigation bar" +msgstr "Navigatiebalk tonen" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:170 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:790 +msgid "Show loading icon" +msgstr "Laden pictogram tonen" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:182 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:794 +msgid "Use watermark logo" +msgstr "Watermerk logo gebruiken" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:184 +msgid "" +"Use the watermark image in the Flash object. Note: this does not watermark " +"the image itself, and cannot be applied with text watermarks" +msgstr "" +"Gebruik de watermerkafbeelding in het Flash object. Merk op: dit watermerkt " +"niet de afbeelding zelf en kan niet toegpast worden met tekstwatermerken" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:194 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:799 +msgid "Stretch image" +msgstr "Afbeelding uitrekken" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:231 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:827 +msgid "Use slow zooming effect" +msgstr "Langzaam zoomeffect gebruiken" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:243 +msgid "Background music (url)" +msgstr "Achtergrond muziek (url)" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:256 +msgid "Try XHTML validation" +msgstr "XHTML validatie proberen" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:268 +msgid "Background" +msgstr "Achtergrond" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:280 +msgid "Texts / buttons" +msgstr "Tekst / knoppen" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:292 +msgid "Rollover / active" +msgstr "Rollover / actief" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:304 +msgid "Screen" +msgstr "Scherm" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:322 +msgid "Show thumbnail link" +msgstr "Miniatuur link tonen" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:338 +msgid "Thumbnail link text" +msgstr "Miniatuur link tekst" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:65 +msgid "Images per page" +msgstr "Afbeeldingen per pagina" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:67 +msgid "0 will display all images at once" +msgstr "0 toont alle afbeeldingen tegelijk" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:85 +msgid "Number of columns to display" +msgstr "Aantal weer te geven kolommen " + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:89 +msgid "# of columns" +msgstr "# kolommen" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:105 +msgid "Piclens link text" +msgstr "Piclens link tekst" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:123 +msgid "Show piclens link" +msgstr "Piclens link tonen" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:139 +msgid "Add Hidden Images" +msgstr "Verborgen Afbeeldingen Toevoegen" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:141 +msgid "" +"If pagination is used this option will show all images in the modal window " +"(Thickbox, Lightbox etc.) This increases page load." +msgstr "" +"Deze optie toont alle afbeeldingen in het modale venster (Thickbox, " +"Lightbox, etc.) als paginering gebruikt wordt. Dit verhoogt de pagina load." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:150 +msgid "Use imagebrowser effect" +msgstr "Afbeeldingverkenner effect gebruiken" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:152 +msgid "" +"When active each image in the gallery will link to an imagebrowser display " +"and lightbox effects will not be applied." +msgstr "" +"Wanneer actief zal elke afbeelding in de galerij linken naar een " +"afbeeldingverkenner scherm en zullen lightbox effecten niet toegepast worden." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:169 +msgid "Browse images without reloading the page." +msgstr "Door afbeeldingen bladeren zonder pagina te herladen." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:184 +msgid "Show slideshow link" +msgstr "Diavoorstelling link tonen" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:200 +msgid "Slideshow link text" +msgstr "Diavoorstelling link tekst" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/index.php:35 +msgid "" +"Slideshows require the Flash Player and a browser with Javascript support." +msgstr "" +"Diavoorstellingen benodigen de  Flash Player en een browser met ondersteuning voor Javascript." + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/nextgen_basic_slideshow_settings_gallery_dimensions.php:13 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:38 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_dimensions.php:13 +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:52 +msgid "Width" +msgstr "Breedte" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/nextgen_basic_slideshow_settings_gallery_dimensions.php:21 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:40 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_dimensions.php:20 +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:40 +msgid "Height" +msgstr "Hoogte" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:41 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:26 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:30 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:26 +msgid "Back" +msgstr "Vorige" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:49 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:29 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:33 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:29 +msgid "Next" +msgstr "Volgende" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:90 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:220 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:31 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:35 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:31 +msgid "Picture" +msgstr "Afbeelding" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:31 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:35 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:31 +msgid "of" +msgstr "van" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:53 +msgid "Link" +msgstr "Link" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:78 +msgid "Display watermark" +msgstr "Watermerk tonen" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:88 +msgid "Display reflection" +msgstr "Reflectie tonen" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:98 +msgid "Crop thumbnail" +msgstr "Miniatuur bijsnijden" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:108 +msgid "Float" +msgstr "Drijvend" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:24 +msgid "Maximum number of tags" +msgstr "Maximaal aantal tags" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:47 +msgid "Display type" +msgstr "Weergave type" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:50 +msgid "The display type that the tagcloud will point its results to" +msgstr "Het weergave type dat gebruikt wordt voor tagcloud resultaten " + +#: products/photocrati_nextgen/modules/nextgen_basic_templates/adapter.nextgen_basic_template_form.php:46 +msgid "Template" +msgstr "Sjabloon" + +#: products/photocrati_nextgen/modules/nextgen_basic_templates/adapter.nextgen_basic_template_form.php:47 +msgid "Use a legacy template when rendering (not recommended)." +msgstr "Gebruik een oud sjabloon tijdens rendering (niet aanbevolen)." + +#: products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php:580 +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:658 +#: products/photocrati_nextgen/modules/ngglegacy/lib/multisite.php:23 +msgid "" +"Sorry, you have used your space allocation. Please delete some files to " +"upload more files." +msgstr "" +"Sorry,u heeft alle toegewezen ruimte gebruikt. Verwijder alstublieft een " +"paar bestanden om meer bestanden te kunnen uploaden." + +#: products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php:1002 +msgid "Could not calculate resized image dimensions" +msgstr "Kon afmetingen van vergrote afbeelding niet berekenen" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:154 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:135 +msgid " mm" +msgstr " mm" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:163 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:141 +msgid " sec" +msgstr " sec" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:168 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:145 +msgid "Fired" +msgstr "Afgevuurd" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:168 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:145 +msgid "Not fired" +msgstr "Niet afgevuurd" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:539 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:452 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:46 +msgid "Aperture" +msgstr "Diafragma" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:540 +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:565 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:453 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:478 +msgid "Credit" +msgstr "Auteur" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:541 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:454 +msgid "Camera" +msgstr "Camera" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:542 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:455 +msgid "Caption" +msgstr "Onderschrift" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:543 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:26 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:114 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:456 +msgid "Date/Time" +msgstr "Datum/Tijd" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:544 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:457 +msgid "Copyright" +msgstr "Copyright" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:545 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:458 +msgid "Focal length" +msgstr "Brandpuntsafstand" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:546 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:459 +msgid "ISO" +msgstr "ISO" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:547 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:460 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:54 +msgid "Shutter speed" +msgstr "Sluitertijd" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:548 +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:4 +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:3 +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:3 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:678 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:461 +msgid "Title" +msgstr "Titel" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:549 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:459 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:410 +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:132 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:462 +msgid "Author" +msgstr "Auteur" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:550 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:51 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:176 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:389 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:463 +msgid "Tags" +msgstr "Tags" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:551 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:464 +msgid "Subject" +msgstr "Onderwerp" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:552 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:465 +msgid "Make" +msgstr "Merk" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:553 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:466 +msgid "Edit Status" +msgstr "Status Bewerken" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:554 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:467 +msgid "Category" +msgstr "Categorie" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:555 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:468 +msgid "Keywords" +msgstr "Sleutelwoorden" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:556 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:469 +msgid "Date Created" +msgstr "Datum Aangemaakt" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:557 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:470 +msgid "Time Created" +msgstr "Tijd Aangemaakt" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:558 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:471 +msgid "Author Position" +msgstr "Postie Auteur" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:559 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:472 +msgid "City" +msgstr "Plaats" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:560 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:473 +msgid "Location" +msgstr "Locatie" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:561 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:474 +msgid "Province/State" +msgstr "Provicie/Staat" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:562 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:475 +msgid "Country code" +msgstr "Landcode" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:563 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:476 +msgid "Country" +msgstr "Land" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:564 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:477 +msgid "Headline" +msgstr "Kop" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:566 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:479 +msgid "Source" +msgstr "Bron" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:567 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:480 +msgid "Copyright Notice" +msgstr "Copyright Bericht" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:568 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:481 +msgid "Contact" +msgstr "Contact" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:569 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:482 +msgid "Last modified" +msgstr "Gewijzigd op" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:570 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:483 +msgid "Program tool" +msgstr "Programma" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:571 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:484 +msgid "Format" +msgstr "Formaat" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:572 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:485 +msgid "Image Width" +msgstr "Breedte Afbeelding" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:573 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:486 +msgid "Image Height" +msgstr "Hoogte Afbeelding" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:574 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:487 +msgid "Flash" +msgstr "Flash" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:647 +#, php-format +msgid "Unable to create directory %s." +msgstr "Kan map %s niet aanmaken." + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:652 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:823 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1021 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1106 +#, php-format +msgid "" +"Unable to write to directory %s. Is this directory writable by the server?" +msgstr "" +"Kan niet naar map %s schrijven. Is deze map schrijfbaar voor de server?" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:681 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1146 +#, php-format +msgid "Failed to copy database row for picture %s" +msgstr "Kopiëren van database rij mislukt voor afbeelding %s" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:693 +#, php-format +msgid "Failed to get image path for %s" +msgstr "Ophalen van afbeeldingspad mislukt voor %s" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:711 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1132 +#, php-format +msgid "Failed to copy image %1$s to %2$s" +msgstr "Kopiëren van afbeelding %1$s naar %2$s mislukt" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:715 +#, php-format +msgid "Copied image %1$s to %2$s" +msgstr "Afbeelding %1$s naar %2$s gekopieerd" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:723 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1158 +#, php-format +msgid "" +"Image %1$s (%2$s) copied as image %3$s (%4$s) » The file already " +"existed in the destination gallery." +msgstr "" +"Afbeelding %1$s (%2$s) gekopieerd als afbeelding %3$s (%4$s) » Het " +"bestand bestond al in de doelgalerij." + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:727 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1161 +#, php-format +msgid "Image %1$s (%2$s) copied as image %3$s (%4$s)" +msgstr "Afbeelding %1$s (%2$s) gekopieerd als afbeelding %3$s (%4$s)" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:740 +#, php-format +msgid "Copied %1$s picture(s) to gallery %2$s ." +msgstr "%1$s afbeelding(en) gekopieerd naar galerij %2$s ." + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:767 +msgid "Could not find image" +msgstr "Kon afbeelding niet vinden" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:772 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:388 +msgid " is not writeable" +msgstr "is niet schrijfbaar" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:777 +msgid "Backup file does not exist" +msgstr "Backupbestand bestaat niet" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:782 +msgid "Could not restore original image" +msgstr "Kon oorspronkelijke afbeelding niet herstellen" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.display_settings_controller.php:17 +#: products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:242 +#: products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:328 +msgid "Gallery Settings" +msgstr "Galerij Instellingen" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery.php:73 +msgid "Source not compatible with selected display type" +msgstr "Bron niet compatibel met geselecteerde weergave type" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:327 +msgid "NextGEN Gallery & Album Settings" +msgstr "NextGEN Galery & Album Instellingen" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/templates/alt_view_link_text.php:15 +#: products/photocrati_nextgen/modules/nextgen_gallery_display/templates/return_link_text.php:15 +msgid "link text" +msgstr "link tekst" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:12 +msgid "Image Options" +msgstr "Afbeelding Opties" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:22 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:588 +#: products/photocrati_nextgen/modules/ngglegacy/admin/thumbnails-template.php:76 +msgid "Custom" +msgstr "Aangepast" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:23 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:111 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:549 +msgid "Image ID" +msgstr "Afbeelding ID" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:24 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:570 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:112 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:166 +msgid "Filename" +msgstr "Bestandsnaam" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:25 +msgid "Alt/Title Text" +msgstr "Alt/Titel Tekst" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:38 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:115 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:557 +msgid "Ascending" +msgstr "Oplopend" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:39 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:116 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:558 +msgid "Descending" +msgstr "Aflopend" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:50 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:388 +msgid "Categories" +msgstr "Categorieën" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:81 +msgid "Gallery path does not exist and could not be created" +msgstr "Galerijpad bestaat niet en kon niet worden aangemaakt" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:86 +msgid "Where would you like galleries stored?" +msgstr "Waar wilt u galerijen opslaan?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:87 +msgid "Where galleries and their images are stored" +msgstr "Waar galerijen en hun afbeeldingen worden opgeslagen" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:89 +msgid "Delete Image Files?" +msgstr "Afbeeldingsbestanden verwijderen?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:90 +msgid "" +"When enabled, image files will be removed after a Gallery has been deleted" +msgstr "" +"Wanneer geactiveerd zullen afbeeldingsbestanden worden verwijderd nadat een " +"Galerij verwijderd is" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:92 +msgid "Show Related Images on Posts?" +msgstr "Gerelateerde Afbeeldingen tonen in Berichten?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:93 +msgid "" +"When enabled, related images will be appended to each post by matching the " +"posts tags/categories to image tags" +msgstr "" +"Wanneer geactiveerd zullen gerelateerde afbeeldingen toegevoegd worden aan " +"ieder bericht door de berichten tags/categorieën en afbeeldingstags " +"overeenkomen" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:95 +msgid "(Show Customization Settings)" +msgstr "(Aanpassingsinstellingen Tonen)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:96 +msgid "(Hide Customization Settings)" +msgstr "(Aanpassingsinstellingen Verbergen)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:97 +msgid "How should related images be match?" +msgstr "Hoe moeten gerelateerde afbeeldingen overeenkomen?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:100 +msgid "Maximum # of related images to display" +msgstr "Maximaal # gerelateerde afbeeldingen tonen" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:102 +msgid "Heading for related images" +msgstr "Kop voor gerelateerde afbeeldingen" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:104 +msgid "What's the default sorting method?" +msgstr "Wat is de standaard sorteermethode?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:107 +msgid "Sort in what direction?" +msgstr "In welke richting sorteren?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:110 +msgid "Automatically resize images after upload" +msgstr "Afbeeldingen automatisch verkleinen na uploaden" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:111 +msgid "It is recommended that your images be resized to be web friendly" +msgstr "" +"Om web vriendelijk te zijn is het aanbevolen dat het formaat van uw " +"afbeeldingen gewijzigd wordt" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:113 +msgid "What should images be resized to?" +msgstr "Naar welke afmetingen moeten afbeeldingen verkleind worden?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:114 +msgid "" +"After images are uploaded, they will be resized to the above dimensions and " +"quality" +msgstr "" +"Nadat afbeeldingen zijn geupload zullen ze tot de bovenstaande afmetingen en " +"kwaliteit verkleind worden." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:115 +msgid "Width:" +msgstr "Breedte:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:116 +msgid "Height:" +msgstr "Hoogte:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:117 +msgid "Quality:" +msgstr "Kwaliteit:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:121 +msgid "Backup the original images?" +msgstr "Backup-up maken van originele afbeeldingen?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.lightbox_manager_form.php:12 +msgid "Lightbox Effects" +msgstr "Lightbox Effecten" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.lightbox_manager_form.php:38 +msgid "What effect would you like to use?" +msgstr "Welk effect wilt u gebruiken?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:12 +msgid "Miscellaneous" +msgstr "Overige" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:21 +msgid "Add MediaRSS link?" +msgstr "MediaRSS link toevoegen?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:22 +msgid "" +"When enabled, adds a MediaRSS link to your header. Third-party web services " +"can use this to publish your galleries" +msgstr "" +"Wanneer ingeschakeld wordt een MediaRSS aan uw header toegevoegd. Externe " +"web services kunnen dit gebruiken om uw galerijen te publiceren" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:26 +msgid "Clear image cache" +msgstr "Afbeeldingscache legen" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:27 +msgid "" +"Completely clear the NextGEN cache of all image modifications?\n" +"\n" +"Choose [Cancel] to Stop, [OK] to proceed." +msgstr "" +"De NextGEN cache volledig van alle afbeeldingsmodificaties ontdoen?\n" +"\n" +"Kies [Annuleren] om te Stoppen, [OK] om door te gaan." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:32 +msgid "Permalink slug" +msgstr "Permalink slug" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:39 +msgid "Maximum image count" +msgstr "Maximaal aantal afbeeldigen" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:41 +msgid "" +"This is the maximum limit of images that NextGEN will restrict itself to " +"querying" +msgstr "Dit is het maximale aantal afbeeldingen dat NextGEN zal opvragen" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.other_options_controller.php:22 +#: products/photocrati_nextgen/modules/nextgen_other_options/module.nextgen_other_options.php:39 +msgid "Other Options" +msgstr "Overige Opties" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:7 +msgid "Reset Options" +msgstr "Opties Herstellen" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:15 +msgid "Reset all options to default settings" +msgstr "Standaard instellingen voor alle opties herstellen" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:16 +msgid "" +"Replace all existing options and gallery options with their default settings" +msgstr "" +"Alle bestaande opties en galerij opties vervangen door hun standaard " +"instellingen" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:17 +msgid "Reset settings" +msgstr "Instellingen herstellen" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:18 +msgid "" +"Reset all options to default settings?\n" +"\n" +"Choose [Cancel] to Stop, [OK] to proceed." +msgstr "" +"Alle opties naar standaard instellingen herstellen?\n" +"\n" +"Kies [Annuleren] om te Stoppen, [OK] om door te gaan." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.roles_form.php:7 +msgid "Roles & Capabilities" +msgstr "Rollen & Mogelijkheden" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:12 +msgid "Styles" +msgstr "Stijlen" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:18 +msgid "What stylesheet would you like to use?" +msgstr "Welke stylesheet wilt u gebruiken?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:21 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:136 +msgid "(Show Customization Options)" +msgstr "(Aanpassingsinstellingen Tonen)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:22 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:137 +msgid "(Hide Customization Options)" +msgstr "(Aanpassingsinstellingen Verbergen)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:23 +msgid "File Content:" +msgstr "Bestandsinhoud:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:24 +msgid "Changes you make to the contents will be saved to" +msgstr "Aanpassingen die u in de inhoud maakt zullen opgeslagen worden in" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:25 +msgid "You could edit this file if it were writable" +msgstr "U zou dit bestand kunnen bewerken als het schrijfbaar was" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:12 +msgid "Thumbnail Options" +msgstr "Miniatuur Opties" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:20 +msgid "Default thumbnail dimensions:" +msgstr "Standaard miniatuur afmetingen:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:21 +msgid "When generating thumbnails, what image dimensions do you desire?" +msgstr "" +"Welke afmetingen moeten de miniaturen krijgen als ze gegenereerd worden?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:24 +msgid "Set fix dimension?" +msgstr "Vaste grootte instellen?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:25 +msgid "Ignore the aspect ratio, no portrait thumbnails?" +msgstr "Negeer de hoogte-breedteverhouding, geen staande miniaturen?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:27 +msgid "Adjust Thumbnail Quality?" +msgstr "Miniatuur Kwaliteit Aanpassen?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:28 +msgid "When generating thumbnails, what image quality do you desire?" +msgstr "Welke kwaliteit moeten de miniaturen krijgen als ze gegenreerd worden?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:30 +msgid "Size List" +msgstr "Grootte Lijst" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:31 +msgid "List of default sizes used for thumbnails and images" +msgstr "" +"Lijst van standaard groottes die gebruikt worden voor miniaturen en " +"afbeeldingen" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:12 +msgid "Watermarks" +msgstr "Watermerken" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:41 +msgid "Using an Image" +msgstr "Afbeelding Gebruiken" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:42 +msgid "Using Text" +msgstr "Tekst Gebruiken" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:69 +msgid "An absolute or relative (to the site document root) file system path" +msgstr "" +"Een absoluut of relatief (ten opzichte van de site document root) " +"bestandsysteem pad" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:71 +msgid "" +"An absolute or relative (to the site document root) file system path or an " +"HTTP url" +msgstr "" +"Een absoluut of relatief (ten opzichte van de site document root) " +"bestandsysteem pad of een HTTP url" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:74 +msgid "Image URL:" +msgstr "Afbeelding URL:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:90 +msgid "Font Family:" +msgstr "Lettertype Familie:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:92 +msgid "Font Size:" +msgstr "Lettertype Grootte:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:94 +msgid "Font Color:" +msgstr "Lettertype Kleur:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:97 +msgid "Text:" +msgstr "Tekst:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:99 +msgid "Opacity:" +msgstr "Transparantie:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:126 +msgid "" +"Please note: You can only activate the watermark under Manage Gallery. This " +"action cannot be undone." +msgstr "" +"Merk op: U kunt het watermerk alleen activeren onder Galerij Beheren. Deze " +"actie kan niet ongedaan worden gemaakt." + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:127 +msgid "How will you generate a watermark?" +msgstr "Hoe wilt u een watermerk aanmaken?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:131 +msgid "Position:" +msgstr "Postie:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:133 +msgid "Offset:" +msgstr "Compensatie:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:139 +msgid "Preview of saved settings:" +msgstr "Voorbeeld van opgeslagen instellingen:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:140 +msgid "Refresh preview image" +msgstr "Voorbeeld afbeelding vernieuwen" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:34 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:37 +msgid "(Show Advanced Settings)" +msgstr "(Geavanceerde Instellingen Tonen)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:35 +msgid "(Hide Advanced Settings)" +msgstr "(Geavanceerde Instellingen Verbergen)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:56 +msgid "What must the lightbox be applied to?" +msgstr "Waar moet de lightbox op toegepast worden?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:60 +msgid "Only apply to NextGEN images" +msgstr "Alleen op NextGEN afbeeldingen toepassen" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:61 +msgid "Only apply to NextGEN and WordPress images" +msgstr "Alleen op NextGEN en WordPress afbeeldingen toepassen" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:62 +msgid "Try to apply to all images" +msgstr "Probeer op alle afbeeldingen toe te passen" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:63 +msgid "Try to apply to all images that link to image files" +msgstr "" +"Probeer op alle afbeeldingen die naar afbeeldingsbestanden linken toe te " +"passen" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php:21 +msgid "Place any custom stylesheets in wp-content/ngg_styles" +msgstr "Plaats eigen stylesheets in wp-content/ngg_styles" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php:24 +#, php-format +msgid "All stylesheets must contain a file header" +msgstr "" +"Alle stylesheets moeten een bestand header " +"bevatten" + +#: products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:41 +msgid "Related Images" +msgstr "Gerelateerde Afbeeldingen" + +#: products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:61 +msgid "[Show slideshow]" +msgstr "[Diavoorstelling tonen]" + +#: products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:62 +msgid "[Show thumbnails]" +msgstr "[Miniaturen Tonen]" + +#: products/photocrati_nextgen/modules/nextgen_xmlrpc/module.nextgen_xmlrpc.php:425 +msgid "Sorry, you must be able to manage galleries" +msgstr "Sorry, u moet in staat zijn galerijen te beheren" + +#: products/photocrati_nextgen/modules/widget/class.widget_gallery.php:7 +msgid "Add recent or random images from the galleries" +msgstr "Recente of random afbeeldingen van de galerijen toevoegen" + +#: products/photocrati_nextgen/modules/widget/class.widget_gallery.php:8 +msgid "NextGEN Widget" +msgstr "NextGEN Widget" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:9 +msgid "Widget that displays Media RSS links for NextGEN Gallery." +msgstr "Widget dat Media RSS links voor NextGEN Gallery toont." + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:10 +msgid "NextGEN Media RSS" +msgstr "NextGEN Media RSS" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:22 +msgid "Media RSS" +msgstr "Media RSS" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:23 +msgid "Link to the main image feed" +msgstr "Link naar hoofd afbeeldingsfeed" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:93 +#: products/photocrati_nextgen/modules/ngglegacy/view/gallery-caption.php:32 +#: products/photocrati_nextgen/modules/ngglegacy/view/gallery.php:32 +msgid "[View with PicLens]" +msgstr "[Met PicLens Tonen]" + +#: products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:7 +msgid "Show a NextGEN Gallery Slideshow" +msgstr "Een NextGEN Gallery Diavoorstelling tonen" + +#: products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:8 +msgid "NextGEN Slideshow" +msgstr "NextGEN Diavoorstelling" + +#: products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:76 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:321 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:521 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:721 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:215 +msgid "Slideshow" +msgstr "Diavoorstelling" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:15 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:229 +msgid "Show" +msgstr "Tonen" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:26 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:316 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:520 +msgid "Thumbnails" +msgstr "Miniaturen" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:29 +msgid "Original images" +msgstr "Originele afbeeldingen" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:42 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:822 +msgid "random" +msgstr "willekeurig" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:50 +msgid "recently added" +msgstr "recent toegevoegd" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:62 +msgid "Enable IE8 Web Slices" +msgstr "IE8 Web Slices activeren" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:68 +msgid "Width x Height" +msgstr "Breedte x Hoogte" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:87 +msgid "Select" +msgstr "Selecteren" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:92 +msgid "All galleries" +msgstr "Alle galerijen" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:95 +msgid "Only which are not listed" +msgstr "Alleen die niet opgesomd zijn" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:98 +msgid "Only which are listed" +msgstr "Alleen die opgesomd zijn" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:107 +msgid "Gallery ID" +msgstr "Gallery ID" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:114 +msgid "Gallery IDs, separated by commas." +msgstr "Galerij IDs, door komma's gescheiden." + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:19 +msgid "Show Media RSS icon" +msgstr "Media RSS pictogram tonen" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:30 +msgid "Show the Media RSS link" +msgstr "Media RSS link tonen" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:36 +msgid "Text for Media RSS link" +msgstr "Media RSS tekst" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:47 +msgid "Tooltip text for Media RSS link" +msgstr "Tooltip tekst voor Media RSS link" + +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:15 +msgid "Select Gallery" +msgstr "Selecteer Galerij" + +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:23 +msgid "All images" +msgstr "Alle afbeeldingen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:159 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:190 +msgid "Overview" +msgstr "Overzicht" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:172 +msgid "Network settings" +msgstr "Netwerk instellingen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:305 +msgid "You do not have the correct permission" +msgstr "U heeft niet de juiste permissie" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:306 +msgid "Unexpected Error" +msgstr "Onverwachte Fout" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:307 +msgid "A failure occurred" +msgstr "Er is een fout opgetreden" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:311 +msgid "You have attempted to queue too many files." +msgstr "U heeft te veel bestanden in de wachtrij proberen te plaatsen." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:312 +msgid "This file exceeds the maximum upload size for this site." +msgstr "Dit bestand overschreidt de maximale grootte voor deze site." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:313 +msgid "This file is empty. Please try another." +msgstr "Dit bestand is leeg. Probeer een ander alstublieft." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:314 +msgid "This file type is not allowed. Please try another." +msgstr "Dit bestandstype is niet toegestaan. Probeer een ander alstublieft." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:315 +msgid "This file is not an image. Please try another." +msgstr "Dit bestand is geen afbeelding. Probeer een ander alstublieft." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:316 +msgid "Memory exceeded. Please try another smaller file." +msgstr "Geheugen overschreden. Probeer een ander kleiner bestand alstublieft." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:317 +msgid "This is larger than the maximum size. Please try another." +msgstr "Dit is groter dan de maximale grootte. Probeer een ander alstublieft." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:318 +msgid "An error occurred in the upload. Please try again later." +msgstr "Er is een fout in de upload opgetreden. Probeer later opnieuw." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:319 +msgid "" +"There was a configuration error. Please contact the server administrator." +msgstr "" +"Er was een configuratiefout. Neem contact op met de beheerder van de server." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:320 +msgid "You may only upload 1 file." +msgstr "U mag maar 1 bestand uploaden." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:321 +msgid "HTTP error." +msgstr "HTTP fout." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:322 +msgid "Upload failed." +msgstr "Uploaden mislukt." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:323 +msgid "IO error." +msgstr "IO fout." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:324 +msgid "Security error." +msgstr "Beveiligingsfout." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:325 +msgid "File canceled." +msgstr "Bestand geannuleerd." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:326 +msgid "Upload stopped." +msgstr "Uploaden gestopt." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:327 +msgid "Dismiss" +msgstr "Negeren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:328 +msgid "Crunching…" +msgstr "Verwerken…" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:329 +msgid "moved to the trash." +msgstr "naar prullenbak verplaatst" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:330 +#, php-format +msgid "“%s” has failed to upload due to an error" +msgstr "“%s” is door een fout niet geüpload" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:352 +msgid "L O A D I N G" +msgstr "L A D E N" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:353 +msgid "Click to Close" +msgstr "Klik om te Sluiten" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:462 +msgid "" +"Introduction" +msgstr "" +"Introductie" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:465 +msgid "" +"Languages" +msgstr "" +"Talen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:470 +msgid "Get help with NextGEN Gallery" +msgstr "Hulp met NextGEN Gallery verkrijgen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:474 +msgid "More Help & Info" +msgstr "Meer Hulp & Info" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:476 +msgid "" +"Support Forums" +msgstr "" +"Ondersteunings Fora" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:477 +msgid "FAQ" +msgstr "FAQ" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:478 +msgid "Feature request" +msgstr "Feature verzoek" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:479 +msgid "Get your language pack" +msgstr "Verkrijg uw taal pakket" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:480 +msgid "Contribute development" +msgstr "Draag bij aan ontwikkeling" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:481 +msgid "Download latest version" +msgstr "Laatste versie downloaden" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/ajax.php:360 +#, php-format +msgid "Could create image with %s x %s pixel" +msgstr "Kon afbeelding aanmaken van %s x %s pixels" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:172 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:216 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:239 +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:19 +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:22 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:619 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:7 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:10 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:13 +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:17 +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:20 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:10 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:13 +msgid "Cheatin’ uh?" +msgstr "Cheaten’ hè?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:180 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:209 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:253 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:178 +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:24 +msgid "Update Successfully" +msgstr "Update Succesvol" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:227 +msgid "Album deleted" +msgstr "Album verwijderd" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:389 +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:55 +msgid "Edit Album" +msgstr "Album Bewerken" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:410 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:459 +msgid "Select album" +msgstr "Album selecteren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:412 +msgid "No album selected" +msgstr "Geen album geselecteerd" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:423 +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:166 +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:94 +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:112 +msgid "Update" +msgstr "Bijwerken" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:425 +msgid "Edit album" +msgstr "Album bewerken" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:428 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:187 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:362 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:364 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:227 +msgid "Delete" +msgstr "Verwijderen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:432 +msgid "Add new album" +msgstr "Nieuw album toevoegen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:434 +msgid "Add" +msgstr "Toevoegen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:445 +msgid "Show / hide used galleries" +msgstr "Toon / Verberg gebruikte galerijen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:445 +msgid "[Show all]" +msgstr "[Alles tonen]" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:446 +msgid "Maximize the widget content" +msgstr "Widget inhoud maximaliseren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:446 +msgid "[Maximize]" +msgstr "[Maximaliseren]" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:447 +msgid "Minimize the widget content" +msgstr "Widget inhoud minimaliseren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:447 +msgid "[Minimize]" +msgstr "[Minimaliseren]" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:449 +msgid "" +"After you create and select a album, you can drag and drop a gallery or " +"another album into your new album below" +msgstr "" +"Na het aanmaken en selecteren van een album kunt u hieronder een galerij of " +"ander album verslepen naar uw nieuwe album" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:475 +msgid "Select gallery" +msgstr "Selecteer galerij" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:500 +msgid "Album ID" +msgstr "Album ID" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:513 +msgid "No album selected!" +msgstr "Geen album geselecteerd!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:534 +msgid "Album name:" +msgstr "Album naam:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:540 +msgid "Album description:" +msgstr "Album beschrijving:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:546 +msgid "Select a preview image:" +msgstr "Selecteer een voorbeeld afbeelding:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:549 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:552 +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_preview_image_field.php:3 +msgid "No picture" +msgstr "Geen afbeelding" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:563 +msgid "Page Link to" +msgstr "Pagina Link naar" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:582 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:337 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:366 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:397 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:406 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:442 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:471 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:502 +msgid "OK" +msgstr "OK" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:584 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:339 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:368 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:399 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:408 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:444 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:473 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:504 +msgid "Cancel" +msgstr "Annuleren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:677 +msgid "Name" +msgstr "Naam" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:679 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:229 +msgid "Page" +msgstr "Pagina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:116 +msgid "Select with the mouse the area for the new thumbnail" +msgstr "Selecteer het gebied voor de nieuwe miniatuur met de muis" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:130 +msgid "Thumbnail updated" +msgstr "Miniatuur bijgewerkt" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:135 +msgid "Error updating thumbnail" +msgstr "Fout bij bijwerken miniatuur" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:151 +msgid "Select the area for the thumbnail from the picture on the left." +msgstr "Selecteer het gebied voor de miniatuur in de linker afbeelding." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:39 +msgid "No valid gallery name!" +msgstr "Geen geldige galerijnaam!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:46 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:80 +msgid "Directory" +msgstr "Map" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:46 +msgid "didn't exist. Please create first the main gallery folder " +msgstr "bestaat niet. Maak eerst de hoofd galerijmap aan alstublieft." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:47 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:56 +msgid "Check this link, if you didn't know how to set the permission :" +msgstr "Ga naar deze link als u niet weet hoe u de permissie moet instellen :" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:80 +msgid "is not writeable !" +msgstr "is niet schrijfbaar !" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:76 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:85 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:736 +#: products/photocrati_nextgen/modules/ngglegacy/lib/core.php:101 +msgid "Unable to create directory " +msgstr "Kan map niet aanmaken" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:89 +msgid "The server setting Safe-Mode is on !" +msgstr "De server instelling Safe-Mode staat aan !" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:90 +msgid "If you have problems, please create directory" +msgstr "Indien u problemen heeft, maakt u alstublieft een map aan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:91 +msgid "and the thumbnails directory" +msgstr "en de miniaturen map" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:91 +msgid "with permission 777 manually !" +msgstr "met permissie 777 handmatig !" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:116 +#, php-format +msgid "" +"Gallery ID %1$s successfully created. You can show this gallery in your post " +"or page with the shortcode %2$s.
      " +msgstr "" +"Galerij ID %1$s succesvol aangemaakt. U kunt deze galerij nu in uw bericht " +"of pagina tonen met de shortcode %2$s.
      " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:119 +msgid "Edit gallery" +msgstr "Galerij bewerken" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:188 +msgid "Error while creating thumbnail." +msgstr "Fout bij aanmaken miniatuur." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:242 +msgid "Error while resizing image." +msgstr "Fout tijdens verkleinen afbeelding." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:326 +msgid "Error while rotating image." +msgstr "Fout tijdens roteren afbeelding." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:361 +msgid "Error while applying watermark to image." +msgstr "Fout bij toevoegen van watermerk in afbeelding." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:385 +msgid "Object didn't contain correct data" +msgstr "Object bevatte geen geldige data" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:391 +msgid "File do not exists" +msgstr "Bestand bestaat niet" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:395 +msgid "Couldn't restore original image" +msgstr "Kon oorspronkelijke afbeelding niet herstellen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:511 +msgid "(Error : Couldn't not update data base)" +msgstr "(Fout: Kon database niet bijwerken)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:518 +msgid "(Error : Couldn't not update meta data)" +msgstr "(Fout: Kon metadata niet update)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:527 +msgid "(Error : Couldn't not find image)" +msgstr "(Fout : Kon afbeelding niet vinden)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:670 +msgid "No valid URL path " +msgstr "Geen geldig URL pad" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:686 +msgid "Import via cURL failed." +msgstr "Importeren via cURL mislukt." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:703 +msgid "Uploaded file was no or a faulty zip file ! The server recognized : " +msgstr "Geüploade bestand was geen of defect zip file ! De server herkende :" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:720 +msgid "Could not get a valid foldername" +msgstr "Kon geen geldige mapnaam verkrijgen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:731 +#, php-format +msgid "" +"Unable to create directory %s. Is its parent directory writable by the " +"server?" +msgstr "" +"Kon map %s niet aanmaken. Is de bovenliggende map schrijfbaar voor de server?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:746 +msgid "Zip-File successfully unpacked" +msgstr "Zipbestand succesvol uitgepakt" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:777 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:877 +msgid "No gallery selected !" +msgstr "Geen galerij geselecteerd !" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:785 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:902 +msgid "Failure in database, no gallery path set !" +msgstr "Fout in database, geen galerijpad ingesteld !" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:809 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:896 +msgid "is no valid image file!" +msgstr "is geen geldig afbeeldingsbestand!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:830 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:919 +msgid "Error, the file could not be moved to : " +msgstr "Fout, het bestand kon niet worden verplaatst naar :" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:835 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:923 +msgid "Error, the file permissions could not be set" +msgstr "Fout, de bestandspermissies konden niet ingesteld worden" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:853 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:111 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:189 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:238 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:322 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:661 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:740 +msgid "Create new thumbnails" +msgstr "Nieuwe miniaturen aanmaken" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:858 +msgid " Image(s) successfully added" +msgstr "Afbeelding(en) successvol toegevoegd" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:885 +msgid "Invalid upload. Error Code : " +msgstr "Ongeldige upload. Foutcode :" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:961 +#, php-format +msgid "" +"SAFE MODE Restriction in effect! You need to create the folder %s manually" +msgstr "" +"SAFE MODE Restrictie van toepassing! U moet de map %s " +"handmatig aanmaken." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:962 +#, php-format +msgid "" +"When safe_mode is on, PHP checks to see if the owner (%s) of the current " +"script matches the owner (%s) of the file to be operated on by a file " +"function or its directory" +msgstr "" +"Als safe_mode aan staat dan controleert PHP of de eigenaar (%s) van het " +"huidige script met de eigenaar (%s) van het bestand waarop een " +"bestandsfunctie uitgevoerd moet worden of zijn map overeenkomt" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1015 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1092 +msgid "The destination gallery does not exist" +msgstr "De doelgalerij bestaat niet" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1046 +#, php-format +msgid "Failed to move image %1$s to %2$s" +msgstr "Verplaatsen van afbeelding %1$s naar %2$s mislukt" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1066 +#, php-format +msgid "Moved %1$s picture(s) to gallery : %2$s ." +msgstr "%1$s afbeelding(en) verplaatst naar galerij : %2$s ." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1170 +#, php-format +msgid "Copied %1$s picture(s) to gallery: %2$s ." +msgstr "%1$s afbeelding(en) gekopieerd naar galerij: %2$s ." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1278 +msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgstr "" +"Het geüploade bestand overschreidt de upload_max_filesize instructie in php." +"ini" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1281 +msgid "" +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " +"the HTML form" +msgstr "" +"Het geüploade bestand overschreidt de MAX_FILE_SIZE instructie die in het " +"HTML formulier opgegeven was" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1284 +msgid "The uploaded file was only partially uploaded" +msgstr "Het geüploade bestand was maar deels geüpload" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1287 +msgid "No file was uploaded" +msgstr "Geen bestand geüpload" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1290 +msgid "Missing a temporary folder" +msgstr "Tijdelijke map mist" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1293 +msgid "Failed to write file to disk" +msgstr "Schrijven van bestand naar schrijf mislukt" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1296 +msgid "File upload stopped by extension" +msgstr "Uploaden van bestand door extensie gestopt" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1299 +msgid "Unknown upload error" +msgstr "Onbekende upload fout" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/install.php:20 +msgid "Sorry, NextGEN Gallery works only with a role called administrator" +msgstr "Sorry, NextGEN Gallery werkt alleen met de administrator rol" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/install.php:92 +msgid "" +"NextGEN Gallery : Tables could not created, please check your database " +"settings" +msgstr "" +"NextGEN Gallery : Tabellen konden niet worden aangemaakt, controleer " +"alstublieft uw database instellingen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:99 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:206 +msgid "No images selected" +msgstr "Geen afbeeldingen geselecteerd" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:107 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:190 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:234 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:323 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:642 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:724 +msgid "Resize images" +msgstr "Afbeeldingen verkleinen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:116 +#, php-format +msgid "" +"You are about to start the bulk edit for %s galleries \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" +"U staat op het punt te starten met bulkbewerking voor %s galerijen \n" +" \n" +" 'Annuleren' om te stoppen, 'OK' om door te gaan." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:154 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:197 +msgid "Add new gallery" +msgstr "Nieuwe galerij toevoegen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:171 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:174 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:272 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:275 +msgid "Search Images" +msgstr "Afbeeldingen zoeken" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:186 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:320 +msgid "Bulk actions" +msgstr "Bulkacties" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:188 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:321 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:572 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:687 +msgid "Set watermark" +msgstr "Watermerk instellen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:191 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:326 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:577 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:708 +msgid "Import metadata" +msgstr "Metadata importeren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:192 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:324 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:567 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:684 +msgid "Recover from backup" +msgstr "Van back-up herstellen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:194 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:335 +msgid "Apply" +msgstr "Toepassen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:262 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:253 +msgid "Edit" +msgstr "Bewerken" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:309 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:379 +msgid "No entries found" +msgstr "Geen entries gevonden" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:327 +msgid "New Gallery" +msgstr "Nieuwe galerij maken" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:329 +msgid "Create a new , empty gallery below the folder" +msgstr "Een nieuwe, lege galerij aanmaken onder de map" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:331 +msgid "Allowed characters for file and folder names are" +msgstr "Toegestane tekens voor bestands- en mapnamen zijn" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:357 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:462 +msgid "Resize Images to" +msgstr "Afbeeldingen verkleinen tot" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:361 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:466 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:453 +msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size" +msgstr "Breedte x hoogte (in pixel). NextGen Gallery behoudt de verhouding" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:385 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:490 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:40 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:416 +msgid "Width x height (in pixel)" +msgstr "Breedte x hoogte (in pixel)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:391 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:496 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:426 +msgid "Set fix dimension" +msgstr "Vaste grootte instellen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:393 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:498 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:428 +msgid "Ignore the aspect ratio, no portrait thumbnails" +msgstr "Negeer de hoogte-breedteverhouding, geen staande miniaturen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:456 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:568 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:156 +msgid "ID" +msgstr "ID" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:458 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:571 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:245 +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:134 +msgid "Description" +msgstr "Beschrijving" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:460 +msgid "Page ID" +msgstr "Pagina ID" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:35 +msgid "Gallery not found." +msgstr "Galerij niet gevonden." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:41 +msgid "Sorry, you have no access here" +msgstr "Sorry, u heeft hier geen toegang toe" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:214 +msgid "Copy image to..." +msgstr "Afbeelding kopiëren naar..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:218 +msgid "Move image to..." +msgstr "Afbeelding verplaatsen naar..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:222 +msgid "Add new tags" +msgstr "Nieuwe tags toevoegen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:226 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:332 +msgid "Delete tags" +msgstr "Tags verwijderen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:230 +msgid "Overwrite" +msgstr "Overschrijven" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:243 +#, php-format +msgid "" +"You are about to start the bulk edit for %s images \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" +"U staat op het punt te starten met bulkbewerking voor %s afbeeldingen \n" +" \n" +" 'Annuleren' om te stoppen, 'OK' om door te gaan." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:269 +#, php-format +msgid "Search results for “%s”" +msgstr "Zoekresultaten voor “%s”" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:298 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:488 +msgid "Gallery settings" +msgstr "Galerij instellingen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:298 +msgid "Click here for more settings" +msgstr "Klik hier voor meer instellingen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:304 +msgid "Scan Folder for new images" +msgstr "Scan Map voor nieuwe afbeeldingen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:306 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:341 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:386 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:400 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:436 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:478 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:563 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:598 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:708 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:861 +msgid "Save Changes" +msgstr "Aanpassingen Opslaan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:325 +msgid "Delete images" +msgstr "Afbeeldingen verwijderen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:327 +msgid "Rotate images clockwise" +msgstr "Afbeeldingen rechtsom roteren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:328 +msgid "Rotate images counter-clockwise" +msgstr "Afbeeldingen linksom roteren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:329 +msgid "Copy to..." +msgstr "Kopiëren naar..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:330 +msgid "Move to..." +msgstr "Verplaatsen naar..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:331 +msgid "Add tags" +msgstr "Tags toevoegen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:333 +msgid "Overwrite tags" +msgstr "Tags overschrijven" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:338 +msgid "Sort gallery" +msgstr "Galerij sorteren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:402 +msgid "Enter the tags" +msgstr "Tags invoeren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:426 +msgid "Select the destination gallery:" +msgstr "Selecteer een doelgalerij:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:569 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:161 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:266 +msgid "Thumbnail" +msgstr "Miniatuur" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:571 +msgid "Alt & Title Text" +msgstr "Alt & Titel Tekst" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:572 +msgid "Tags (comma separated list)" +msgstr "Tags (komma gescheiden lijst)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:35 +msgid "Sort order changed" +msgstr "Sorteervolgorde aangepast" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:97 +msgid "Sort Gallery" +msgstr "Sorteer Galerij" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:101 +msgid "Update Sort Order" +msgstr "Sorteervolgorde Bijwerken" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:104 +msgid "Back to gallery" +msgstr "Terug naar galerij" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:109 +msgid "Presort" +msgstr "Voorsorteren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:110 +msgid "Unsorted" +msgstr "Ongesorteerd" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:113 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:241 +msgid "Alt/Title text" +msgstr "Alt/Titel tekst" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:90 +msgid "deleted successfully" +msgstr "sucessvol verwijderd" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:106 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:115 +msgid "Operation successful. Please clear your browser cache." +msgstr "Bewerking succesvol. Verwijder alstublieft uw browser cache." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:171 +msgid "Alt & Title Text / Description" +msgstr "Alt & Titel Tekst / Beschrijving" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:214 +msgid "Exclude ?" +msgstr "Uitsluiten ?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:299 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:301 +msgid "View" +msgstr "Bekijken" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:309 +msgid "Show meta data" +msgstr "Metadata tonen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:310 +msgid "Meta" +msgstr "Meta" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:318 +msgid "Customize thumbnail" +msgstr "Miniatuur aanpassen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:319 +msgid "Edit thumb" +msgstr "Miniatuur bewerken" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:327 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:328 +msgid "Rotate" +msgstr "Roteren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:338 +msgid "Publish this image" +msgstr "Afbeelding publiceren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:339 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:58 +msgid "Publish" +msgstr "Publiceren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:349 +msgid "Recover image from backup" +msgstr "Herstel afbeelding van back-up" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:350 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:352 +msgid "Recover" +msgstr "Herstellen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:361 +msgid "Delete image" +msgstr "Afbeelding verwijderen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:392 +msgid "Title:" +msgstr "Titel:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:398 +msgid "Description:" +msgstr "Beschrijving:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:404 +msgid "Gallery path:" +msgstr "Galerijpad:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:419 +msgid "Link to page:" +msgstr "Link naar pagina:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:420 +msgid "Albums will link this gallery to the selected page" +msgstr "Albums linken deze galerij aan de geselecteerde pagina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:425 +msgid "Preview image:" +msgstr "Afbeelding bekijken:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:431 +msgid "Create new page:" +msgstr "Nieuwe pagina maken:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:607 +msgid "Gallery deleted successfully " +msgstr "Galerij sucessvol verwijderd" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:678 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:681 +msgid "Rotate images" +msgstr "Afbeeldingen roteren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:704 +msgid "Pictures deleted successfully " +msgstr "Afbeeldingen sucessvol verwijderd" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:802 +msgid "Tags changed" +msgstr "Tags aangepast" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:842 +msgid "Update successful" +msgstr "Update succesvol" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:877 +msgid "New gallery page ID" +msgstr "Nieuwe galerijpagina ID" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:877 +msgid "created" +msgstr "aangemaakt" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:915 +msgid "Published a new post" +msgstr "Nieuw bericht gepubliceerd" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1062 +msgid "Go to the first page" +msgstr "Ga naar de eerste pagina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1069 +msgid "Go to the previous page" +msgstr "Ga naar de vorige pagina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1078 +msgid "Current page" +msgstr "Huidige pagina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1089 +msgid "Go to the next page" +msgstr "Ga naar de volgende pagina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1096 +msgid "Go to the last page" +msgstr "Ga naar de laaste pagina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1046 +#, php-format +msgid "1 item" +msgid_plural "%s items" +msgstr[0] "1 item" +msgstr[1] "%s items" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1046 +#, php-format +msgctxt "paging" +msgid "%1$s of %2$s" +msgstr "%1$s van %2$s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:11 +msgid "NextGEN Gallery" +msgstr "NextGEN Gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:186 +msgid "No gallery" +msgstr "Geen galerij" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:198 +msgid "Select »" +msgstr "Selecteer »" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:230 +msgid "Hide" +msgstr "Verbergen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:235 +msgid "Image ID:" +msgstr "Afbeelding ID:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:249 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:45 +msgid "Alignment" +msgstr "Uitlijning" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:252 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:47 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:583 +msgid "None" +msgstr "Geen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:254 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:49 +msgid "Left" +msgstr "Links" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:256 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:51 +msgid "Center" +msgstr "Midden" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:258 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:53 +msgid "Right" +msgstr "Rechts" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:262 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:690 +msgid "Size" +msgstr "Grootte" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:268 +msgid "Full size" +msgstr "Volledige grootte" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:270 +msgid "Singlepic" +msgstr "Singlepic" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:282 +msgid "Use as featured image" +msgstr "Gebruik als uitgelichte afbeelding" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:284 +msgid "Insert into Post" +msgstr "Aan Bericht Toevoegen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:295 +msgid "Save all changes" +msgstr "Alle aanpassingen opslaan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:14 +msgid "NextGEN Gallery Overview" +msgstr "NextGEN Gallery Overzicht" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:84 +msgid "Welcome to NextGEN Gallery !" +msgstr "Welkom bij NextGEN Gallery !" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:85 +msgid "Do you like this Plugin?" +msgstr "Waardeert u deze Plugin?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:87 +msgid "About" +msgstr "Over" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:90 +msgid "Server Settings" +msgstr "Server Instellingen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97 +msgid "" +"NextGEN Gallery is one of the most popular Wordpress plugins of all time " +"with over 9 million downloads. It is developed and supported by Photocrati " +"Media. We'd like to offer a special thanks to Alex Rabe, who first developed " +"the plugin and maintained it through 2011." +msgstr "" +"NextGEN Gallery is een van de meest populaire WordPress plugins ooit met " +"meer dan 9 miljoen downloads. Deze plugin is ontwikkeld en wordt ondersteund " +"door Photocrati Media. We willen speciaal Alex Rabe bedanken, die deze " +"plugin schreef en tot 2011 heeft onderhouden." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:98 +msgid "" +"NEED HELP? If you need help or assistance please visit the " +"NextGEN " +"Gallery forums on WordPress.org. Please note that we actively monitor " +"and participate in the forums, but given that NextGEN Gallery is a free " +"product, we don't guarantee replies to support queries." +msgstr "" +"HULP NODIG? Als u hulp of ondersteuning nodig heeft bezoek " +"dan alstublieft de NextGEN Gallery fora op WordPress.org. Merk op dat we de fora " +"actief bijhouden en vragen beantwoorden, maar gegeven dat NextGEN Gallery " +"een gratis produkt is, kunnen we geen antwoord garanderen op vragen om " +"ondersteuning." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:99 +msgid "" +"EXTENDING NEXTGEN? There are many third party plugins that " +"add displays and functionality for NextGEN Gallery. See our Complete List of " +"NextGEN Extension Plugins." +msgstr "" +"NEXTGEN UITBREIDEN? Er zijn veel externe plugins " +"verkrijgbaar die andere weergaves en functionaliteit toevoegen aan NextGEN " +"Gallery. Zie Complete Lijst met NextGEN Plugins." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:107 +#, php-format +msgid "" +"This plugin is primarily developed, maintained, supported and documented by " +"Photocrati Media with a lot of love & " +"effort. Any kind of contribution would be highly appreciated. Thanks!" +msgstr "" +"Deze plugin werd met veel liefde & energie ontwikkeld, onderhouden, " +"ondersteund en gedocumenteerd door Photocrati Media. Iedere bijdrage is welkom. Dank u!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:112 +msgid "Please click \"Works\" on WordPress.org" +msgstr "Klik alstublieft \"Works\" op WordPress.org" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:117 +msgid "Give it a good rating on WordPress.org" +msgstr "Geef een goede waardering op WordPress.org" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:122 +msgid "Visit the plugin homepage" +msgstr "Bezoek de plugin homepage" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:127 +msgid "Help translating it" +msgstr "Help met vertalen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:149 +msgid "Graphic Library" +msgstr "Grafische Bibliotheek" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:165 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:214 +msgid "Loading…" +msgstr "Laden…" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:165 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:214 +msgid "This widget requires JavaScript." +msgstr "Deze widget benodigd Javascript." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:178 +msgid "Thanks to all donators..." +msgstr "Alle donateurs bedankt..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:200 +msgid "View all" +msgstr "Alles bekijken" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:226 +#, php-format +msgid "" +"Newsfeed could not be loaded. Check the front page to " +"check for updates." +msgstr "" +"Nieuwsfeed kon niet worden geladen. Controleer op de startpagina of er updates beschikbaar zijn." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:238 +msgid "Untitled" +msgstr "Geen titel" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:303 +msgid "At a Glance" +msgstr "Op dit Moment" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:356 +msgid "Storage Space" +msgstr "Opslagruimte" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:360 +#, php-format +msgid "" +"%2$sMB" +msgstr "" +"%2$sMB" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:361 +msgid "Space Allowed" +msgstr "Beschikbare Ruimte" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:368 +#, php-format +msgid "" +"%2$sMB (%3$s" +"%%)" +msgstr "" +"%2$sMB (%3$s" +"%%)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:369 +msgid "Space Used" +msgstr "Ruimte in Gebruik" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:395 +msgid "No GD support" +msgstr "Geen GD ondersteuning" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:427 +msgid "Not set" +msgstr "Niet ingesteld" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:429 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:432 +msgid "On" +msgstr "Aan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:430 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:433 +msgid "Off" +msgstr "Uit" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:437 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:440 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:443 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:446 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:449 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:452 +msgid "N/A" +msgstr "N/A" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:451 +msgid " MByte" +msgstr " MByte" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:464 +msgid "Operating System" +msgstr "Besturingssysteem" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:465 +msgid "Server" +msgstr "Server" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:466 +msgid "Memory usage" +msgstr "Geheugen gebruik" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:467 +msgid "MYSQL Version" +msgstr "MYSQL Versie" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:468 +msgid "SQL Mode" +msgstr "SQL Modus" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:469 +msgid "PHP Version" +msgstr "PHP Versie" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:470 +msgid "PHP Safe Mode" +msgstr "PHP Safe Mode" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:471 +msgid "PHP Allow URL fopen" +msgstr "PHP Allow URL fopen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:472 +msgid "PHP Memory Limit" +msgstr "PHP Geheugen Limiet" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:473 +msgid "PHP Max Upload Size" +msgstr "PHP Max Upload Grootte" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:474 +msgid "PHP Max Post Size" +msgstr "PHP Max Bericht Grootte" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:475 +msgid "PCRE Backtracking Limit" +msgstr "PCRE Backtracking Limiet" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:476 +msgid "PHP Max Script Execute Time" +msgstr "PHP Max Script Uitvoertijd" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:477 +msgid "PHP Exif support" +msgstr "PHP Exif ondersteuning" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:478 +msgid "PHP IPTC support" +msgstr "PHP IPTC ondersteuning" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:479 +msgid "PHP XML support" +msgstr "PHP XML ondersteuning" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:491 +msgid "" +"NextGEN Gallery contains some functions which are only available under PHP " +"5.2. You are using the old PHP 4 version, upgrade now! It's no longer " +"supported by the PHP group. Many shared hosting providers offer both PHP 4 " +"and PHP 5, running simultaneously. Ask your provider if they can do this." +msgstr "" +"NextGEN Gallery bevat een paar functies die alleen in PHP 5.2 beschikbaar " +"zijn. U gebruikt nog de oude PHP 4 versie, upgrade nu! Deze versie wordt " +"niet meer ondersteund door de PHP groep. Veel shared hosting providers " +"bieden zowel PHP 4 als PHP 5 aan. Vraag uw provider of zij PHP kunen " +"bijwerken." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:35 +msgid "Post title" +msgstr "Berichttitel" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:37 +msgid "Enter the post title " +msgstr "Voer de berichttitel in" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:42 +msgid "Size of the image" +msgstr "Grootte van de afbeelding" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:60 +msgid "Draft" +msgstr "Concept" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:26 +msgid "" +"Select the lowest role which should be able to access the following " +"capabilities. NextGEN Gallery supports the standard roles from WordPress." +msgstr "" +"Selecteer de kleinste rol die toegang moet krijgen tot de volgende " +"mogelijkheden. NextGEN Gallery ondersteunt de standaard rollen van WordPress." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:27 +msgid "For a more flexible user management you can use the" +msgstr "Gebruik voor meer flexibel gebruikersbeheer de" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:31 +msgid "Main NextGEN Gallery overview" +msgstr "NextGEN Gallery hoofdoverzicht" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:35 +msgid "Use TinyMCE Button / Upload tab" +msgstr "TinyMCE Knop / Upload tab gebruiken" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:39 +msgid "Add gallery / Upload images" +msgstr "Galerij toevogen / Afbeeldingen uploaden" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:43 +msgid "Manage gallery" +msgstr "Galerij beheren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:47 +msgid "Manage others gallery" +msgstr "Andere galerijen beheren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:51 +msgid "Manage tags" +msgstr "Tags beheren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:59 +msgid "Change style" +msgstr "Stijl aanpassen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:63 +msgid "Change options" +msgstr "Opties aanpassen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:67 +msgid "NextGEN Attach Interface" +msgstr "NextGEN Toevoeg Interface" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:60 +msgid "Image rotated" +msgstr "Afbeelding geroteerd" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:62 +msgid "Error rotating thumbnail" +msgstr "Fout tijdens roteren miniatuur" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:85 +msgid "90° clockwise" +msgstr "90° rechtsom" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:86 +msgid "90° anticlockwise" +msgstr "90° linksom" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:87 +msgid "Flip vertically" +msgstr "Verticaal spiegelen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:88 +msgid "Flip horizontally" +msgstr "Horizontaal spiegelen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:22 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:204 +#, php-format +msgid "Rebuild image structure : %s / %s images" +msgstr "Afbeeldingsstructuur herbouwen : %s / %s afbeeldingen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:23 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:205 +#, php-format +msgid "Rebuild gallery structure : %s / %s galleries" +msgstr "Galerij structuur herbouwen: %s / %s galerijen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:24 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:206 +#, php-format +msgid "Rebuild album structure : %s / %s albums" +msgstr "Albumstructuur herbouwen : %s / %s albums" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:81 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:263 +msgid "Done." +msgstr "Klaar." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:196 +msgid "Cache cleared" +msgstr "Cache geschoond" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:315 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:334 +msgid "General Options" +msgstr "Algemene Opties" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:317 +msgid "Image" +msgid_plural "Images" +msgstr[0] "Afbeelding" +msgstr[1] "Afbeeldingen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:319 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:572 +msgid "Effects" +msgstr "Effecten" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:320 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:614 +msgid "Watermark" +msgstr "Watermerk" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:340 +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:54 +msgid "Gallery path" +msgstr "Galerijpad" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:342 +msgid "This is the default path for all galleries" +msgstr "Dit is het standaard pad voor alle galerijen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:345 +msgid "Delete image files" +msgstr "Afbeeldingsbestanden verwijderen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:347 +msgid "Delete files, when removing a gallery in the database" +msgstr "Bestanden verwijderen als een galerij uit de database wordt verwijderd" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:350 +msgid "Activate permalinks" +msgstr "Permalinks activeren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:352 +msgid "" +"When you activate this option, you need to update your permalink structure " +"one time." +msgstr "" +"Als u deze optie activeert moet u eenmaal uw permalink structuur bijwerken" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:353 +msgid "Gallery slug name :" +msgstr "Slugnaam van galerij:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:357 +msgid "Create new URL friendly image slugs" +msgstr "Nieuwe URL vriendelijke afbeeldingslugs aanmaken" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:358 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:474 +msgid "Proceed now" +msgstr "Ga door" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:361 +msgid "Select graphic library" +msgstr "Selecteer grafische bibliotheek" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:362 +msgid "GD Library" +msgstr "GD Bibliotheek" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:363 +msgid "ImageMagick (Experimental). Path to the library :" +msgstr "ImageMagick (Experimenteel). Pad naar de bibliotheek :" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:368 +msgid "Activate Media RSS feed" +msgstr "Media RSS feed activeren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:370 +msgid "" +"A RSS feed will be added to you blog header. Useful for CoolIris/PicLens" +msgstr "" +"Een RSS feed wordt toegevoegd aan u blog header. Handig voor CoolIris/PicLens" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:373 +msgid "Activate PicLens/CoolIris support" +msgstr "PicLens/CoolIris ondersteuning activeren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:375 +msgid "" +"When you activate this option, some javascript is added to your site footer. " +"Make sure that wp_footer is called in your theme." +msgstr "" +"Als u deze optie activeert zullen wordt javascript toegevoegd aan uw site " +"voettekst. Verzeker u dat wp_footer wordt aangeroepen in uw thema." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:378 +msgid "Tags / Categories" +msgstr "Tags / Categorieën" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:381 +msgid "Activate related images" +msgstr "Gerelateerde afbeeldingen activeren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:383 +msgid "This option will append related images to every post" +msgstr "Deze optie voegt aan ieder bericht gerelateerde afbeeldingen toe." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:387 +msgid "Match with" +msgstr "Overeenstemmen met" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:393 +msgid "Max. number of images" +msgstr "Max. aantal afbeeldingen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:395 +msgid "0 will show all images" +msgstr "0 toont alle afbeeldingen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:399 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:435 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:477 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:562 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:597 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:860 +msgid "More settings" +msgstr "Meer instellingen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:409 +msgid "Thumbnail settings" +msgstr "Miniatuur instellingen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:413 +msgid "" +"Please note : If you change the settings, you need to recreate the " +"thumbnails under -> Manage Gallery ." +msgstr "" +"Let op : als u de instellingen aanpast moeten de miniaturen onder -> Gallery " +"Beheren opnieuw aangemaakt worden ." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:422 +msgid "These values are maximum values " +msgstr "Dit zijn maximale waarden" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:445 +msgid "Image settings" +msgstr "Afbeeldingsinstellingen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:451 +msgid "Resize Images" +msgstr "Afbeeldingen Verkleinen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:460 +msgid "Backup original images" +msgstr "Originele afbeeldingen back-uppen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:462 +msgid "Creates a backup for inserted images" +msgstr "Maakt een back-up van ingevoegede afbeeldingen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:465 +msgid "Automatically resize" +msgstr "Automatisch verkleinen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:467 +msgid "Automatically resize images on upload." +msgstr "Afbeeldingen automatisch verkleinen tijdens uploaden." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:470 +msgid "Single picture" +msgstr "Enkele afbeelding" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:473 +msgid "Clear cache folder" +msgstr "Cache map legen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:494 +msgid "Deactivate gallery page link" +msgstr "Galerij pagina link deactiveren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:496 +msgid "" +"The album will not link to a gallery subpage. The gallery is shown on the " +"same page." +msgstr "" +"Het album zal niet naar een galerij subpagina linken. De galerij wordt op " +"dezelfde pagina getoond." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:500 +msgid "Number of images per page" +msgstr "Aantal afbeeldingen per pagina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:502 +msgid "0 will disable pagination, all images on one page" +msgstr "0 zal paginering uitschakelen, alle afbeeldingen op één pagina" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:506 +msgid "Number of columns" +msgstr "Aantal kolommen " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:508 +msgid "" +"0 will display as much as possible based on the width of your theme. Setting " +"normally only required for captions below the images" +msgstr "" +"0 geeft zoveel mogelijk weer gebaseerd op de breedte van uw thema. " +"Instelling normaal alleen nodig voor onderschriften onder afbeeldingen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:512 +msgid "Integrate slideshow" +msgstr "Diavoorstelling integreren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:519 +msgid "Show first" +msgstr "Eerste tonen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:525 +msgid "Show ImageBrowser" +msgstr "AfbeeldingVerkenner Tonen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:527 +msgid "The gallery will open the ImageBrowser instead the effect." +msgstr "De galerij zal de AfbeeldingVerkenner openen in plaats van het effect." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:531 +msgid "Add hidden images" +msgstr "Verborgen afbeeldingen toevoegen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:533 +msgid "" +"If pagination is used, this option will still show all images in the modal " +"window (Thickbox, Lightbox etc.). Note : This increases the page load" +msgstr "" +"Als paginering wordt gebruikt zal deze optie toch alle afbeeldingen in het " +"modale venster tonen (Thickbox, Lightbox, etc.). Merk op : dit verhoogd de " +"page load" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:539 +msgid "" +"Browse images without reload the page. Note : Works only in combination with " +"Shutter effect" +msgstr "" +"Verken afbeeldingen zonder de pagina te herladen. Opmerking : Werkt alleen " +"in combinatie met Shutter effect" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:543 +msgid "Sort options" +msgstr "Sorteeropties" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:546 +msgid "Sort thumbnails" +msgstr "Miniaturen sorteren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:548 +msgid "Custom order" +msgstr "Aangepast volgorde" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:550 +msgid "File name" +msgstr "Bestandsnaam" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:551 +msgid "Alt / Title text" +msgstr "Alt / Titel Tekst" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:552 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:58 +msgid "Date / Time" +msgstr "Datum / Tijd" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:556 +msgid "Sort direction" +msgstr "Sorteerrichting" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:576 +msgid "" +"Here you can select the thumbnail effect, NextGEN Gallery will integrate the " +"required HTML code in the images. Please note that only the Shutter and " +"Thickbox effect will automatic added to your theme." +msgstr "" +"Hier kunt u het miniatuureffect selecteren, NextGEN Gallery zal de benodigde " +"HTML code in de afbeeldingen integreren. Merk op dat alleen het Shutter en " +"Thickbox effect automatisch aan uw thema worden toegevoegd." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:577 +msgid "With the placeholder" +msgstr "Met de tijdelijke aanduiding" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:577 +msgid "" +"you can activate a navigation through the images (depend on the effect). " +"Change the code line only , when you use a different thumbnail effect or you " +"know what you do." +msgstr "" +"u kunt een navigatie door de afbeeldingen activeren (afhankelijk van het " +"effect). Pas de code regel alleen aan als u een afwijkend miniatuur effect " +"gebruikt of weet wat u doet." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:580 +msgid "JavaScript Thumbnail effect" +msgstr "Javascript Miniatuur effect" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:584 +msgid "Thickbox" +msgstr "Thickbox" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:585 +msgid "Lightbox" +msgstr "Lightbox" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:586 +msgid "Highslide" +msgstr "Highslide" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:587 +msgid "Shutter" +msgstr "Sluiter" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:593 +msgid "Link Code line" +msgstr "Linkcode regel" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:615 +msgid "" +"Please note : You can only activate the watermark under -> Manage Gallery . " +"This action cannot be undone." +msgstr "" +"Merk op : U kunt het watermerk alleen activeren onder -> Galerij Beheren . " +"Deze actie kan niet ongedaan worden gemaakt." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:620 +msgid "Preview" +msgstr "Voorbeeld" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:622 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:627 +msgid "Position" +msgstr "Postie" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:647 +msgid "Offset" +msgstr "Compensatie" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:663 +msgid "Use image as watermark" +msgstr "Gebruik afbeelding als watermerk" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:666 +msgid "URL to file" +msgstr "URL naar bestand" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:668 +msgid "The accessing of URL files is disabled at your server (allow_url_fopen)" +msgstr "" +"Toegang tot URL bestanden is niet ingeschakeld op uw server (allow_url_fopen)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:671 +msgid "Use text as watermark" +msgstr "Gebruik tekst als watermerk" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:674 +msgid "Font" +msgstr "Lettertype" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:683 +msgid "This function will not work, cause you need the FreeType library" +msgstr "Deze functie zal niet werken, omdat u de FreeType bibliotheek mist" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:685 +msgid "" +"You can upload more fonts in the folder nggallery/fonts" +msgstr "" +"U kunt meer lettertypen in de map nggallery/fonts uploaden" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:694 +msgid "Color" +msgstr "Kleur" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:696 +msgid "(hex w/o #)" +msgstr "(hex zonder #)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:699 +msgid "Text" +msgstr "Tekst" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:703 +msgid "Opaque" +msgstr "Transparant" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:724 +msgid "Default size (W x H)" +msgstr "Standaard afmetingen (B x H)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:729 +msgid "Duration time" +msgstr "Duur" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:730 +msgid "sec." +msgstr "sec." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:733 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:810 +msgid "Transition / Fade effect" +msgstr "Transitie / Vervagen effect" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:736 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:813 +msgid "fade" +msgstr "vervagen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:737 +msgid "blindX" +msgstr "blindX" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:738 +msgid "cover" +msgstr "omslag" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:739 +msgid "scrollUp" +msgstr "Omhoog scrollen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:740 +msgid "scrollDown" +msgstr "Omlaag scrollen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:741 +msgid "shuffle" +msgstr "shuffle" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:742 +msgid "toss" +msgstr "werpen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:743 +msgid "wipe" +msgstr "wissen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:745 +msgid "See here for more information about the effects :" +msgstr "Kijk hier voor meer informatie over de effecten :" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:749 +msgid "Settings for the JW Image Rotator" +msgstr "Instellingen voor JW Image Rotator" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:758 +msgid "" +"The path to JW Image Rotator is not defined, the slideshow will not work." +msgstr "" +"Het pad naar JW Image Rotator is niet opgegeven, de diavoorstelling zal niet " +"werken." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:770 +msgid "Path to the JW Image Rotator (URL)" +msgstr "Pad naar JW Image Rotator (URL)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:773 +msgid "Search now" +msgstr "Nu zoeken" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:774 +msgid "Press the button below to search for the JW Image Rotator" +msgstr "Klik op de knop hieronder om naar JW Image Rotator te zoeken" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:778 +msgid "Shuffle mode" +msgstr "Shuffle modus" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:796 +msgid "You can change the logo at the watermark settings" +msgstr "U kunt het logo en de watermerk instellingen aanpassen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:802 +msgid "true" +msgstr "waar" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:803 +msgid "false" +msgstr "onwaar" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:804 +msgid "fit" +msgstr "passen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:805 +msgid "none" +msgstr "geen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:814 +msgid "bgfade" +msgstr "bgfade" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:815 +msgid "slowfade" +msgstr "slowfade" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:816 +msgid "circles" +msgstr "cirkels" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:817 +msgid "bubbles" +msgstr "bubbels" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:818 +msgid "blocks" +msgstr "blokken" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:819 +msgid "fluids" +msgstr "vloeiend" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:820 +msgid "flash" +msgstr "flash" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:821 +msgid "lines" +msgstr "lijnen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:831 +msgid "Background Color" +msgstr "Achtergrondkleur" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:836 +msgid "Texts / Buttons Color" +msgstr "Tekst / Knoppen Kleur" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:841 +msgid "Rollover / Active Color" +msgstr "Rollover / Actief Kleur" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:846 +msgid "Screen Color" +msgstr "Schermkleur" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:851 +msgid "Background music (URL)" +msgstr "Achtergrond muziek (URL)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:855 +msgid "Try XHTML validation (with CDATA)" +msgstr "XHTML validatie proberen (met CDATA)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:857 +msgid "" +"Important : Could causes problem at some browser. Please recheck your page." +msgstr "" +"Belangrijk : Kan problemen veroorzaken met sommige browsers. Controleer uw " +"pagina alstublieft." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:29 +msgid "Meta Data" +msgstr "Metadata" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:34 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:60 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:85 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:109 +msgid "Tag" +msgstr "Tag" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:35 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:61 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:86 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:110 +msgid "Value" +msgstr "Waarde" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:49 +msgid "No meta data saved" +msgstr "Geen metadata opgeslagen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:55 +msgid "EXIF Data" +msgstr "EXIF Data" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:74 +msgid "No exif data" +msgstr "Geen exif data" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:81 +msgid "IPTC Data" +msgstr "IPTC Data" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:105 +msgid "XMP Data" +msgstr "XMP Data" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:11 +msgid "(From the theme folder)" +msgstr "(Vanuit de thema map)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:43 +msgid "You do not have sufficient permissions to edit templates for this blog." +msgstr "U heeft onvoldoende rechten om templates voor deze blog te bewerken." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:52 +msgid "CSS file successfully updated" +msgstr "CSS bestand succesvol bijgewerkt" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:91 +msgid "Activate and use style sheet:" +msgstr "Stylesheet activeren en gebruiken:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:111 +msgid "Activate" +msgstr "Activeren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:121 +#, php-format +msgid "Editing %s" +msgstr "%s bewerken" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:123 +#, php-format +msgid "Browsing %s" +msgstr "%s verkennen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:133 +msgid "Version" +msgstr "Versie" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:136 +msgid "" +"Tip : Copy your stylesheet (nggallery.css) to your theme folder, so it will " +"be not lost during a upgrade" +msgstr "" +"Tip : Kopieer uw stylesheet (nggallery.css) naar uw thema map, zodat deze " +"tijdens een upgrade niet verloren gaat" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:138 +msgid "" +"Your theme contain a NextGEN Gallery stylesheet (nggallery.css), this file " +"will be used" +msgstr "" +"Uw thema bevat een NextGEN Gallery stylesheet (nggallery.css), dit bestand " +"zal gebruikt worden" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:140 +msgid "" +"Tip No. 2: Use the color picker below to help you find the right color " +"scheme for your gallery!" +msgstr "" +"Tip Nr. 2: Gebruik de kleurenpicker hieronder om u te helpen bij het vinden " +"van het juiste kleurenschema voor uw galerij!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:156 +msgid "Update File" +msgstr "Bestand Bijwerken" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:159 +msgid "If this file were writable you could edit it." +msgstr "U zou dit bestand kunnen bewerken als het schrijfbaar was." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:164 +msgid "Oops, no such file exists! Double check the name and try again, merci." +msgstr "" +"Oeps, dit bestand bestaat niet! Controleer de naam en probeer opnieuw, merci." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:41 +msgid "Most popular" +msgstr "Meest populair" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:42 +msgid "Least used" +msgstr "Minst gebruikt" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:43 +msgid "Alphabetical" +msgstr "Alfabetisch" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:100 +msgid "Manage image tags" +msgstr "Afbeeldingstags Beheren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:112 +msgid "Existing Tags" +msgstr "Bestaande Tags" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:116 +msgid "Search tags" +msgstr "Tags zoeken" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:120 +msgid "Go" +msgstr "Gaan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:125 +msgid "Sort Order:" +msgstr "Sorteervolgorde:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:160 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:164 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:177 +msgid "Previous tags" +msgstr "Vorige tags" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:173 +msgid "Next tags" +msgstr "Volgende tags" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:185 +msgid "Rename Tag" +msgstr "Hernoem Tag" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:193 +msgid "" +"Enter the tag to rename and its new value. You can use this feature to " +"merge tags too. Click \"Rename\" and all posts which use this tag will be " +"updated." +msgstr "" +"Voer de te hernoemen tag en zijn nieuwe waarde in. U kunt deze feature ook " +"gebruiken om tags samen te voegen. Klik \"Hernoemen\" en alle berichten dit " +"deze tag gebruiken zullen worden bijgewerkt." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:194 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:242 +msgid "You can specify multiple tags to rename by separating them with commas." +msgstr "" +"U kunt meerdere te hernoemen tags opgeven door ze met komma's te scheiden." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:198 +msgid "Tag(s) to rename:" +msgstr "Te hernoemen tag(s):" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:202 +msgid "New tag name(s):" +msgstr "Nieuwe tagnamen:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:205 +msgid "Rename" +msgstr "Hernoemen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:211 +msgid "Delete Tag" +msgstr "Tag Verwijderen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:219 +msgid "" +"Enter the name of the tag to delete. This tag will be removed from all " +"posts." +msgstr "" +"Voer de naam van de te verwijderen tag in. Deze tag zal worden verwijderd " +"van alle berichten." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:220 +msgid "You can specify multiple tags to delete by separating them with commas" +msgstr "" +"U kunt meerdere te verwijderen tags opgeven door ze met komma's te scheiden" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:224 +msgid "Tag(s) to delete:" +msgstr "Te verwijderen tag(s):" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:233 +msgid "Edit Tag Slug" +msgstr "Tag Slug Bewerken" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:241 +msgid "" +"Enter the tag name to edit and its new slug. This will be used in tagcloud " +"links. Slug definition" +msgstr "" +"Voer de te bewerken tagnaam en zijn nieuwe slug in. Deze zal worden gebruikt " +"in tagcloud links. Slug definitie" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:246 +msgid "Tag(s) to match:" +msgstr "Te overeenstemmen tag(s):" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:250 +msgid "Slug(s) to set:" +msgstr "In te stellen slug(s):" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_create_page_field.php:3 +msgid "Main Page (no parent)" +msgstr "Hoofdpagina (geen bovenliggende pagina)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_create_page_field.php:10 +msgid "Add page" +msgstr "Pagina toevoegen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_link_to_page_field.php:3 +msgid "Not linked" +msgstr "Niet gelinkt" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/thumbnails-template.php:103 +msgid "These are maximum values" +msgstr "Dit zijn de maximale waarden" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:61 +msgid "" +"Some folders/files could not renamed, please recheck the permission and " +"rescan the folder in the manage gallery section." +msgstr "" +"Sommige mappen/bestanden konden niet hernoemd worden, controleer de rechten " +"en rescan de map in de galerij beheren sectie." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:63 +msgid "Rename failed" +msgstr "Hernoemen mislukt" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:159 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:178 +msgid "Upgrade NextGEN Gallery" +msgstr "Upgrade NextGEN Gallery" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:160 +msgid "The script detect that you upgrade from a older version." +msgstr "Het script detecteert dat u upgrade van een oudere versie." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:161 +msgid "" +"Your database tables for NextGEN Gallery is out-of-date, and must be " +"upgraded before you can continue." +msgstr "" +"Uw database tabellen voor NextGEN Gallery zijn verouderd en moeten worden " +"geüpgrade voordat u door kunt gaan." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:162 +msgid "" +"If you would like to downgrade later, please make first a complete backup of " +"your database and the images." +msgstr "" +"Als u later wilt teruggaan naar een oudere versie, maak dan eerst een " +"volledige back-up van uw database en de afbeeldingen." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:163 +msgid "The upgrade process may take a while, so please be patient." +msgstr "Het upgradeproces kan even duren, dus heb geduld." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:164 +msgid "Start upgrade now" +msgstr "Start upgrade nu" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:180 +msgid "Upgrade finished..." +msgstr "Upgrade beëindigd..." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:181 +msgid "Continue" +msgstr "Doorgaan" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:33 +msgid "Update successfully" +msgstr "Update succesvol" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:48 +msgid "Network Options" +msgstr "Netwerk Opties" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:56 +msgid "" +"This is the default path for all blogs. With the placeholder %BLOG_ID% you " +"can organize the folder structure better." +msgstr "" +"Dit is het standaard pad voor alle blogs. Met de tijdelijke aanduiding " +"%BLOG_ID% kunt u de mapstructuur beter inrichten." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:57 +#, php-format +msgid "The default setting should be %s" +msgstr "De standaardinstelling zou %s moeten zijn" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:61 +msgid "Enable upload quota check" +msgstr "Upload quota controle inschakelen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:63 +msgid "Should work if the gallery is bellow the blog.dir" +msgstr "Zou moeten werken als de galerij onder de blog.dir staat" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:67 +msgid "Enable zip upload option" +msgstr "Zip upload optie inschakelen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:69 +msgid "Allow users to upload zip folders." +msgstr "Gebruikers toestaan zip mappen te uploaden" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:73 +msgid "Enable import function" +msgstr "Importfunctie inschakelen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:75 +msgid "Allow users to import images folders from the server." +msgstr "" +"Gebruikers toestaan mappen met afbeeldingen van de server te importeren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:79 +msgid "Enable style selection" +msgstr "Stijlselectie inschakelen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:81 +msgid "Allow users to choose a style for the gallery." +msgstr "Gebruikers toestaan een stijl voor de galerij te kiezen." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:85 +msgid "Enable roles/capabilities" +msgstr "Rollen/mogelijkheden activeren" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:87 +msgid "Allow users to change the roles for other blog authors." +msgstr "Gebruikers toestaan de rollen van andere blog auteurs te wijzigen." + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:91 +msgid "Default style" +msgstr "Standaard stijl" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:108 +msgid "Choose the default style for the galleries." +msgstr "Kies de standaard stijl voor de galerijen." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/core.php:410 +#, php-format +msgid "" +"Note : Based on your server memory limit you should not upload larger images " +"then %d x %d pixel" +msgstr "" +"Merk op : Afhankelijk van de geheugenlimiet van uw server kan u geen grotere " +"afbeeldingen dan %d x %d pixels uploaden " + +#: products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php:337 +#: products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php:338 +msgid "Album overview" +msgstr "Album overzicht" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:68 +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:70 +msgid "Set NextGEN featured image" +msgstr "Uitgelichte NextGEN afbeelding instellen" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:328 +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:329 +msgid "Set featured image" +msgstr "Uitgelichte afbeelding instellen" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:356 +msgid "Remove featured image" +msgstr "Uitgelichte afbeelding verwijderen" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:223 +msgid "Album" +msgid_plural "Albums" +msgstr[0] "Album" +msgstr[1] "Albums" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:35 +msgid "No new tag specified!" +msgstr "Geen nieuwe tag opgegeven!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:50 +msgid "No new/old valid tag specified!" +msgstr "Geen nieuwe/oude tag opgegeven!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:86 +msgid "No tag renamed." +msgstr "Geen tag hernoemd." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:88 +#, php-format +msgid "Renamed tag(s) «%1$s» to «%2$s»" +msgstr "Tag(s) «%1$s» naar «%2$s» hernoemd" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:95 +msgid "No valid new tag." +msgstr "Geen geldige nieuwe tag." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:112 +msgid "No objects (post/page) found for specified old tags." +msgstr "Geen objecten (bericht/pagina) gevonden voor opgegeven oude tags." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:141 +msgid "No tag merged." +msgstr "Geen tag samengevoegd." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:143 +#, php-format +msgid "" +"Merge tag(s) «%1$s» to «%2$s». %3$s objects edited." +msgstr "" +"Tag(s) «%1$s» naar «%2$s» samenvoegen. %3$s objecten " +"bewerkt." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:146 +msgid "Error. Not enough tags provided to rename or merge." +msgstr "Fout. Niet genoeg tags opgegeven om te hernoemen of samen te voegen." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:165 +msgid "No tag specified!" +msgstr "Geen tag opgegeven!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:188 +msgid "No tag deleted." +msgstr "Geen tag verwijderd." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:190 +#, php-format +msgid "%1s tag(s) deleted." +msgstr "%1s tag(s) verwijderd." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:206 +msgid "No new slug(s) specified!" +msgstr "Geen nieuwe slug(s) opgegeven!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:218 +msgid "Tags number and slugs number isn't the same!" +msgstr "Tagnummer en slugnummer komen niet overeen!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:245 +msgid "No slug edited." +msgstr "Geen slug bewerkt." + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:247 +#, php-format +msgid "%s slug(s) edited." +msgstr "%s slug(s) bewerkt." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:64 +msgid "" +"Translation by : See here" +msgstr "" +"Vertaalt door : Kijk hier" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:65 +msgid "" +"This translation is not yet updated for Version 1.9.0. If " +"you would like to help with translation, download the current po from the " +"plugin folder and read here how you can translate the plugin." +msgstr "" +"Deze vertaling is nog niet bijgewerkt voor Versie 1.9.0. " +"Als u met vertalen wilt helpen, download dan de huidige po van de pluginmap " +"en lees hier hoe u " +"de plugin kunt vertalen." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:158 +msgid "" +"Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB or higher" +msgstr "" +"Sorry, NexGEN Gallery werkt alleen met een Geheugenlimiet van 16 MB of meer" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:184 +msgid "Picture tag" +msgstr "Afbeeldingstag" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:185 +msgid "Picture tag: %2$l." +msgstr "Afbeeldingstag: %2$l." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:186 +msgid "Separate picture tags with commas." +msgstr "Scheidt afbeeldingstags met komma's." + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:324 +msgid "Get help" +msgstr "Hulp halen" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:325 +msgid "Contribute" +msgstr "Bijdragen" + +#: products/photocrati_nextgen/modules/ngglegacy/nggfunctions.php:29 +msgid "[Gallery not found]" +msgstr "[Galerij niet gevonden]" + +#: products/photocrati_nextgen/modules/ngglegacy/nggfunctions.php:163 +msgid "Related images for" +msgstr "Gerelateerde afbeeldingen voor" + +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:38 +msgid "Meta data" +msgstr "Metadata" + +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:42 +msgid "Camera / Type" +msgstr "Camera / Type" + +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:50 +msgid "Focal Length" +msgstr "Brandpuntsafstand" + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:50 +msgid "No galleries have been yet created." +msgstr "Er zijn nog geen galerijen aangemaakt." + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:69 +#, php-format +msgid "The gallery ID=%s does not exist." +msgstr "Gallery ID=%s bestaat niet." + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:100 +msgid "No album ID has been provided as parameter" +msgstr "Er is geen album ID als parameter gegeven" + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:108 +#, php-format +msgid "The album ID=%s does not exist." +msgstr "Het album ID=%s bestaat niet." + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:115 +msgid "Invalid MediaRSS command" +msgstr "Ongeldig MediaRSS commando" + +msgid "NextGEN Basic Compact Album" +msgstr "NextGEN Basis Compact Album" + +msgid "NextGEN Basic Extended Album" +msgstr "NextGEN Basis Uitgebreid Album" + +msgid "NextGEN Basic Thumbnails" +msgstr "NextGEN Basis Miniaturen" + +msgid "NextGEN Basic Slideshow" +msgstr "NextGEN Basis Diavoorstelling" + +msgid "NextGEN Basic ImageBrowser" +msgstr "NextGEN Basis AfbeeldingVerkenner" + +msgid "NextGEN Basic Singlepic" +msgstr "NextGEN Basis Singlepic" + +msgid "NextGEN Basic Tagcloud" +msgstr "NextGEN Basis Tagcloud" diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-ru_RU.mo b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-ru_RU.mo new file mode 100644 index 0000000000000000000000000000000000000000..fb0346e0b9d5ef910ab920ee0d295e7d52865234 GIT binary patch literal 88111 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 IFucF_e^gm$egFUf literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-ru_RU.po b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-ru_RU.po new file mode 100644 index 0000000..df71570 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-ru_RU.po @@ -0,0 +1,3840 @@ +msgid "" +msgstr "" +"Project-Id-Version: NextGEN Gallery\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-02-20 19:45-0800\n" +"PO-Revision-Date: Thu May 29 2014 20:55:32 GMT+0400 (Московское время (зима))\n" +"Last-Translator: Начальник \n" +"Language-Team: Photocrati Media\n" +"Language: Russian\n" +"Plural-Forms: nplurals=3; plural=n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 " +"&& n % 10 <= 4 && ( n % 100 < 10 || n % 100 >= 20 ) ? 1 : 2\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-SearchPath-0: ../../../../..\n" +"X-Poedit-KeywordsList: _:1;gettext:1;dgettext:2;ngettext:1,2;dngettext:2,3;__:1;" +"_e:1;_c:1;_n:1,2;_n_noop:1,2;_nc:1,2;__ngettext:1,2;__ngettext_noop:1,2;_x:1,2c;" +"_ex:1,2c;_nx:1,2,4c;_nx_noop:1,2,3c;_n_js:1,2;_nx_js:1,2,3c;esc_attr__:1;" +"esc_html__:1;esc_attr_e:1;esc_html_e:1;esc_attr_x:1,2c;esc_html_x:1,2c;" +"comments_number_link:2,3;t:1;st:1;trans:1;transChoice:1,2\n" +"X-Loco-Target-Locale: ru_RU\n" +"X-Generator: Loco - https://localise.biz/" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:242 +msgid "Try XHTML validation" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:278 +msgid "Rollover / active" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:145 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:168 +msgid "Fired" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:145 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:168 +msgid "Not fired" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:452 ../../../../../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:46 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:539 +msgid "Aperture" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:453 ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:478 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:540 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:565 +msgid "Credit" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:464 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:551 +msgid "Subject" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:465 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:552 +msgid "Make" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:479 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:566 +msgid "Source" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:483 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:570 +msgid "Program tool" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:323 +msgid "Dismiss" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:324 +msgid "Crunching…" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:476 +msgid "Contribute development" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1044 +msgid "1 item" +msgid_plural "%s items" +msgstr[0] "" +msgstr[1] "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1083 +msgctxt "paging" +msgid "%1$s of %2$s" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:577 +msgid "With the placeholder" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:584 +msgid "Thickbox" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:585 +msgid "Lightbox" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:586 +msgid "Highslide" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:587 +msgid "Shutter" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:668 +msgid "The accessing of URL files is disabled at your server (allow_url_fopen)" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:683 +msgid "This function will not work, cause you need the FreeType library" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:696 +msgid "(hex w/o #)" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:703 +msgid "Opaque" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:733 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:810 +msgid "Transition / Fade effect" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:737 +msgid "blindX" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:738 +msgid "cover" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:739 +msgid "scrollUp" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:740 +msgid "scrollDown" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:741 +msgid "shuffle" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:742 +msgid "toss" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:743 +msgid "wipe" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:749 +msgid "Settings for the JW Image Rotator" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:758 +msgid "The path to JW Image Rotator is not defined, the slideshow will not work." +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:770 +msgid "Path to the JW Image Rotator (URL)" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:802 +msgid "true" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:803 +msgid "false" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:804 +msgid "fit" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:814 +msgid "bgfade" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:815 +msgid "slowfade" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:818 +msgid "blocks" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:819 +msgid "fluids" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:820 +msgid "flash" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:841 +msgid "Rollover / Active Color" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:855 +msgid "Try XHTML validation (with CDATA)" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:42 +msgid "Camera / Type" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:50 +msgid "Focal Length" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:10 +msgid "NextGEN Media RSS" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:22 +msgid "Media RSS" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:90 +msgid "Font Family:" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:454 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:541 +msgid "Camera" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:471 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:558 +msgid "Author Position" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:317 +msgid "HTTP error." +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:474 +msgid "PHP Safe Mode" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:475 +msgid "PHP Allow URL fopen" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:476 +msgid "PHP Memory Limit" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:477 +msgid "PHP Max Upload Size" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:478 +msgid "PHP Max Post Size" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:479 +msgid "PCRE Backtracking Limit" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:480 +msgid "PHP Max Script Execute Time" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:481 +msgid "PHP Exif support" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:482 +msgid "PHP IPTC support" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:483 +msgid "PHP XML support" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:309 +msgid "Meta" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:74 +msgid "No exif data" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:81 +msgid "IPTC Data" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:105 +msgid "XMP Data" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:593 +msgid "Link Code line" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:666 +msgid "URL to file" +msgstr "" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:49 +msgid "The display type that the tagcloud will point its results to" +msgstr "Вид облака тегов" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:111 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:767 +msgid "Integrate the flash based slideshow for all flash supported devices" +msgstr "" +"Интегрировать Flash-совместимое слайдшоу на всех устройствах поддерживающих " +"Flash." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:356 +msgid "Remove featured image" +msgstr "Очистить список популярные изображения" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:135 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:154 +msgid " mm" +msgstr "mm" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:457 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:544 +msgid "Copyright" +msgstr "Copyright" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:458 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:545 +msgid "Focal length" +msgstr "Фокусное расстояние" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:460 ../../../../../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:54 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:547 +msgid "Shutter speed" +msgstr "Выдержка" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:473 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:560 +msgid "Location" +msgstr "Расположение" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:475 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:562 +msgid "Country code" +msgstr "Код страны" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:476 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:563 +msgid "Country" +msgstr "Страна" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:477 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:564 +msgid "Headline" +msgstr "Заголовок" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:480 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:567 +msgid "Copyright Notice" +msgstr "Заметка об авторском праве" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:466 +msgid "Get help with NextGEN Gallery" +msgstr "Получить помощь сообщества NextGEN Gallery" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:472 +msgid "" +"Support Forums" +msgstr "" +"Форум поддержки" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:496 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:391 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:426 +msgid "Set fix dimension" +msgstr "Откорректировать размер" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:571 +msgid "Alt & Title Text" +msgstr "Заголовок и всплывающая подсказка" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:226 +msgid "" +"Newsfeed could not be loaded. Check the front page to check " +"for updates." +msgstr "" +"Лента новостей не может быть загружена. Проверьте главную " +"страницу для проверки обновлений." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:370 +msgid "A RSS feed will be added to you blog header. Useful for CoolIris/PicLens" +msgstr "В header сайта будет добавлен RSS Feed, для поддержки CoolIris/PicLens" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:373 +msgid "Activate PicLens/CoolIris support" +msgstr "Активировать поддержку PicLens/CoolIris" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:375 +msgid "" +"When you activate this option, some javascript is added to your site footer. " +"Make sure that wp_footer is called in your theme." +msgstr "" +"При активации этой опции в футер сайта будет добавлен JavaScript. Убедитесь что " +"вызываете метод wp_footer в вашей теме." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:422 +msgid "These values are maximum values " +msgstr "Эти значения являются максимально допустимыми" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:508 +msgid "" +"0 will display as much as possible based on the width of your theme. Setting " +"normally only required for captions below the images" +msgstr "" +"Установите 0 чтобы отображать на всю ширину. заданную вашей темой сайта." +"Настойка требуется для установки подписи под изображением" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:519 +msgid "Show first" +msgstr "Показать первым" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:525 +msgid "Show ImageBrowser" +msgstr "Показать просмотрщик изображений" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:685 +msgid "You can upload more fonts in the folder nggallery/fonts" +msgstr "Вы можете загрузить больше шрифтов в папку nggallery/fonts\n" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:729 +msgid "Duration time" +msgstr "Длительность" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:730 +msgid "sec." +msgstr "сек." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:796 +msgid "You can change the logo at the watermark settings" +msgstr "Вы можете изменить лого в настройках водяного знака" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:836 +msgid "Texts / Buttons Color" +msgstr "Цвет текста/кнопок" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:851 +msgid "Background music (URL)" +msgstr "Фоновая музыка (URL)" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:857 +msgid "Important : Could causes problem at some browser. Please recheck your page." +msgstr "" +"Важно: Может вызывать проблемы в некоторых браузерах. Пожалуйста, проверяйте " +"результат." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:11 +msgid "NextGEN Gallery" +msgstr "NextGEN Галерея" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:241 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:113 +msgid "Alt/Title text" +msgstr "Текст подсказки" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:282 +msgid "Use as featured image" +msgstr "Использовать в качестве популярных изображений" + +#: ../../../../../nggallery.php:290 +msgid "Every %d seconds" +msgstr "Каждые %d секунд" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_templates/adapter.nextgen_basic_template_form.php:46 +msgid "Template" +msgstr "Шаблон" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_templates/adapter.nextgen_basic_template_form.php:47 +msgid "Use a legacy template when rendering (not recommended)." +msgstr "Использовать шаблон при отображении(не рекомендуется)." + +#: ../../../../../products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:157 +msgid "Album: %s" +msgstr "Альбом: %s" + +#: ../../../../../products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:159 +msgid "Gallery: %s" +msgstr "Галерея: %s" + +#: ../../../../../products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:177 +msgid "Missing parameters" +msgstr "Пропущены параметры" + +#: ../../../../../products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:213 +msgid "Displayed gallery does not exist" +msgstr "Просматриваемая галерея не существует" + +#: ../../../../../products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:216 +msgid "Invalid request" +msgstr "Неверный запрос" + +#: ../../../../../products/photocrati_nextgen/modules/attach_to_post/module.attach_to_post.php:192 +msgid "Invalid Displayed Gallery" +msgstr "Повреждённая галерея" + +#: ../../../../../products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:115 +msgid "What would you like to display?" +msgstr "Что вы хотите отображать?" + +#: ../../../../../products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:139 +msgid "Select a display type" +msgstr "Выберите вариант отображения" + +#: ../../../../../products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:162 +msgid "Customize the display settings" +msgstr "Изменить настройки отображения" + +#: ../../../../../products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:253 +msgid "No display type selected" +msgstr "Вид отображения не выбран" + +#: ../../../../../products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:271 +msgid "Sort or Exclude Images" +msgstr "Упорядочить или исключить изображения" + +#: ../../../../../products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:248 +msgid "NextGEN Gallery - Attach To Post" +msgstr "NextGEN Gallery - Вложение к записи" + +#: ../../../../../products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:266 +msgid "Display Galleries" +msgstr "Вид галереи" + +#: ../../../../../products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:273 ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_controller.php:7 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:188 +msgid "Add Gallery / Images" +msgstr "Добавить галерею/Изображения" + +#: ../../../../../products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:280 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:156 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:156 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:190 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:168 +msgid "Manage Galleries" +msgid_plural "Manage Galleries" +msgstr[0] "Управление галереями" +msgstr[1] "" + +#: ../../../../../products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:287 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:404 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:157 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:157 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:192 +msgid "Manage Albums" +msgid_plural "Manage Albums" +msgstr[0] "Управление альбомами" +msgstr[1] "Управление альбомами" + +#: ../../../../../products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:294 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:158 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:158 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:194 +msgid "Manage Tags" +msgstr "Теги" + +#: ../../../../../products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:615 +msgid "Sources" +msgstr "Источник" + +#: ../../../../../products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:649 ../../../../../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:366 +msgid "(optional)" +msgstr "(необязательно)" + +#: ../../../../../products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:657 +msgid "" +"Sets an SEO-friendly name to this gallery for URLs. Currently only in use by " +"the Pro Lightbox." +msgstr "" +"Укажите SEO-направленное имя галереи которое будет отображаться в качестве " +"ссылки на галерею" + +#: ../../../../../products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:658 +msgid "Slug" +msgstr "Постоянная ссылка" + +#: ../../../../../products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:863 +msgid "No entities to display for this source." +msgstr "Нет элементов для отображения источника" + +#: ../../../../../products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1274 +msgid "Select a gallery" +msgstr "Выберите галерею" + +#: ../../../../../products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1278 +msgid "Galleries" +msgstr "Галереи" + +#: ../../../../../products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1302 +msgid "Albums" +msgstr "Альбомы" + +#: ../../../../../products/photocrati_nextgen/modules/attach_to_post/templates/display_tab.php:10 ../../../../../products/photocrati_nextgen/modules/nextgen_admin/templates/nextgen_admin_page.php:25 +msgid "Save" +msgstr "Сохранить" + +#: ../../../../../products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:9 +msgid "Widget that displays Media RSS links for NextGEN Gallery." +msgstr "Виджет для отображения Media RSS ссылки для NextGEN Gallery.\n" + +#: ../../../../../products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:23 +msgid "Link to the main image feed" +msgstr "Ссылка на главное изображение новости" + +#: ../../../../../products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:93 ../../../../../products/photocrati_nextgen/modules/ngglegacy/view/gallery.php:32 ../../../../../products/photocrati_nextgen/modules/ngglegacy/view/gallery-caption.php:32 +msgid "[View with PicLens]" +msgstr "[Смотреть с PicLens]" + +#: ../../../../../products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:7 +msgid "Show a NextGEN Gallery Slideshow" +msgstr "Показать NextGEN Gallery слайдшоу" + +#: ../../../../../products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:8 +msgid "NextGEN Slideshow" +msgstr "NextGEN слайдшоу" + +#: ../../../../../products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:76 ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:215 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:321 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:521 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:721 +msgid "Slideshow" +msgstr "Слайдшоу" + +#: ../../../../../products/photocrati_nextgen/modules/widget/class.widget_gallery.php:7 +msgid "Add recent or random images from the galleries" +msgstr "Добавить последние или случайные изображения из галерей" + +#: ../../../../../products/photocrati_nextgen/modules/widget/class.widget_gallery.php:8 +msgid "NextGEN Widget" +msgstr "NextGEN виджет" + +#: ../../../../../products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:3 ../../../../../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:4 ../../../../../products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:3 ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:461 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:678 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:548 +msgid "Title" +msgstr "Заголовок" + +#: ../../../../../products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:15 +msgid "Select Gallery" +msgstr "Выберите галерею" + +#: ../../../../../products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:23 +msgid "All images" +msgstr "Все изображения" + +#: ../../../../../products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:40 ../../../../../products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:40 ../../../../../products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_dimensions.php:20 ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/nextgen_basic_slideshow_settings_gallery_dimensions.php:23 +msgid "Height" +msgstr "Высота" + +#: ../../../../../products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:52 ../../../../../products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:38 ../../../../../products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_dimensions.php:13 ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/nextgen_basic_slideshow_settings_gallery_dimensions.php:15 +msgid "Width" +msgstr "Ширина" + +#: ../../../../../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:15 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:229 +msgid "Show" +msgstr "Показать" + +#: ../../../../../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:26 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:316 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:520 +msgid "Thumbnails" +msgstr "Миниатюры" + +#: ../../../../../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:29 +msgid "Original images" +msgstr "Оригинальные изображения" + +#: ../../../../../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:42 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:822 +msgid "random" +msgstr "случайно" + +#: ../../../../../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:50 +msgid "recently added" +msgstr "последние добавленные" + +#: ../../../../../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:62 +msgid "Enable IE8 Web Slices" +msgstr "Включить IE8 веб-фрагменты" + +#: ../../../../../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:68 +msgid "Width x Height" +msgstr "Ширина х Высота" + +#: ../../../../../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:87 +msgid "Select" +msgstr "Выбрать" + +#: ../../../../../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:92 +msgid "All galleries" +msgstr "Все галереи" + +#: ../../../../../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:95 +msgid "Only which are not listed" +msgstr "Только которые не в списке" + +#: ../../../../../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:98 +msgid "Only which are listed" +msgstr "Только которые в списке" + +#: ../../../../../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:107 +msgid "Gallery ID" +msgstr "ID галереи" + +#: ../../../../../products/photocrati_nextgen/modules/widget/templates/form_gallery.php:114 +msgid "Gallery IDs, separated by commas." +msgstr "ID'ы галерей, через запятую" + +#: ../../../../../products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:19 +msgid "Show Media RSS icon" +msgstr "Показывать Media RSS иконку" + +#: ../../../../../products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:30 +msgid "Show the Media RSS link" +msgstr "Показывать Media RSS ссылку" + +#: ../../../../../products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:36 +msgid "Text for Media RSS link" +msgstr "Текс для RSS ссылки" + +#: ../../../../../products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:47 +msgid "Tooltip text for Media RSS link" +msgstr "Всплывающая подсказка для RSS ссылки" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:37 ../../../../../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:248 +msgid "Thumbnail dimensions" +msgstr "Размер эскизов" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:53 +msgid "Link" +msgstr "Ссылка" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:66 ../../../../../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:320 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:456 +msgid "Image quality" +msgstr "Качество изображения" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:78 +msgid "Display watermark" +msgstr "Показывать водяной знак" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:88 +msgid "Display reflection" +msgstr "Отражение" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:98 +msgid "Crop thumbnail" +msgstr "Обрезать эскизы" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:108 +msgid "Float" +msgstr "Положение" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:110 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:47 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:583 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:252 +msgid "None" +msgstr "Нет" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:111 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:49 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:254 +msgid "Left" +msgstr "Слева" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:112 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:53 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:258 +msgid "Right" +msgstr "Справа" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_radio.php:16 ../../../../../products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_radio.php:16 ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:24 ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:122 ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:40 ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:65 ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:191 ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php:37 ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php:10 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:411 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:458 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:461 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:464 +msgid "Yes" +msgstr "Да" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_radio.php:24 ../../../../../products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_radio.php:24 ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:23 ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:123 ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:47 ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:72 ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:198 ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php:44 ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php:13 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:413 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:459 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:462 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:465 +msgid "No" +msgstr "Нет" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:42 +msgid "Related Images" +msgstr "Связанные изображения" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:62 +msgid "[Show slideshow]" +msgstr "[Показать слайдшоу]" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:63 +msgid "[Show thumbnails]" +msgstr "[Показать эскизы]" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.import_folder_form.php:7 ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:6 +msgid "Import Folder" +msgstr "Импортировать папку" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.upload_images_form.php:7 +msgid "Upload Images" +msgstr "Загрузить изображения" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:43 +msgid "No gallery name specified" +msgstr "Имя галереи не указано" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:57 +msgid "Failed to extract images from ZIP" +msgstr "Ошибка при извлечении изображений из ZIP" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:63 +msgid "Image generation failed" +msgstr "Создание изображение не удалось" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:73 ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:160 +msgid "An unexpected error occured." +msgstr "Произошла неизвестная ошибка" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:80 +msgid "" +"No permissions to upload images. Try refreshing the page or ensuring that your " +"user account has sufficient roles/privileges." +msgstr "" +"Недостаточно прав для загрузки изображений! Попробуйте обновить страницу или " +"убедитесь что ваш аккаунт имеет права на запись в папку" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:123 +msgid "Directory does not exist." +msgstr "Папка не существует" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:127 +msgid "No directory specified." +msgstr "Папка не указана" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:131 +msgid "" +"No permissions to browse folders. Try refreshing the page or ensuring that your " +"user account has sufficient roles/privileges." +msgstr "" +"Недостаточно прав для просмотра папок. Обновите страницу и убедитесь что у вас " +"достаточно прав для просмотра папок" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:165 +msgid "No folder specified" +msgstr "Папка не указана" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:169 +msgid "" +"No permissions to import folders. Try refreshing the page or ensuring that your " +"user account has sufficient roles/privileges." +msgstr "" +"Недостаточно прав для импорта папок. Попробуйте обновить страницу и убедитесь " +"что ваш аккаунт имеет соответствующие привилегии." + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:1 +msgid "" +"Select a folder to import. The folder name will be used as the title of the " +"gallery." +msgstr "" +"Выберите папку для импорта. Имя папки будет назначено в качестве заголовка " +"галереи" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:5 +msgid "Keep images in original location." +msgstr "Оставлять изображения в исходной папке" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:5 +msgid "" +"Caution: If you keep images in the original folder and later delete the gallery," +" the images in that folder might be deleted depending on your settings." +msgstr "" +"Осторожно! Если поставить эту галочку то при удалении галереи все её " +"изображения удалятся выбранной из папки!" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:39 +msgid "Importing gallery" +msgstr "Импортирование галереи" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:41 +msgid "In Progress..." +msgstr "В процессе..." + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:56 +msgid "Done! Successfully imported %s images" +msgstr "Завершено! Успешно импортировано %s изображений" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:2 ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:217 ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:226 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:814 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:154 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:154 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:167 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:167 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:185 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:454 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:511 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:286 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:457 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:314 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:318 +msgid "Gallery" +msgid_plural "Galleries" +msgstr[0] "Галерея" +msgstr[1] "Галереи" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:4 +msgid "Create a new gallery" +msgstr "Создать новую галерею" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:13 +msgid "You browser doesn't have Flash, Silverlight, HTML5, or HTML4 support." +msgstr "" +"Ваш браузер не поддерживает ни одну из технологий: Flash, Silverlight, HTML5, " +"или HTML4." + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:99 +msgid "Drag image and ZIP files here or click Add Files" +msgstr "" +"Перетащите изображения или ZIP папку сюда, либо нажмите Добавить " +"файлы" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:149 +msgid "%s images were uploaded successfully" +msgstr "%s изоражений успешно загружено" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:152 +msgid "1 image was uploaded successfully" +msgstr "1 изображение успешно загружено" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:155 +msgid "0 images were uploaded" +msgstr "0 изображений было загружено" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:169 +msgid "Upload complete" +msgstr "Загрузка завершена" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:191 +msgid "" +"An unexpected error occured. This is most likely due to a server " +"misconfiguration. Check your PHP error log or ask your hosting provider for " +"assistance." +msgstr "" +"Неизвестная ошибка! Обычно это возникает из-за неправильной конфигурации " +"сервера. Проверьте ваш журнал PHP ошибок или попросите помощи у вашего хостинг " +"провайдера" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:25 +msgid "Display galleries as" +msgstr "Отображать галереи как" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:26 +msgid "How would you like galleries to be displayed?" +msgstr "Как вы хотите чтобы отображались галереи?" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:28 +msgid "Galleries per page" +msgstr "Галлерей на страницу" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:47 +msgid "Items per page" +msgstr "Изображений на страницу" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:48 +msgid "Maximum number of galleries or sub-albums to appear on a single page" +msgstr "Максимальное кол-во галерей или вложенных альбомов на страницу" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_album/templates/extended.php:15 ../../../../../products/photocrati_nextgen/modules/nextgen_basic_album/templates/compact.php:29 ../../../../../products/photocrati_nextgen/modules/ngglegacy/view/album-compact.php:45 ../../../../../products/photocrati_nextgen/modules/ngglegacy/view/album-extend.php:31 +msgid "Photos" +msgstr "Фото" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:100 +msgid "Clear" +msgstr "Очистить" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:101 +msgid "Default" +msgstr "По умолчанию" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:102 +msgid "Select Color" +msgstr "Выберите цвет" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:103 +msgid "Current Color" +msgstr "Текущий цвет" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:174 +msgid "Saved successfully" +msgstr "Успешно сохранено" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:226 ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:167 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:537 +msgid "Enable AJAX pagination" +msgstr "Переключение страниц через AJAX" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:238 +msgid "Override thumbnail settings" +msgstr "Переопределить настройки эскизов" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:240 +msgid "" +"This does not affect existing thumbnails; overriding the thumbnail settings " +"will create an additional set of thumbnails. To change the size of existing " +"thumbnails please visit 'Manage Galleries' and choose 'Create new thumbnails' " +"for all images in the gallery." +msgstr "" +"Это не влияет на существующие эскизы; переопределение параметров эскизов " +"создаст дополнительный набор миниатюр. Чтобы изменить размер существующих " +"эскизов пожалуйста, зайдите в 'Управление галереями' и выберите 'Создать новые " +"эскизы' для всех изображений в галерее." + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:274 +msgid "Thumbnail crop" +msgstr "Обрезка миниатюр" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:310 +msgid "Override image settings" +msgstr "Переопределить настройки изображений" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:312 +msgid "Overriding the image settings will create an additional set of images" +msgstr "Переопределине настроек изображений создаст дополнительный набор изображений" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:330 +msgid "Image crop" +msgstr "Обрезать" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:339 +msgid "Image watermark" +msgstr "Водяной знак" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:363 +msgid "Gallery width" +msgstr "Ширина галереи" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:365 +msgid "An empty or 0 setting will make the gallery full width" +msgstr "Пустое или 0 значение установить полную ширину изображения" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:369 +msgid "Pixels" +msgstr "Пиксели" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:369 +msgid "Percent" +msgstr "Проценты" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:378 +msgid "First Image" +msgstr "Первое изображение" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_admin/class.form.php:379 +msgid "Average" +msgstr "Средний" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/module.nextgen_other_options.php:39 ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.other_options_controller.php:22 +msgid "Other Options" +msgstr "Прочие настройки" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:12 +msgid "Watermarks" +msgstr "Водяной знак" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:41 +msgid "Using an Image" +msgstr "Накладывать изображение" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:42 +msgid "Using Text" +msgstr "Накладывать текст" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:69 +msgid "An absolute or relative (to the site document root) file system path" +msgstr "Абсолютная или относительная ссылка (к корневой папке сайта) в файловой системе" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:71 +msgid "" +"An absolute or relative (to the site document root) file system path or an HTTP " +"url" +msgstr "Абсолютный или относительный (к главной папке сайта) путь к файлу или HTTP url" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:74 +msgid "Image URL:" +msgstr "URL изображения:" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:92 +msgid "Font Size:" +msgstr "Размер шрифта:" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:94 +msgid "Font Color:" +msgstr "Цвет шрифта:" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:97 +msgid "Text:" +msgstr "Текст:" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:99 +msgid "Opacity:" +msgstr "Непрозрачный:" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:126 +msgid "" +"Please note: You can only activate the watermark under Manage Gallery. This " +"action cannot be undone." +msgstr "" +"Обратите внимание: Вы можете активировать водяной знак в Управлении галереями. " +"Это действие нельзя отменить" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:127 +msgid "How will you generate a watermark?" +msgstr "Тип водяного знака" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:131 +msgid "Position:" +msgstr "Расположение:" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:133 +msgid "Offset:" +msgstr "Смещение:" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:136 ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:23 +msgid "(Show Customization Options)" +msgstr "(Дополнительно)" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:137 ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:24 +msgid "(Hide Customization Options)" +msgstr "(Скрыть доп. настройки)" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:139 +msgid "Preview of saved settings:" +msgstr "Предпросмотр:" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:140 +msgid "Refresh preview image" +msgstr "Обновить мини-картинки" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.lightbox_manager_form.php:12 +msgid "Lightbox Effects" +msgstr "Эффекты Lightbox" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.lightbox_manager_form.php:38 +msgid "What effect would you like to use?" +msgstr "Какой эффект использовать?" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.roles_form.php:7 +msgid "Roles & Capabilities" +msgstr "Распределение привилегий" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:12 +msgid "Miscellaneous" +msgstr "Прочие настройки" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:21 +msgid "Add MediaRSS link?" +msgstr "Добавлять ссылку RSS?" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:22 +msgid "" +"When enabled, adds a MediaRSS link to your header. Third-party web services can " +"use this to publish your galleries" +msgstr "" +"Если эта функция включена, добавляется ссылка MediaRSS в заголовок страницы. " +"Сторонние веб-сервисы могут использовать это для публикации ваших галерей" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:26 +msgid "Clear image cache" +msgstr "Очистить кеш изображений" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:27 +msgid "" +"Completely clear the NextGEN cache of all image modifications?\n" +"\n" +"Choose [Cancel] to Stop, [OK] to proceed." +msgstr "" +"Полностью очистить кеш всех галерей?\n" +"\n" +"\n" +"Нажмите [Отмена] для отмены, [OK] для очистки.\n" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:32 +msgid "Permalink slug" +msgstr "Постоянная ссылка" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:39 +msgid "Maximum image count" +msgstr "Максимальное количество изображений" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:41 +msgid "" +"This is the maximum limit of images that NextGEN will restrict itself to " +"querying" +msgstr "Максимальное кол-во изображений которые NextGEN будет выводить при запросе" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:7 +msgid "Reset Options" +msgstr "Сбросить настройки" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:15 +msgid "Reset all options to default settings" +msgstr "Сбросить настройки на стандартные?" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:16 +msgid "Replace all existing options and gallery options with their default settings" +msgstr "Заменяет все текущие настройки на стандартные" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:17 +msgid "Reset settings" +msgstr "Сбросить настройки" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:18 +msgid "" +"Reset all options to default settings?\n" +"\n" +"Choose [Cancel] to Stop, [OK] to proceed." +msgstr "" +"Сбросить все параметры на стандартные?\n" +"\n" +"\n" +"Выберите [Отмена] для отмены или [Ok] для сброса" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:12 +msgid "Styles" +msgstr "Стили" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:18 +msgid "Enable custom CSS" +msgstr "Включить пользовательские стили CSS" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:20 +msgid "What stylesheet would you like to use?" +msgstr "Какой стиль вы хотите использовать?" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:25 +msgid "File Content:" +msgstr "Содержимое файла:" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:26 +msgid "Changes you make to the contents will be saved to" +msgstr "Изменения в этом поле будут сохранены в " + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:27 +msgid "You could edit this file if it were writable" +msgstr "Вы можете изменить этот файл если он доступен для записи" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:12 +msgid "Thumbnail Options" +msgstr "Параметры миниатюр" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:20 +msgid "Default thumbnail dimensions:" +msgstr "Размер эскиза по умолчанию" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:21 +msgid "When generating thumbnails, what image dimensions do you desire?" +msgstr "Размер при создании эскизов" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:24 +msgid "Set fix dimension?" +msgstr "Фиксированный размер" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:25 +msgid "Ignore the aspect ratio, no portrait thumbnails?" +msgstr "Игнорировать соотношение сторон" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:27 +msgid "Adjust Thumbnail Quality?" +msgstr "Качество эскизов" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:28 +msgid "When generating thumbnails, what image quality do you desire?" +msgstr "Качество изображений эскизов" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:30 +msgid "Size List" +msgstr "Список размеров" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:31 +msgid "List of default sizes used for thumbnails and images" +msgstr "Список размеров используется при отображении эскизов галереи" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:12 +msgid "Image Options" +msgstr "Настройки изображений" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:22 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/thumbnails-template.php:76 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:588 +msgid "Custom" +msgstr "Пользовательский" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:23 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:549 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:111 +msgid "Image ID" +msgstr "ID Изображения" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:24 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:570 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:165 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:112 +msgid "Filename" +msgstr "Имя файла" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:25 +msgid "Alt/Title Text" +msgstr "Всплывающий текст" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:26 ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:456 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:114 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:543 +msgid "Date/Time" +msgstr "Дата/Время" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:38 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:557 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:115 +msgid "Ascending" +msgstr "По возрастанию" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:39 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:558 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:116 +msgid "Descending" +msgstr "По убыванию" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:50 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:388 +msgid "Categories" +msgstr "По категориям" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:51 ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:463 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:175 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:389 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:550 +msgid "Tags" +msgstr "По тегам" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:81 +msgid "Gallery path does not exist and could not be created" +msgstr "Путь галереи не существует и не может быть создан" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:86 +msgid "Where would you like galleries stored?" +msgstr "Где вы хотите хранить галереи?" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:87 +msgid "Where galleries and their images are stored" +msgstr "Путь где будут располагаться галереи и изображения" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:89 +msgid "Delete Image Files?" +msgstr "Удалять изображения?" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:90 +msgid "When enabled, image files will be removed after a Gallery has been deleted" +msgstr "" +"Когда включено, файлы изображений будут удаляться при удалении галереи из " +"списка" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:92 +msgid "Show Related Images on Posts?" +msgstr "Показывать связанные изображения?" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:93 +msgid "" +"When enabled, related images will be appended to each post by matching the " +"posts tags/categories to image tags" +msgstr "" +"Связанные изображения будут отображаться если теги изображения содержат теги " +"записи" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:95 +msgid "(Show Customization Settings)" +msgstr "(Дополнительно)" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:96 +msgid "(Hide Customization Settings)" +msgstr "(Скрыть доп. настройки)" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:97 +msgid "How should related images be match?" +msgstr "Метод сопоставления связанных изображений" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:100 +msgid "Maximum # of related images to display" +msgstr "Максимальное кол-во связанных изображений" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:102 +msgid "Heading for related images" +msgstr "Заголовок для связанных изображений" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:104 +msgid "What's the default sorting method?" +msgstr "Стандартный метод сортировки" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:107 +msgid "Sort in what direction?" +msgstr "Направление сортировки" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:110 +msgid "Automatically resize images after upload" +msgstr "Автоматически изменить размер после загрузки" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:111 +msgid "It is recommended that your images be resized to be web friendly" +msgstr "Рекомендуется чтоб ваши изображения были веб-адаптированы" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:113 +msgid "What should images be resized to?" +msgstr "На какой размер изменять изображения?" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:114 +msgid "" +"After images are uploaded, they will be resized to the above dimensions and " +"quality" +msgstr "После загрузки изображения его размер будет изменен и уменьшено качество" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:115 +msgid "Width:" +msgstr "Ширина:" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:116 +msgid "Height:" +msgstr "Высота:" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:117 +msgid "Quality:" +msgstr "Качество:" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:121 +msgid "Backup the original images?" +msgstr "Создавать бекапы изображений?" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:34 ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:37 +msgid "(Show Advanced Settings)" +msgstr "(Дополнительные настройки)" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:35 +msgid "(Hide Advanced Settings)" +msgstr "(Скрыть доп. настройки)" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:56 +msgid "What must the lightbox be applied to?" +msgstr "Область применения эффекта" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:60 +msgid "Only apply to NextGEN images" +msgstr "Только для изображений NextGEN Gallery" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:61 +msgid "Only apply to NextGEN and WordPress images" +msgstr "Только для изображений NextGEN Gallery и вложенных изображений WordPress" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:62 +msgid "Try to apply to all images" +msgstr "Пытаться применить ко всем изображениям сайта" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:63 +msgid "Try to apply to all images that link to image files" +msgstr "" +"Пытаться применить ко всем изображениям которые которые ссылаются на файлы " +"изображений" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php:35 +msgid "Place any custom stylesheets in wp-content/ngg_styles" +msgstr "" +"Поместите ваши пользовательские стили в папку wp-" +"content/ngg_styles" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php:38 +msgid "All stylesheets must contain a file header" +msgstr "" +"Все файлы стилей должны содержать спец. заголовок " +"(клик для просмотра)." + +#: ../../../../../products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:34 +msgid "Code" +msgstr "Код" + +#: ../../../../../products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:48 +msgid "Stylesheet URL" +msgstr "Ссылка на файл стилей CSS" + +#: ../../../../../products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:62 +msgid "Javascript URL" +msgstr "Ссылка на Javascript " + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:24 +msgid "Maximum number of tags" +msgstr "Максимальное кол-во тегов" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:46 +msgid "Display type" +msgstr "Вид" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:244 ../../../../../products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:301 ../../../../../products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.display_settings_controller.php:17 +msgid "Gallery Settings" +msgstr "Настройки гелереи" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:300 +msgid "NextGEN Gallery & Album Settings" +msgstr "Настройка " + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery.php:73 +msgid "Source not compatible with selected display type" +msgstr "Источник не совместим с выбранным типом отображения" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_gallery_display/templates/alt_view_link_text.php:15 ../../../../../products/photocrati_nextgen/modules/nextgen_gallery_display/templates/return_link_text.php:15 +msgid "link text" +msgstr "текст ссылки" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_xmlrpc/module.nextgen_xmlrpc.php:425 +msgid "Sorry, you must be able to manage galleries" +msgstr "Извините, у вас должны быть привилегии для управления галереями" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:41 ../../../../../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:30 ../../../../../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:26 ../../../../../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:26 +msgid "Back" +msgstr "Назад" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:49 ../../../../../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:33 ../../../../../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:29 ../../../../../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:29 +msgid "Next" +msgstr "Вперёд" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:55 ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:220 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:89 ../../../../../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:35 ../../../../../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:31 ../../../../../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:31 +msgid "Picture" +msgstr "Изображение" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:55 ../../../../../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:35 ../../../../../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:31 ../../../../../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:31 +msgid "of" +msgstr "из" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:65 +msgid "Images per page" +msgstr "Изображений на страницу" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:67 +msgid "0 will display all images at once" +msgstr "Поставьте 0 чтобы отображать все изображения сразу" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:85 +msgid "Number of columns to display" +msgstr "Изображений в ряду" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:89 +msgid "# of columns" +msgstr "# столбцов" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:105 +msgid "Piclens link text" +msgstr "Текст ссылки Piclens" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:123 +msgid "Show piclens link" +msgstr "Показывать ссылку PicLens " + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:139 +msgid "Add Hidden Images" +msgstr "Отображать скрытые изображения" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:141 +msgid "" +"If pagination is used this option will show all images in the modal window " +"(Thickbox, Lightbox etc.) This increases page load." +msgstr "" +"Отображать также скрытые изображения при переключении изображений в окне " +"(которое появляется при клике на изображение)" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:150 +msgid "Use imagebrowser effect" +msgstr "Использовать просмотрщик изображений" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:152 +msgid "" +"When active each image in the gallery will link to an imagebrowser display and " +"lightbox effects will not be applied." +msgstr "" +"Все изображения галереи будут отображаться во встроенном просмотрщике " +"изображений. Эффекты lightbox будут недоступны" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:169 +msgid "Browse images without reloading the page." +msgstr "Листать изображения без перезагрузки всей страницы." + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:184 +msgid "Show slideshow link" +msgstr "Показывать кнопку слайдшоу" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:200 +msgid "Slideshow link text" +msgstr "Заголовок кнопки слайдошу" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:62 +msgid "Interval" +msgstr "Интервал" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:66 +msgid "# of seconds" +msgstr "# секунд" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:97 +msgid "Maximum dimensions" +msgstr "Максимальный размер" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:98 +msgid "" +"Certain themes may allow images to flow over their container if this setting is " +"too large" +msgstr "" +"Некоторые темы могут влиять на контейнер и изображение выйдет за рамки если " +"указать слишком большой размер" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:109 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:765 +msgid "Enable flash slideshow" +msgstr "Включить flash слайдшоу" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:120 +msgid "Shuffle" +msgstr "Случайно" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:132 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:782 +msgid "Show next image on click" +msgstr "Показать следующее изображение по клику" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:144 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:786 +msgid "Show navigation bar" +msgstr "Показать навигационную панель" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:156 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:790 +msgid "Show loading icon" +msgstr "Показать иконку загрузки" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:168 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:794 +msgid "Use watermark logo" +msgstr "Использовать водяной знак" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:170 +msgid "" +"Use the watermark image in the Flash object. Note: this does not watermark the " +"image itself, and cannot be applied with text watermarks" +msgstr "" +"Использовать водяной знак в Flash объектах. Внимание: это не может быть " +"применено с текстовым водяным знаком" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:180 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:799 +msgid "Stretch image" +msgstr "Растянуть изображение" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:217 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:827 +msgid "Use slow zooming effect" +msgstr "Использовать медленный эффект увеличенич" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:229 +msgid "Background music (url)" +msgstr "Фоновая музыка (url)" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:254 +msgid "Background" +msgstr "Фон" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:266 +msgid "Texts / buttons" +msgstr "Текст / кнопки" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:290 +msgid "Screen" +msgstr "Экран" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:308 +msgid "Show thumbnail link" +msgstr "Показывать ссылки миниатюр" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:324 +msgid "Thumbnail link text" +msgstr "Текст ссылки миниатюр" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_mapper.php:93 +msgid "[Show PicLens]" +msgstr "[Показать PicLens]" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/index.php:35 +msgid "" +"Slideshows require the Flash Player and a browser with Javascript support." +msgstr "" +"Для работы слайдшоу требуется  Flash Player Ð¸ Ð±Ñ€Ð°ÑƒÐ·ÐµÑ€ с поддержкой Flash." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/nggfunctions.php:29 +msgid "[Gallery not found]" +msgstr "[Галерея не найдена]" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/nggfunctions.php:163 +msgid "Related images for" +msgstr "Связанные изображения для" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/nggallery.php:64 +msgid "" +"Translation by : See here" +msgstr "" +"Перевод by : Смотреть здесь" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/nggallery.php:65 +msgid "" +"This translation is not yet updated for Version 1.9.0. If you " +"would like to help with translation, download the current po from the plugin " +"folder and read here " +"how you can translate the plugin." +msgstr "" +"Этот перевод еще не обновлен до версии 1.9.0.Если вы хотите " +"помоч с переводом, загрузите актуальный PO файл из папки плагина и изучите здесь как переводить " +"плагины." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/nggallery.php:158 +msgid "Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB or higher" +msgstr "" +"Извините, NextGEN Gallery работает только с серверами у которых не менее 16Мб " +"оперативной памяти" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/nggallery.php:184 +msgid "Picture tag" +msgstr "Тег изображения" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/nggallery.php:185 +msgid "Picture tag: %2$l." +msgstr "Тег изображения: %2$l." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/nggallery.php:186 +msgid "Separate picture tags with commas." +msgstr "Теги изображения, разделённые запятой" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/nggallery.php:324 +msgid "Get help" +msgstr "Помощь" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/nggallery.php:325 +msgid "Contribute" +msgstr "Пожертвовать" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/multisite.php:23 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:658 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php:640 +msgid "" +"Sorry, you have used your space allocation. Please delete some files to upload " +"more files." +msgstr "Память заполнена, пожалуйста удалите часть данных " + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:68 ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:70 +msgid "Set NextGEN featured image" +msgstr "Установить изображение галереи NExtGEN" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:328 ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:329 +msgid "Set featured image" +msgstr "Выбрать подходящие изображения" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:141 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:163 +msgid " sec" +msgstr "сек." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:455 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:542 +msgid "Caption" +msgstr "Заголовок" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:459 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:546 +msgid "ISO" +msgstr "ISO" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:462 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:459 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:132 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:409 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:549 +msgid "Author" +msgstr "Владелец" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:466 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:553 +msgid "Edit Status" +msgstr "Изменить статус" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:467 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:554 +msgid "Category" +msgstr "Рубрика" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:468 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:555 +msgid "Keywords" +msgstr "Ключевые слова" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:469 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:556 +msgid "Date Created" +msgstr "Дата создания" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:470 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:557 +msgid "Time Created" +msgstr "Время создания" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:472 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:559 +msgid "City" +msgstr "Город" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:474 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:561 +msgid "Province/State" +msgstr "Штат" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:481 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:568 +msgid "Contact" +msgstr "Контакты" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:482 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:569 +msgid "Last modified" +msgstr "Последнее изменение" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:484 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:571 +msgid "Format" +msgstr "Формат" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:485 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:572 +msgid "Image Width" +msgstr "Ширина изображения" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:486 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:573 +msgid "Image Height" +msgstr "Высота изображения" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:487 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:574 +msgid "Flash" +msgstr "Вспышка" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:35 +msgid "No new tag specified!" +msgstr "Новые теги не обнаружены!" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:50 +msgid "No new/old valid tag specified!" +msgstr "Новые/корректные теги не обнаружены!" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:86 +msgid "No tag renamed." +msgstr "Теги не переименованы" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:88 +msgid "Renamed tag(s) «%1$s» to «%2$s»" +msgstr "Переименованные тег(и) «%1$s» в «%2$s»" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:95 +msgid "No valid new tag." +msgstr "Нет новых корректных тегов." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:112 +msgid "No objects (post/page) found for specified old tags." +msgstr "Не обнаружено записей/страниц со старыми тегами для их обновления" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:141 +msgid "No tag merged." +msgstr "Нет тегов для слияния" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:143 +msgid "Merge tag(s) «%1$s» to «%2$s». %3$s objects edited." +msgstr "Слияние тегов «%1$s» с «%2$s». %3$s тег(а) изменено" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:146 +msgid "Error. Not enough tags provided to rename or merge." +msgstr "Ошибка. Нет тегов для переименования или слияния" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:165 +msgid "No tag specified!" +msgstr "Теги не указаны" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:188 +msgid "No tag deleted." +msgstr "Нет тегов для удаления" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:190 +msgid "%1s tag(s) deleted." +msgstr "%1s тег(ов) удалено." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:206 +msgid "No new slug(s) specified!" +msgstr "Новых ссылок не обнаружено!" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:218 +msgid "Tags number and slugs number isn't the same!" +msgstr "Количество тегов и ссылок различается!" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:245 +msgid "No slug edited." +msgstr "Нет ссылок для изменения" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:247 +msgid "%s slug(s) edited." +msgstr "%s ссылок изменено." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:223 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:320 +msgid "Album" +msgid_plural "Albums" +msgstr[0] "Альбом" +msgstr[1] "Альбомы" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:229 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:679 +msgid "Page" +msgstr "Страница" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/core.php:101 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:76 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:85 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:736 +msgid "Unable to create directory " +msgstr "Не могу создать папку" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/core.php:396 +msgid "" +"Note : Based on your server memory limit you should not upload larger images " +"then %d x %d pixel" +msgstr "" +"Заметка: Из-за ограничений размера оперативной памяти сервера, вы не должны " +"загружать изображения больше чем %d x %d пикселей" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php:337 ../../../../../products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php:338 +msgid "Album overview" +msgstr "Просмотр альбома" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:50 +msgid "No galleries have been yet created." +msgstr "Галереи небыли созданы" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:69 +msgid "The gallery ID=%s does not exist." +msgstr "Галерея ID=%s не существует" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:100 +msgid "No album ID has been provided as parameter" +msgstr "Ни одного ID-альбома не было передано в качестве параметра" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:108 +msgid "The album ID=%s does not exist." +msgstr "Альбом под номером ID=%s не существует" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:115 +msgid "Invalid MediaRSS command" +msgstr "Неправильная MediaRSS команда" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:33 +msgid "Update successfully" +msgstr "Обновление успешно" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:48 +msgid "Network Options" +msgstr "Настройки сети" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:54 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:340 +msgid "Gallery path" +msgstr "Расположение галереи" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:56 +msgid "" +"This is the default path for all blogs. With the placeholder %BLOG_ID% you can " +"organize the folder structure better." +msgstr "" +"Это стандартный путь для всех записей. С тегом %BLOG_ID% вы можете организовать " +"структуру папок лучше" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:57 +msgid "The default setting should be %s" +msgstr "Настройки по умолчанию должны" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:61 +msgid "Enable upload quota check" +msgstr "Включить проверку квоты при загрузке" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:63 +msgid "Should work if the gallery is bellow the blog.dir" +msgstr "Должно работать если галерея находится ниже папки блога blog.dir" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:67 +msgid "Enable zip upload option" +msgstr "Включить опцию загрузки ZIP архивов" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:69 +msgid "Allow users to upload zip folders." +msgstr "Разрешить загрузку zip-папок" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:73 +msgid "Enable import function" +msgstr "Включить функции импорта" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:75 +msgid "Allow users to import images folders from the server." +msgstr "Разрешить пользователям импортировать изображения из папок на сервере" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:79 +msgid "Enable style selection" +msgstr "Включить выбор стилей" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:81 +msgid "Allow users to choose a style for the gallery." +msgstr "Разрешить пользователям выбирать стиль галереи." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:85 +msgid "Enable roles/capabilities" +msgstr "Включить разделение привилегий" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:87 +msgid "Allow users to change the roles for other blog authors." +msgstr "Разрешить пользователям изменять привилегии для авторов других статей" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:91 +msgid "Default style" +msgstr "Стиль по умолчанию" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:108 +msgid "Choose the default style for the galleries." +msgstr "Выберите стиль по умолчанию для галерей" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:112 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:94 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:423 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:166 +msgid "Update" +msgstr "Применить" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/install.php:20 +msgid "Sorry, NextGEN Gallery works only with a role called administrator" +msgstr "Sorry, NextGEN Gallery works only with a role called administrator" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/install.php:92 +msgid "NextGEN Gallery : Tables could not created, please check your database settings" +msgstr "" +"NextGEN Gallery : Невозможно создать таблицы, пожалуйста проверьте настройки " +"базы данных." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/ajax.php:360 +msgid "Could create image with %s x %s pixel" +msgstr "Создано изображение с размером %s x %s пикселей" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:17 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:20 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:172 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:216 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:239 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:19 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:22 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:618 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:7 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:10 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:13 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:10 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:13 +msgid "Cheatin’ uh?" +msgstr "Обманка’ мм?" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:60 +msgid "Image rotated" +msgstr "Изображение повёрнуто" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:62 +msgid "Error rotating thumbnail" +msgstr "Ошибка при повороте эскиза" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:85 +msgid "90° clockwise" +msgstr "90° по часовой стрелке" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:86 +msgid "90° anticlockwise" +msgstr "90° против часовой стрелки" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:87 +msgid "Flip vertically" +msgstr "Отразить по вертикали" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:88 +msgid "Flip horizontally" +msgstr "Отразить по горизонтали" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:180 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:209 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:253 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:24 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:178 +msgid "Update Successfully" +msgstr "Обновление успешно" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:227 +msgid "Album deleted" +msgstr "Альбом удалён" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:389 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:55 +msgid "Edit Album" +msgstr "Редактировать альбом" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:410 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:459 +msgid "Select album" +msgstr "Выберите альбом" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:412 +msgid "No album selected" +msgstr "Альбом не выбран" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:425 +msgid "Edit album" +msgstr "Редактировать альбом" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:428 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:187 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:227 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:361 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:363 +msgid "Delete" +msgstr "Удалить" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:432 +msgid "Add new album" +msgstr "Добавить новый альбом" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:434 +msgid "Add" +msgstr "Добавить" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:445 +msgid "Show / hide used galleries" +msgstr "Показать/скрыть используемые галереи" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:445 +msgid "[Show all]" +msgstr "[Показать все]" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:446 +msgid "Maximize the widget content" +msgstr "Максимизировать содержимое виджета" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:446 +msgid "[Maximize]" +msgstr "[Раскрыть все]" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:447 +msgid "Minimize the widget content" +msgstr "Минимизировать содержимое виджета" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:447 +msgid "[Minimize]" +msgstr "[Закрыть все]" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:449 +msgid "" +"After you create and select a album, you can drag and drop a gallery or another " +"album into your new album below" +msgstr "" +"После создания и выбора альбома ниже, вы можете перетащить галерею или другой " +"альбом в ваш новый альбом ниже" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:475 +msgid "Select gallery" +msgstr "Выберите галерею" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:500 +msgid "Album ID" +msgstr "ID альбома" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:513 +msgid "No album selected!" +msgstr "Альбом не выбран!" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:534 +msgid "Album name:" +msgstr "Название альбома:" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:540 +msgid "Album description:" +msgstr "Описание альбома:" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:546 +msgid "Select a preview image:" +msgstr "Выберите миниатюру:" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:549 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:552 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_preview_image_field.php:3 +msgid "No picture" +msgstr "Нет изображения" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:563 +msgid "Page Link to" +msgstr "Ссылка на страницу" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:582 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:406 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:442 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:471 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:502 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:337 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:366 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:397 +msgid "OK" +msgstr "OK" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:584 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:408 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:444 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:473 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:504 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:339 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:368 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:399 +msgid "Cancel" +msgstr "Отмена" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/album.php:677 +msgid "Name" +msgstr "Имя" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:39 +msgid "No valid gallery name!" +msgstr "Недопустимое имя галереи!" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:46 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:55 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:80 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:780 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:788 +msgid "Directory" +msgstr "Папка" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:46 +msgid "didn't exist. Please create first the main gallery folder " +msgstr "не существует. Пожалуйста создайте вначале родительскую папку с галереями" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:47 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:56 +msgid "Check this link, if you didn't know how to set the permission :" +msgstr "Изучите эту страницу если вы не знаете как сменить привилегии" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:55 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:80 +msgid "is not writeable !" +msgstr "запись запрещена !" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:89 +msgid "The server setting Safe-Mode is on !" +msgstr "Безопасный режим сервера активен!" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:90 +msgid "If you have problems, please create directory" +msgstr "Если возникнут проблемы, создайте папку" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:91 +msgid "and the thumbnails directory" +msgstr "и направление эскиза" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:91 +msgid "with permission 777 manually !" +msgstr "с правами chmod 777 вручную" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:116 +msgid "" +"Gallery ID %1$s successfully created. You can show this gallery in your post or " +"page with the shortcode %2$s.
      " +msgstr "" +"Галерея %1$s успешно создана. Вы можете поместить галерею в запись или страницу," +"используя код %2$s.
      " + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:119 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:853 +msgid "Edit gallery" +msgstr "Изменить галерею" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:188 +msgid "Error while creating thumbnail." +msgstr "Ошибка при создании миниатюр." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:242 +msgid "Error while resizing image." +msgstr "Ошибка при изменении размера изображения" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:326 +msgid "Error while rotating image." +msgstr "Ошибка при перевороте изображения." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:361 +msgid "Error while applying watermark to image." +msgstr "Ошибка при наложении водяного знака на изображение." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:385 +msgid "Object didn't contain correct data" +msgstr "Объект содержит некорректные данные" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:388 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:772 +msgid " is not writeable" +msgstr "недоступен для записи" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:391 +msgid "File do not exists" +msgstr "Файл не существует" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:395 +msgid "Couldn't restore original image" +msgstr "Не могу восстановить оригинальное изображение" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:511 +msgid "(Error : Couldn't not update data base)" +msgstr "(Ошибка: Не могу обновить базу данных)" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:518 +msgid "(Error : Couldn't not update meta data)" +msgstr "(Ошибка: Не могу обновить мета-данные)" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:527 +msgid "(Error : Couldn't not find image)" +msgstr "(Ошибка: Не могу обнаружить изображение)" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:670 +msgid "No valid URL path " +msgstr "Не корректный URL" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:686 +msgid "Import via cURL failed." +msgstr "Импорт с cURL не удался." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:703 +msgid "Uploaded file was no or a faulty zip file ! The server recognized : " +msgstr "Файл не был загружен либо это не ZIP-архив! Ответ сервера:" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:720 +msgid "Could not get a valid foldername" +msgstr "Не могу получить корректное имя папки" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:731 +msgid "Unable to create directory %s. Is its parent directory writable by the server?" +msgstr "Не могу создать папку %s. Проверьте права на запись родительской папки" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:746 +msgid "Zip-File successfully unpacked" +msgstr "ZIP-архив успешно распакован" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:780 +msgid "doesn`t exist!" +msgstr "не существует" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:788 +msgid "contains no pictures" +msgstr "не содержит изображений" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:808 +msgid "Database error. Could not add gallery!" +msgstr "Ошибка базы данных. Не могу добавить галерею!" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:814 +msgid "successfully created!" +msgstr "успешно создано!" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:848 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:958 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:238 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:322 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:111 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:189 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:660 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:738 +msgid "Create new thumbnails" +msgstr "Создать новые превью-изображения" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:851 +msgid " picture(s) successfully added" +msgstr "изображение(я) успешно добавлены" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:882 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:982 +msgid "No gallery selected !" +msgstr "Галерея не выбрана!" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:890 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1007 +msgid "Failure in database, no gallery path set !" +msgstr "Ошибка в базе данных, путь к галерее не указан!" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:914 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1001 +msgid "is no valid image file!" +msgstr "некорректный файл изоражения!" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:928 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1126 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1211 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:652 +msgid "Unable to write to directory %s. Is this directory writable by the server?" +msgstr "Не могу записать в папку %s. Проверьте права на запись папки" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:935 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1024 +msgid "Error, the file could not be moved to : " +msgstr "Ошибка, не могу переместить файл в :" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:940 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1028 +msgid "Error, the file permissions could not be set" +msgstr "Ошибка, не могу установить права на файл" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:963 +msgid " Image(s) successfully added" +msgstr "Изображения успешно добавлены" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:990 +msgid "Invalid upload. Error Code : " +msgstr "Неудачная загрузка. Код ошибки:" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1066 +msgid "" +"SAFE MODE Restriction in effect! You need to create the folder " +"%s manually" +msgstr "" +"Используется БЕЗОПАСНЫЙ РЕЖИМ! Вам необходимо создать папку %s " +"вручную!" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1067 +msgid "" +"When safe_mode is on, PHP checks to see if the owner (%s) of the current script " +"matches the owner (%s) of the file to be operated on by a file function or its " +"directory" +msgstr "" +"Если переменная сервера safe_mode включена, то PHP проверяет, если владелец " +"выполнения текущего скрипта совпадает с владельцем файла то операция над " +"файлом/папкой успешно завершится." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1120 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1197 +msgid "The destination gallery does not exist" +msgstr "Галерея назначения не существует." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1151 +msgid "Failed to move image %1$s to %2$s" +msgstr "Ошибка при перемещении изображения %1$s в %2$s" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1171 +msgid "Moved %1$s picture(s) to gallery : %2$s ." +msgstr "Перемещение %1$s изображений в галерею : %2$s ." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1237 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:711 +msgid "Failed to copy image %1$s to %2$s" +msgstr "Ошибка при копировании изображения %1$s в %2$s" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1251 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:681 +msgid "Failed to copy database row for picture %s" +msgstr "Ошибка при копировании данных в базу данных" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1263 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:723 +msgid "" +"Image %1$s (%2$s) copied as image %3$s (%4$s) » The file already existed " +"in the destination gallery." +msgstr "" +"Изображение %1$s (%2$s) скопировано как %3$s (%4$s) » Файл уже существует " +"в папке назначения." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1266 ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:727 +msgid "Image %1$s (%2$s) copied as image %3$s (%4$s)" +msgstr "Изображение %1$s (%2$s) скопировано как %3$s (%4$s)" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1275 +msgid "Copied %1$s picture(s) to gallery: %2$s ." +msgstr "Скопировано %1$s изображений в галерею: %2$s ." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1383 +msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgstr "" +"Размер загружаемого файла превышает размер установленный директивой " +"upload_max_filesize в php.ini" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1386 +msgid "" +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the " +"HTML form" +msgstr "" +"Загруженный файл превышает размер установленный в MAX_FILE_SIZE директиве, " +"который был указан в HTML форме" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1389 +msgid "The uploaded file was only partially uploaded" +msgstr "Загруженный файл был загружен частично" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1392 +msgid "No file was uploaded" +msgstr "Нет файлов для загрузки" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1395 +msgid "Missing a temporary folder" +msgstr "Папка для временных файлов не существует" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1398 +msgid "Failed to write file to disk" +msgstr "Ошибка при записи файла на диск" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1401 +msgid "File upload stopped by extension" +msgstr "Загрузка файла была прервана из-за расширения файла" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1404 +msgid "Unknown upload error" +msgstr "Неизвестная ошибка при загрузке" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:155 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:155 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:186 +msgid "Overview" +msgstr "Обзор" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:168 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:168 +msgid "Network settings" +msgstr "Настройки сети" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:301 +msgid "You do not have the correct permission" +msgstr "Недостаточно привилегий" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:302 +msgid "Unexpected Error" +msgstr "Неизвестная ошибка" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:303 +msgid "A failure occurred" +msgstr "Произошла ошибка" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:307 +msgid "You have attempted to queue too many files." +msgstr "Вы поставили в очередь слишком много файлов" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:308 +msgid "This file exceeds the maximum upload size for this site." +msgstr "" +"Этот файл превышает максимально допустимый размер загрузки для этого сайта. " +"Обратитесь в техподдержку вашего хостинг-провайдера" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:309 +msgid "This file is empty. Please try another." +msgstr "Пустой файл. Проверьте файл" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:310 +msgid "This file type is not allowed. Please try another." +msgstr "Данный тип файла не разрешён. Попробуйте другой" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:311 +msgid "This file is not an image. Please try another." +msgstr "Это не файл изображения. Загрузите другой файл" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:312 +msgid "Memory exceeded. Please try another smaller file." +msgstr "Недостаточно оперативной памяти. Уменьшите размер файла" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:313 +msgid "This is larger than the maximum size. Please try another." +msgstr "Превышает максимальный размер. Повторите ввод" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:314 +msgid "An error occurred in the upload. Please try again later." +msgstr "При загрузке произошла ошибка. Пожалуйста попробуйте еще раз" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:315 +msgid "There was a configuration error. Please contact the server administrator." +msgstr " Ошибка конфигурации. Пожалуйста, обратитесь к администратору сервера." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:316 +msgid "You may only upload 1 file." +msgstr "Вы можете загрузить только 1 файл" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:318 +msgid "Upload failed." +msgstr "Загрузка не удалась" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:319 +msgid "IO error." +msgstr "Ошибка ввода/вывода I/O" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:320 +msgid "Security error." +msgstr "Ошибка безопасности" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:321 +msgid "File canceled." +msgstr "Отменён" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:322 +msgid "Upload stopped." +msgstr "Загрузка остановлена" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:325 +msgid "moved to the trash." +msgstr "перемещено в карзину" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:326 +msgid "“%s” has failed to upload due to an error" +msgstr "“%s” загрузка завершилась ошибкой" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:348 +msgid "L O A D I N G" +msgstr "З А Г Р У З К А" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:349 +msgid "Click to Close" +msgstr "Нажми чтоб закрыть" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:458 +msgid "Introduction" +msgstr "Введение" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:461 +msgid "" +"Languages" +msgstr "Языки" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:470 +msgid "More Help & Info" +msgstr "Больше информации и помощи" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:473 +msgid "FAQ" +msgstr "FAQ" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:474 +msgid "Feature request" +msgstr "Запрос новых функций" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:475 +msgid "Get your language pack" +msgstr "Скачать ваш языковой файл" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:477 +msgid "Download latest version" +msgstr "Загрузить последнюю версию" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:35 +msgid "Gallery not found." +msgstr "Галерея не найдена" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:41 +msgid "Sorry, you have no access here" +msgstr "Извините, у вас нет доступа" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:206 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:99 +msgid "No images selected" +msgstr "Изображения не выбраны" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:214 +msgid "Copy image to..." +msgstr "Скопировать изображение в..." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:218 +msgid "Move image to..." +msgstr "Переместить изображение в..." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:222 +msgid "Add new tags" +msgstr "Добавить новые теги" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:226 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:332 +msgid "Delete tags" +msgstr "Удалить теги" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:230 +msgid "Overwrite" +msgstr "Перезаписать" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:234 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:323 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:107 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:190 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:641 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:722 +msgid "Resize images" +msgstr "Изменить размер" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:243 +msgid "" +"You are about to start the bulk edit for %s images \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" +"Вы собираетесь начать процесс массового изменения изображений %s\n" +"\n" +"\n" +"Нажмите 'Отмена' для отмены, ОК для продолжения." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:269 +msgid "Search results for “%s”" +msgstr "Результат поиска для “%s”" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:272 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:275 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:171 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:174 +msgid "Search Images" +msgstr "Поиск изображений" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:298 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:488 +msgid "Gallery settings" +msgstr "Настройки галереи" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:298 +msgid "Click here for more settings" +msgstr "Нажмите для расширенных настроек" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:304 +msgid "Scan Folder for new images" +msgstr "Пересканировать папку для поиска новых изображений" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:306 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:341 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:386 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:400 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:436 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:478 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:563 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:598 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:708 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:861 +msgid "Save Changes" +msgstr "Сохранить изменения" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:320 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:186 +msgid "Bulk actions" +msgstr "Выберите действие" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:321 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:188 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:571 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:686 +msgid "Set watermark" +msgstr "Поставить водяной знак" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:324 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:192 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:566 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:683 +msgid "Recover from backup" +msgstr "Восстановить из бекапа" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:325 +msgid "Delete images" +msgstr "Удалить изображения" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:326 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:191 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:576 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:706 +msgid "Import metadata" +msgstr "Импортировать мета-данные" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:327 +msgid "Rotate images clockwise" +msgstr "Повернуть по часовой стрелке" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:328 +msgid "Rotate images counter-clockwise" +msgstr "Повернуть против часовой стрелке" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:329 +msgid "Copy to..." +msgstr "Скопировать в..." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:330 +msgid "Move to..." +msgstr "Переместить в..." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:331 +msgid "Add tags" +msgstr "Добавить теги" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:333 +msgid "Overwrite tags" +msgstr "Перезаписать теги" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:335 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:194 +msgid "Apply" +msgstr "Применить" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:338 +msgid "Sort gallery" +msgstr "Упорядочить галерею" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:379 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:309 +msgid "No entries found" +msgstr "Записи не найдены" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:402 +msgid "Enter the tags" +msgstr "Введите теги" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:426 +msgid "Select the destination gallery:" +msgstr "Выберите галерею назначения:" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:462 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:357 +msgid "Resize Images to" +msgstr "Изменить размер на" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:466 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:361 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:453 +msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size" +msgstr "Ширина х Высота (px). Соотношение сторон сохранится" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:490 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:385 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:40 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:416 +msgid "Width x height (in pixel)" +msgstr "Ширина и высота (px)" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:498 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:393 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:428 +msgid "Ignore the aspect ratio, no portrait thumbnails" +msgstr "Игнорировать соотношение сторон, без портретных эскизов" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:568 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:456 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:155 +msgid "ID" +msgstr "ID" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:569 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:160 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:266 +msgid "Thumbnail" +msgstr "Эскиз" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:571 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:458 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:134 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:245 +msgid "Description" +msgstr "Описание" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:572 +msgid "Tags (comma separated list)" +msgstr "Теги(разделяя запятой)" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:116 +msgid "" +"You are about to start the bulk edit for %s galleries \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" +"Вы собираетесь начать процесс массового изменения галерей %s\n" +"\n" +"\n" +"Нажмите 'Отмена' для отмены, ОК для продолжения." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:154 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:197 +msgid "Add new gallery" +msgstr "Добавить новую галерею" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:262 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:253 +msgid "Edit" +msgstr "Изменить" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:327 +msgid "New Gallery" +msgstr "Имя галереи" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:329 +msgid "Create a new , empty gallery below the folder" +msgstr "Будет создана новая пустая галерея в папке" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:331 +msgid "Allowed characters for file and folder names are" +msgstr "Разрешённые символы для файлов и папок" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:460 +msgid "Page ID" +msgstr "ID страницы" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:461 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:308 +msgid "Image" +msgid_plural "Images" +msgstr[0] "Изображение" +msgstr[1] "Изображения" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:14 +msgid "NextGEN Gallery Overview" +msgstr "NextGEN Gallery общие сведения" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:84 +msgid "Welcome to NextGEN Gallery !" +msgstr "Добро пожаловать в NextGEN Gallery !" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:85 +msgid "Do you like this Plugin?" +msgstr "Вам нравится этот плагин?" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:87 +msgid "About" +msgstr "About" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:90 +msgid "Server Settings" +msgstr "Параметры сервера" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97 +msgid "" +"NextGEN Gallery is one of the most popular Wordpress plugins of all time with " +"over 9 million downloads. It is developed and supported by Photocrati Media. " +"We'd like to offer a special thanks to Alex Rabe, who first developed the " +"plugin and maintained it through 2011." +msgstr "" +"NextGEN Галерея - один из самых популярных плагинов WordPress с более чем 9 " +"миллионами загрузок. Разрабатывается и поддерживается Photocrati Media. Мы " +"хотели бы выразить особую благодарность Alex Rabe, который первым разработал " +"плагин и поддерживал его до 2011 года." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:98 +msgid "" +"NEED HELP? If you need help or assistance please visit the NextGEN Gallery " +"forums on WordPress.org. Please note that we actively monitor and " +"participate in the forums, but given that NextGEN Gallery is a free product, " +"we don't guarantee replies to support queries." +msgstr "" +"НУЖНА ПОМОЩЬ? Если вам нужна помощь или консультация, " +"пожалуйста, посетите NextGEN Gallery форум на WordPress.org. Обратите внимание, что мы " +"отслеживаем и участвуем в обсуждениях, но, учитывая, что NextGEN Галерея это " +"бесплатный продукт, мы не гарантируем что ответим на каждый вопрос" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:99 +msgid "" +"EXTENDING NEXTGEN? There are many third party plugins that add " +"displays and functionality for NextGEN Gallery. See our Complete List of " +"NextGEN Extension Plugins." +msgstr "" +"РАСШИРИТЬ NEXTGEN? Есть много плагинов сторонних разработчиков," +" которые добавляют виды и функциональные возможности для NextGen Gallery. " +"Смотрите полный список NextGen-расширений.\n" +"
      \n" +"Перевод на русский язык by SnakeD3" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:107 +msgid "" +"This plugin is primarily developed, maintained, supported and documented by Photocrati Media with a lot of love & effort. Any " +"kind of contribution would be highly appreciated. Thanks!" +msgstr "" +"Этот плагин в первую очередь разрабатывается и поддерживается благодаря Photocrati Media с большой любовью и усилиями. " +"Любой вид вклада будет высоко оценен. Спасибо!" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:112 +msgid "Please click \"Works\" on WordPress.org" +msgstr "Пожалуйста нажмите \"Works\" на WordPress.org" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:117 +msgid "Give it a good rating on WordPress.org" +msgstr "Поставьте хорошую оценку плагину на WordPress.org" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:122 +msgid "Visit the plugin homepage" +msgstr "Посетить домашнюю страницу плагина" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:127 +msgid "Help translating it" +msgstr "Помочь с переводом плагина" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:149 +msgid "Graphic Library" +msgstr "Графическая библиотека" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:165 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:214 +msgid "Loading…" +msgstr "Загрузка…" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:165 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:214 +msgid "This widget requires JavaScript." +msgstr "Для работы виджета требуется JavaScript." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:178 +msgid "Thanks to all donators..." +msgstr "Спасибо всем донатерам" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:200 +msgid "View all" +msgstr "Показать все" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:238 +msgid "Untitled" +msgstr "Имя не указано" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:303 +msgid "At a Glance" +msgstr "Сводка" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:360 +msgid "Storage Space" +msgstr "Свободно на диске" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:364 +msgid "%2$sMB" +msgstr "%2$sMB" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:365 +msgid "Space Allowed" +msgstr "Места доступно" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:372 +msgid "%2$sMB (%3$s%%)" +msgstr "" +"%2$sMB " +"(%3$s%%)" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:373 +msgid "Space Used" +msgstr "Space Used" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:399 +msgid "No GD support" +msgstr "GD не поддерживается" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:431 +msgid "Not set" +msgstr "Не установлено" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:433 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:436 +msgid "On" +msgstr "On" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:434 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:437 +msgid "Off" +msgstr "Off" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:441 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:444 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:447 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:450 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:453 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:456 +msgid "N/A" +msgstr "N/A" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:455 +msgid " MByte" +msgstr " MByte" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:468 +msgid "Operating System" +msgstr "Operating System" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:469 +msgid "Server" +msgstr "Server" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:470 +msgid "Memory usage" +msgstr "Использование памяти" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:471 +msgid "MYSQL Version" +msgstr "Версия MYSQL" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:472 +msgid "SQL Mode" +msgstr "SQL Mode" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:473 +msgid "PHP Version" +msgstr "Версия PHP" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:495 +msgid "" +"NextGEN Gallery contains some functions which are only available under PHP 5.2. " +"You are using the old PHP 4 version, upgrade now! It's no longer supported by " +"the PHP group. Many shared hosting providers offer both PHP 4 and PHP 5, " +"running simultaneously. Ask your provider if they can do this." +msgstr "" +"NextGEN Gallery использует некоторые функции которые доступно только в PHP 5.2 " +"и выше. Вы используете старую версию PHP 4, Обновите сейчас! Старая версия " +"больше не поддерживается сообществом PHP. Многие хостинг-провайдеры позволяют " +"использовать как PHP4 так и PHP5 на сервере. Спросите их и попросите " +"переключить ваш сайт на PHP5 если это можно." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:11 +msgid "(From the theme folder)" +msgstr "(Из папки темы)" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:43 +msgid "You do not have sufficient permissions to edit templates for this blog." +msgstr "Недостаточно привилегий для редактирования шаблона" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:52 +msgid "CSS file successfully updated" +msgstr "CSS-файл стиля успешно обновлен" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:91 +msgid "Activate and use style sheet:" +msgstr "Активировать и использовать файл стиля:" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:111 +msgid "Activate" +msgstr "Активировать" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:121 +msgid "Editing %s" +msgstr "Изменение %s" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:123 +msgid "Browsing %s" +msgstr "Просмотр %s" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:133 +msgid "Version" +msgstr "Версия" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:136 +msgid "" +"Tip : Copy your stylesheet (nggallery.css) to your theme folder, so it will be " +"not lost during a upgrade" +msgstr "" +"Совет: Скопируйте ваш стиль (nggallery.css) в папку с темой, чтобы не потерять " +"его при обновлении." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:138 +msgid "" +"Your theme contain a NextGEN Gallery stylesheet (nggallery.css), this file will " +"be used" +msgstr "" +"Ваша тема содержит файл стилей NextGEN Gallery (nggallery.css), будет " +"использован этот файл" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:140 +msgid "" +"Tip No. 2: Use the color picker below to help you find the right color scheme " +"for your gallery!" +msgstr "" +"Совет No. 2: Используйте цветовую палитру ниже чтобы подобрать подходящую " +"цветовую схему для галереи!" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:156 +msgid "Update File" +msgstr "Обновить файл" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:159 +msgid "If this file were writable you could edit it." +msgstr "Если файл доступен для записи вы можете его изменить" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/style.php:164 +msgid "Oops, no such file exists! Double check the name and try again, merci." +msgstr "Упс, файл не существует! Проверьте имя и повторите, merci." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:41 +msgid "Most popular" +msgstr "Поплуярные" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:42 +msgid "Least used" +msgstr "Редко используемые" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:43 +msgid "Alphabetical" +msgstr "По алфавиту" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:100 +msgid "Manage image tags" +msgstr "Управление тегами изображений" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:112 +msgid "Existing Tags" +msgstr "Существующие теги" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:116 +msgid "Search tags" +msgstr "Поиск тегов" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:120 +msgid "Go" +msgstr "Вперёд" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:125 +msgid "Sort Order:" +msgstr "Порядок сортировки" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:160 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:164 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:177 +msgid "Previous tags" +msgstr "Предыдущие теги" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:173 +msgid "Next tags" +msgstr "Следующие теги" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:185 +msgid "Rename Tag" +msgstr "Переименовать тег" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:193 +msgid "" +"Enter the tag to rename and its new value. You can use this feature to merge " +"tags too. Click \"Rename\" and all posts which use this tag will be updated." +msgstr "" +"Введите имя тега и новое имя для переименования. Вы так же можете использовать " +"метод для слияния тегов. Нажмите \"Переименовать\" и все записи содержащие тег " +"будут обновлены" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:194 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:242 +msgid "You can specify multiple tags to rename by separating them with commas." +msgstr "Вы можете указать несколько тегов, разделяя запятой" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:198 +msgid "Tag(s) to rename:" +msgstr "Тег(и) для переименования:" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:202 +msgid "New tag name(s):" +msgstr "Новые теги" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:205 +msgid "Rename" +msgstr "Переименовать" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:211 +msgid "Delete Tag" +msgstr "Удалить тег" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:219 +msgid "Enter the name of the tag to delete. This tag will be removed from all posts." +msgstr "Введите имена тегов для удаления. Эти теги будут удалены из всех записей." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:220 +msgid "You can specify multiple tags to delete by separating them with commas" +msgstr "Вы можете указать несколько тегов, разделяя запятой" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:224 +msgid "Tag(s) to delete:" +msgstr "Тег(и) для удаления:" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:233 +msgid "Edit Tag Slug" +msgstr "Изменить сслыку тега" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:241 +msgid "" +"Enter the tag name to edit and its new slug. This will be used in tagcloud " +"links. Slug " +"definition" +msgstr "" +"Введите имя тега и новую ссылку для редактирования. Это будет использоваться в " +"облаке тегов. Определение ссылок" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:246 +msgid "Tag(s) to match:" +msgstr "Теги:" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:250 +msgid "Slug(s) to set:" +msgstr "Slug(s) to set:" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:116 +msgid "Select with the mouse the area for the new thumbnail" +msgstr "Select with the mouse the area for the new thumbnail" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:130 +msgid "Thumbnail updated" +msgstr "Эскизы обновлены" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:135 +msgid "Error updating thumbnail" +msgstr "Ошибка при обновлении эскизов" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:151 +msgid "Select the area for the thumbnail from the picture on the left." +msgstr "Выберите область для отображения ее в качестве эскиза" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:89 +msgid "deleted successfully" +msgstr "удаление завершено" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:105 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:114 +msgid "Operation successful. Please clear your browser cache." +msgstr "Операция завершена. Пожалуйста очистите кеш вашего браузера." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:170 +msgid "Alt & Title Text / Description" +msgstr "Заголовок / Описание" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:213 +msgid "Exclude ?" +msgstr "Исключить ?" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:298 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:300 +msgid "View" +msgstr "Смотреть" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:308 +msgid "Show meta data" +msgstr "Показать мета-данные" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:317 +msgid "Customize thumbnail" +msgstr "Редактировать эскиз" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:318 +msgid "Edit thumb" +msgstr "Изменить эскиз" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:326 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:327 +msgid "Rotate" +msgstr "Повернуть" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:337 +msgid "Publish this image" +msgstr "Опубликовать изображение" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:338 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:58 +msgid "Publish" +msgstr "Опубликовать" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:348 +msgid "Recover image from backup" +msgstr "Восстановить изображение из бекапа" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:349 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:351 +msgid "Recover" +msgstr "Восстановить" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:360 +msgid "Delete image" +msgstr "Удалить изображение" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:391 +msgid "Title:" +msgstr "Заголовок:" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:397 +msgid "Description:" +msgstr "Описание:" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:403 +msgid "Gallery path:" +msgstr "Путь галери:" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:418 +msgid "Link to page:" +msgstr "Ссылка на страницу:" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:419 +msgid "Albums will link this gallery to the selected page" +msgstr "Альбомы будут связаны с галереей на выбранной странице" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:424 +msgid "Preview image:" +msgstr "Главное изображение" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:430 +msgid "Create new page:" +msgstr "Создать страницу:" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:606 +msgid "Gallery deleted successfully " +msgstr "Галерея удалена" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:677 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:680 +msgid "Rotate images" +msgstr "Повернуть изображения" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:702 +msgid "Pictures deleted successfully " +msgstr "Изображения удалены" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:800 +msgid "Tags changed" +msgstr "Теги изменены" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:840 +msgid "Update successful" +msgstr "Обновление завершено" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:875 +msgid "New gallery page ID" +msgstr "ID страницы новой галереи" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:875 +msgid "created" +msgstr "создано" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:913 +msgid "Published a new post" +msgstr "Опубликовать новую запись" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1060 +msgid "Go to the first page" +msgstr "К первой странице" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1067 +msgid "Go to the previous page" +msgstr "Предыдущая страница" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1076 +msgid "Current page" +msgstr "Текущая страница" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1087 +msgid "Go to the next page" +msgstr "Следующая станица" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1094 +msgid "Go to the last page" +msgstr "Последняя странница" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:35 +msgid "Post title" +msgstr "Заголовок записи" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:37 +msgid "Enter the post title " +msgstr "Введите заголовок записи" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:42 +msgid "Size of the image" +msgstr "Размер изображения" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:45 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:249 +msgid "Alignment" +msgstr "Расположение" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:51 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:256 +msgid "Center" +msgstr "Центр" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:60 +msgid "Draft" +msgstr "Черновик" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/thumbnails-template.php:103 +msgid "These are maximum values" +msgstr "Это максимальный размер, возможно будет уменьшен при соблюдении соотношения" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:29 +msgid "Meta Data" +msgstr "Мета-данные" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:34 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:60 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:85 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:109 +msgid "Tag" +msgstr "Тег" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:35 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:61 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:86 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:110 +msgid "Value" +msgstr "Значение" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:49 +msgid "No meta data saved" +msgstr "Нет мета-данных для сохранения" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:55 +msgid "EXIF Data" +msgstr "EXIF Данные" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:26 +msgid "" +"Select the lowest role which should be able to access the following " +"capabilities. NextGEN Gallery supports the standard roles from WordPress." +msgstr "" +"Укажите какие группы пользователей WordPress имеют доступ к нижеследующим " +"опциям NextGEN Gallery." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:27 +msgid "For a more flexible user management you can use the" +msgstr "Для более гибкой настройки прав используйте" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:31 +msgid "Main NextGEN Gallery overview" +msgstr "NextGEN Gallery общие сведения" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:35 +msgid "Use TinyMCE Button / Upload tab" +msgstr "Кнопка в редкаторе записи / Вкладка загрузки" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:39 +msgid "Add gallery / Upload images" +msgstr "Создание галерей / Загрузка изображений" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:43 +msgid "Manage gallery" +msgstr "Управление галереей" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:47 +msgid "Manage others gallery" +msgstr "Управление другими галереями" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:51 +msgid "Manage tags" +msgstr "Управление тегами" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:59 +msgid "Change style" +msgstr "Изменять стили" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:63 +msgid "Change options" +msgstr "Изменять настройки NextGEN" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:67 +msgid "NextGEN Attach Interface" +msgstr "Интерфейс вложений NextGEN" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:22 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:204 +msgid "Rebuild image structure : %s / %s images" +msgstr "Перерасчёт структуры изображений: %s / %s изображений" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:23 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:205 +msgid "Rebuild gallery structure : %s / %s galleries" +msgstr "Перерасчёт структуры галереи: %s / %s галерей" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:24 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:206 +msgid "Rebuild album structure : %s / %s albums" +msgstr "Перерасчёт структуры альбома: %s / %s альбом" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:81 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:263 +msgid "Done." +msgstr "Завершено." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:196 +msgid "Cache cleared" +msgstr "Кеш очищен." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:315 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:334 +msgid "General Options" +msgstr "Оновные настройки" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:317 +msgid "Images" +msgstr "Изображения" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:319 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:572 +msgid "Effects" +msgstr "Эффекты" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:320 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:614 +msgid "Watermark" +msgstr "Водяной знак" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:342 +msgid "This is the default path for all galleries" +msgstr "Это стандартный путь к галереям" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:345 +msgid "Delete image files" +msgstr "Удалить файлы изображений" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:347 +msgid "Delete files, when removing a gallery in the database" +msgstr "Удалить файлы, при удалении изображений из базы данных" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:350 +msgid "Activate permalinks" +msgstr "Использовать постоянные ссылки" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:352 +msgid "" +"When you activate this option, you need to update your permalink structure one " +"time." +msgstr "При активации этой опции вы должны обновить структуру ссылок единожды." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:353 +msgid "Gallery slug name :" +msgstr "Ссылка на гелерею:" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:357 +msgid "Create new URL friendly image slugs" +msgstr "Создать новый URL-совместимый короткий тег" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:358 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:474 +msgid "Proceed now" +msgstr "Выполнить" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:361 +msgid "Select graphic library" +msgstr "Выберите графическую библиотеку" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:362 +msgid "GD Library" +msgstr "GD библиотека" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:363 +msgid "ImageMagick (Experimental). Path to the library :" +msgstr "ImageMagick (Экспериментально).Путь к библиотеке :" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:368 +msgid "Activate Media RSS feed" +msgstr "Активировать новостную Media RSS ленту" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:378 +msgid "Tags / Categories" +msgstr "Теги/Рубрики" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:381 +msgid "Activate related images" +msgstr "Включить связанные изображения" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:383 +msgid "This option will append related images to every post" +msgstr "Эта опция будет добавлять изображения в каждый связанный пост." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:387 +msgid "Match with" +msgstr "Совпадает с" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:393 +msgid "Max. number of images" +msgstr "Максимальное кол-во изображений" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:395 +msgid "0 will show all images" +msgstr "0 - отобразит все изображения" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:399 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:435 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:477 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:562 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:597 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:860 +msgid "More settings" +msgstr "Больше настроек" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:409 +msgid "Thumbnail settings" +msgstr "Параметры миниатюр" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:413 +msgid "" +"Please note : If you change the settings, you need to recreate the thumbnails " +"under -> Manage Gallery ." +msgstr "" +"Обратите внимание: Если изменить настройки, вам нужно будет пересоздать " +"миниатюры в \"Управлении галереями\"" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:431 +msgid "Thumbnail quality" +msgstr "Качество эскизов" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:445 +msgid "Image settings" +msgstr "Настройки изображений" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:451 +msgid "Resize Images" +msgstr "Изменить размер" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:460 +msgid "Backup original images" +msgstr "Бекап оригинальных изображений" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:462 +msgid "Creates a backup for inserted images" +msgstr "Создаёт бекап вставленных изображений" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:465 +msgid "Automatically resize" +msgstr "Автоматически изменять размер" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:467 +msgid "Automatically resize images on upload." +msgstr "Автоматически изменять размер при загрузке" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:470 +msgid "Single picture" +msgstr "Одиночное изображение" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:473 +msgid "Clear cache folder" +msgstr "Очистить кеш-папку" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:494 +msgid "Deactivate gallery page link" +msgstr "Выключить ссылку на страницу с галереей" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:496 +msgid "" +"The album will not link to a gallery subpage. The gallery is shown on the same " +"page." +msgstr "" +"Альбом не будет ссылаться на подстраницу галереи. Галерея будет отображаться на " +"той же странице." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:500 +msgid "Number of images per page" +msgstr "Изображений на страницу" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:502 +msgid "0 will disable pagination, all images on one page" +msgstr "0 выключить страничную навигацию, все изображения будут на одной странице" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:506 +msgid "Number of columns" +msgstr "Кол-во в ряду" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:512 +msgid "Integrate slideshow" +msgstr "Интегрироваь слайдшоу" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:527 +msgid "The gallery will open the ImageBrowser instead the effect." +msgstr "Галерея откроет Браузер Изображений вместо эффекта" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:531 +msgid "Add hidden images" +msgstr "Отображать скрытые изображения" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:533 +msgid "" +"If pagination is used, this option will still show all images in the modal " +"window (Thickbox, Lightbox etc.). Note : This increases the page load" +msgstr "" +"Если страничная навигация включена, данная опция будет показывать все " +"изображения в диалоговом окне(Thickbox, Lightbox etc.). Заметка: Это увеличит " +"загрузку страниц" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:539 +msgid "" +"Browse images without reload the page. Note : Works only in combination with " +"Shutter effect" +msgstr "" +"Листать изображения без перезагрузки страницы. Заметка: Работает только в " +"комбинации с Shutter effect" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:543 +msgid "Sort options" +msgstr "Параметры сортировки" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:546 +msgid "Sort thumbnails" +msgstr "Упорядочить эскизы" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:548 +msgid "Custom order" +msgstr "Ручной порядок" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:550 +msgid "File name" +msgstr "Имя файла" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:551 +msgid "Alt / Title text" +msgstr "Всплывающая подсказка" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:552 ../../../../../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:58 +msgid "Date / Time" +msgstr "Время/Дата" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:556 +msgid "Sort direction" +msgstr "Направление" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:576 +msgid "" +"Here you can select the thumbnail effect, NextGEN Gallery will integrate the " +"required HTML code in the images. Please note that only the Shutter and " +"Thickbox effect will automatic added to your theme." +msgstr "" +"Здесь Вы можете выбрать эффект миниатюры, NextGEN Галерея интегрирует " +"необходимый HTML код в изображения. Пожалуйста, обратите внимание, что только " +"Shutter и Thickbox эффекты будут автоматически добавлены ​​в вашу тему." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:577 +msgid "" +"you can activate a navigation through the images (depend on the effect). Change " +"the code line only , when you use a different thumbnail effect or you know what " +"you do." +msgstr "" +"вы можете активировать навигацию по изображениям (зависит от эффектов). " +"Измените строку кода только если используете различные эффекты миниатюр или " +"если вы знаете что делаете." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:580 +msgid "JavaScript Thumbnail effect" +msgstr "JavaScript эффект миниатюр" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:615 +msgid "" +"Please note : You can only activate the watermark under -> Manage Gallery . " +"This action cannot be undone." +msgstr "" +"Обратите внимание: Вы можете активировать водяной знак только в \"Управлении " +"галереями\". Это действие не может быть отменено" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:620 +msgid "Preview" +msgstr "Предпросмотр" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:622 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:627 +msgid "Position" +msgstr "Расположение" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:647 +msgid "Offset" +msgstr "Смещение" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:663 +msgid "Use image as watermark" +msgstr "Использовать изображение в качестве водяного знака" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:671 +msgid "Use text as watermark" +msgstr "Использовать текст в качестве водяного знака" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:674 +msgid "Font" +msgstr "Шрифт" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:690 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:262 +msgid "Size" +msgstr "Размер" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:694 +msgid "Color" +msgstr "Цвет" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:699 +msgid "Text" +msgstr "Текст" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:724 +msgid "Default size (W x H)" +msgstr "Стандартный размер (W x H)" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:736 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:813 +msgid "fade" +msgstr "Исчезновение" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:745 +msgid "See here for more information about the effects :" +msgstr "Смотрите здесь для более подробной информации об эффектах:" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:773 +msgid "Search now" +msgstr "Искать" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:774 +msgid "Press the button below to search for the JW Image Rotator" +msgstr "Нажмите кнопку ниже для поиска JW Image Rotator" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:778 +msgid "Shuffle mode" +msgstr "Случайно" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:805 +msgid "none" +msgstr "нет" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:816 +msgid "circles" +msgstr "круги" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:817 +msgid "bubbles" +msgstr "пузыри" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:821 +msgid "lines" +msgstr "линии" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:831 +msgid "Background Color" +msgstr "Фоновой цвет" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:846 +msgid "Screen Color" +msgstr "Цвет экрана" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:61 +msgid "" +"Some folders/files could not renamed, please recheck the permission and rescan " +"the folder in the manage gallery section." +msgstr "Некоторые файлы/папки нельзя переименовать, проверьте права доступа к ним." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:63 +msgid "Rename failed" +msgstr "Переименовать файлы" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:159 ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:178 +msgid "Upgrade NextGEN Gallery" +msgstr "Обновить NExtGEN Gallery" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:160 +msgid "The script detect that you upgrade from a older version." +msgstr "Скрипт обнаружил обновление со старой версии на новую" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:161 +msgid "" +"Your database tables for NextGEN Gallery is out-of-date, and must be upgraded " +"before you can continue." +msgstr "Таблицы базы данных устарели и нуждаются в обновлении" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:162 +msgid "" +"If you would like to downgrade later, please make first a complete backup of " +"your database and the images." +msgstr "" +"Если вы хотите сделать откат позже, пожалуйста сделайте вначале полный бекап " +"базы данных и изображений." + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:163 +msgid "The upgrade process may take a while, so please be patient." +msgstr "Процесс обновления может занять некоторое время, пожалуйста ждите" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:164 +msgid "Start upgrade now" +msgstr "Начать обновление" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:180 +msgid "Upgrade finished..." +msgstr "Обновление завершено" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:181 +msgid "Continue" +msgstr "Продолжить" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:186 +msgid "No gallery" +msgstr "Вне галереи" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:198 +msgid "Select »" +msgstr "Выбрать »" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:230 +msgid "Hide" +msgstr "Скрыть" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:235 +msgid "Image ID:" +msgstr "ID Изображения:" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:268 +msgid "Full size" +msgstr "Полный размер" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:270 +msgid "Singlepic" +msgstr "Одиночное изображение" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:284 +msgid "Insert into Post" +msgstr "Вставить в Запись" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:295 +msgid "Save all changes" +msgstr "Сохранить все изменения" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:35 +msgid "Sort order changed" +msgstr "Порядок сортировки изменён" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:97 +msgid "Sort Gallery" +msgstr "Упорядочить галерею" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:101 +msgid "Update Sort Order" +msgstr "Обновить порядок сортировки" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:104 +msgid "Back to gallery" +msgstr "Назад к галерее" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:109 +msgid "Presort" +msgstr "Предварительная сортировка" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:110 +msgid "Unsorted" +msgstr "Несортированный" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_link_to_page_field.php:3 +msgid "Not linked" +msgstr "Не связано" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_create_page_field.php:3 +msgid "Main Page (no parent)" +msgstr "Главная страница (не родитель)" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_create_page_field.php:10 +msgid "Add page" +msgstr "Добавить страницу" + +#: ../../../../../products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:38 +msgid "Meta data" +msgstr "Мета-данные" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:223 +msgid "Invalid image file. Acceptable formats: JPG, GIF, and PNG." +msgstr "Не поддерживаемый тип файла! Допустимые форматы: JPG, GIF, и PNG." + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:647 +msgid "Unable to create directory %s." +msgstr "Не могу создать папку %s" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:693 +msgid "Failed to get image path for %s" +msgstr "Ошибка при получении пути изображения %s" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:715 +msgid "Copied image %1$s to %2$s" +msgstr "Скопировано изображение %1$s в %2$s" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:740 +msgid "Copied %1$s picture(s) to gallery %2$s ." +msgstr "Скопировано %1$s изображение(й) в галерею %2$s ." + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:767 +msgid "Could not find image" +msgstr "Не могу найти изображение" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:777 +msgid "Backup file does not exist" +msgstr "Бекап файла не существует" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:782 +msgid "Could not restore original image" +msgstr "Не могу восстановить оригинальное изображение" + +#: ../../../../../products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php:1062 +msgid "Could not calculate resized image dimensions" +msgstr "Не удалось вычислить разрешение изображений" diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-zh_CN.mo b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-zh_CN.mo new file mode 100644 index 0000000000000000000000000000000000000000..816dfc5c1f5688ace2e411da4424583e56d28c04 GIT binary patch literal 70799 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-zh_CN.po b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-zh_CN.po new file mode 100644 index 0000000..27bb862 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery-zh_CN.po @@ -0,0 +1,4154 @@ +# NextGEN Gallery base (English) .po source +# Copyright (C) 2014 Photocrati Media +# This file is distributed under the same license as the NextGEN Gallery package. +# +msgid "" +msgstr "" +"Project-Id-Version: NextGEN Gallery\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-02-20 19:45-0800\n" +"PO-Revision-Date: 2014-06-17 23:08+0800\n" +"Last-Translator: Vahi Chen \n" +"Language-Team: Vahi Chen \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Language: zh_CN\n" +"X-Generator: Poedit 1.6.5\n" + +#: nggallery.php:290 +#, php-format +msgid "Every %d seconds" +msgstr "每 %d 秒" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:157 +#, php-format +msgid "Album: %s" +msgstr "相册:%s" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:159 +#, php-format +msgid "Gallery: %s" +msgstr "图库:%s" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:177 +msgid "Missing parameters" +msgstr "缺少参数" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:213 +msgid "Displayed gallery does not exist" +msgstr "显示的图库不存在" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:216 +msgid "Invalid request" +msgstr "无效请求" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:248 +msgid "NextGEN Gallery - Attach To Post" +msgstr "NextGEN 图库 - 附加到日志" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:266 +msgid "Display Galleries" +msgstr "显示图库" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:273 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_controller.php:7 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:192 +msgid "Add Gallery / Images" +msgstr "新增图库/图像" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:280 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:160 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:194 +msgid "Manage Galleries" +msgid_plural "Manage Galleries" +msgstr[0] "管理图库" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:287 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:404 +msgid "Manage Albums" +msgid_plural "Manage Albums" +msgstr[0] "管理相册" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:294 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:162 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:198 +msgid "Manage Tags" +msgstr "管理标签" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:115 +msgid "What would you like to display?" +msgstr "你希望如何显示?" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:139 +msgid "Select a display type" +msgstr "选择一个显示类型" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:162 +msgid "Customize the display settings" +msgstr "自定义显示设置" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:253 +msgid "No display type selected" +msgstr "未选择显示类型" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:271 +msgid "Sort or Exclude Images" +msgstr "排序或排除图像" + +#: products/photocrati_nextgen/modules/attach_to_post/module.attach_to_post.php:186 +msgid "Invalid Displayed Gallery" +msgstr "显示的图库无效" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab.php:10 +#: products/photocrati_nextgen/modules/nextgen_admin/templates/nextgen_admin_page.php:25 +msgid "Save" +msgstr "保存" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:612 +msgid "Sources" +msgstr "来源" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:646 +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:362 +msgid "(optional)" +msgstr "(可选)" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:654 +msgid "" +"Sets an SEO-friendly name to this gallery for URLs. Currently only in use by " +"the Pro Lightbox." +msgstr "" +"为该图库的地址设置一个 SEO 有好的名字。当前只在 Lightbox 专业版中使用。" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:655 +msgid "Slug" +msgstr "别名" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:860 +msgid "No entities to display for this source." +msgstr "没有显示该源的条目。" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1264 +msgid "Select a gallery" +msgstr "选择一个图库" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1292 +msgid "Albums" +msgstr "相册" + +#: products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:34 +msgid "Code" +msgstr "代码" + +#: products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:48 +msgid "Stylesheet URL" +msgstr "样式表地址" + +#: products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:62 +msgid "Javascript URL" +msgstr "Javascript 地址" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.import_folder_form.php:7 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:6 +msgid "Import Folder" +msgstr "导入文件夹" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:41 +msgid "No gallery name specified" +msgstr "未指定图库名称" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:55 +msgid "Failed to extract images from ZIP" +msgstr "从ZIP中解压图像失败" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:61 +msgid "Image generation failed" +msgstr "图像生成失败" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:70 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:150 +msgid "An unexpected error occured." +msgstr "发生了一个意外的错误。" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:77 +msgid "" +"No permissions to upload images. Try refreshing the page or ensuring that " +"your user account has sufficient roles/privileges." +msgstr "没有权限上传图像。尝试刷新页面或确保你的用户账号拥有足够的角色和权限。" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:117 +msgid "Directory does not exist." +msgstr "目录不存在。" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:121 +msgid "No directory specified." +msgstr "未指定目录。" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:125 +msgid "" +"No permissions to browse folders. Try refreshing the page or ensuring that " +"your user account has sufficient roles/privileges." +msgstr "" +"没有权限浏览文件夹。尝试刷新页面或确保你的用户账号拥有足够的角色和权限。" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:155 +msgid "No folder specified" +msgstr "未指定文件夹" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:159 +msgid "" +"No permissions to import folders. Try refreshing the page or ensuring that " +"your user account has sufficient roles/privileges." +msgstr "" +"没有权限导入文件夹。尝试刷新页面或确保你的用户账号拥有足够的角色和权限。" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.upload_images_form.php:7 +msgid "Upload Images" +msgstr "上传图像" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:1 +msgid "" +"Select a folder to import. The folder name will be used as the title of the " +"gallery." +msgstr "选择需要导入的文件。文件夹名将作为图库的标题。" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:5 +msgid "Keep images in original location." +msgstr "保留图像在原有位置。" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:5 +msgid "" +"Caution: If you keep images in the original folder and later delete the " +"gallery, the images in that folder might be deleted depending on your " +"settings." +msgstr "" +"警告:如果你保留图像在原有文件夹中,而后删除了该图库,根据你的设置,该文件夹" +"中的图像可能也会被删除。" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:39 +msgid "Importing gallery" +msgstr "导入图库中" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:41 +msgid "In Progress..." +msgstr "进行中……" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:56 +#, php-format +msgid "Done! Successfully imported %s images" +msgstr "完成!成功导入 %s 张图像" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1268 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:2 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:189 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:217 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:226 +msgid "Gallery" +msgid_plural "Galleries" +msgstr[0] "图库" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:4 +msgid "Create a new gallery" +msgstr "创建一个新图库" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:13 +msgid "You browser doesn't have Flash, Silverlight, HTML5, or HTML4 support." +msgstr "你的浏览器没有 Flash、Silverlight、HTML5或者HTML4支持。" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:99 +msgid "Drag image and ZIP files here or click Add Files" +msgstr "拖拽图像和ZIP文件到这里,或点击添加文件" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:149 +#, php-format +msgid "%s images were uploaded successfully" +msgstr "成功上传 %s 张图像" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:152 +msgid "1 image was uploaded successfully" +msgstr "成功上传 1 张图像" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:155 +msgid "0 images were uploaded" +msgstr "上传 0 张图像" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:169 +msgid "Upload complete" +msgstr "上传完成" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:191 +msgid "" +"An unexpected error occured. This is most likely due to a server " +"misconfiguration. Check your PHP error log or ask your hosting provider for " +"assistance." +msgstr "" +"发生了一个意外的错误。这很可能是因为服务器的错误配置。检查你的 PHP 错误日志或" +"者向你的主机提供商寻求帮助。" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:226 +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:167 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:537 +msgid "Enable AJAX pagination" +msgstr "启用 AJAX 分页" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:238 +msgid "Override thumbnail settings" +msgstr "覆盖缩略图设置" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:240 +msgid "" +"This does not affect existing thumbnails; overriding the thumbnail settings " +"will create an additional set of thumbnails. To change the size of existing " +"thumbnails please visit 'Manage Galleries' and choose 'Create new " +"thumbnails' for all images in the gallery." +msgstr "" +"覆盖缩略图设置会创建一组新的缩略图,这不会影响已有的缩略图。要改变已有缩略图" +"的大小,请访问“管理图库”,对图库中的所有图像选择“创建新缩略图”。" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:248 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:37 +msgid "Thumbnail dimensions" +msgstr "缩略图尺寸" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:262 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:431 +msgid "Thumbnail quality" +msgstr "缩略图质量" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:272 +msgid "Thumbnail crop" +msgstr "缩略图裁切" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:281 +msgid "Thumbnail watermark" +msgstr "缩略图水印" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:306 +msgid "Override image settings" +msgstr "覆盖图像设置" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:308 +msgid "Overriding the image settings will create an additional set of images" +msgstr "覆盖图像设置会创建一组新的图像" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:316 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:66 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:456 +msgid "Image quality" +msgstr "图像质量" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:326 +msgid "Image crop" +msgstr "图像裁切" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:335 +msgid "Image watermark" +msgstr "图像水印" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:359 +msgid "Gallery width" +msgstr "图库宽度" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:361 +msgid "An empty or 0 setting will make the gallery full width" +msgstr "留空或者设置为0,会以全宽显示图库。" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:365 +msgid "Pixels" +msgstr "像素" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:365 +msgid "Percent" +msgstr "百分比" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:374 +msgid "First Image" +msgstr "第一张图" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:375 +msgid "Average" +msgstr "平均" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:100 +msgid "Clear" +msgstr "清楚" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:101 +msgid "Default" +msgstr "默认" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:102 +msgid "Select Color" +msgstr "选择颜色" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:103 +msgid "Current Color" +msgstr "当前颜色" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:174 +msgid "Saved successfully" +msgstr "保存成功" + +#: products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_radio.php:16 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_radio.php:16 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:122 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:24 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:40 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:65 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:191 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php:37 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:407 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:454 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:457 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:460 +msgid "Yes" +msgstr "是" + +#: products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_radio.php:24 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_radio.php:24 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:123 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:23 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:47 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:72 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:198 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php:44 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:409 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:455 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:458 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:461 +msgid "No" +msgstr "否" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:25 +msgid "Display galleries as" +msgstr "图库显示为" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:26 +msgid "How would you like galleries to be displayed?" +msgstr "你希望图库如何显示?" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:28 +msgid "Galleries per page" +msgstr "每页图库数" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:47 +msgid "Items per page" +msgstr "每页条目数" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:48 +msgid "Maximum number of galleries or sub-albums to appear on a single page" +msgstr "文章页面中显示的图库或子相册的最大个数" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/templates/compact.php:28 +#: products/photocrati_nextgen/modules/nextgen_basic_album/templates/extended.php:15 +#: products/photocrati_nextgen/modules/ngglegacy/view/album-compact.php:45 +#: products/photocrati_nextgen/modules/ngglegacy/view/album-extend.php:31 +msgid "Photos" +msgstr "图像" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_mapper.php:94 +msgid "[Show PicLens]" +msgstr "[显示 PicLens]" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:63 +msgid "Interval" +msgstr "间隔" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:67 +msgid "# of seconds" +msgstr "# 秒" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:77 +msgid "Image limit" +msgstr "图像限制" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:79 +msgid "Maximum number of images to display with recent or random sources" +msgstr "在最近的或随机的源中显示的最大图像个数" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:81 +msgid "# of images" +msgstr "# 张图片" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:112 +msgid "Maximum dimensions" +msgstr "最大尺寸" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:113 +msgid "" +"Certain themes may allow images to flow over their container if this setting " +"is too large" +msgstr "如果设置过大,某些主题会允许图像溢出它们的容器" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:123 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:765 +msgid "Enable flash slideshow" +msgstr "启用 flash 幻灯片" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:125 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:767 +msgid "Integrate the flash based slideshow for all flash supported devices" +msgstr "为所有支持 flash 的设备集成基于 flash 的幻灯片" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:134 +msgid "Shuffle" +msgstr "随机" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:146 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:782 +msgid "Show next image on click" +msgstr "点击显示下一张图" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:158 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:786 +msgid "Show navigation bar" +msgstr "显示导航栏" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:170 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:790 +msgid "Show loading icon" +msgstr "显示加载图标" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:182 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:794 +msgid "Use watermark logo" +msgstr "使用水印标志" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:184 +msgid "" +"Use the watermark image in the Flash object. Note: this does not watermark " +"the image itself, and cannot be applied with text watermarks" +msgstr "" +"在 Flash 对象中使用水印图像。注意:图像本身不会添加水印,且不适用于文本水印" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:194 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:799 +msgid "Stretch image" +msgstr "拉伸图像" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:231 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:827 +msgid "Use slow zooming effect" +msgstr "使用慢缩放特效" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:243 +msgid "Background music (url)" +msgstr "背景音乐(地址)" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:256 +msgid "Try XHTML validation" +msgstr "尝试 XHTML 验证" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:268 +msgid "Background" +msgstr "背景" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:280 +msgid "Texts / buttons" +msgstr "文本 / 按钮" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:292 +msgid "Rollover / active" +msgstr "反转 / 当前" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:304 +msgid "Screen" +msgstr "屏幕" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:322 +msgid "Show thumbnail link" +msgstr "显示缩略图链接" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:338 +msgid "Thumbnail link text" +msgstr "缩略图链接文本" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:65 +msgid "Images per page" +msgstr "每页图像数" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:67 +msgid "0 will display all images at once" +msgstr "0 会同时显示所有图像" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:85 +msgid "Number of columns to display" +msgstr "显示的列数" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:89 +msgid "# of columns" +msgstr "# 列" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:105 +msgid "Piclens link text" +msgstr "Piclens 链接文本" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:123 +msgid "Show piclens link" +msgstr "显示 piclens 链接" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:139 +msgid "Add Hidden Images" +msgstr "添加隐藏图像" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:141 +msgid "" +"If pagination is used this option will show all images in the modal window " +"(Thickbox, Lightbox etc.) This increases page load." +msgstr "" +"如果使用分页,此选项会在模式窗口(Thickbox、Lightbox等等)中显示图像。这会增" +"加页面负载。" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:150 +msgid "Use imagebrowser effect" +msgstr "使用 imagebrowser 特效" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:152 +msgid "" +"When active each image in the gallery will link to an imagebrowser display " +"and lightbox effects will not be applied." +msgstr "" +"启用后,图库中的每张图像会链接到一个 imagebrowser 中,而 lightbox 特效则不会" +"被应用。" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:169 +msgid "Browse images without reloading the page." +msgstr "浏览图像而不重新加载页面。" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:184 +msgid "Show slideshow link" +msgstr "显示幻灯片链接" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:200 +msgid "Slideshow link text" +msgstr "幻灯片链接文本" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/index.php:35 +msgid "" +"Slideshows require the Flash Player and a browser with Javascript support." +msgstr "" +"幻灯片需要 Flash " +"Player 和一个 一个支持 " +"Javascript的浏览器。" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/nextgen_basic_slideshow_settings_gallery_dimensions.php:13 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:38 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_dimensions.php:13 +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:52 +msgid "Width" +msgstr "宽度" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/nextgen_basic_slideshow_settings_gallery_dimensions.php:21 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:40 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_dimensions.php:20 +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:40 +msgid "Height" +msgstr "高度" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:41 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:26 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:30 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:26 +msgid "Back" +msgstr "返回" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:49 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:29 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:33 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:29 +msgid "Next" +msgstr "前进" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:90 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:220 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:31 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:35 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:31 +msgid "Picture" +msgstr "图像" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:31 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:35 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:31 +msgid "of" +msgstr "/" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:53 +msgid "Link" +msgstr "链接" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:78 +msgid "Display watermark" +msgstr "显示水印" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:88 +msgid "Display reflection" +msgstr "显示阴影" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:98 +msgid "Crop thumbnail" +msgstr "裁切缩略图" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:108 +msgid "Float" +msgstr "浮动" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:24 +msgid "Maximum number of tags" +msgstr "最大标签数" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:47 +msgid "Display type" +msgstr "显示类型" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:50 +msgid "The display type that the tagcloud will point its results to" +msgstr "标签云的显示类型" + +#: products/photocrati_nextgen/modules/nextgen_basic_templates/adapter.nextgen_basic_template_form.php:46 +msgid "Template" +msgstr "模板" + +#: products/photocrati_nextgen/modules/nextgen_basic_templates/adapter.nextgen_basic_template_form.php:47 +msgid "Use a legacy template when rendering (not recommended)." +msgstr "使用一个已有的模板进行渲染(不推荐)。" + +#: products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php:580 +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:658 +#: products/photocrati_nextgen/modules/ngglegacy/lib/multisite.php:23 +msgid "" +"Sorry, you have used your space allocation. Please delete some files to " +"upload more files." +msgstr "对不起,你的磁盘空间分配已满。请先删除一些文件再上传。" + +#: products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php:1002 +msgid "Could not calculate resized image dimensions" +msgstr "无法计算调整后的图像尺寸" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:154 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:135 +msgid " mm" +msgstr " 毫米" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:163 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:141 +msgid " sec" +msgstr " 秒" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:168 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:145 +msgid "Fired" +msgstr "开启" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:168 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:145 +msgid "Not fired" +msgstr "未开启" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:539 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:452 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:46 +msgid "Aperture" +msgstr "光圈" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:540 +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:565 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:453 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:478 +msgid "Credit" +msgstr "致谢" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:541 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:454 +msgid "Camera" +msgstr "相机" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:542 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:455 +msgid "Caption" +msgstr "说明" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:543 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:26 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:114 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:456 +msgid "Date/Time" +msgstr "日期时间" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:544 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:457 +msgid "Copyright" +msgstr "版权" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:545 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:458 +msgid "Focal length" +msgstr "焦距" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:546 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:459 +msgid "ISO" +msgstr "ISO" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:547 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:460 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:54 +msgid "Shutter speed" +msgstr "快门速度" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:548 +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:4 +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:3 +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:3 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:678 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:461 +msgid "Title" +msgstr "标题" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:549 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:459 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:410 +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:132 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:462 +msgid "Author" +msgstr "作者" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:550 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:51 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:176 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:389 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:463 +msgid "Tags" +msgstr "标签" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:551 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:464 +msgid "Subject" +msgstr "主题" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:552 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:465 +msgid "Make" +msgstr "生产厂家" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:553 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:466 +msgid "Edit Status" +msgstr "编辑状态" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:554 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:467 +msgid "Category" +msgstr "分类" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:555 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:468 +msgid "Keywords" +msgstr "关键字" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:556 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:469 +msgid "Date Created" +msgstr "创建日期" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:557 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:470 +msgid "Time Created" +msgstr "创建时间" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:558 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:471 +msgid "Author Position" +msgstr "作者位置" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:559 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:472 +msgid "City" +msgstr "城市" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:560 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:473 +msgid "Location" +msgstr "位置" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:561 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:474 +msgid "Province/State" +msgstr "省/州" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:562 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:475 +msgid "Country code" +msgstr "城市代码" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:563 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:476 +msgid "Country" +msgstr "城市" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:564 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:477 +msgid "Headline" +msgstr "提要" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:566 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:479 +msgid "Source" +msgstr "源" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:567 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:480 +msgid "Copyright Notice" +msgstr "版权申明" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:568 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:481 +msgid "Contact" +msgstr "联系" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:569 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:482 +msgid "Last modified" +msgstr "最近修改" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:570 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:483 +msgid "Program tool" +msgstr "程序工具" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:571 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:484 +msgid "Format" +msgstr "格式" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:572 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:485 +msgid "Image Width" +msgstr "图像宽度" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:573 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:486 +msgid "Image Height" +msgstr "图像高度" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:574 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:487 +msgid "Flash" +msgstr "闪光灯" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:647 +#, php-format +msgid "Unable to create directory %s." +msgstr "无法创建目录 %s。" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:652 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:823 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1021 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1106 +#, php-format +msgid "" +"Unable to write to directory %s. Is this directory writable by the server?" +msgstr "无法写目录 %s。此目录在服务器上是否可写?" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:681 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1146 +#, php-format +msgid "Failed to copy database row for picture %s" +msgstr "复制图像 %s 在数据库中的行时出错。" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:693 +#, php-format +msgid "Failed to get image path for %s" +msgstr "获取图像途径 %s 失败" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:711 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1132 +#, php-format +msgid "Failed to copy image %1$s to %2$s" +msgstr "复制图像 %1$s 到 %2$s 失败" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:715 +#, php-format +msgid "Copied image %1$s to %2$s" +msgstr "已复制图像 %1$s 到 %2$s" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:723 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1158 +#, php-format +msgid "" +"Image %1$s (%2$s) copied as image %3$s (%4$s) » The file already " +"existed in the destination gallery." +msgstr "" +"图像 %1$s (%2$s) 复制为图像 %3$s (%4$s) » 目标图库中已存在该文件。" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:727 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1161 +#, php-format +msgid "Image %1$s (%2$s) copied as image %3$s (%4$s)" +msgstr "图像 %1$s (%2$s) 复制为图像 %3$s (%4$s)。" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:740 +#, php-format +msgid "Copied %1$s picture(s) to gallery %2$s ." +msgstr "复制了 %1$s 张图到图库 %2$s。" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:767 +msgid "Could not find image" +msgstr "没有找到图像" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:772 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:388 +msgid " is not writeable" +msgstr "不可写" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:777 +msgid "Backup file does not exist" +msgstr "备份文件不存在" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:782 +msgid "Could not restore original image" +msgstr "无法恢复原始图像" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.display_settings_controller.php:17 +#: products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:242 +#: products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:328 +msgid "Gallery Settings" +msgstr "图库设置" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery.php:73 +msgid "Source not compatible with selected display type" +msgstr "源和选择的显示类型不兼容" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:327 +msgid "NextGEN Gallery & Album Settings" +msgstr "NextGEN 图库和相册设置" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/templates/alt_view_link_text.php:15 +#: products/photocrati_nextgen/modules/nextgen_gallery_display/templates/return_link_text.php:15 +msgid "link text" +msgstr "链接文本" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:12 +msgid "Image Options" +msgstr "图像选项" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:22 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:588 +#: products/photocrati_nextgen/modules/ngglegacy/admin/thumbnails-template.php:76 +msgid "Custom" +msgstr "自定义" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:23 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:111 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:549 +msgid "Image ID" +msgstr "图像 ID" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:24 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:570 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:112 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:166 +msgid "Filename" +msgstr "文件名" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:25 +msgid "Alt/Title Text" +msgstr "替代文本" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:38 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:115 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:557 +msgid "Ascending" +msgstr "升序" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:39 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:116 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:558 +msgid "Descending" +msgstr "降序" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:50 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:388 +msgid "Categories" +msgstr "分类" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:81 +msgid "Gallery path does not exist and could not be created" +msgstr "图库路径不存在,且无法被创建" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:86 +msgid "Where would you like galleries stored?" +msgstr "你希望图库存放在何处?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:87 +msgid "Where galleries and their images are stored" +msgstr "图库和其中的图像存放的位置" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:89 +msgid "Delete Image Files?" +msgstr "删除图像文件?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:90 +msgid "" +"When enabled, image files will be removed after a Gallery has been deleted" +msgstr "启用后,如果删除图库,其中的图像文件也会被删除" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:92 +msgid "Show Related Images on Posts?" +msgstr "在日志中显示相关的图像?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:93 +msgid "" +"When enabled, related images will be appended to each post by matching the " +"posts tags/categories to image tags" +msgstr "" +"启用后,通过匹配日志标签/分类和图像标签,相关图像会被附加到每篇日志之后。" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:95 +msgid "(Show Customization Settings)" +msgstr "(显示自定义设置)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:96 +msgid "(Hide Customization Settings)" +msgstr "(隐藏自定义设置)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:97 +msgid "How should related images be match?" +msgstr "相关图像如何匹配?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:100 +msgid "Maximum # of related images to display" +msgstr "最多显示 # 张相关图像" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:102 +msgid "Heading for related images" +msgstr "相关图像的标题" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:104 +msgid "What's the default sorting method?" +msgstr "默认的排序方式是什么?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:107 +msgid "Sort in what direction?" +msgstr "排序的方向是?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:110 +msgid "Automatically resize images after upload" +msgstr "上传后自动调整图像大小" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:111 +msgid "It is recommended that your images be resized to be web friendly" +msgstr "建议调整你的图像大小,使之网页友好" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:113 +msgid "What should images be resized to?" +msgstr "图像的大小调整至多少?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:114 +msgid "" +"After images are uploaded, they will be resized to the above dimensions and " +"quality" +msgstr "上传完图像后,它们会调整至以上的尺寸和质量" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:115 +msgid "Width:" +msgstr "宽度:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:116 +msgid "Height:" +msgstr "高度:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:117 +msgid "Quality:" +msgstr "质量:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:121 +msgid "Backup the original images?" +msgstr "是否备份原始图像?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.lightbox_manager_form.php:12 +msgid "Lightbox Effects" +msgstr "Lightbox 特效" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.lightbox_manager_form.php:38 +msgid "What effect would you like to use?" +msgstr "你想使用何种特效?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:12 +msgid "Miscellaneous" +msgstr "杂项" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:21 +msgid "Add MediaRSS link?" +msgstr "添加 MediaRSS 链接?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:22 +msgid "" +"When enabled, adds a MediaRSS link to your header. Third-party web services " +"can use this to publish your galleries" +msgstr "" +"启用后会添加一个 MediaRSS 到你的博客头部。第三方 Web 服务可以借此发布你的图" +"库。" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:26 +msgid "Clear image cache" +msgstr "清空图像缓存" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:27 +msgid "" +"Completely clear the NextGEN cache of all image modifications?\n" +"\n" +"Choose [Cancel] to Stop, [OK] to proceed." +msgstr "" +"彻底清空 NextGEN 所有图像的缓存?\n" +"\n" +"选择 [取消] 以终止,[确定] 以继续。" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:32 +msgid "Permalink slug" +msgstr "固定链接别名" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:39 +msgid "Maximum image count" +msgstr "最大图像数" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:41 +msgid "" +"This is the maximum limit of images that NextGEN will restrict itself to " +"querying" +msgstr "这是 NextGEN 限制可以查询的最大图像数" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.other_options_controller.php:22 +#: products/photocrati_nextgen/modules/nextgen_other_options/module.nextgen_other_options.php:39 +msgid "Other Options" +msgstr "其他选项" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:7 +msgid "Reset Options" +msgstr "重置选项" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:15 +msgid "Reset all options to default settings" +msgstr "重置所有选项为默认设置" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:16 +msgid "" +"Replace all existing options and gallery options with their default settings" +msgstr "使用默认设置替换所有已有选项和图库选项" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:17 +msgid "Reset settings" +msgstr "重置设置" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:18 +msgid "" +"Reset all options to default settings?\n" +"\n" +"Choose [Cancel] to Stop, [OK] to proceed." +msgstr "" +"重置所有选项为默认设置?\n" +"\n" +"选择 [取消] 以终止, [确定] 以继续。" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.roles_form.php:7 +msgid "Roles & Capabilities" +msgstr "角色功能" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:12 +msgid "Styles" +msgstr "样式" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:18 +msgid "What stylesheet would you like to use?" +msgstr "你希望使用何种样式表?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:21 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:136 +msgid "(Show Customization Options)" +msgstr "(显示自定义选项)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:22 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:137 +msgid "(Hide Customization Options)" +msgstr "(隐藏自定义选项)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:23 +msgid "File Content:" +msgstr "文件内容:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:24 +msgid "Changes you make to the contents will be saved to" +msgstr "你做出的修改内容会被保存至" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:25 +msgid "You could edit this file if it were writable" +msgstr "如果文件可写,你就可以编辑它" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:12 +msgid "Thumbnail Options" +msgstr "缩略图选项" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:20 +msgid "Default thumbnail dimensions:" +msgstr "默认缩略图尺寸:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:21 +msgid "When generating thumbnails, what image dimensions do you desire?" +msgstr "生成缩略图时,你希望的图像尺寸是多少?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:24 +msgid "Set fix dimension?" +msgstr "设置为固定尺寸?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:25 +msgid "Ignore the aspect ratio, no portrait thumbnails?" +msgstr "忽视纵横比,无肖像缩略图?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:27 +msgid "Adjust Thumbnail Quality?" +msgstr "调整缩略图质量?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:28 +msgid "When generating thumbnails, what image quality do you desire?" +msgstr "生成缩略图时,你希望的图像质量是多少?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:30 +msgid "Size List" +msgstr "大小列表" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:31 +msgid "List of default sizes used for thumbnails and images" +msgstr "缩略图和图像的默认大小列表" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:12 +msgid "Watermarks" +msgstr "水印" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:41 +msgid "Using an Image" +msgstr "使用图像" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:42 +msgid "Using Text" +msgstr "使用文本" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:69 +msgid "An absolute or relative (to the site document root) file system path" +msgstr "一个绝对或相对(相对网站文档根目录)的文件系统路径" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:71 +msgid "" +"An absolute or relative (to the site document root) file system path or an " +"HTTP url" +msgstr "一个绝对或相对(相对网站文档根目录)的文件系统路径,或者一个 HTTP 地址" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:74 +msgid "Image URL:" +msgstr "图像地址:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:90 +msgid "Font Family:" +msgstr "字体家族:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:92 +msgid "Font Size:" +msgstr "字体大小:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:94 +msgid "Font Color:" +msgstr "字体颜色:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:97 +msgid "Text:" +msgstr "文本:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:99 +msgid "Opacity:" +msgstr "不透明度:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:126 +msgid "" +"Please note: You can only activate the watermark under Manage Gallery. This " +"action cannot be undone." +msgstr "请注意:你只能在“管理图库”中激活水印。此操作不可撤销。" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:127 +msgid "How will you generate a watermark?" +msgstr "你如何生成水印?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:131 +msgid "Position:" +msgstr "位置:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:133 +msgid "Offset:" +msgstr "偏移:" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:139 +msgid "Preview of saved settings:" +msgstr "预览保存设置" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:140 +msgid "Refresh preview image" +msgstr "刷新预览图像" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:34 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:37 +msgid "(Show Advanced Settings)" +msgstr "(显示高级设置)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:35 +msgid "(Hide Advanced Settings)" +msgstr "(隐藏高级设置)" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:56 +msgid "What must the lightbox be applied to?" +msgstr "何处应用 lightbox?" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:60 +msgid "Only apply to NextGEN images" +msgstr "只应用至 NextGEN 图像" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:61 +msgid "Only apply to NextGEN and WordPress images" +msgstr "只应用至 NextGEN 和 WordPress 图像" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:62 +msgid "Try to apply to all images" +msgstr "尝试应用至所有图像" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:63 +msgid "Try to apply to all images that link to image files" +msgstr "尝试应用至链接到图像文件的所有图像" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php:21 +msgid "Place any custom stylesheets in wp-content/ngg_styles" +msgstr "在 wp-content/ngg_styles 中放入任何自定义样式表" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php:24 +#, php-format +msgid "All stylesheets must contain a file header" +msgstr "所有样式表必须包含一个 文件头" + +#: products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:41 +msgid "Related Images" +msgstr "相关图像" + +#: products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:61 +msgid "[Show slideshow]" +msgstr "[显示幻灯片]" + +#: products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:62 +msgid "[Show thumbnails]" +msgstr "[显示缩略图]" + +#: products/photocrati_nextgen/modules/nextgen_xmlrpc/module.nextgen_xmlrpc.php:425 +msgid "Sorry, you must be able to manage galleries" +msgstr "对不起,你必须能够管理图库" + +#: products/photocrati_nextgen/modules/widget/class.widget_gallery.php:7 +msgid "Add recent or random images from the galleries" +msgstr "添加图库中最近的或随机的照片。" + +#: products/photocrati_nextgen/modules/widget/class.widget_gallery.php:8 +msgid "NextGEN Widget" +msgstr "NextGEN 小工具" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:9 +msgid "Widget that displays Media RSS links for NextGEN Gallery." +msgstr "用来显示 NextGEN 图库的 Media RSS 的小工具。" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:10 +msgid "NextGEN Media RSS" +msgstr "NextGEN Media RSS" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:22 +msgid "Media RSS" +msgstr "Media RSS" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:23 +msgid "Link to the main image feed" +msgstr "链接到主要图像订阅源" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:93 +#: products/photocrati_nextgen/modules/ngglegacy/view/gallery-caption.php:32 +#: products/photocrati_nextgen/modules/ngglegacy/view/gallery.php:32 +msgid "[View with PicLens]" +msgstr "[使用 PicLens 查看]" + +#: products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:7 +msgid "Show a NextGEN Gallery Slideshow" +msgstr "显示一个 NextGEN 图库幻灯片" + +#: products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:8 +msgid "NextGEN Slideshow" +msgstr "NextGEN 幻灯片" + +#: products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:76 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:321 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:521 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:721 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:215 +msgid "Slideshow" +msgstr "幻灯片" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:15 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:229 +msgid "Show" +msgstr "显示" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:26 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:316 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:520 +msgid "Thumbnails" +msgstr "缩略图" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:29 +msgid "Original images" +msgstr "原始图像" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:42 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:822 +msgid "random" +msgstr "随机" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:50 +msgid "recently added" +msgstr "最近添加" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:62 +msgid "Enable IE8 Web Slices" +msgstr "启用 IE8 Web Slices" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:68 +msgid "Width x Height" +msgstr "宽度 x 高度" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:87 +msgid "Select" +msgstr "选择" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:92 +msgid "All galleries" +msgstr "所有图库" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:95 +msgid "Only which are not listed" +msgstr "仅未被列出的" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:98 +msgid "Only which are listed" +msgstr "仅已列出的" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:107 +msgid "Gallery ID" +msgstr "图库 ID" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:114 +msgid "Gallery IDs, separated by commas." +msgstr "图库 ID,以逗号分隔" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:19 +msgid "Show Media RSS icon" +msgstr "显示 Media RSS 图标" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:30 +msgid "Show the Media RSS link" +msgstr "显示 Media RSS 链接" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:36 +msgid "Text for Media RSS link" +msgstr "Media RSS 的链接文本" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:47 +msgid "Tooltip text for Media RSS link" +msgstr "Media RSS 链接的提示文本" + +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:15 +msgid "Select Gallery" +msgstr "选择图库" + +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:23 +msgid "All images" +msgstr "所有图像" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:159 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:190 +msgid "Overview" +msgstr "概况" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:172 +msgid "Network settings" +msgstr "网络设置" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:305 +msgid "You do not have the correct permission" +msgstr "你没有正确的权限" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:306 +msgid "Unexpected Error" +msgstr "异常错误" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:307 +msgid "A failure occurred" +msgstr "出现了一个错误。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:311 +msgid "You have attempted to queue too many files." +msgstr "你在队列中加入了过多文件。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:312 +msgid "This file exceeds the maximum upload size for this site." +msgstr "此文件超过了此站点的最大上传大小。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:313 +msgid "This file is empty. Please try another." +msgstr "此文件为空。请尝试其他文件。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:314 +msgid "This file type is not allowed. Please try another." +msgstr "不允许此文件类型。请尝试其他文件。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:315 +msgid "This file is not an image. Please try another." +msgstr "这不是一个图像文件。请尝试其他文件。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:316 +msgid "Memory exceeded. Please try another smaller file." +msgstr "内存溢出。请尝试小一点的文件。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:317 +msgid "This is larger than the maximum size. Please try another." +msgstr "超过了最大的大小。请尝试其他文件。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:318 +msgid "An error occurred in the upload. Please try again later." +msgstr "上传出现错误。请稍后重试。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:319 +msgid "" +"There was a configuration error. Please contact the server administrator." +msgstr "有一个配置错误,请联系服务器管理员。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:320 +msgid "You may only upload 1 file." +msgstr "你只可以上传一个文件。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:321 +msgid "HTTP error." +msgstr "HTTP 错误。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:322 +msgid "Upload failed." +msgstr "上传失败。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:323 +msgid "IO error." +msgstr "IO 错误。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:324 +msgid "Security error." +msgstr "安全错误。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:325 +msgid "File canceled." +msgstr "文件已撤销。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:326 +msgid "Upload stopped." +msgstr "上传已终止。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:327 +msgid "Dismiss" +msgstr "忽略" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:328 +msgid "Crunching…" +msgstr "嘎吱嘎吱…" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:329 +msgid "moved to the trash." +msgstr "移至回收站。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:330 +#, php-format +msgid "“%s” has failed to upload due to an error" +msgstr "由于一个错误,导致 “%s” 上传失败" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:352 +msgid "L O A D I N G" +msgstr "加载中" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:353 +msgid "Click to Close" +msgstr "点击关闭" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:462 +msgid "" +"Introduction" +msgstr "介绍" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:465 +msgid "" +"Languages" +msgstr "" +"语言" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:470 +msgid "Get help with NextGEN Gallery" +msgstr "获取 NextGEN 图库的帮助" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:474 +msgid "More Help & Info" +msgstr "更多帮助和信息" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:476 +msgid "" +"Support Forums" +msgstr "" +"支持论坛" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:477 +msgid "FAQ" +msgstr "常见问题" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:478 +msgid "Feature request" +msgstr "功能请求" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:479 +msgid "Get your language pack" +msgstr "获取你的语言包" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:480 +msgid "Contribute development" +msgstr "开发贡献" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:481 +msgid "Download latest version" +msgstr "下载最新版本" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/ajax.php:360 +#, php-format +msgid "Could create image with %s x %s pixel" +msgstr "可以创建 %s x %s 像素的图像" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:172 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:216 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:239 +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:19 +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:22 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:619 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:7 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:10 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:13 +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:17 +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:20 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:10 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:13 +msgid "Cheatin’ uh?" +msgstr "作弊了吧?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:180 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:209 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:253 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:178 +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:24 +msgid "Update Successfully" +msgstr "更新成功" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:227 +msgid "Album deleted" +msgstr "相册已删除" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:389 +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:55 +msgid "Edit Album" +msgstr "编辑相册" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:410 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:459 +msgid "Select album" +msgstr "选择相册" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:412 +msgid "No album selected" +msgstr "无选择的相册" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:423 +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:166 +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:94 +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:112 +msgid "Update" +msgstr "更新" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:425 +msgid "Edit album" +msgstr "编辑相册" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:428 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:187 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:362 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:364 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:227 +msgid "Delete" +msgstr "删除" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:432 +msgid "Add new album" +msgstr "添加新相册" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:434 +msgid "Add" +msgstr "添加" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:445 +msgid "Show / hide used galleries" +msgstr "显示 / 隐藏使用的图库" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:445 +msgid "[Show all]" +msgstr "[显示全部]" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:446 +msgid "Maximize the widget content" +msgstr "最大化小工具内容" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:446 +msgid "[Maximize]" +msgstr "[最大化]" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:447 +msgid "Minimize the widget content" +msgstr "最小化小工具内容" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:447 +msgid "[Minimize]" +msgstr "[最小化]" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:449 +msgid "" +"After you create and select a album, you can drag and drop a gallery or " +"another album into your new album below" +msgstr "" +"在你创建和选择一个相册后,你可以拖放一个图库或者另一个相册到你下面新建的相册" +"中。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:475 +msgid "Select gallery" +msgstr "选择图库" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:500 +msgid "Album ID" +msgstr "相册 ID" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:513 +msgid "No album selected!" +msgstr "无选择的相册" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:534 +msgid "Album name:" +msgstr "相册名:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:540 +msgid "Album description:" +msgstr "相册描述:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:546 +msgid "Select a preview image:" +msgstr "选择一张预览图像:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:549 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:552 +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_preview_image_field.php:3 +msgid "No picture" +msgstr "无图像" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:563 +msgid "Page Link to" +msgstr "页面链接到" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:582 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:337 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:366 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:397 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:406 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:442 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:471 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:502 +msgid "OK" +msgstr "确定" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:584 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:339 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:368 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:399 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:408 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:444 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:473 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:504 +msgid "Cancel" +msgstr "取消" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:677 +msgid "Name" +msgstr "名称" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:679 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:229 +msgid "Page" +msgstr "页面" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:116 +msgid "Select with the mouse the area for the new thumbnail" +msgstr "使用鼠标选择新缩略图的区域" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:130 +msgid "Thumbnail updated" +msgstr "缩略图已更新" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:135 +msgid "Error updating thumbnail" +msgstr "更新缩略图出错" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:151 +msgid "Select the area for the thumbnail from the picture on the left." +msgstr "从左侧图像中选择缩略图的区域。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:39 +msgid "No valid gallery name!" +msgstr "无有效的图库名!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:46 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:80 +msgid "Directory" +msgstr "目录" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:46 +msgid "didn't exist. Please create first the main gallery folder " +msgstr "不存在。请先创建主图库目录" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:47 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:56 +msgid "Check this link, if you didn't know how to set the permission :" +msgstr "如果你不知道如何设置权限,请先查看此链接:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:80 +msgid "is not writeable !" +msgstr "不可写!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:76 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:85 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:736 +#: products/photocrati_nextgen/modules/ngglegacy/lib/core.php:101 +msgid "Unable to create directory " +msgstr "无法创建目录" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:89 +msgid "The server setting Safe-Mode is on !" +msgstr "服务器设置了启用安全模式!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:90 +msgid "If you have problems, please create directory" +msgstr "如有问题,请先创建目录" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:91 +msgid "and the thumbnails directory" +msgstr "和缩略图目录" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:91 +msgid "with permission 777 manually !" +msgstr "并手动设置为 777 权限!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:116 +#, php-format +msgid "" +"Gallery ID %1$s successfully created. You can show this gallery in your post " +"or page with the shortcode %2$s.
      " +msgstr "" +"成功创建图库 ID %1$s。你可以使用在你的日志或页面中使用短代码 %2$s 来显示此图" +"库。
      " + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:119 +msgid "Edit gallery" +msgstr "编辑图库" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:188 +msgid "Error while creating thumbnail." +msgstr "创建缩略图出错。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:242 +msgid "Error while resizing image." +msgstr "调整图像大小出错。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:326 +msgid "Error while rotating image." +msgstr "旋转图像出错。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:361 +msgid "Error while applying watermark to image." +msgstr "应用水印到图像出错。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:385 +msgid "Object didn't contain correct data" +msgstr "对象未包含正确数据" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:391 +msgid "File do not exists" +msgstr "文件不存在" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:395 +msgid "Couldn't restore original image" +msgstr "无法恢复原始图像" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:511 +msgid "(Error : Couldn't not update data base)" +msgstr "(错误:无法更新数据库)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:518 +msgid "(Error : Couldn't not update meta data)" +msgstr "(错误:无法更新元数据)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:527 +msgid "(Error : Couldn't not find image)" +msgstr "(错误:无法找到图像)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:670 +msgid "No valid URL path " +msgstr "无有效的地址路径" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:686 +msgid "Import via cURL failed." +msgstr "通过 cURL 导入失败。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:703 +msgid "Uploaded file was no or a faulty zip file ! The server recognized : " +msgstr "上传的文件不是 zip 文件或者有错!服务器识别为:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:720 +msgid "Could not get a valid foldername" +msgstr "无法获取一个有效的文件夹名" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:731 +#, php-format +msgid "" +"Unable to create directory %s. Is its parent directory writable by the " +"server?" +msgstr "无法创建目录 %s。其父目录在服务器上是否可写?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:746 +msgid "Zip-File successfully unpacked" +msgstr "Zip 文件解压成功" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:777 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:877 +msgid "No gallery selected !" +msgstr "无选择的图库!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:785 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:902 +msgid "Failure in database, no gallery path set !" +msgstr "数据库出错,未设置图库路径!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:809 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:896 +msgid "is no valid image file!" +msgstr "不是有效的图像文件!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:830 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:919 +msgid "Error, the file could not be moved to : " +msgstr "错误,文件无法移动到:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:835 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:923 +msgid "Error, the file permissions could not be set" +msgstr "错误,文件权限不能被设置" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:853 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:111 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:189 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:238 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:322 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:661 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:740 +msgid "Create new thumbnails" +msgstr "创建信缩略图" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:858 +msgid " Image(s) successfully added" +msgstr " 张图像成功添加" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:885 +msgid "Invalid upload. Error Code : " +msgstr "上传无效。错误代码:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:961 +#, php-format +msgid "" +"SAFE MODE Restriction in effect! You need to create the folder %s manually" +msgstr "存在安全模式限制!你需要手动创建 %s 文件夹" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:962 +#, php-format +msgid "" +"When safe_mode is on, PHP checks to see if the owner (%s) of the current " +"script matches the owner (%s) of the file to be operated on by a file " +"function or its directory" +msgstr "" +"启用安全模式后,PHP 会通过一个文件函数或其目录来检测当前脚本的拥有者(%s)是" +"否匹配待操作文件的拥有者(%s)。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1015 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1092 +msgid "The destination gallery does not exist" +msgstr "目标图库不存在" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1046 +#, php-format +msgid "Failed to move image %1$s to %2$s" +msgstr "移动图像 %1$s 到 %2$s 失败" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1066 +#, php-format +msgid "Moved %1$s picture(s) to gallery : %2$s ." +msgstr "已移动 %1$s 张图像到图库 %2$s。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1170 +#, php-format +msgid "Copied %1$s picture(s) to gallery: %2$s ." +msgstr "已复制 %1$s 张图像到图库 %2$s。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1278 +msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgstr "上传的文件超过了 php.ini 中的 upload_max_filesize 指示" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1281 +msgid "" +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " +"the HTML form" +msgstr "上传的文件超过了 HTML 表单中指定的 MAX_FILE_SIZE 指示" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1284 +msgid "The uploaded file was only partially uploaded" +msgstr "只有部分文件被上传了" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1287 +msgid "No file was uploaded" +msgstr "没有上传的文件" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1290 +msgid "Missing a temporary folder" +msgstr "缺少一个临时文件夹" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1293 +msgid "Failed to write file to disk" +msgstr "写文件到磁盘出错" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1296 +msgid "File upload stopped by extension" +msgstr "因扩展名文件上传被终止" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1299 +msgid "Unknown upload error" +msgstr "未知的上传错误" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/install.php:20 +msgid "Sorry, NextGEN Gallery works only with a role called administrator" +msgstr "对不起,只有管理员角色才能使用 NextGEN 图库" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/install.php:92 +msgid "" +"NextGEN Gallery : Tables could not created, please check your database " +"settings" +msgstr "NextGEN 图库:无法创建表,请检查你的数据库设置" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:99 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:206 +msgid "No images selected" +msgstr "无选择的图像" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:107 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:190 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:234 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:323 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:642 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:724 +msgid "Resize images" +msgstr "调整图像大小" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:116 +#, php-format +msgid "" +"You are about to start the bulk edit for %s galleries \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" +"你将对 %s 个图库进行批量操作 \n" +"\n" +"“取消”以终止,“确定”以继续。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:154 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:197 +msgid "Add new gallery" +msgstr "添加新图库" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:171 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:174 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:272 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:275 +msgid "Search Images" +msgstr "搜索图像" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:186 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:320 +msgid "Bulk actions" +msgstr "批量操作" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:188 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:321 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:572 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:687 +msgid "Set watermark" +msgstr "设置水印" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:191 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:326 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:577 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:708 +msgid "Import metadata" +msgstr "导入元数据" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:192 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:324 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:567 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:684 +msgid "Recover from backup" +msgstr "从备份恢复" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:194 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:335 +msgid "Apply" +msgstr "应用" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:262 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:253 +msgid "Edit" +msgstr "编辑" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:309 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:379 +msgid "No entries found" +msgstr "未找到条目" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:327 +msgid "New Gallery" +msgstr "新图库" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:329 +msgid "Create a new , empty gallery below the folder" +msgstr "在该文件夹下创建一个新的空图库" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:331 +msgid "Allowed characters for file and folder names are" +msgstr "文件和文件夹名称可使用的字符有" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:357 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:462 +msgid "Resize Images to" +msgstr "调整图像大小至" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:361 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:466 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:453 +msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size" +msgstr "宽度 x 高度(像素)。NextGEN 图库为保持纵横比" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:385 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:490 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:40 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:416 +msgid "Width x height (in pixel)" +msgstr "宽度 x 高度(像素)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:391 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:496 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:426 +msgid "Set fix dimension" +msgstr "设置固定尺寸" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:393 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:498 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:428 +msgid "Ignore the aspect ratio, no portrait thumbnails" +msgstr "忽略纵横比,无肖像缩略图" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:456 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:568 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:156 +msgid "ID" +msgstr "ID" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:458 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:571 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:245 +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:134 +msgid "Description" +msgstr "描述" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:460 +msgid "Page ID" +msgstr "页面 ID" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:35 +msgid "Gallery not found." +msgstr "未找到图库" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:41 +msgid "Sorry, you have no access here" +msgstr "对不起,你没有访问权限" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:214 +msgid "Copy image to..." +msgstr "复制图像到……" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:218 +msgid "Move image to..." +msgstr "移动图像到……" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:222 +msgid "Add new tags" +msgstr "添加新标签" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:226 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:332 +msgid "Delete tags" +msgstr "删除标签" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:230 +msgid "Overwrite" +msgstr "覆盖" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:243 +#, php-format +msgid "" +"You are about to start the bulk edit for %s images \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" +"你将对 %s 个图像进行批量操作 \n" +"\n" +"“取消”以终止,“确定”以继续。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:269 +#, php-format +msgid "Search results for “%s”" +msgstr "“%s” 的搜索结果" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:298 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:488 +msgid "Gallery settings" +msgstr "图库设置" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:298 +msgid "Click here for more settings" +msgstr "更多设置点击这里" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:304 +msgid "Scan Folder for new images" +msgstr "扫描文件夹中的新图像" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:306 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:341 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:386 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:400 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:436 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:478 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:563 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:598 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:708 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:861 +msgid "Save Changes" +msgstr "保存修改" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:325 +msgid "Delete images" +msgstr "删除图像" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:327 +msgid "Rotate images clockwise" +msgstr "顺时针旋转图像" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:328 +msgid "Rotate images counter-clockwise" +msgstr "逆时针旋转图像" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:329 +msgid "Copy to..." +msgstr "复制到……" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:330 +msgid "Move to..." +msgstr "移动到……" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:331 +msgid "Add tags" +msgstr "添加标签" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:333 +msgid "Overwrite tags" +msgstr "覆盖标签" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:338 +msgid "Sort gallery" +msgstr "排序图库" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:402 +msgid "Enter the tags" +msgstr "输入标签" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:426 +msgid "Select the destination gallery:" +msgstr "选择目标图库:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:569 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:161 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:266 +msgid "Thumbnail" +msgstr "缩略图" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:571 +msgid "Alt & Title Text" +msgstr "替代文本" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:572 +msgid "Tags (comma separated list)" +msgstr "标签(以逗号分隔)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:35 +msgid "Sort order changed" +msgstr "排序方式已更改。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:97 +msgid "Sort Gallery" +msgstr "排序图库" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:101 +msgid "Update Sort Order" +msgstr "更新排序方式" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:104 +msgid "Back to gallery" +msgstr "返回到图库" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:109 +msgid "Presort" +msgstr "预分类" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:110 +msgid "Unsorted" +msgstr "未排序" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:113 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:241 +msgid "Alt/Title text" +msgstr "替代文本" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:90 +msgid "deleted successfully" +msgstr "成功删除" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:106 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:115 +msgid "Operation successful. Please clear your browser cache." +msgstr "操作成功。请清空你的浏览器缓存。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:171 +msgid "Alt & Title Text / Description" +msgstr "替代文本 / 描述" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:214 +msgid "Exclude ?" +msgstr "排除?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:299 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:301 +msgid "View" +msgstr "查看" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:309 +msgid "Show meta data" +msgstr "显示元数据" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:310 +msgid "Meta" +msgstr "元数据" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:318 +msgid "Customize thumbnail" +msgstr "自定义缩略图" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:319 +msgid "Edit thumb" +msgstr "编辑缩略图" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:327 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:328 +msgid "Rotate" +msgstr "旋转" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:338 +msgid "Publish this image" +msgstr "发布此图像" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:339 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:58 +msgid "Publish" +msgstr "发布" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:349 +msgid "Recover image from backup" +msgstr "从备份恢复图像" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:350 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:352 +msgid "Recover" +msgstr "恢复" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:361 +msgid "Delete image" +msgstr "删除图像" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:392 +msgid "Title:" +msgstr "标题:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:398 +msgid "Description:" +msgstr "描述:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:404 +msgid "Gallery path:" +msgstr "图库路径:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:419 +msgid "Link to page:" +msgstr "链接到页面:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:420 +msgid "Albums will link this gallery to the selected page" +msgstr "相册会链接此图库到所选择的页面" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:425 +msgid "Preview image:" +msgstr "预览图像:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:431 +msgid "Create new page:" +msgstr "创建新页面:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:607 +msgid "Gallery deleted successfully " +msgstr "图库成功删除" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:678 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:681 +msgid "Rotate images" +msgstr "旋转图像" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:704 +msgid "Pictures deleted successfully " +msgstr "图像成功删除" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:802 +msgid "Tags changed" +msgstr "标签已更改" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:842 +msgid "Update successful" +msgstr "更新成功" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:877 +msgid "New gallery page ID" +msgstr "新图库页 ID" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:877 +msgid "created" +msgstr "已创建" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:915 +msgid "Published a new post" +msgstr "发布了一篇新日志" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1062 +msgid "Go to the first page" +msgstr "去第一页" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1069 +msgid "Go to the previous page" +msgstr "去上一页" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1078 +msgid "Current page" +msgstr "当前页" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1089 +msgid "Go to the next page" +msgstr "去下一页" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1096 +msgid "Go to the last page" +msgstr "去最后一页" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1046 +#, php-format +msgid "1 item" +msgid_plural "%s items" +msgstr[0] "%s 个条目" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1046 +#, php-format +msgctxt "paging" +msgid "%1$s of %2$s" +msgstr "%1$s / %2$s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:11 +msgid "NextGEN Gallery" +msgstr "NextGEN 图库" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:186 +msgid "No gallery" +msgstr "无图库" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:198 +msgid "Select »" +msgstr "选择 »" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:230 +msgid "Hide" +msgstr "隐藏" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:235 +msgid "Image ID:" +msgstr "图像 ID:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:249 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:45 +msgid "Alignment" +msgstr "对齐" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:252 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:47 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:583 +msgid "None" +msgstr "无" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:254 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:49 +msgid "Left" +msgstr "左对齐" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:256 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:51 +msgid "Center" +msgstr "居中对齐" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:258 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:53 +msgid "Right" +msgstr "右对齐" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:262 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:690 +msgid "Size" +msgstr "大小" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:268 +msgid "Full size" +msgstr "完整大小" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:270 +msgid "Singlepic" +msgstr "单图" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:282 +msgid "Use as featured image" +msgstr "作为特色图像" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:284 +msgid "Insert into Post" +msgstr "插入日志" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:295 +msgid "Save all changes" +msgstr "保存所有更改" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:14 +msgid "NextGEN Gallery Overview" +msgstr "NextGEN 图库一览" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:84 +msgid "Welcome to NextGEN Gallery !" +msgstr "欢迎来到 NextGEN 图库!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:85 +msgid "Do you like this Plugin?" +msgstr "你喜欢这个插件吗?" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:87 +msgid "About" +msgstr "关于" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:90 +msgid "Server Settings" +msgstr "服务器设置" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97 +msgid "" +"NextGEN Gallery is one of the most popular Wordpress plugins of all time " +"with over 9 million downloads. It is developed and supported by Photocrati " +"Media. We'd like to offer a special thanks to Alex Rabe, who first developed " +"the plugin and maintained it through 2011." +msgstr "" +"拥有超过900万下载量的 NextGEN 图库,始终是 Wordpress 上最受欢迎的插件之一。它" +"由 Photocrati Media 进行研发并提供支持。我们在此特别感谢 Alex Rabe,是他第一" +"个开发了此插件,并维护至2011年。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:98 +msgid "" +"NEED HELP? If you need help or assistance please visit the " +"NextGEN " +"Gallery forums on WordPress.org. Please note that we actively monitor " +"and participate in the forums, but given that NextGEN Gallery is a free " +"product, we don't guarantee replies to support queries." +msgstr "" +"需要帮助? 如果你需要帮助,请访问 WordPress.org 上的 NextGEN 图库论坛。" +"我们会积极查看并参与此论坛,但鉴于 NextGEN 图库是一个免费产品,我们并不保证所" +"有询问的回复支持。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:99 +msgid "" +"EXTENDING NEXTGEN? There are many third party plugins that " +"add displays and functionality for NextGEN Gallery. See our Complete List of " +"NextGEN Extension Plugins." +msgstr "" +"扩展 NEXTGEN? 有许多第三方的插件为 NextGEN 插件新增了显示特" +"效和功能特性。查看NextGEN 扩展插件完整列表" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:107 +#, php-format +msgid "" +"This plugin is primarily developed, maintained, supported and documented by " +"Photocrati Media with a lot of love & " +"effort. Any kind of contribution would be highly appreciated. Thanks!" +msgstr "" +"凭着爱和努力,此插件主要由 Photocrati " +"Media 进行开发、维护、提供支持和文档。我们非常感激任何形式的捐赠。谢谢!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:112 +msgid "Please click \"Works\" on WordPress.org" +msgstr "请点击 WordPress.org 上的成果" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:117 +msgid "Give it a good rating on WordPress.org" +msgstr "在 Wordpress.org 上给一个好评" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:122 +msgid "Visit the plugin homepage" +msgstr "访问插件主页" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:127 +msgid "Help translating it" +msgstr "帮助翻译它" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:149 +msgid "Graphic Library" +msgstr "图形库" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:165 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:214 +msgid "Loading…" +msgstr "加载中…" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:165 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:214 +msgid "This widget requires JavaScript." +msgstr "此小工具需要 JavaScript。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:178 +msgid "Thanks to all donators..." +msgstr "感谢所有捐赠者……" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:200 +msgid "View all" +msgstr "查看所有" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:226 +#, php-format +msgid "" +"Newsfeed could not be loaded. Check the front page to " +"check for updates." +msgstr "无法加载新闻推送。查看 首页 检测更新。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:238 +msgid "Untitled" +msgstr "无标题" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:303 +msgid "At a Glance" +msgstr "一览" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:356 +msgid "Storage Space" +msgstr "存储空间" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:360 +#, php-format +msgid "" +"%2$sMB" +msgstr "%2$sMB" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:361 +msgid "Space Allowed" +msgstr "可用空间" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:368 +#, php-format +msgid "" +"%2$sMB (%3$s" +"%%)" +msgstr "" +"%2$sMB (%3$s%%)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:369 +msgid "Space Used" +msgstr "已用空间" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:395 +msgid "No GD support" +msgstr "无 GD 支持" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:427 +msgid "Not set" +msgstr "未设置" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:429 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:432 +msgid "On" +msgstr "启用" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:430 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:433 +msgid "Off" +msgstr "禁用" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:437 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:440 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:443 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:446 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:449 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:452 +msgid "N/A" +msgstr "不适用" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:451 +msgid " MByte" +msgstr " 兆字节" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:464 +msgid "Operating System" +msgstr "操作系统" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:465 +msgid "Server" +msgstr "服务器" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:466 +msgid "Memory usage" +msgstr "内存使用" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:467 +msgid "MYSQL Version" +msgstr "MYSQL 版本" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:468 +msgid "SQL Mode" +msgstr "SQL 模式" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:469 +msgid "PHP Version" +msgstr "PHP 版本" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:470 +msgid "PHP Safe Mode" +msgstr "PHP 安全模式" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:471 +msgid "PHP Allow URL fopen" +msgstr "PHP 允许 URL fopen" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:472 +msgid "PHP Memory Limit" +msgstr "PHP 内存限制" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:473 +msgid "PHP Max Upload Size" +msgstr "PHP 最大上传大小" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:474 +msgid "PHP Max Post Size" +msgstr "PHP 最大日志大小" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:475 +msgid "PCRE Backtracking Limit" +msgstr "PCRE 回溯限制" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:476 +msgid "PHP Max Script Execute Time" +msgstr "PHP 最大脚本执行时间" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:477 +msgid "PHP Exif support" +msgstr "PHP Exif 支持" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:478 +msgid "PHP IPTC support" +msgstr "PHP IPTC 支持" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:479 +msgid "PHP XML support" +msgstr "PHP XML 支持" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:491 +msgid "" +"NextGEN Gallery contains some functions which are only available under PHP " +"5.2. You are using the old PHP 4 version, upgrade now! It's no longer " +"supported by the PHP group. Many shared hosting providers offer both PHP 4 " +"and PHP 5, running simultaneously. Ask your provider if they can do this." +msgstr "" +"NextGEN 图库包含一些 PHP 5.2 中才有的功能。你正在使用较早的 PHP 4 版本,现在" +"就升级!PHP 组已经不在对其进行支持了。许多分享的主机供应商同时提供 PHP 4 和 " +"PHP 5,且可以同时运行。询问你的供应商看是否可以进行升级。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:35 +msgid "Post title" +msgstr "日志标题" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:37 +msgid "Enter the post title " +msgstr "输入日志标题" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:42 +msgid "Size of the image" +msgstr "图像大小" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:60 +msgid "Draft" +msgstr "草稿" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:26 +msgid "" +"Select the lowest role which should be able to access the following " +"capabilities. NextGEN Gallery supports the standard roles from WordPress." +msgstr "" +"选择访问以下功能所需的最小用户角色。NextGEN 图库支持来自 WordPress 的标准用户" +"角色。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:27 +msgid "For a more flexible user management you can use the" +msgstr "更灵活的用户管理,你可以使用" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:31 +msgid "Main NextGEN Gallery overview" +msgstr "NextGEN 主图库一览" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:35 +msgid "Use TinyMCE Button / Upload tab" +msgstr "使用 TinyMCS 按钮 / 上传标签页" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:39 +msgid "Add gallery / Upload images" +msgstr "添加图库 / 上传图像" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:43 +msgid "Manage gallery" +msgstr "管理图库" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:47 +msgid "Manage others gallery" +msgstr "管理其他图库" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:51 +msgid "Manage tags" +msgstr "管理标签" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:59 +msgid "Change style" +msgstr "更改样式" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:63 +msgid "Change options" +msgstr "更改选项" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:67 +msgid "NextGEN Attach Interface" +msgstr "NextGEN 附加接口" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:60 +msgid "Image rotated" +msgstr "图像已旋转" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:62 +msgid "Error rotating thumbnail" +msgstr "旋转缩略图出错" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:85 +msgid "90° clockwise" +msgstr "顺时针90°" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:86 +msgid "90° anticlockwise" +msgstr "逆时针90°" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:87 +msgid "Flip vertically" +msgstr "垂直翻转" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:88 +msgid "Flip horizontally" +msgstr "水平翻转" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:22 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:204 +#, php-format +msgid "Rebuild image structure : %s / %s images" +msgstr "重建图像结构:%s / %s 张图像" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:23 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:205 +#, php-format +msgid "Rebuild gallery structure : %s / %s galleries" +msgstr "重建图库结构:%s / %s 个图库" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:24 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:206 +#, php-format +msgid "Rebuild album structure : %s / %s albums" +msgstr "重建相册结构:%s / %s 个相册" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:81 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:263 +msgid "Done." +msgstr "完成。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:196 +msgid "Cache cleared" +msgstr "缓存已清空" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:315 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:334 +msgid "General Options" +msgstr "通用选项" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:317 +msgid "Image" +msgid_plural "Images" +msgstr[0] "图像" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:319 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:572 +msgid "Effects" +msgstr "特效" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:320 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:614 +msgid "Watermark" +msgstr "水印" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:340 +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:54 +msgid "Gallery path" +msgstr "图库路径" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:342 +msgid "This is the default path for all galleries" +msgstr "这是所有图库的默认路径" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:345 +msgid "Delete image files" +msgstr "删除图像文件" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:347 +msgid "Delete files, when removing a gallery in the database" +msgstr "在数据库中删除图库的同时删除文件" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:350 +msgid "Activate permalinks" +msgstr "启用固定链接" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:352 +msgid "" +"When you activate this option, you need to update your permalink structure " +"one time." +msgstr "启用该选项后,你需要更新一下你的固定链接结构。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:353 +msgid "Gallery slug name :" +msgstr "图库别名" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:357 +msgid "Create new URL friendly image slugs" +msgstr "创建新的地址友好的图像别名" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:358 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:474 +msgid "Proceed now" +msgstr "现在开始" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:361 +msgid "Select graphic library" +msgstr "选择图形库" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:362 +msgid "GD Library" +msgstr "GD 库" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:363 +msgid "ImageMagick (Experimental). Path to the library :" +msgstr "ImageMagick(实验性的)。库的路径:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:368 +msgid "Activate Media RSS feed" +msgstr "激活 Media RSS 订阅" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:370 +msgid "" +"A RSS feed will be added to you blog header. Useful for CoolIris/PicLens" +msgstr "一个 RSS 订阅会添加至你的博客头部。对于 CoolIris/PicLens 比较有用" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:373 +msgid "Activate PicLens/CoolIris support" +msgstr "激活 PicLens/CoolIris 支持" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:375 +msgid "" +"When you activate this option, some javascript is added to your site footer. " +"Make sure that wp_footer is called in your theme." +msgstr "" +"激活该选项后,一些 javascript 会添加至你的站点底部。确保你的主题中调用了 " +"wp_footer。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:378 +msgid "Tags / Categories" +msgstr "标签 / 分类" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:381 +msgid "Activate related images" +msgstr "激活相关图像" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:383 +msgid "This option will append related images to every post" +msgstr "此选项会在每篇日志后附加相关图像" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:387 +msgid "Match with" +msgstr "匹配" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:393 +msgid "Max. number of images" +msgstr "最大图像个数" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:395 +msgid "0 will show all images" +msgstr "0 将显示所有图像" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:399 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:435 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:477 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:562 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:597 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:860 +msgid "More settings" +msgstr "更多设置" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:409 +msgid "Thumbnail settings" +msgstr "缩略图设置" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:413 +msgid "" +"Please note : If you change the settings, you need to recreate the " +"thumbnails under -> Manage Gallery ." +msgstr "请注意:如果你更改了设置,你需要在“管理图库”中重新创建缩略图。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:422 +msgid "These values are maximum values " +msgstr "这些值是最大值" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:445 +msgid "Image settings" +msgstr "图像设置" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:451 +msgid "Resize Images" +msgstr "调整图像大小" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:460 +msgid "Backup original images" +msgstr "备份原始图像" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:462 +msgid "Creates a backup for inserted images" +msgstr "为插入的图像创建一个备份" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:465 +msgid "Automatically resize" +msgstr "自动调整大小" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:467 +msgid "Automatically resize images on upload." +msgstr "上传后自动调整图像大小。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:470 +msgid "Single picture" +msgstr "单张图片" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:473 +msgid "Clear cache folder" +msgstr "清空缓存文件夹" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:494 +msgid "Deactivate gallery page link" +msgstr "禁用图库页面链接" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:496 +msgid "" +"The album will not link to a gallery subpage. The gallery is shown on the " +"same page." +msgstr "相册不会链接到一个图库子页面。图库会在同一页面上显示。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:500 +msgid "Number of images per page" +msgstr "每页的图像个数" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:502 +msgid "0 will disable pagination, all images on one page" +msgstr "0 将禁用分页,所有图像在同一页面显示" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:506 +msgid "Number of columns" +msgstr "列数" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:508 +msgid "" +"0 will display as much as possible based on the width of your theme. Setting " +"normally only required for captions below the images" +msgstr "" +"0 将基于你的主题宽度显示尽可能多的图像。通常只有在图像下面有标题时需要设置。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:512 +msgid "Integrate slideshow" +msgstr "集成幻灯片" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:519 +msgid "Show first" +msgstr "最先显示" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:525 +msgid "Show ImageBrowser" +msgstr "显示 ImageBrowser" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:527 +msgid "The gallery will open the ImageBrowser instead the effect." +msgstr "图库将在 ImageBrowser 中而不是以特效方式打开。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:531 +msgid "Add hidden images" +msgstr "添加隐藏图像" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:533 +msgid "" +"If pagination is used, this option will still show all images in the modal " +"window (Thickbox, Lightbox etc.). Note : This increases the page load" +msgstr "" +"如果使用分页,此选项会在模式窗口(Thickbox、Lightbox等等)中显示图像。这会增" +"加页面负载。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:539 +msgid "" +"Browse images without reload the page. Note : Works only in combination with " +"Shutter effect" +msgstr "浏览图片,而不需要重新加载页面。注意:只能和 Shutter 特效结合使用" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:543 +msgid "Sort options" +msgstr "排序选项" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:546 +msgid "Sort thumbnails" +msgstr "排序缩略图" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:548 +msgid "Custom order" +msgstr "自定义顺序" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:550 +msgid "File name" +msgstr "文件名" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:551 +msgid "Alt / Title text" +msgstr "替代文本" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:552 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:58 +msgid "Date / Time" +msgstr "日期时间" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:556 +msgid "Sort direction" +msgstr "排序方向" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:576 +msgid "" +"Here you can select the thumbnail effect, NextGEN Gallery will integrate the " +"required HTML code in the images. Please note that only the Shutter and " +"Thickbox effect will automatic added to your theme." +msgstr "" +"这里你可以选择缩略图特效,NextGEN 图库会在图像中加入所需的 HTML 代码。请注" +"意:只有 Shutter 和 Thickbox 特效会自动添加到你的主题中。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:577 +msgid "With the placeholder" +msgstr "使用占位符" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:577 +msgid "" +"you can activate a navigation through the images (depend on the effect). " +"Change the code line only , when you use a different thumbnail effect or you " +"know what you do." +msgstr "" +"你可以启用图像的导航(有赖于特效)。只更改代码行,如果你使用别的缩略图特效的" +"话,或者你清楚你自己在做什么的时候。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:580 +msgid "JavaScript Thumbnail effect" +msgstr "JavaScript 缩略图特效" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:584 +msgid "Thickbox" +msgstr "Thickbox" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:585 +msgid "Lightbox" +msgstr "Lightbox" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:586 +msgid "Highslide" +msgstr "Highslide" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:587 +msgid "Shutter" +msgstr "Shutter" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:593 +msgid "Link Code line" +msgstr "链接代码行" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:615 +msgid "" +"Please note : You can only activate the watermark under -> Manage Gallery . " +"This action cannot be undone." +msgstr "请注意:你只能在“管理图库”中激活水印。此操作不可撤销。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:620 +msgid "Preview" +msgstr "预览" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:622 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:627 +msgid "Position" +msgstr "位置" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:647 +msgid "Offset" +msgstr "偏移" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:663 +msgid "Use image as watermark" +msgstr "使用图像作为水印" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:666 +msgid "URL to file" +msgstr "文件的地址" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:668 +msgid "The accessing of URL files is disabled at your server (allow_url_fopen)" +msgstr "你的服务器禁用了 URL 文件的访问(allow_url_fopen)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:671 +msgid "Use text as watermark" +msgstr "使用文本作为水印" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:674 +msgid "Font" +msgstr "字体" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:683 +msgid "This function will not work, cause you need the FreeType library" +msgstr "此功能无法运作,因为你需要 FreeType 库。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:685 +msgid "" +"You can upload more fonts in the folder nggallery/fonts" +msgstr "你可以上传更多的字体到 nggallery/fonts 文件夹中。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:694 +msgid "Color" +msgstr "颜色" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:696 +msgid "(hex w/o #)" +msgstr "(hex w/o #)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:699 +msgid "Text" +msgstr "文本" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:703 +msgid "Opaque" +msgstr "不透明度" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:724 +msgid "Default size (W x H)" +msgstr "默认大小(宽 x 高)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:729 +msgid "Duration time" +msgstr "持续时间" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:730 +msgid "sec." +msgstr "秒。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:733 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:810 +msgid "Transition / Fade effect" +msgstr "过渡 / 渐变特效" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:736 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:813 +msgid "fade" +msgstr "fade" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:737 +msgid "blindX" +msgstr "blindX" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:738 +msgid "cover" +msgstr "cover" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:739 +msgid "scrollUp" +msgstr "scrollUp" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:740 +msgid "scrollDown" +msgstr "scrollDown" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:741 +msgid "shuffle" +msgstr "shuffle" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:742 +msgid "toss" +msgstr "toss" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:743 +msgid "wipe" +msgstr "wipe" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:745 +msgid "See here for more information about the effects :" +msgstr "更多特效信息请查看这里" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:749 +msgid "Settings for the JW Image Rotator" +msgstr "设置 JW Image Rotator" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:758 +msgid "" +"The path to JW Image Rotator is not defined, the slideshow will not work." +msgstr "未定义 JW Image Rotator 的路径,幻灯片将无法运作。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:770 +msgid "Path to the JW Image Rotator (URL)" +msgstr "JW Image Rotator 的路径(URL)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:773 +msgid "Search now" +msgstr "立即搜索" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:774 +msgid "Press the button below to search for the JW Image Rotator" +msgstr "点击下面的按钮搜索 JW Image Rotator" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:778 +msgid "Shuffle mode" +msgstr "随机模式" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:796 +msgid "You can change the logo at the watermark settings" +msgstr "你可以在水印设置中更改标志" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:802 +msgid "true" +msgstr "是" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:803 +msgid "false" +msgstr "否" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:804 +msgid "fit" +msgstr "适应" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:805 +msgid "none" +msgstr "无" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:814 +msgid "bgfade" +msgstr "背景渐变" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:815 +msgid "slowfade" +msgstr "慢渐变" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:816 +msgid "circles" +msgstr "圆形" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:817 +msgid "bubbles" +msgstr "气泡" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:818 +msgid "blocks" +msgstr "块" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:819 +msgid "fluids" +msgstr "流体" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:820 +msgid "flash" +msgstr "闪光" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:821 +msgid "lines" +msgstr "行" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:831 +msgid "Background Color" +msgstr "背景颜色" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:836 +msgid "Texts / Buttons Color" +msgstr "文本 / 按钮颜色" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:841 +msgid "Rollover / Active Color" +msgstr "反转 / 当前颜色" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:846 +msgid "Screen Color" +msgstr "屏幕颜色" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:851 +msgid "Background music (URL)" +msgstr "背景音乐(地址)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:855 +msgid "Try XHTML validation (with CDATA)" +msgstr "尝试 XHTML 验证(使用 CDATA)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:857 +msgid "" +"Important : Could causes problem at some browser. Please recheck your page." +msgstr "重要:在某些浏览器中可能会出现错误。请重新检查你的页面。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:29 +msgid "Meta Data" +msgstr "元数据" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:34 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:60 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:85 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:109 +msgid "Tag" +msgstr "标签" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:35 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:61 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:86 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:110 +msgid "Value" +msgstr "值" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:49 +msgid "No meta data saved" +msgstr "无保存的元数据" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:55 +msgid "EXIF Data" +msgstr "EXIF 数据" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:74 +msgid "No exif data" +msgstr "无 Exif 数据" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:81 +msgid "IPTC Data" +msgstr "IPTC 数据" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:105 +msgid "XMP Data" +msgstr "XMP 数据" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:11 +msgid "(From the theme folder)" +msgstr "(来自主题文件夹)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:43 +msgid "You do not have sufficient permissions to edit templates for this blog." +msgstr "你没有足够的权限来编辑此博客的模板。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:52 +msgid "CSS file successfully updated" +msgstr "CSS 文件更新成功" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:91 +msgid "Activate and use style sheet:" +msgstr "激活并使用样式表:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:111 +msgid "Activate" +msgstr "激活" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:121 +#, php-format +msgid "Editing %s" +msgstr "编辑 %s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:123 +#, php-format +msgid "Browsing %s" +msgstr "浏览 %s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:133 +msgid "Version" +msgstr "版本" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:136 +msgid "" +"Tip : Copy your stylesheet (nggallery.css) to your theme folder, so it will " +"be not lost during a upgrade" +msgstr "" +"小贴士:复制你的样式表(nggallery.css)到你的主题文件夹下,从而不会在升级过程" +"中丢失" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:138 +msgid "" +"Your theme contain a NextGEN Gallery stylesheet (nggallery.css), this file " +"will be used" +msgstr "" +"你的主题包含有一个 NextGEN 图库的样式表((nggallery.css),此文件会被使用" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:140 +msgid "" +"Tip No. 2: Use the color picker below to help you find the right color " +"scheme for your gallery!" +msgstr "小贴士 No. 2:使用下面的拾色器为你的图库寻找合适的配色方案!" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:156 +msgid "Update File" +msgstr "更新文件" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:159 +msgid "If this file were writable you could edit it." +msgstr "如果此文件可写,你就可以编辑它。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:164 +msgid "Oops, no such file exists! Double check the name and try again, merci." +msgstr "哎哟,此文件不存在!请重新检查后再试,谢谢。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:41 +msgid "Most popular" +msgstr "最受欢迎" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:42 +msgid "Least used" +msgstr "最近使用" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:43 +msgid "Alphabetical" +msgstr "按字母顺序" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:100 +msgid "Manage image tags" +msgstr "管理图像标签" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:112 +msgid "Existing Tags" +msgstr "已有标签" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:116 +msgid "Search tags" +msgstr "搜索标签" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:120 +msgid "Go" +msgstr "开始" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:125 +msgid "Sort Order:" +msgstr "排序方式:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:160 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:164 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:177 +msgid "Previous tags" +msgstr "上一个标签" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:173 +msgid "Next tags" +msgstr "下一个标签" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:185 +msgid "Rename Tag" +msgstr "重命名标签" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:193 +msgid "" +"Enter the tag to rename and its new value. You can use this feature to " +"merge tags too. Click \"Rename\" and all posts which use this tag will be " +"updated." +msgstr "" +"输入待重命名的标签和它新的值。你也可以借此来合并标签。点击“重命名”后,所有使" +"用了该标签的日志都会被更新。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:194 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:242 +msgid "You can specify multiple tags to rename by separating them with commas." +msgstr "你可以指定多个要重命名的标签,用逗号分隔。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:198 +msgid "Tag(s) to rename:" +msgstr "待重命名的标签:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:202 +msgid "New tag name(s):" +msgstr "新的标签名:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:205 +msgid "Rename" +msgstr "重命名" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:211 +msgid "Delete Tag" +msgstr "删除标签" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:219 +msgid "" +"Enter the name of the tag to delete. This tag will be removed from all " +"posts." +msgstr "输入待删除的标签名。该标签会从所有日志中被移除。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:220 +msgid "You can specify multiple tags to delete by separating them with commas" +msgstr "你可以指定多个要删除的标签,用逗号分隔。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:224 +msgid "Tag(s) to delete:" +msgstr "待删除的标签:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:233 +msgid "Edit Tag Slug" +msgstr "编辑标签别名" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:241 +msgid "" +"Enter the tag name to edit and its new slug. This will be used in tagcloud " +"links. Slug definition" +msgstr "" +"输入待编辑的标签名和它新的别名。这会在标签云的链接中使用到。别名定义" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:246 +msgid "Tag(s) to match:" +msgstr "待匹配的标签:" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:250 +msgid "Slug(s) to set:" +msgstr "待设置的别名" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_create_page_field.php:3 +msgid "Main Page (no parent)" +msgstr "主页面(无父级)" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_create_page_field.php:10 +msgid "Add page" +msgstr "添加页面" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_link_to_page_field.php:3 +msgid "Not linked" +msgstr "未链接" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/thumbnails-template.php:103 +msgid "These are maximum values" +msgstr "这些是最大值。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:61 +msgid "" +"Some folders/files could not renamed, please recheck the permission and " +"rescan the folder in the manage gallery section." +msgstr "" +"部分文件夹/文件无法被重命名,请检查权限后,在“管理图库”中重新扫描文件夹。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:63 +msgid "Rename failed" +msgstr "重命名失败" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:159 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:178 +msgid "Upgrade NextGEN Gallery" +msgstr "升级 NextGEN 图库" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:160 +msgid "The script detect that you upgrade from a older version." +msgstr "脚本检测到你是从旧版本升级的。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:161 +msgid "" +"Your database tables for NextGEN Gallery is out-of-date, and must be " +"upgraded before you can continue." +msgstr "ä½  NextGEN 图库的数据库表已过期,在继续之前你必须先升级。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:162 +msgid "" +"If you would like to downgrade later, please make first a complete backup of " +"your database and the images." +msgstr "如果你后期想要降级,请先备份好你的数据库和图像。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:163 +msgid "The upgrade process may take a while, so please be patient." +msgstr "升级过程可能需要一段时间,请耐心等待。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:164 +msgid "Start upgrade now" +msgstr "现在开始升级" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:180 +msgid "Upgrade finished..." +msgstr "升级完成……" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:181 +msgid "Continue" +msgstr "ç»§ç»­" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:33 +msgid "Update successfully" +msgstr "更新成功" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:48 +msgid "Network Options" +msgstr "网络选项" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:56 +msgid "" +"This is the default path for all blogs. With the placeholder %BLOG_ID% you " +"can organize the folder structure better." +msgstr "" +"这是所有博客的默认路径。使用占位符 %BLOG_ID% 可以更好地识别文件夹结构。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:57 +#, php-format +msgid "The default setting should be %s" +msgstr "默认设置应为 %s" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:61 +msgid "Enable upload quota check" +msgstr "启用上传配额检查" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:63 +msgid "Should work if the gallery is bellow the blog.dir" +msgstr "图库在博客目录下才能正常运作" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:67 +msgid "Enable zip upload option" +msgstr "启用 zip 上传选项" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:69 +msgid "Allow users to upload zip folders." +msgstr "允许用户上传 zip 文件。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:73 +msgid "Enable import function" +msgstr "启用导入功能" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:75 +msgid "Allow users to import images folders from the server." +msgstr "允许用户导入来自服务器的图像文件夹。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:79 +msgid "Enable style selection" +msgstr "启用样式选择" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:81 +msgid "Allow users to choose a style for the gallery." +msgstr "允许用户为图库选择样式。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:85 +msgid "Enable roles/capabilities" +msgstr "启用角色功能" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:87 +msgid "Allow users to change the roles for other blog authors." +msgstr "允许用户更改博客其他作者的角色。" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:91 +msgid "Default style" +msgstr "默认样式" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:108 +msgid "Choose the default style for the galleries." +msgstr "选择图库的默认样式。" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/core.php:410 +#, php-format +msgid "" +"Note : Based on your server memory limit you should not upload larger images " +"then %d x %d pixel" +msgstr "" +"注意:根据你的服务器内存限制,你不应上传大于 %d x %d 像素的" +"图像。" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php:337 +#: products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php:338 +msgid "Album overview" +msgstr "相册一览" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:68 +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:70 +msgid "Set NextGEN featured image" +msgstr "设置 NextGEN 的特色图像" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:328 +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:329 +msgid "Set featured image" +msgstr "设置特色图像" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:356 +msgid "Remove featured image" +msgstr "移除特色图像" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:223 +msgid "Album" +msgid_plural "Albums" +msgstr[0] "相册" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:35 +msgid "No new tag specified!" +msgstr "未指定新标签!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:50 +msgid "No new/old valid tag specified!" +msgstr "未指定有效的新/旧标签!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:86 +msgid "No tag renamed." +msgstr "没有标签被重命名。" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:88 +#, php-format +msgid "Renamed tag(s) «%1$s» to «%2$s»" +msgstr "标签 «%1$s» 重命名为 «%2$s»" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:95 +msgid "No valid new tag." +msgstr "无有效的新标签。" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:112 +msgid "No objects (post/page) found for specified old tags." +msgstr "未找到指定旧标签的对象(日志/页面)。" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:141 +msgid "No tag merged." +msgstr "无合并的标签。" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:143 +#, php-format +msgid "" +"Merge tag(s) «%1$s» to «%2$s». %3$s objects edited." +msgstr "" +"标签 «%1$s» 合并为 «%2$s»ã€‚ %3$s 个对象被编辑。" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:146 +msgid "Error. Not enough tags provided to rename or merge." +msgstr "错误。没有提供足够多的标签进行重命名或合并。" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:165 +msgid "No tag specified!" +msgstr "未指定标签!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:188 +msgid "No tag deleted." +msgstr "无删除的标签。" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:190 +#, php-format +msgid "%1s tag(s) deleted." +msgstr "删除了 %1s 个标签。" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:206 +msgid "No new slug(s) specified!" +msgstr "未指定新的别名。" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:218 +msgid "Tags number and slugs number isn't the same!" +msgstr "标签数和别名数不一样!" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:245 +msgid "No slug edited." +msgstr "无编辑的别名。" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:247 +#, php-format +msgid "%s slug(s) edited." +msgstr "编辑了 %s 个别名。" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:64 +msgid "" +"Translation by : See here" +msgstr "" +"翻译作者: 查看这里" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:65 +msgid "" +"This translation is not yet updated for Version 1.9.0. If " +"you would like to help with translation, download the current po from the " +"plugin folder and read here how you can translate the plugin." +msgstr "" +"版本1.9.0的翻译尚未更新。。如果你想要协助进行翻译,可以从插" +"件文件夹中下载当前的 po 文件,查看这里如何翻译该插件。" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:158 +msgid "" +"Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB or higher" +msgstr "对不起,NextGEN 图库只能在 16MB 或更高的内存限制下正常使用。" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:184 +msgid "Picture tag" +msgstr "图像标签" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:185 +msgid "Picture tag: %2$l." +msgstr "图像标签:%2$l。" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:186 +msgid "Separate picture tags with commas." +msgstr "以逗号分隔图像标签。" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:324 +msgid "Get help" +msgstr "获取帮助" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:325 +msgid "Contribute" +msgstr "捐赠" + +#: products/photocrati_nextgen/modules/ngglegacy/nggfunctions.php:29 +msgid "[Gallery not found]" +msgstr "[未找到图库]" + +#: products/photocrati_nextgen/modules/ngglegacy/nggfunctions.php:163 +msgid "Related images for" +msgstr "相关图像" + +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:38 +msgid "Meta data" +msgstr "元数据" + +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:42 +msgid "Camera / Type" +msgstr "相机 / 型号" + +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:50 +msgid "Focal Length" +msgstr "焦距" + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:50 +msgid "No galleries have been yet created." +msgstr "尚未创建图库。" + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:69 +#, php-format +msgid "The gallery ID=%s does not exist." +msgstr "图库 ID=%s 不存在。" + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:100 +msgid "No album ID has been provided as parameter" +msgstr "未提供相册 ID 作为参数。" + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:108 +#, php-format +msgid "The album ID=%s does not exist." +msgstr "相册 ID=%s 不存在。" + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:115 +msgid "Invalid MediaRSS command" +msgstr "无效的 MediaRSS 命令" + +msgid "NextGEN Basic Compact Album" +msgstr "NextGEN 紧凑视图相册 基础版" + +msgid "NextGEN Basic Extended Album" +msgstr "NextGEN 扩展视图相册 基础版" + +msgid "NextGEN Basic Thumbnails" +msgstr "NextGEN 缩略图 基础版" + +msgid "NextGEN Basic Slideshow" +msgstr "NextGEN 幻灯片 基础版" + +msgid "NextGEN Basic ImageBrowser" +msgstr "NextGEN ImageBrowser 基础版" + +msgid "NextGEN Basic Singlepic" +msgstr "NextGEN 单图模式 基础版" + +msgid "NextGEN Basic Tagcloud" +msgstr "NextGEN 标签云 基础版" diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery.po b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery.po new file mode 100644 index 0000000..0e9b8ab --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/lang/nggallery.po @@ -0,0 +1,4261 @@ +# NextGEN Gallery base (English) .po source +# Copyright (C) 2014 Photocrati Media +# This file is distributed under the same license as the NextGEN Gallery package. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: NextGEN Gallery\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-02-20 19:45-0800\n" +"PO-Revision-Date: 2014-02-20 19:45-0800\n" +"Last-Translator: Photocrati Media\n" +"Language-Team: Photocrati Media\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: nggallery.php:290 +#, php-format +msgid "Every %d seconds" +msgstr "" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:157 +#, php-format +msgid "Album: %s" +msgstr "" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:159 +#, php-format +msgid "Gallery: %s" +msgstr "" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:177 +msgid "Missing parameters" +msgstr "" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:213 +msgid "Displayed gallery does not exist" +msgstr "" + +#: products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php:216 +msgid "Invalid request" +msgstr "" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:248 +msgid "NextGEN Gallery - Attach To Post" +msgstr "" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:266 +msgid "Display Galleries" +msgstr "" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:273 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_controller.php:7 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:188 +msgid "Add Gallery / Images" +msgstr "" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:280 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:156 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:190 +msgid "Manage Galleries" +msgid_plural "Manage Galleries" +msgstr[0] "" +msgstr[1] "" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:287 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:404 +msgid "Manage Albums" +msgid_plural "Manage Albums" +msgstr[0] "" +msgstr[1] "" + +#: products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php:294 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:158 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:194 +msgid "Manage Tags" +msgstr "" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:115 +msgid "What would you like to display?" +msgstr "" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:139 +msgid "Select a display type" +msgstr "" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:162 +msgid "Customize the display settings" +msgstr "" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:253 +msgid "No display type selected" +msgstr "" + +#: products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php:271 +msgid "Sort or Exclude Images" +msgstr "" + +#: products/photocrati_nextgen/modules/attach_to_post/module.attach_to_post.php:192 +msgid "Invalid Displayed Gallery" +msgstr "" + +#: products/photocrati_nextgen/modules/attach_to_post/module.attach_to_post.php:299 +msgid "Attach NextGEN Gallery to Post" +msgstr "" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab.php:10 +#: products/photocrati_nextgen/modules/nextgen_admin/templates/nextgen_admin_page.php:25 +msgid "Save" +msgstr "" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:615 +msgid "Sources" +msgstr "" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:649 +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:366 +msgid "(optional)" +msgstr "" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:657 +msgid "" +"Sets an SEO-friendly name to this gallery for URLs. Currently only in use by " +"the Pro Lightbox." +msgstr "" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:658 +msgid "Slug" +msgstr "" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:878 +msgid "No entities to display for this source." +msgstr "" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1289 +msgid "Select a gallery" +msgstr "" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1293 +msgid "Galleries" +msgstr "" + +#: products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php:1317 +msgid "Albums" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:34 +msgid "Code" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:48 +msgid "Stylesheet URL" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php:62 +msgid "Javascript URL" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:122 +msgid "ltr" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:123 +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:180 +msgid "Loading..." +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:124 +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:173 +msgid "Previous" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:125 +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:174 +msgid "Next" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:126 +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:131 +msgid "Move" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:127 +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:175 +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:198 +msgid "Close" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:128 +msgid "Resize" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:129 +msgid "Play" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:130 +msgid "Pause" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:132 +msgid "1:1" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:133 +msgid "Close (esc)" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:134 +msgid "Pause slideshow (spacebar)" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:135 +msgid "Click to cancel" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:136 +msgid "Click to bring to front" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:137 +msgid "Expand to actual size (f)" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:138 +msgid "Powered by Highslide JS" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:139 +msgid "Play slideshow (spacebar)" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:140 +msgid "Previous (arrow left)" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:141 +msgid "Next (arrow right)" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:142 +msgid "Image %1 of %2" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:143 +msgid "Go to the Highslide JS homepage" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:144 +msgid "Click to close image, click and drag to move. Use arrow keys for next and previous." +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:158 +msgid "L O A D I N G" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:159 +msgid "Click to Close" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:176 +msgid "Full Size" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:177 +msgid "Fit to Screen" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:178 +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:196 +msgid "Image" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:179 +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:197 +msgid "of" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:194 +msgid "Next >" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:195 +msgid "< Prev" +msgstr "" + +#: products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php:199 +msgid "This feature requires inline frames. You have iframes disabled or your browser does not support them." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.import_folder_form.php:7 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:6 +msgid "Import Folder" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:43 +msgid "No gallery name specified" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:57 +msgid "Failed to extract images from ZIP" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:63 +msgid "Image generation failed" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:73 +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:160 +msgid "An unexpected error occured." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:80 +msgid "" +"No permissions to upload images. Try refreshing the page or ensuring that " +"your user account has sufficient roles/privileges." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:123 +msgid "Directory does not exist." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:127 +msgid "No directory specified." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:131 +msgid "" +"No permissions to browse folders. Try refreshing the page or ensuring that " +"your user account has sufficient roles/privileges." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:165 +msgid "No folder specified" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php:169 +msgid "" +"No permissions to import folders. Try refreshing the page or ensuring that " +"your user account has sufficient roles/privileges." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.upload_images_form.php:7 +msgid "Upload Images" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:1 +msgid "" +"Select a folder to import. The folder name will be used as the title of the " +"gallery." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:5 +msgid "Keep images in original location." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:5 +msgid "" +"Caution: If you keep images in the original folder and later delete the " +"gallery, the images in that folder might be deleted depending on your " +"settings." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:39 +msgid "Importing gallery" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:41 +msgid "In Progress..." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php:56 +#, php-format +msgid "Done! Successfully imported %s images" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:2 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:185 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:217 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:226 +msgid "Gallery" +msgid_plural "Galleries" +msgstr[0] "" +msgstr[1] "" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:4 +msgid "Create a new gallery" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:13 +msgid "You browser doesn't have Flash, Silverlight, HTML5, or HTML4 support." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:99 +msgid "Drag image and ZIP files here or click Add Files" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:149 +#, php-format +msgid "%s images were uploaded successfully" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:152 +msgid "1 image was uploaded successfully" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:155 +msgid "0 images were uploaded" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:169 +msgid "Upload complete" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php:191 +msgid "" +"An unexpected error occured. This is most likely due to a server " +"misconfiguration. Check your PHP error log or ask your hosting provider for " +"assistance." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:226 +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:167 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:537 +msgid "Enable AJAX pagination" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:238 +msgid "Override thumbnail settings" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:240 +msgid "" +"This does not affect existing thumbnails; overriding the thumbnail settings " +"will create an additional set of thumbnails. To change the size of existing " +"thumbnails please visit 'Manage Galleries' and choose 'Create new " +"thumbnails' for all images in the gallery." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:248 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:38 +msgid "Thumbnail dimensions" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:431 +msgid "Thumbnail quality" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:274 +msgid "Thumbnail crop" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:310 +msgid "Override image settings" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:312 +msgid "Overriding the image settings will create an additional set of images" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:320 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:83 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:456 +msgid "Image quality" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:330 +msgid "Image crop" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:339 +msgid "Image watermark" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:363 +msgid "Gallery width" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:365 +msgid "An empty or 0 setting will make the gallery full width" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:369 +msgid "Pixels" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:369 +msgid "Percent" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:378 +msgid "First Image" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.form.php:379 +msgid "Average" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:100 +msgid "Clear" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:101 +msgid "Default" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:102 +msgid "Select Color" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:103 +msgid "Current Color" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php:174 +msgid "Saved successfully" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_radio.php:16 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_radio.php:16 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:122 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:24 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:30 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:40 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:65 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:191 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php:10 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php:37 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:411 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:458 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:461 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:464 +msgid "Yes" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_radio.php:24 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_radio.php:24 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:123 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:23 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:29 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:47 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:72 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php:198 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php:13 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php:44 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:413 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:459 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:462 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:465 +msgid "No" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/class.nextgen_basic_album_installer.php:9 +msgid "NextGEN Basic Compact Album" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/class.nextgen_basic_album_installer.php:18 +msgid "NextGEN Basic Extended Album" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:25 +msgid "Display galleries as" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:26 +msgid "How would you like galleries to be displayed?" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:28 +msgid "Galleries per page" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:47 +msgid "Items per page" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php:48 +msgid "Maximum number of galleries or sub-albums to appear on a single page" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_album/templates/compact.php:29 +#: products/photocrati_nextgen/modules/nextgen_basic_album/templates/extended.php:15 +#: products/photocrati_nextgen/modules/ngglegacy/view/album-compact.php:45 +#: products/photocrati_nextgen/modules/ngglegacy/view/album-extend.php:31 +msgid "Photos" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_mapper.php:93 +msgid "[Show PicLens]" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:62 +msgid "Interval" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:66 +msgid "# of seconds" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:97 +msgid "Maximum dimensions" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:98 +msgid "Certain themes may allow images to flow over their container if this setting is too large" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:109 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:765 +msgid "Enable flash slideshow" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:111 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:767 +msgid "Integrate the flash based slideshow for all flash supported devices" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:120 +msgid "Shuffle" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:132 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:782 +msgid "Show next image on click" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:144 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:786 +msgid "Show navigation bar" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:156 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:790 +msgid "Show loading icon" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:168 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:794 +msgid "Use watermark logo" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:170 +msgid "" +"Use the watermark image in the Flash object. Note: this does not watermark " +"the image itself, and cannot be applied with text watermarks" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:180 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:799 +msgid "Stretch image" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:222 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:827 +msgid "Use slow zooming effect" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:234 +msgid "Background music (url)" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:247 +msgid "Try XHTML validation" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:259 +msgid "Background" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:271 +msgid "Texts / buttons" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:283 +msgid "Rollover / active" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:295 +msgid "Screen" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:313 +msgid "Show thumbnail link" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:329 +msgid "Thumbnail link text" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:65 +msgid "Images per page" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:67 +msgid "0 will display all images at once" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:85 +msgid "Number of columns to display" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:89 +msgid "# of columns" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:105 +msgid "Piclens link text" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:123 +msgid "Show piclens link" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:139 +msgid "Add Hidden Images" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:141 +msgid "" +"If pagination is used this option will show all images in the modal window " +"(Thickbox, Lightbox etc.) This increases page load." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:150 +msgid "Use imagebrowser effect" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:152 +msgid "" +"When active each image in the gallery will link to an imagebrowser display " +"and lightbox effects will not be applied." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:169 +msgid "Browse images without reloading the page." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:184 +msgid "Show slideshow link" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php:200 +msgid "Slideshow link text" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/class.nextgen_basic_gallery_installer.php:9 +msgid "NextGEN Basic Thumbnails" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/class.nextgen_basic_gallery_installer.php:19 +msgid "NextGEN Basic Slideshow" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/index.php:35 +msgid "" +"Slideshows require the Flash Player and a browser with Javascript support." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/nextgen_basic_slideshow_settings_gallery_dimensions.php:15 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:39 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_dimensions.php:13 +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:52 +msgid "Width" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/nextgen_basic_slideshow_settings_gallery_dimensions.php:23 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:41 +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_dimensions.php:20 +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:40 +msgid "Height" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/class.nextgen_basic_imagebrowser_installer.php:9 +msgid "NextGEN Basic ImageBrowser" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:41 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:26 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:30 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:26 +msgid "Back" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:49 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:29 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:33 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:29 +msgid "Next" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:89 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:220 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:31 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:35 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:31 +msgid "Picture" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php:31 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:35 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php:31 +msgid "of" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:54 +msgid "Link" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:66 +msgid "Link target" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:68 +msgid "Self" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:69 +msgid "Blank" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:70 +msgid "Parent" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:71 +msgid "Top" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:95 +msgid "Display watermark" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:105 +msgid "Display reflection" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:115 +msgid "Crop thumbnail" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:125 +msgid "Float" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/class.nextgen_basic_singlepic_installer.php:9 +msgid "NextGEN Basic SinglePic" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:24 +msgid "Maximum number of tags" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:46 +msgid "Display type" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php:49 +msgid "The display type that the tagcloud will point its results to" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_tagcloud/class.nextgen_basic_tagcloud_installer.php:12 +msgid "NextGEN Basic TagCloud" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_templates/adapter.nextgen_basic_template_form.php:46 +msgid "Template" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_templates/adapter.nextgen_basic_template_form.php:47 +msgid "Use a legacy template when rendering (not recommended)." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php:639 +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:677 +#: products/photocrati_nextgen/modules/ngglegacy/lib/multisite.php:23 +msgid "" +"Sorry, you have used your space allocation. Please delete some files to " +"upload more files." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php:1083 +msgid "Could not calculate resized image dimensions" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:154 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:135 +msgid " mm" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:163 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:141 +msgid " sec" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:168 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:145 +msgid "Fired" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:168 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:145 +msgid "Not fired" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:539 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:452 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:46 +msgid "Aperture" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:540 +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:565 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:453 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:478 +msgid "Credit" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:541 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:454 +msgid "Camera" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:542 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:455 +msgid "Caption" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:543 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:26 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:114 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:456 +msgid "Date/Time" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:544 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:457 +msgid "Copyright" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:545 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:458 +msgid "Focal length" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:546 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:459 +msgid "ISO" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:547 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:460 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:54 +msgid "Shutter speed" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:548 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:678 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:461 +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:4 +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:3 +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:3 +msgid "Title" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:549 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:459 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:409 +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:132 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:462 +msgid "Author" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:550 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:51 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:175 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:389 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:463 +msgid "Tags" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:551 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:464 +msgid "Subject" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:552 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:465 +msgid "Make" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:553 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:466 +msgid "Edit Status" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:554 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:467 +msgid "Category" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:555 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:468 +msgid "Keywords" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:556 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:469 +msgid "Date Created" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:557 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:470 +msgid "Time Created" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:558 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:471 +msgid "Author Position" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:559 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:472 +msgid "City" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:560 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:473 +msgid "Location" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:561 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:474 +msgid "Province/State" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:562 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:475 +msgid "Country code" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:563 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:476 +msgid "Country" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:564 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:477 +msgid "Headline" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:566 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:479 +msgid "Source" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:567 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:480 +msgid "Copyright Notice" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:568 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:481 +msgid "Contact" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:569 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:482 +msgid "Last modified" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:570 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:483 +msgid "Program tool" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:571 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:484 +msgid "Format" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:572 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:485 +msgid "Image Width" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:573 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:486 +msgid "Image Height" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php:574 +#: products/photocrati_nextgen/modules/ngglegacy/lib/meta.php:487 +msgid "Flash" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:242 +msgid "Invalid image file. Acceptable formats: JPG, GIF, and PNG." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:666 +#, php-format +msgid "Unable to create directory %s." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:671 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:928 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1126 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1211 +#, php-format +msgid "" +"Unable to write to directory %s. Is this directory writable by the server?" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:700 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1251 +#, php-format +msgid "Failed to copy database row for picture %s" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:712 +#, php-format +msgid "Failed to get image path for %s" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:730 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1237 +#, php-format +msgid "Failed to copy image %1$s to %2$s" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:734 +#, php-format +msgid "Copied image %1$s to %2$s" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:742 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1263 +#, php-format +msgid "" +"Image %1$s (%2$s) copied as image %3$s (%4$s) » The file already " +"existed in the destination gallery." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:746 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1266 +#, php-format +msgid "Image %1$s (%2$s) copied as image %3$s (%4$s)" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:759 +#, php-format +msgid "Copied %1$s picture(s) to gallery %2$s ." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:786 +msgid "Could not find image" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:791 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:388 +msgid " is not writeable" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:796 +msgid "Backup file does not exist" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php:801 +msgid "Could not restore original image" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.display_settings_controller.php:17 +#: products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:244 +#: products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:302 +msgid "Gallery Settings" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery.php:73 +msgid "Source not compatible with selected display type" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php:301 +msgid "NextGEN Gallery & Album Settings" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_gallery_display/templates/alt_view_link_text.php:15 +#: products/photocrati_nextgen/modules/nextgen_gallery_display/templates/return_link_text.php:15 +msgid "link text" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:12 +msgid "Image Options" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:22 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:588 +#: products/photocrati_nextgen/modules/ngglegacy/admin/thumbnails-template.php:76 +msgid "Custom" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:23 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:111 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:549 +msgid "Image ID" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:24 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:570 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:112 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:165 +msgid "Filename" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:25 +msgid "Alt/Title Text" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:38 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:115 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:557 +msgid "Ascending" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:39 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:116 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:558 +msgid "Descending" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:50 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:388 +msgid "Categories" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:81 +msgid "Gallery path does not exist and could not be created" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:86 +msgid "Where would you like galleries stored?" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:87 +msgid "Where galleries and their images are stored" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:89 +msgid "Delete Image Files?" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:90 +msgid "" +"When enabled, image files will be removed after a Gallery has been deleted" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:92 +msgid "Show Related Images on Posts?" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:93 +msgid "" +"When enabled, related images will be appended to each post by matching the " +"posts tags/categories to image tags" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:95 +msgid "(Show Customization Settings)" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:96 +msgid "(Hide Customization Settings)" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:97 +msgid "How should related images be match?" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:100 +msgid "Maximum # of related images to display" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:102 +msgid "Heading for related images" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:104 +msgid "What's the default sorting method?" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:107 +msgid "Sort in what direction?" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:110 +msgid "Automatically resize images after upload" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:111 +msgid "It is recommended that your images be resized to be web friendly" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:113 +msgid "What should images be resized to?" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:114 +msgid "" +"After images are uploaded, they will be resized to the above dimensions and " +"quality" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:115 +msgid "Width:" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:116 +msgid "Height:" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:117 +msgid "Quality:" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php:121 +msgid "Backup the original images?" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.lightbox_manager_form.php:12 +msgid "Lightbox Effects" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.lightbox_manager_form.php:38 +msgid "What effect would you like to use?" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:12 +msgid "Miscellaneous" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:21 +msgid "Add MediaRSS link?" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:22 +msgid "" +"When enabled, adds a MediaRSS link to your header. Third-party web services " +"can use this to publish your galleries" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:27 +msgid "Display galleries in feeds" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:28 +msgid "" +"NextGEN hides its gallery displays in feeds other than MediaRSS. This " +"enables image galleries in feeds." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:32 +msgid "Clear image cache" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:33 +msgid "" +"Completely clear the NextGEN cache of all image modifications?\n" +"\n" +"Choose [Cancel] to Stop, [OK] to proceed." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:38 +msgid "Permalink slug" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:45 +msgid "Maximum image count" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php:47 +msgid "" +"This is the maximum limit of images that NextGEN will restrict itself to " +"querying" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.other_options_controller.php:22 +#: products/photocrati_nextgen/modules/nextgen_other_options/module.nextgen_other_options.php:39 +msgid "Other Options" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:7 +msgid "Reset Options" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:15 +msgid "Reset all options to default settings" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:16 +msgid "" +"Replace all existing options and gallery options with their default settings" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:17 +msgid "Reset settings" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php:18 +msgid "" +"Reset all options to default settings?\n" +"\n" +"Choose [Cancel] to Stop, [OK] to proceed." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.roles_form.php:7 +msgid "Roles & Capabilities" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:12 +msgid "Styles" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:18 +msgid "Enable custom CSS" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:20 +msgid "What stylesheet would you like to use?" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:23 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:136 +msgid "(Show Customization Options)" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:24 +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:137 +msgid "(Hide Customization Options)" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:25 +msgid "File Content:" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:26 +msgid "Changes you make to the contents will be saved to" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php:27 +msgid "You could edit this file if it were writable" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:12 +msgid "Thumbnail Options" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:20 +msgid "Default thumbnail dimensions:" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:21 +msgid "When generating thumbnails, what image dimensions do you desire?" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:24 +msgid "Set fix dimension?" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:25 +msgid "Ignore the aspect ratio, no portrait thumbnails?" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:27 +msgid "Adjust Thumbnail Quality?" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:28 +msgid "When generating thumbnails, what image quality do you desire?" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:30 +msgid "Size List" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php:31 +msgid "List of default sizes used for thumbnails and images" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:12 +msgid "Watermarks" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:41 +msgid "Using an Image" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:42 +msgid "Using Text" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:69 +msgid "An absolute or relative (to the site document root) file system path" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:71 +msgid "" +"An absolute or relative (to the site document root) file system path or an " +"HTTP url" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:74 +msgid "Image URL:" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:90 +msgid "Font Family:" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:92 +msgid "Font Size:" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:94 +msgid "Font Color:" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:97 +msgid "Text:" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:99 +msgid "Opacity:" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:126 +msgid "" +"Please note: You can only activate the watermark under Manage Gallery. This " +"action cannot be undone." +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:127 +msgid "How will you generate a watermark?" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:131 +msgid "Position:" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:133 +msgid "Offset:" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:139 +msgid "Preview of saved settings:" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php:140 +msgid "Refresh preview image" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:34 +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:37 +msgid "(Show Advanced Settings)" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:35 +msgid "(Hide Advanced Settings)" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:56 +msgid "What must the lightbox be applied to?" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:60 +msgid "Only apply to NextGEN images" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:61 +msgid "Only apply to NextGEN and WordPress images" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:62 +msgid "Try to apply to all images" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php:63 +msgid "Try to apply to all images that link to image files" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php:35 +msgid "Place any custom stylesheets in wp-content/ngg_styles" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php:38 +#, php-format +msgid "All stylesheets must contain a file header" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:43 +msgid "Related Images" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:63 +msgid "[Show slideshow]" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php:64 +msgid "[Show thumbnails]" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_xmlrpc/module.nextgen_xmlrpc.php:425 +msgid "Sorry, you must be able to manage galleries" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:155 +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:186 +msgid "Overview" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:168 +msgid "Network settings" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:301 +msgid "You do not have the correct permission" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:302 +msgid "Unexpected Error" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:303 +msgid "A failure occurred" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:307 +msgid "You have attempted to queue too many files." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:308 +msgid "This file exceeds the maximum upload size for this site." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:309 +msgid "This file is empty. Please try another." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:310 +msgid "This file type is not allowed. Please try another." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:311 +msgid "This file is not an image. Please try another." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:312 +msgid "Memory exceeded. Please try another smaller file." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:313 +msgid "This is larger than the maximum size. Please try another." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:314 +msgid "An error occurred in the upload. Please try again later." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:315 +msgid "" +"There was a configuration error. Please contact the server administrator." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:316 +msgid "You may only upload 1 file." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:317 +msgid "HTTP error." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:318 +msgid "Upload failed." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:319 +msgid "IO error." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:320 +msgid "Security error." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:321 +msgid "File canceled." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:322 +msgid "Upload stopped." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:323 +msgid "Dismiss" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:324 +msgid "Crunching…" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:325 +msgid "moved to the trash." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:326 +#, php-format +msgid "“%s” has failed to upload due to an error" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:348 +msgid "L O A D I N G" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:349 +msgid "Click to Close" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:458 +msgid "" +"Introduction" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:461 +msgid "" +"Languages" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:466 +msgid "Get help with NextGEN Gallery" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:470 +msgid "More Help & Info" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:472 +msgid "" +"Support Forums" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:473 +msgid "FAQ" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:474 +msgid "Feature request" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:475 +msgid "Get your language pack" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:476 +msgid "Contribute development" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/admin.php:477 +msgid "Download latest version" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/ajax.php:360 +#, php-format +msgid "Could create image with %s x %s pixel" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:172 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:216 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:239 +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:19 +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:22 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:618 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:7 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:10 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:13 +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:17 +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:20 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:10 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:13 +msgid "Cheatin’ uh?" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:180 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:209 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:253 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:178 +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:24 +msgid "Update Successfully" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:227 +msgid "Album deleted" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:389 +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:55 +msgid "Edit Album" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:410 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:459 +msgid "Select album" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:412 +msgid "No album selected" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:423 +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:166 +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:94 +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:112 +msgid "Update" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:425 +msgid "Edit album" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:428 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:187 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:361 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:363 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:227 +msgid "Delete" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:432 +msgid "Add new album" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:434 +msgid "Add" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:445 +msgid "Show / hide used galleries" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:445 +msgid "[Show all]" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:446 +msgid "Maximize the widget content" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:446 +msgid "[Maximize]" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:447 +msgid "Minimize the widget content" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:447 +msgid "[Minimize]" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:449 +msgid "" +"After you create and select a album, you can drag and drop a gallery or " +"another album into your new album below" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:475 +msgid "Select gallery" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:500 +msgid "Album ID" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:513 +msgid "No album selected!" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:534 +msgid "Album name:" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:540 +msgid "Album description:" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:546 +msgid "Select a preview image:" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:549 +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:552 +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_preview_image_field.php:3 +msgid "No picture" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:563 +msgid "Page Link to" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:582 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:337 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:366 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:397 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:406 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:442 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:471 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:502 +msgid "OK" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:584 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:339 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:368 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:399 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:408 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:444 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:473 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:504 +msgid "Cancel" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:677 +msgid "Name" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/album.php:679 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:229 +msgid "Page" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:116 +msgid "Select with the mouse the area for the new thumbnail" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:130 +msgid "Thumbnail updated" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:135 +msgid "Error updating thumbnail" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php:151 +msgid "Select the area for the thumbnail from the picture on the left." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:39 +msgid "No valid gallery name!" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:46 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:80 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:780 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:788 +msgid "Directory" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:46 +msgid "didn't exist. Please create first the main gallery folder " +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:47 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:56 +msgid "Check this link, if you didn't know how to set the permission :" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:55 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:80 +msgid "is not writeable !" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:76 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:85 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:736 +#: products/photocrati_nextgen/modules/ngglegacy/lib/core.php:101 +msgid "Unable to create directory " +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:89 +msgid "The server setting Safe-Mode is on !" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:90 +msgid "If you have problems, please create directory" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:91 +msgid "and the thumbnails directory" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:91 +msgid "with permission 777 manually !" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:116 +#, php-format +msgid "" +"Gallery ID %1$s successfully created. You can show this gallery in your post " +"or page with the shortcode %2$s.
      " +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:119 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:853 +msgid "Edit gallery" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:188 +msgid "Error while creating thumbnail." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:242 +msgid "Error while resizing image." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:326 +msgid "Error while rotating image." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:361 +msgid "Error while applying watermark to image." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:385 +msgid "Object didn't contain correct data" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:391 +msgid "File do not exists" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:395 +msgid "Couldn't restore original image" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:511 +msgid "(Error : Couldn't not update data base)" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:518 +msgid "(Error : Couldn't not update meta data)" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:527 +msgid "(Error : Couldn't not find image)" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:670 +msgid "No valid URL path " +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:686 +msgid "Import via cURL failed." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:703 +msgid "Uploaded file was no or a faulty zip file ! The server recognized : " +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:720 +msgid "Could not get a valid foldername" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:731 +#, php-format +msgid "" +"Unable to create directory %s. Is its parent directory writable by the " +"server?" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:746 +msgid "Zip-File successfully unpacked" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:882 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:982 +msgid "No gallery selected !" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:890 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1007 +msgid "Failure in database, no gallery path set !" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:914 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1001 +msgid "is no valid image file!" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:935 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1024 +msgid "Error, the file could not be moved to : " +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:940 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1028 +msgid "Error, the file permissions could not be set" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:848 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:958 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:111 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:189 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:238 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:322 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:660 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:738 +msgid "Create new thumbnails" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:963 +msgid " Image(s) successfully added" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:990 +msgid "Invalid upload. Error Code : " +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1066 +#, php-format +msgid "" +"SAFE MODE Restriction in effect! You need to create the folder %s manually" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1067 +#, php-format +msgid "" +"When safe_mode is on, PHP checks to see if the owner (%s) of the current " +"script matches the owner (%s) of the file to be operated on by a file " +"function or its directory" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1120 +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1197 +msgid "The destination gallery does not exist" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1151 +#, php-format +msgid "Failed to move image %1$s to %2$s" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1171 +#, php-format +msgid "Moved %1$s picture(s) to gallery : %2$s ." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1275 +#, php-format +msgid "Copied %1$s picture(s) to gallery: %2$s ." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1383 +msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1386 +msgid "" +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " +"the HTML form" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1389 +msgid "The uploaded file was only partially uploaded" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1392 +msgid "No file was uploaded" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1395 +msgid "Missing a temporary folder" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1398 +msgid "Failed to write file to disk" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1401 +msgid "File upload stopped by extension" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/functions.php:1404 +msgid "Unknown upload error" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/install.php:20 +msgid "Sorry, NextGEN Gallery works only with a role called administrator" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/install.php:92 +msgid "" +"NextGEN Gallery : Tables could not created, please check your database " +"settings" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:99 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:206 +msgid "No images selected" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:107 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:190 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:234 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:323 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:641 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:722 +msgid "Resize images" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:116 +#, php-format +msgid "" +"You are about to start the bulk edit for %s galleries \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:154 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:197 +msgid "Add new gallery" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:171 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:174 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:272 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:275 +msgid "Search Images" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:186 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:320 +msgid "Bulk actions" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:188 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:321 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:571 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:686 +msgid "Set watermark" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:191 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:326 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:576 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:706 +msgid "Import metadata" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:192 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:324 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:566 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:683 +msgid "Recover from backup" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:194 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:335 +msgid "Apply" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:262 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:253 +msgid "Edit" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:309 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:379 +msgid "No entries found" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:327 +msgid "New Gallery" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:329 +msgid "Create a new , empty gallery below the folder" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:331 +msgid "Allowed characters for file and folder names are" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:357 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:462 +msgid "Resize Images to" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:361 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:466 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:453 +msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:385 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:490 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:40 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:416 +msgid "Width x height (in pixel)" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:391 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:496 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:426 +msgid "Set fix dimension" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:393 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:498 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:428 +msgid "Ignore the aspect ratio, no portrait thumbnails" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:456 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:568 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:155 +msgid "ID" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:458 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:571 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:245 +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:134 +msgid "Description" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php:460 +msgid "Page ID" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:35 +msgid "Gallery not found." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:41 +msgid "Sorry, you have no access here" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:214 +msgid "Copy image to..." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:218 +msgid "Move image to..." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:222 +msgid "Add new tags" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:226 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:332 +msgid "Delete tags" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:230 +msgid "Overwrite" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:243 +#, php-format +msgid "" +"You are about to start the bulk edit for %s images \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:269 +#, php-format +msgid "Search results for “%s”" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:298 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:488 +msgid "Gallery settings" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:298 +msgid "Click here for more settings" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:304 +msgid "Scan Folder for new images" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:306 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:341 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:386 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:400 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:436 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:478 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:563 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:598 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:708 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:861 +msgid "Save Changes" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:325 +msgid "Delete images" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:327 +msgid "Rotate images clockwise" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:328 +msgid "Rotate images counter-clockwise" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:329 +msgid "Copy to..." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:330 +msgid "Move to..." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:331 +msgid "Add tags" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:333 +msgid "Overwrite tags" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:338 +msgid "Sort gallery" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:402 +msgid "Enter the tags" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:426 +msgid "Select the destination gallery:" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:569 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:160 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:266 +msgid "Thumbnail" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:571 +msgid "Alt & Title Text" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php:572 +msgid "Tags (comma separated list)" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:35 +msgid "Sort order changed" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:97 +msgid "Sort Gallery" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:101 +msgid "Update Sort Order" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:104 +msgid "Back to gallery" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:109 +msgid "Presort" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:110 +msgid "Unsorted" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php:113 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:241 +msgid "Alt/Title text" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:89 +msgid "deleted successfully" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:105 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:114 +msgid "Operation successful. Please clear your browser cache." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:170 +msgid "Alt & Title Text / Description" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:213 +msgid "Exclude ?" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:298 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:300 +msgid "View" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:308 +msgid "Show meta data" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:309 +msgid "Meta" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:317 +msgid "Customize thumbnail" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:318 +msgid "Edit thumb" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:326 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:327 +msgid "Rotate" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:337 +msgid "Publish this image" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:338 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:58 +msgid "Publish" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:348 +msgid "Recover image from backup" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:349 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:351 +msgid "Recover" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:360 +msgid "Delete image" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:391 +msgid "Title:" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:397 +msgid "Description:" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:403 +msgid "Gallery path:" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:418 +msgid "Link to page:" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:419 +msgid "Albums will link this gallery to the selected page" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:424 +msgid "Preview image:" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:430 +msgid "Create new page:" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:606 +msgid "Gallery deleted successfully " +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:677 +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:680 +msgid "Rotate images" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:702 +msgid "Pictures deleted successfully " +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:800 +msgid "Tags changed" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:840 +msgid "Update successful" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:875 +msgid "New gallery page ID" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:875 +msgid "created" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:913 +msgid "Published a new post" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1060 +msgid "Go to the first page" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1067 +msgid "Go to the previous page" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1076 +msgid "Current page" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1087 +msgid "Go to the next page" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1094 +msgid "Go to the last page" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1046 +#, php-format +msgid "1 item" +msgid_plural "%s items" +msgstr[0] "" +msgstr[1] "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/manage.php:1046 +#, php-format +msgctxt "paging" +msgid "%1$s of %2$s" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:11 +msgid "NextGEN Gallery" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:186 +msgid "No gallery" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:198 +msgid "Select »" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:230 +msgid "Hide" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:235 +msgid "Image ID:" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:249 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:45 +msgid "Alignment" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:127 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:252 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:47 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:583 +msgid "None" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:128 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:254 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:49 +msgid "Left" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:256 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:51 +msgid "Center" +msgstr "" + +#: products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php:129 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:258 +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:53 +msgid "Right" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:262 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:690 +msgid "Size" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:268 +msgid "Full size" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:270 +msgid "Singlepic" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:282 +msgid "Use as featured image" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:284 +msgid "Insert into Post" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:295 +msgid "Save all changes" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:14 +msgid "NextGEN Gallery Overview" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:84 +msgid "Welcome to NextGEN Gallery !" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:85 +msgid "Do you like this Plugin?" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:87 +msgid "About" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:90 +msgid "Server Settings" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97 +msgid "" +"NextGEN Gallery is one of the most popular Wordpress plugins of all time " +"with over 9 million downloads. It is developed and supported by Photocrati " +"Media. We'd like to offer a special thanks to Alex Rabe, who first developed " +"the plugin and maintained it through 2011." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:98 +msgid "" +"NEED HELP? If you need help or assistance please visit the " +"NextGEN " +"Gallery forums on WordPress.org. Please note that we actively monitor " +"and participate in the forums, but given that NextGEN Gallery is a free " +"product, we don't guarantee replies to support queries." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:99 +msgid "" +"EXTENDING NEXTGEN? There are many third party plugins that " +"add displays and functionality for NextGEN Gallery. See our Complete List of " +"NextGEN Extension Plugins." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:107 +#, php-format +msgid "" +"This plugin is primarily developed, maintained, supported and documented by " +"Photocrati Media with a lot of love & " +"effort. Any kind of contribution would be highly appreciated. Thanks!" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:112 +msgid "Please click \"Works\" on WordPress.org" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:117 +msgid "Give it a good rating on WordPress.org" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:122 +msgid "Visit the plugin homepage" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:127 +msgid "Help translating it" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:149 +msgid "Graphic Library" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:165 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:214 +msgid "Loading…" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:165 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:214 +msgid "This widget requires JavaScript." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:178 +msgid "Thanks to all donators..." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:200 +msgid "View all" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:226 +#, php-format +msgid "" +"Newsfeed could not be loaded. Check the front page to " +"check for updates." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:238 +msgid "Untitled" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:303 +msgid "At a Glance" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:360 +msgid "Storage Space" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:364 +#, php-format +msgid "" +"%2$sMB" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:365 +msgid "Space Allowed" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:372 +#, php-format +msgid "" +"%2$sMB (%3$s%%)" +"" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:373 +msgid "Space Used" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:399 +msgid "No GD support" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:431 +msgid "Not set" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:433 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:436 +msgid "On" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:434 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:437 +msgid "Off" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:441 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:444 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:447 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:450 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:453 +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:456 +msgid "N/A" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:455 +msgid " MByte" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:468 +msgid "Operating System" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:469 +msgid "Server" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:470 +msgid "Memory usage" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:471 +msgid "MYSQL Version" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:472 +msgid "SQL Mode" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:473 +msgid "PHP Version" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:474 +msgid "PHP Safe Mode" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:475 +msgid "PHP Allow URL fopen" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:476 +msgid "PHP Memory Limit" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:477 +msgid "PHP Max Upload Size" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:478 +msgid "PHP Max Post Size" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:479 +msgid "PCRE Backtracking Limit" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:480 +msgid "PHP Max Script Execute Time" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:481 +msgid "PHP Exif support" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:482 +msgid "PHP IPTC support" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:483 +msgid "PHP XML support" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:495 +msgid "" +"NextGEN Gallery contains some functions which are only available under PHP " +"5.2. You are using the old PHP 4 version, upgrade now! It's no longer " +"supported by the PHP group. Many shared hosting providers offer both PHP 4 " +"and PHP 5, running simultaneously. Ask your provider if they can do this." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:35 +msgid "Post title" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:37 +msgid "Enter the post title " +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:42 +msgid "Size of the image" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/publish.php:60 +msgid "Draft" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:26 +msgid "" +"Select the lowest role which should be able to access the following " +"capabilities. NextGEN Gallery supports the standard roles from WordPress." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:27 +msgid "For a more flexible user management you can use the" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:31 +msgid "Main NextGEN Gallery overview" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:35 +msgid "Use TinyMCE Button / Upload tab" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:39 +msgid "Add gallery / Upload images" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:43 +msgid "Manage gallery" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:47 +msgid "Manage others gallery" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:51 +msgid "Manage tags" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:59 +msgid "Change style" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:63 +msgid "Change options" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/roles.php:67 +msgid "NextGEN Attach Interface" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:60 +msgid "Image rotated" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:62 +msgid "Error rotating thumbnail" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:85 +msgid "90° clockwise" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:86 +msgid "90° counter-clockwise" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:87 +msgid "Flip vertically" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php:88 +msgid "Flip horizontally" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:22 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:204 +#, php-format +msgid "Rebuild image structure : %s / %s images" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:23 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:205 +#, php-format +msgid "Rebuild gallery structure : %s / %s galleries" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:24 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:206 +#, php-format +msgid "Rebuild album structure : %s / %s albums" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:81 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:263 +msgid "Done." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:196 +msgid "Cache cleared" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:315 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:334 +msgid "General Options" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:317 +msgid "Image" +msgid_plural "Images" +msgstr[0] "" +msgstr[1] "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:319 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:572 +msgid "Effects" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:320 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:614 +msgid "Watermark" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:340 +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:54 +msgid "Gallery path" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:342 +msgid "This is the default path for all galleries" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:345 +msgid "Delete image files" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:347 +msgid "Delete files, when removing a gallery in the database" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:350 +msgid "Activate permalinks" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:352 +msgid "" +"When you activate this option, you need to update your permalink structure " +"one time." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:353 +msgid "Gallery slug name :" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:357 +msgid "Create new URL friendly image slugs" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:358 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:474 +msgid "Proceed now" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:361 +msgid "Select graphic library" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:362 +msgid "GD Library" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:363 +msgid "ImageMagick (Experimental). Path to the library :" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:368 +msgid "Activate Media RSS feed" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:370 +msgid "" +"A RSS feed will be added to you blog header. Useful for CoolIris/PicLens" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:373 +msgid "Activate PicLens/CoolIris support" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:375 +msgid "" +"When you activate this option, some javascript is added to your site footer. " +"Make sure that wp_footer is called in your theme." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:378 +msgid "Tags / Categories" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:381 +msgid "Activate related images" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:383 +msgid "This option will append related images to every post" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:387 +msgid "Match with" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:393 +msgid "Max. number of images" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:395 +msgid "0 will show all images" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:399 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:435 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:477 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:562 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:597 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:860 +msgid "More settings" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:409 +msgid "Thumbnail settings" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:413 +msgid "" +"Please note : If you change the settings, you need to recreate the " +"thumbnails under -> Manage Gallery ." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:422 +msgid "These values are maximum values " +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:445 +msgid "Image settings" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:451 +msgid "Resize Images" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:460 +msgid "Backup original images" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:462 +msgid "Creates a backup for inserted images" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:465 +msgid "Automatically resize" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:467 +msgid "Automatically resize images on upload." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:470 +msgid "Single picture" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:473 +msgid "Clear cache folder" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:494 +msgid "Deactivate gallery page link" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:496 +msgid "" +"The album will not link to a gallery subpage. The gallery is shown on the " +"same page." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:500 +msgid "Number of images per page" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:502 +msgid "0 will disable pagination, all images on one page" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:506 +msgid "Number of columns" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:508 +msgid "" +"0 will display as much as possible based on the width of your theme. Setting " +"normally only required for captions below the images" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:512 +msgid "Integrate slideshow" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:519 +msgid "Show first" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:525 +msgid "Show ImageBrowser" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:527 +msgid "The gallery will open the ImageBrowser instead the effect." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:531 +msgid "Add hidden images" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:533 +msgid "" +"If pagination is used, this option will still show all images in the modal " +"window (Thickbox, Lightbox etc.). Note : This increases the page load" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:539 +msgid "" +"Browse images without reload the page. Note : Works only in combination with " +"Shutter effect" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:543 +msgid "Sort options" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:546 +msgid "Sort thumbnails" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:548 +msgid "Custom order" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:550 +msgid "File name" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:551 +msgid "Alt / Title text" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:552 +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:58 +msgid "Date / Time" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:556 +msgid "Sort direction" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:576 +msgid "" +"Here you can select the thumbnail effect, NextGEN Gallery will integrate the " +"required HTML code in the images. Please note that only the Shutter and " +"Thickbox effect will automatic added to your theme." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:577 +msgid "With the placeholder" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:577 +msgid "" +"you can activate a navigation through the images (depend on the effect). " +"Change the code line only , when you use a different thumbnail effect or you " +"know what you do." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:580 +msgid "JavaScript Thumbnail effect" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:584 +msgid "Thickbox" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:585 +msgid "Lightbox" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:586 +msgid "Highslide" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:587 +msgid "Shutter" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:593 +msgid "Link Code line" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:615 +msgid "" +"Please note : You can only activate the watermark under -> Manage Gallery . " +"This action cannot be undone." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:620 +msgid "Preview" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:622 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:627 +msgid "Position" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:647 +msgid "Offset" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:663 +msgid "Use image as watermark" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:666 +msgid "URL to file" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:668 +msgid "The accessing of URL files is disabled at your server (allow_url_fopen)" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:671 +msgid "Use text as watermark" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:674 +msgid "Font" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:683 +msgid "This function will not work, cause you need the FreeType library" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:685 +msgid "" +"You can upload more fonts in the folder nggallery/fonts" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:694 +msgid "Color" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:696 +msgid "(hex w/o #)" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:699 +msgid "Text" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:703 +msgid "Opaque" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:724 +msgid "Default size (W x H)" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:729 +msgid "Duration time" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:730 +msgid "sec." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:733 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:810 +msgid "Transition / Fade effect" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:736 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:813 +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:200 +msgid "fade" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:737 +msgid "blindX" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:738 +msgid "cover" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:739 +msgid "scrollUp" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:740 +msgid "scrollDown" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:741 +msgid "shuffle" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:742 +msgid "toss" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:743 +msgid "wipe" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:745 +msgid "See here for more information about the effects :" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:749 +msgid "Settings for the JW Image Rotator" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:758 +msgid "" +"The path to JW Image Rotator is not defined, the slideshow will not work." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:770 +msgid "Path to the JW Image Rotator (URL)" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:773 +msgid "Search now" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:774 +msgid "Press the button below to search for the JW Image Rotator" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:778 +msgid "Shuffle mode" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:796 +msgid "You can change the logo at the watermark settings" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:802 +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:182 +msgid "true" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:803 +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:183 +msgid "false" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:804 +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:184 +msgid "fit" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:805 +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:185 +msgid "none" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:814 +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:201 +msgid "bgfade" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:815 +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:202 +msgid "slowfade" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:816 +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:203 +msgid "circles" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:817 +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:204 +msgid "bubbles" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:818 +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:205 +msgid "blocks" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:819 +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:206 +msgid "fluids" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:820 +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:207 +msgid "flash" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:821 +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:208 +msgid "lines" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:831 +msgid "Background Color" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:836 +msgid "Texts / Buttons Color" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:841 +msgid "Rollover / Active Color" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:846 +msgid "Screen Color" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:851 +msgid "Background music (URL)" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:855 +msgid "Try XHTML validation (with CDATA)" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:857 +msgid "" +"Important : Could causes problem at some browser. Please recheck your page." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:29 +msgid "Meta Data" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:34 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:60 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:85 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:109 +msgid "Tag" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:35 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:61 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:86 +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:110 +msgid "Value" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:49 +msgid "No meta data saved" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:55 +msgid "EXIF Data" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:74 +msgid "No exif data" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:81 +msgid "IPTC Data" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php:105 +msgid "XMP Data" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:11 +msgid "(From the theme folder)" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:43 +msgid "You do not have sufficient permissions to edit templates for this blog." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:52 +msgid "CSS file successfully updated" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:91 +msgid "Activate and use style sheet:" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:111 +msgid "Activate" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:121 +#, php-format +msgid "Editing %s" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:123 +#, php-format +msgid "Browsing %s" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:133 +msgid "Version" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:136 +msgid "" +"Tip : Copy your stylesheet (nggallery.css) to your theme folder, so it will " +"be not lost during a upgrade" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:138 +msgid "" +"Your theme contain a NextGEN Gallery stylesheet (nggallery.css), this file " +"will be used" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:140 +msgid "" +"Tip No. 2: Use the color picker below to help you find the right color " +"scheme for your gallery!" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:156 +msgid "Update File" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:159 +msgid "If this file were writable you could edit it." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/style.php:164 +msgid "Oops, no such file exists! Double check the name and try again, merci." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:41 +msgid "Most popular" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:42 +msgid "Least used" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:43 +msgid "Alphabetical" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:100 +msgid "Manage image tags" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:112 +msgid "Existing Tags" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:116 +msgid "Search tags" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:120 +msgid "Go" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:125 +msgid "Sort Order:" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:160 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:164 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:177 +msgid "Previous tags" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:173 +msgid "Next tags" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:185 +msgid "Rename Tag" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:193 +msgid "" +"Enter the tag to rename and its new value. You can use this feature to " +"merge tags too. Click \"Rename\" and all posts which use this tag will be " +"updated." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:194 +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:242 +msgid "You can specify multiple tags to rename by separating them with commas." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:198 +msgid "Tag(s) to rename:" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:202 +msgid "New tag name(s):" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:205 +msgid "Rename" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:211 +msgid "Delete Tag" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:219 +msgid "" +"Enter the name of the tag to delete. This tag will be removed from all " +"posts." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:220 +msgid "You can specify multiple tags to delete by separating them with commas" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:224 +msgid "Tag(s) to delete:" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:233 +msgid "Edit Tag Slug" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:241 +msgid "" +"Enter the tag name to edit and its new slug. This will be used in tagcloud " +"links. Slug definition" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:246 +msgid "Tag(s) to match:" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/tags.php:250 +msgid "Slug(s) to set:" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_create_page_field.php:3 +msgid "Main Page (no parent)" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_create_page_field.php:10 +msgid "Add page" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/templates/manage_gallery/gallery_link_to_page_field.php:3 +msgid "Not linked" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/thumbnails-template.php:103 +msgid "These are maximum values" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:61 +msgid "" +"Some folders/files could not renamed, please recheck the permission and " +"rescan the folder in the manage gallery section." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:63 +msgid "Rename failed" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:159 +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:178 +msgid "Upgrade NextGEN Gallery" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:160 +msgid "The script detect that you upgrade from a older version." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:161 +msgid "" +"Your database tables for NextGEN Gallery is out-of-date, and must be " +"upgraded before you can continue." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:162 +msgid "" +"If you would like to downgrade later, please make first a complete backup of " +"your database and the images." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:163 +msgid "The upgrade process may take a while, so please be patient." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:164 +msgid "Start upgrade now" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:180 +msgid "Upgrade finished..." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php:181 +msgid "Continue" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:33 +msgid "Update successfully" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:48 +msgid "Network Options" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:56 +msgid "" +"This is the default path for all blogs. With the placeholder %BLOG_ID% you " +"can organize the folder structure better." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:57 +#, php-format +msgid "The default setting should be %s" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:61 +msgid "Enable upload quota check" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:63 +msgid "Should work if the gallery is bellow the blog.dir" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:67 +msgid "Enable zip upload option" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:69 +msgid "Allow users to upload zip folders." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:73 +msgid "Enable import function" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:75 +msgid "Allow users to import images folders from the server." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:79 +msgid "Enable style selection" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:81 +msgid "Allow users to choose a style for the gallery." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:85 +msgid "Enable roles/capabilities" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:87 +msgid "Allow users to change the roles for other blog authors." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:91 +msgid "Default style" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php:108 +msgid "Choose the default style for the galleries." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/core.php:396 +#, php-format +msgid "" +"Note : Based on your server memory limit you should not upload larger images " +"then %d x %d pixel" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php:337 +#: products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php:338 +msgid "Album overview" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:68 +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:70 +msgid "Set NextGEN featured image" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:328 +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:329 +msgid "Set featured image" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php:356 +msgid "Remove featured image" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:223 +msgid "Album" +msgid_plural "Albums" +msgstr[0] "" +msgstr[1] "" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:35 +msgid "No new tag specified!" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:50 +msgid "No new/old valid tag specified!" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:86 +msgid "No tag renamed." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:88 +#, php-format +msgid "Renamed tag(s) «%1$s» to «%2$s»" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:95 +msgid "No valid new tag." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:112 +msgid "No objects (post/page) found for specified old tags." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:141 +msgid "No tag merged." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:143 +#, php-format +msgid "" +"Merge tag(s) «%1$s» to «%2$s». %3$s objects edited." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:146 +msgid "Error. Not enough tags provided to rename or merge." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:165 +msgid "No tag specified!" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:188 +msgid "No tag deleted." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:190 +#, php-format +msgid "%1s tag(s) deleted." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:206 +msgid "No new slug(s) specified!" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:218 +msgid "Tags number and slugs number isn't the same!" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:245 +msgid "No slug edited." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/lib/tags.php:247 +#, php-format +msgid "%s slug(s) edited." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:64 +msgid "" +"Translation by : See here" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:65 +msgid "" +"This translation is not yet updated for Version 1.9.0. If " +"you would like to help with translation, download the current po from the " +"plugin folder and read here how you can translate the plugin." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:158 +msgid "" +"Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB or higher" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:184 +msgid "Picture tag" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:185 +msgid "Picture tag: %2$l." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:186 +msgid "Separate picture tags with commas." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:317 +msgid "Get help" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/nggallery.php:318 +msgid "Contribute" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/nggfunctions.php:29 +msgid "[Gallery not found]" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/nggfunctions.php:163 +msgid "Related images for" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/view/gallery-caption.php:32 +#: products/photocrati_nextgen/modules/ngglegacy/view/gallery.php:32 +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:93 +msgid "[View with PicLens]" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:38 +msgid "Meta data" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:42 +msgid "Camera / Type" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php:50 +msgid "Focal Length" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:50 +msgid "No galleries have been yet created." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:69 +#, php-format +msgid "The gallery ID=%s does not exist." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:100 +msgid "No album ID has been provided as parameter" +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:108 +#, php-format +msgid "The album ID=%s does not exist." +msgstr "" + +#: products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php:115 +msgid "Invalid MediaRSS command" +msgstr "" + +#: products/photocrati_nextgen/modules/widget/class.widget_gallery.php:7 +msgid "Add recent or random images from the galleries" +msgstr "" + +#: products/photocrati_nextgen/modules/widget/class.widget_gallery.php:8 +msgid "NextGEN Widget" +msgstr "" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:9 +msgid "Widget that displays Media RSS links for NextGEN Gallery." +msgstr "" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:10 +msgid "NextGEN Media RSS" +msgstr "" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:22 +msgid "Media RSS" +msgstr "" + +#: products/photocrati_nextgen/modules/widget/class.widget_mediarss.php:23 +msgid "Link to the main image feed" +msgstr "" + +#: products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:7 +msgid "Show a NextGEN Gallery Slideshow" +msgstr "" + +#: products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:8 +msgid "NextGEN Slideshow" +msgstr "" + +#: products/photocrati_nextgen/modules/widget/class.widget_slideshow.php:76 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:321 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:521 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:721 +#: products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php:215 +msgid "Slideshow" +msgstr "" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:15 +#: products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php:229 +msgid "Show" +msgstr "" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:26 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:316 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:520 +msgid "Thumbnails" +msgstr "" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:29 +msgid "Original images" +msgstr "" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:42 +#: products/photocrati_nextgen/modules/ngglegacy/admin/settings.php:822 +#: products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php:209 +msgid "random" +msgstr "" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:50 +msgid "recently added" +msgstr "" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:62 +msgid "Enable IE8 Web Slices" +msgstr "" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:68 +msgid "Width x Height" +msgstr "" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:87 +msgid "Select" +msgstr "" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:92 +msgid "All galleries" +msgstr "" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:95 +msgid "Only which are not listed" +msgstr "" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:98 +msgid "Only which are listed" +msgstr "" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:107 +msgid "Gallery ID" +msgstr "" + +#: products/photocrati_nextgen/modules/widget/templates/form_gallery.php:114 +msgid "Gallery IDs, separated by commas." +msgstr "" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:19 +msgid "Show Media RSS icon" +msgstr "" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:30 +msgid "Show the Media RSS link" +msgstr "" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:36 +msgid "Text for Media RSS link" +msgstr "" + +#: products/photocrati_nextgen/modules/widget/templates/form_mediarss.php:47 +msgid "Tooltip text for Media RSS link" +msgstr "" + +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:15 +msgid "Select Gallery" +msgstr "" + +#: products/photocrati_nextgen/modules/widget/templates/form_slideshow.php:23 +msgid "All images" +msgstr "" diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/module.i18n.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/module.i18n.php new file mode 100644 index 0000000..8e3ff52 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/i18n/module.i18n.php @@ -0,0 +1,204 @@ +get_registry()->add_adapter('I_Image_Mapper', 'A_I18N_Image_Translation'); + $this->get_registry()->add_adapter('I_Album_Mapper', 'A_I18N_Album_Translation'); + $this->get_registry()->add_adapter('I_Gallery_Mapper', 'A_I18N_Gallery_Translation'); + + // qTranslate requires we disable "Hide Untranslated Content" during routed app requests like + // photocrati-ajax, when uploading new images, or retrieving dynamically altered (watermarked) images + $this->get_registry()->add_adapter('I_Routing_App', 'A_I18N_Routing_App'); + } + + function _register_hooks() + { + add_action('init', array(&$this, 'register_translation_hooks'), 2); + } + + function register_translation_hooks() + { + $fs = C_Fs::get_instance(); + $dir = str_replace( + $fs->get_document_root('plugins'), + '', + $fs->get_abspath('lang', 'photocrati-i18n') + ); + + // Load text domain + load_plugin_textdomain('nggallery', false, $dir); + + // Hooks to register image, gallery, and album name & description with WPML + add_action('ngg_image_updated', array(&$this, 'register_image_strings')); + add_action('ngg_album_updated', array(&$this, 'register_album_strings')); + add_action('ngg_created_new_gallery', array(&$this, 'register_gallery_strings')); + + // do not let WPML translate posts we use as a document store + add_filter('get_translatable_documents', array(&$this, 'wpml_translatable_documents')); + + // see function comments + add_filter('ngg_displayed_gallery_cache_params', array(&$this, 'set_qtranslate_cache_parameters')); + add_filter('ngg_displayed_gallery_cache_params', array(&$this, 'set_wpml_cache_parameters')); + } + + /** + * When QTranslate is active we must add its language & url-mode settings as display parameters + * so as to generate a unique cache for each language. + * + * @param array $arr + * @return array + */ + function set_qtranslate_cache_parameters($arr) + { + if (empty($GLOBALS['q_config']) || !defined('QTRANS_INIT')) + return $arr; + + global $q_config; + $arr['qtranslate_language'] = $q_config['language']; + $arr['qtranslate_url_mode'] = $q_config['url_mode']; + + return $arr; + } + + /** + * See notes on set_qtranslate_cache_paramters() + * + * @param array $arr + * @return array + */ + function set_wpml_cache_parameters($arr) + { + if (empty($GLOBALS['sitepress']) || !defined('WPML_ST_VERSION')) + return $arr; + + global $sitepress; + $settings = $sitepress->get_settings(); + $arr['wpml_language'] = ICL_LANGUAGE_CODE; + $arr['wpml_url_mode'] = $settings['language_negotiation_type']; + + return $arr; + } + + /** + * Registers gallery strings with WPML + * + * @param object $gallery + */ + function register_gallery_strings($gallery_id) + { + if (function_exists('icl_register_string')) + { + $gallery = $this->get_registry()->get_utility('I_Gallery_Mapper')->find($gallery_id); + if ($gallery) + { + icl_register_string('plugin_ngg', 'gallery_' . $gallery->{$gallery->id_field} . '_name', $gallery->title, TRUE); + icl_register_string('plugin_ngg', 'gallery_' . $gallery->{$gallery->id_field} . '_description', $gallery->galdesc, TRUE); + } + } + } + + /** + * Registers image strings with WPML + * + * @param object $image + */ + function register_image_strings($image) + { + if (function_exists('icl_register_string')) + { + icl_register_string('plugin_ngg', 'pic_' . $image->{$image->id_field} . '_description', $image->description, TRUE); + icl_register_string('plugin_ngg', 'pic_' . $image->{$image->id_field} . '_alttext', $image->alttext, TRUE); + } + } + + /** + * Registers album strings with WPML + * + * @param object $album + */ + function register_album_strings($album) + { + if (function_exists('icl_register_string')) + { + icl_register_string('plugin_ngg', 'album_' . $album->{$album->id_field} . '_name', $album->name, TRUE); + icl_register_string('plugin_ngg', 'album_' . $album->{$album->id_field} . '_description', $album->albumdesc, TRUE); + } + } + + /** + * NextGEN stores some data in custom posts that MUST NOT be automatically translated by WPML + * + * @param array $icl_post_types + * @return array $icl_post_types without any NextGEN custom posts + */ + function wpml_translatable_documents($icl_post_types = array()) + { + $nextgen_post_types = array( + 'ngg_album', + 'ngg_gallery', + 'ngg_pictures', + 'displayed_gallery', + 'display_type', + 'gal_display_source', + 'lightbox_library', + 'photocrati-comments' + ); + foreach ($icl_post_types as $ndx => $post_type) { + if (in_array($post_type->name, $nextgen_post_types)) + unset($icl_post_types[$ndx]); + } + return $icl_post_types; + } + + static function translate($in, $name = null) + { + if (function_exists('langswitch_filter_langs_with_message')) + $in = langswitch_filter_langs_with_message($in); + + if (function_exists('polyglot_filter')) + $in = polyglot_filter($in); + + if (function_exists('qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage')) + $in = qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($in); + + if (is_string($name) && !empty($name) && function_exists('icl_translate')) + $in = icl_translate('plugin_ngg', $name, $in, true); + + $in = apply_filters('localization', $in); + + return $in; + } + + function get_type_list() + { + return array( + 'A_I18N_Image_Translation' => 'adapter.i18n_image_translation.php', + 'A_I18N_Album_Translation' => 'adapter.i18n_album_translation.php', + 'A_I18N_Gallery_Translation' => 'adapter.i18n_gallery_translation.php', + 'A_I18N_Routing_App' => 'adapter.i18n_routing_app.php' + ); + } +} + +new M_I18N(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/adapter.lightbox_factory.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/adapter.lightbox_factory.php new file mode 100644 index 0000000..de848be --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/adapter.lightbox_factory.php @@ -0,0 +1,14 @@ +object->lightbox_library($properties, $mapper, $context); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php new file mode 100644 index 0000000..a8feb9f --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php @@ -0,0 +1,66 @@ +object + ->get_registry() + ->get_utility('I_Lightbox_Library_Mapper') + ->find_by_name($this->object->context, TRUE); + } + + /** + * Returns a list of fields to render on the settings page + */ + function _get_field_names() + { + return array( + 'lightbox_library_code', + 'lightbox_library_styles', + 'lightbox_library_scripts' + ); + } + + /** + * @param $lightbox + * @return mixed + */ + function _render_lightbox_library_code_field($lightbox) + { + return $this->_render_text_field( + $lightbox, + 'code', + __('Code', 'nggallery'), + $lightbox->code + ); + } + + /** + * @param $lightbox + * @return mixed + */ + function _render_lightbox_library_styles_field($lightbox) + { + return $this->_render_textarea_field( + $lightbox, + 'styles', + __('Stylesheet URL', 'nggallery'), + $lightbox->styles + ); + } + + /** + * @param $lightbox + * @return mixed + */ + function _render_lightbox_library_scripts_field($lightbox) + { + return $this->_render_textarea_field( + $lightbox, + 'scripts', + __('Javascript URL', 'nggallery'), + $lightbox->scripts + ); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php new file mode 100644 index 0000000..6f7ff17 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php @@ -0,0 +1,211 @@ +registry = C_Component_Registry::get_instance(); + $this->router = $this->registry->get_utility('I_Router'); + $this->mapper = $this->registry->get_utility('I_Lightbox_Library_Mapper'); + } + + + function set_attr(&$obj, $key, $val, $force=FALSE) + { + if (!isset($obj->$key) OR $force) + $obj->$key = $val; + } + + /** + * Installs a lightbox library + * @param string $name + * @param string $code + * @param array $stylesheet_paths + * @param array $script_paths + * @param array $values + */ + function install_lightbox($name, $title, $code, $stylesheet_paths=array(), $script_paths=array(), $values=array(), $i18n=array()) + { + // Try to find the existing lightbox. If we can't find it, we'll create + $lightbox = $this->mapper->find_by_name($name); + if (!$lightbox) + $lightbox = new stdClass; + + // Set properties + $lightbox->name = $name; + $this->set_attr($lightbox, 'title', $title, TRUE); + $this->set_attr($lightbox, 'code', $code); + $this->set_attr($lightbox, 'values', $values); + $this->set_attr($lightbox, 'i18n', $i18n); + + // Overrides styles and scripts if localhost is used + if (isset($lightbox->styles) && strpos($lightbox->styles, 'localhost') !== FALSE) + $this->set_attr($lightbox, 'styles', implode("\n", $stylesheet_paths), TRUE); + else + $this->set_attr($lightbox, 'styles', implode("\n", $stylesheet_paths)); + + if (isset($lightbox->scripts) && strpos($lightbox->scripts, 'localhost') !== FALSE) + $this->set_attr($lightbox, 'scripts', implode("\n", $script_paths), TRUE); + else + $this->set_attr($lightbox, 'scripts', implode("\n", $script_paths)); + + // Save the lightbox + // Note: the validation method will convert absolute urls to relative urls if needed + $this->mapper->save($lightbox); + } + + /** + * Uninstalls an existing lightbox + * @param string $name + */ + function uninstall_lightbox($name) + { + if (($lightbox = $this->mapper->find_by_name($name))) { + $this->mapper->destroy($lightbox); + } + } + + /** + * Installs all of the lightbox provided by this module + */ + function install() + { + // Install "None" option + $this->install_lightbox( + 'none', + 'No lightbox', + '', + array(), + array() + ); + + $this->install_lightbox( + 'lightbox', + 'Lightbox', + "class='ngg_lightbox'", + array('photocrati-lightbox#jquery.lightbox/jquery.lightbox-0.5.css'), + array( + 'photocrati-lightbox#jquery.lightbox/jquery.lightbox-0.5.min.js', + 'photocrati-lightbox#jquery.lightbox/nextgen_lightbox_init.js' + ), + array( + 'nextgen_lightbox_loading_img_url' => 'photocrati-lightbox#jquery.lightbox/lightbox-ico-loading.gif', + 'nextgen_lightbox_close_btn_url' => 'photocrati-lightbox#jquery.lightbox/lightbox-btn-close.gif', + 'nextgen_lightbox_btn_prev_url' => 'photocrati-lightbox#jquery.lightbox/lightbox-btn-prev.gif', + 'nextgen_lightbox_btn_next_url' => 'photocrati-lightbox#jquery.lightbox/lightbox-btn-next.gif', + 'nextgen_lightbox_blank_img_url' => 'photocrati-lightbox#jquery.lightbox/lightbox-blank.gif' + ) + ); + + // Install Fancybox 1.3.4 + $this->install_lightbox( + 'fancybox', + 'Fancybox', + 'class="ngg-fancybox" rel="%GALLERY_NAME%"', + array('photocrati-lightbox#fancybox/jquery.fancybox-1.3.4.css'), + array('photocrati-lightbox#fancybox/jquery.easing-1.3.pack.js', + 'photocrati-lightbox#fancybox/jquery.fancybox-1.3.4.pack.js', + 'photocrati-lightbox#fancybox/nextgen_fancybox_init.js' + ) + ); + + // Install highslide + $this->install_lightbox( + 'highslide', + 'Highslide', + 'class="highslide" onclick="return hs.expand(this, {slideshowGroup: ' . "'%GALLERY_NAME%'" . '});"', + array('photocrati-lightbox#highslide/highslide.css'), + array('photocrati-lightbox#highslide/highslide-full.packed.js', + 'photocrati-lightbox#highslide/nextgen_highslide_init.js'), + array('nextgen_highslide_graphics_dir' => 'photocrati-lightbox#highslide/graphics'), + array( + 'cssDirection' => __('ltr', 'nggallery'), + 'loadingText' => __('Loading...', 'nggallery'), + 'previousText' => __('Previous', 'nggallery'), + 'nextText' => __('Next', 'nggallery'), + 'moveText' => __('Move', 'nggallery'), + 'closeText' => __('Close', 'nggallery'), + 'resizeTitle' => __('Resize', 'nggallery'), + 'playText' => __('Play', 'nggallery'), + 'pauseText' => __('Pause', 'nggallery'), + 'moveTitle' => __('Move', 'nggallery'), + 'fullExpandText' => __('1:1', 'nggallery'), + 'closeTitle' => __('Close (esc)', 'nggallery'), + 'pauseTitle' => __('Pause slideshow (spacebar)', 'nggallery'), + 'loadingTitle' => __('Click to cancel', 'nggallery'), + 'focusTitle' => __('Click to bring to front', 'nggallery'), + 'fullExpandTitle' => __('Expand to actual size (f)', 'nggallery'), + 'creditsText' => __('Powered by Highslide JS', 'nggallery'), + 'playTitle' => __('Play slideshow (spacebar)', 'nggallery'), + 'previousTitle' => __('Previous (arrow left)', 'nggallery'), + 'nextTitle' => __('Next (arrow right)', 'nggallery'), + 'number' => __('Image %1 of %2', 'nggallery'), + 'creditsTitle' => __('Go to the Highslide JS homepage', 'nggallery'), + 'restoreTitle' => __('Click to close image, click and drag to move. Use arrow keys for next and previous.', 'nggallery') + ) + ); + + // Install Shutter + $this->install_lightbox( + 'shutter', + 'Shutter', + 'class="shutterset_%GALLERY_NAME%"', + array('photocrati-lightbox#shutter/shutter.css'), + array('photocrati-lightbox#shutter/shutter.js', + 'photocrati-lightbox#shutter/nextgen_shutter.js'), + array(), + array( + 'msgLoading' => __('L O A D I N G', 'nggallery'), + 'msgClose' => __('Click to Close', 'nggallery') + ) + ); + + // Install Shutter Reloaded + $this->install_lightbox( + 'shutter2', + 'Shutter 2', + 'class="shutterset_%GALLERY_NAME%"', + array('photocrati-lightbox#shutter_reloaded/shutter.css'), + array('photocrati-lightbox#shutter_reloaded/shutter.js', + 'photocrati-lightbox#shutter_reloaded/nextgen_shutter_reloaded.js'), + array(), + array( + __('Previous', 'nggallery'), + __('Next', 'nggallery'), + __('Close', 'nggallery'), + __('Full Size', 'nggallery'), + __('Fit to Screen', 'nggallery'), + __('Image', 'nggallery'), + __('of', 'nggallery'), + __('Loading...', 'nggallery') + ) + ); + + // Install Thickbox + $this->install_lightbox( + 'thickbox', + 'Thickbox', + "class='thickbox' rel='%GALLERY_NAME%'", + array('wordpress#thickbox'), + array('photocrati-lightbox#thickbox/nextgen_thickbox_init.js', + 'wordpress#thickbox'), + array(), + array( + 'next' => __('Next >', 'nggallery'), + 'prev' => __('< Prev', 'nggallery'), + 'image' => __('Image', 'nggallery'), + 'of' => __('of', 'nggallery'), + 'close' => __('Close', 'nggallery'), + 'noiframes' => __('This feature requires inline frames. You have iframes disabled or your browser does not support them.', 'nggallery') + ) + ); + } + + /** + * Uninstalls all lightboxes + */ + function uninstall($hard = FALSE) + { + $this->mapper->delete()->run_query(); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/class.lightbox_library.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/class.lightbox_library.php new file mode 100644 index 0000000..f444244 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/class.lightbox_library.php @@ -0,0 +1,69 @@ +add_mixin('Mixin_Lightbox_Library_Validation'); + $this->implement('I_Lightbox_Library'); + } + + function initialize($properties=array(), $mapper=FALSE, $context=FALSE) + { + // Get the mapper is not specified + if (!$mapper) { + $mapper = $this->get_registry()->get_utility($this->_mapper_interface); + } + + // Initialize + parent::initialize($mapper, $properties); + } +} + +class Mixin_Lightbox_Library_Validation extends Mixin +{ + function validation() + { + $this->object->validates_presence_of('name'); + $this->object->validates_uniqueness_of('name'); + + // We need to convert some urls + $scripts = array(); + foreach (explode("\n", $this->object->scripts) as $script) { + if ($script) $scripts[] = $this->_convert_url($script); + } + $this->object->scripts = implode("\n", $scripts); + + $styles = array(); + foreach (explode("\n", $this->object->styles) as $style) { + if ($style) $styles[] = $this->_convert_url($style); + } + $this->object->styles = implode("\n", $styles); + + return $this->object->is_valid(); + } + + function _convert_url($url) + { + // Convert absolute url + if (strpos("http://", $url) === 0 OR strpos("://", $url) === 0 OR strpos("https://", $url) === 0) { + if (strpos("://", $url) === 0) { + $url = str_replace("://", 'http://', $url); + } + $url = str_replace(home_url(), '', $url); + if ($url[0] != '/') $url = '/'.$url; + } + + return $url; + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/class.lightbox_library_mapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/class.lightbox_library_mapper.php new file mode 100644 index 0000000..c193b46 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/class.lightbox_library_mapper.php @@ -0,0 +1,83 @@ +add_mixin('Mixin_Lightbox_Library_Mapper'); + $this->implement('I_Lightbox_Library_Mapper'); + $this->set_model_factory_method('lightbox_library'); + } + + /** + * Initializes the datamapper + */ + function initialize() + { + parent::initialize('lightbox_library'); + } + + /** + * Returns an instance of the mapper + * @param string|FALSE $context + * @return C_Lightbox_Library_Mapper + */ + static function get_instance($context=FALSE) + { + $klass = get_class(); + if (!isset(self::$_instances[$context])) { + self::$_instances[$context] = new $klass($context); + } + return self::$_instances[$context]; + } +} + +class Mixin_Lightbox_Library_Mapper +{ + /** + * Uses the name property as the post title when the Custom Post driver + * is used + * @param stdClass $entity + * @return string + */ + function get_post_title($entity) + { + return $entity->name; + } + + + /** + * Selects a lightbox library by name + * @param string $name + * @param type $model + */ + function find_by_name($name, $model=FALSE) + { + $results = $this->object->select()->where(array('name = %s', $name))->run_query(FALSE, $model); + if ($results) $results = $results[0]; + return $results; + } + + /** + * Sets default values for the lightbox library + * @param stdClass|C_DataMapper_Model $entity + */ + function set_defaults($entity) + { + $this->object->_set_default_value($entity, 'styles', ''); + $this->object->_set_default_value($entity, 'scripts', ''); + $this->object->_set_default_value($entity, 'display_settings', array()); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/interface.lightbox_library.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/interface.lightbox_library.php new file mode 100644 index 0000000..3fd5de3 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/interface.lightbox_library.php @@ -0,0 +1,6 @@ +module_id, 'C_Lightbox_Installer'); + } + + function initialize() + { + parent::initialize(); + if (is_admin()) { + add_action('admin_init', array(&$this, 'add_all_lightbox_forms')); + } + } + + /** + * Adds a configuration form to each library + */ + function add_all_lightbox_forms() + { + foreach ($this->get_registry()->get_utility('I_Lightbox_Library_Mapper')->find_all() as $lib) { + $this->get_registry()->add_adapter('I_Form', 'A_Lightbox_Library_Form', $lib->name); + C_Form_Manager::get_instance()->add_form(NGG_LIGHTBOX_ADVANCED_OPTIONS_SLUG, $lib->name); + } + } + + function _register_utilities() + { + // Provides a utility to perform CRUD operations for Lightbox libraries + $this->get_registry()->add_utility( + 'I_Lightbox_Library_Mapper', + 'C_Lightbox_Library_Mapper' + ); + } + + function _register_adapters() + { + // Provides factory methods for instantiating lightboxes + $this->get_registry()->add_adapter('I_Component_Factory', 'A_Lightbox_Factory'); + + // Provides an installer for lightbox libraries + $this->get_registry()->add_adapter('I_Installer', 'A_Lightbox_Installer'); + } + + /** + * Registers hooks for the WordPress framework + */ + function _register_hooks() + { + add_action('wp_enqueue_scripts', array($this, '_register_resources')); + add_action('wp_footer', array($this, '_enqueue_resources'), 3); + add_action('init', array(&$this, '_register_custom_post_type')); + } + + /** + * Registers the custom post type saved for lightbox libraries + */ + function _register_custom_post_type() + { + register_post_type('lightbox_library', array( + 'label' => 'Lightbox Library', + 'publicly_queryable' => FALSE, + 'exclude_from_search' => TRUE, + )); + } + + /** + * Parses certain paths through get_static_url + * + * @param string $url + * @return string Resulting URL + */ + static function _handle_url($url) + { + $router = C_Component_Registry::get_instance()->get_utility('I_Router'); + if (0 !== strpos($url, '/') + && 0 !== strpos($url, 'wordpress#') + && 0 !== strpos($url, 'http://') + && 0 !== strpos($url, 'https://')) + { + $url = $router->get_static_url($url); + } + elseif (strpos($url, '/') === 0) { + $url = home_url($url); + } + + return $url; + } + + /** + * Registers or enqueues resources for a given lightbox library + * + * @param object $library Lightbox library + */ + static function _register_library_resources($library, $register = TRUE) + { + if ($library) { + $i = 0; + foreach (explode("\n", $library->scripts) as $script) { + if (empty($script)) + continue; + + $script = self::_handle_url($script); + + // if _registered_lightboxes exist we should register rather than enqueue + if ($register) + { + // if the module is "wordpress" we leave the rest to Wordpress and only ask that it enqueue + // whatever the name of the resource requested may be. + if (0 === strpos($script, 'wordpress#')) + { + self::$_registered_lightboxes[] = substr($script, 10); + } else { + wp_register_script( + $library->name . '-' . $i, + $script, + array('ngg_common') + ); + self::$_registered_lightboxes[] = $library->name . '-' . $i; + } + } + else { + // same as above, but enqueue now rather than register for later + if (0 === strpos($script, 'wordpress#')) + { + wp_enqueue_script(substr($script, 10)); + } else { + wp_enqueue_script( + $library->name . '-' . $i, + $script, + array('ngg_common') + ); + } + } + + if ($i == 0 AND isset($library->values)) + { + foreach ($library->values as $name => $value) { + if (empty($value)) + continue; + $value = self::_handle_url($value); + self::_add_script_data( + $library->name . '-0', + $name, + $value, + FALSE + ); + } + } + + if ($i == 0 && !empty($library->i18n)) + { + wp_localize_script( + $library->name . '-0', + 'ngg_lightbox_i18n', + $library->i18n + ); + } + $i += 1; + } + + // in 2.0.41 this field was renamed; use the old attribute as a fallback + if (empty($library->styles) && !empty($library->css_stylesheets)) + $library->styles = $library->css_stylesheets; + + $i = 0; + foreach (explode("\n", $library->styles) as $style) { + if (empty($style)) + continue; + $style = self::_handle_url($style); + if (0 === strpos($style, 'wordpress#')) + { + wp_enqueue_style(substr($style, 10)); + } + else { + wp_enqueue_style( + $library->name . '-' . $i, + $style + ); + } + $i += 1; + } + } + } + + /** + * Registers our static settings resources so the ATP module can find them later + */ + function _register_resources() + { + $router = $this->get_registry()->get_utility('I_Router'); + $settings = C_NextGen_Settings::get_instance(); + $thumbEffectContext = isset($settings->thumbEffectContext) ? $settings->thumbEffectContext : ''; + + wp_register_script( + 'nextgen_lightbox_context', + $router->get_static_url('photocrati-lightbox#lightbox_context.js') + ); + wp_enqueue_script('nextgen_lightbox_context'); + + if ($thumbEffectContext != null && $thumbEffectContext != 'nextgen_images') { + $mapper = $this->object->get_registry()->get_utility('I_Lightbox_Library_Mapper'); + $library = $mapper->find_by_name($settings->thumbEffect); + + // Make the path to the static resources available for libraries + // Shutter-Reloaded in particular depends on this + $this->_add_script_data( + 'ngg_common', + 'nextgen_lightbox_settings', + array('static_path' => $this->get_registry()->get_utility('I_Fs')->find_static_abspath('', 'photocrati-lightbox'), 'context' => $thumbEffectContext), + TRUE, + true + ); + + self::_register_library_resources($library); + } + } + + function _enqueue_resources() + { + if (defined('NGG_SKIP_LOAD_SCRIPTS') && NGG_SKIP_LOAD_SCRIPTS) + return; + + foreach (((array)self::$_registered_lightboxes) as $library) { + wp_enqueue_script($library); + } + } + + /** + * Adds data to the DOM which is then accessible by a script -- borrowed from display type controller class + * @param string $handle + * @param string $object_name + * @param mixed $object_value + * @param bool $define + */ + function _add_script_data($handle, $object_name, $object_value, $define=TRUE, $override=FALSE) + { + $retval = FALSE; + + // wp_localize_script allows you to add data to the DOM, associated + // with a particular script. You can even call wp_localize_script + // multiple times to add multiple objects to the DOM. However, there + // are a few problems with wp_localize_script: + // + // - If you call it with the same object_name more than once, you're + // overwritting the first call. + // - You cannot namespace your objects due to the "var" keyword always + // - being used. + // + // To circumvent the above issues, we're going to use the WP_Scripts + // object to workaround the above issues + global $wp_scripts; + + // Has the script been registered or enqueued yet? + if (isset($wp_scripts->registered[$handle])) { + + // Get the associated data with this script + $script = &$wp_scripts->registered[$handle]; + $data = isset($script->extra['data']) ? $script->extra['data'] : ''; + + // Construct the addition + $addition = $define ? "\nvar {$object_name} = " . json_encode($object_value) . ';' : + "\n{$object_name} = " . json_encode($object_value) . ';'; + + // Add the addition + if ($override) { + $data .= $addition; + $retval = TRUE; + } + else if (strpos($data, $object_name) === FALSE) { + $data .= $addition; + $retval = TRUE; + } + + $script->extra['data'] = $data; + + unset($script); + } + + return $retval; + } + + + function get_type_list() + { + return array( + 'A_Lightbox_Factory' => 'adapter.lightbox_factory.php', + 'C_Lightbox_Installer' => 'class.lightbox_installer.php', + 'A_Lightbox_Library_Form' => 'adapter.lightbox_library_form.php', + 'C_Lightbox_Library' => 'class.lightbox_library.php', + 'C_Lightbox_Library_Mapper' => 'class.lightbox_library_mapper.php', + 'I_Lightbox_Library' => 'interface.lightbox_library.php', + 'I_Lightbox_Library_Mapper' => 'interface.lightbox_library_mapper.php' + ); + } +} + +new M_Lightbox(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/blank.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/blank.gif new file mode 100644 index 0000000000000000000000000000000000000000..35d42e808f0a8017b8d52a06be2f8fec0b466a66 GIT binary patch literal 43 scmZ?wbhEHbWMp7uXkcLY|NlP&1B2pE7Dgb&paUX6G7L;iE{qJ;0LZEa`2YX_ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_close.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_close.png new file mode 100644 index 0000000000000000000000000000000000000000..07035307ad435f8f2f8eedf0bce50f7ec8a858c2 GIT binary patch literal 1517 zcmV1To%f)hA(E>uTT$~N#GA0orBqo9-jKM;POccZrXJjTzge4|Sa0ca~7y<+{ z2m7~>41(Jqf9L`mBM6zAjf4;hkjP@@B~d6Xz385|dB5iCM=Ro&JZZmk-uHdZd2i=@ zK0a@Md;u9DFE7t8BO^nxckf<*yC?SckUFGmX^jwM@NV80+eiP zQ*s##s^a3}Ldwd@cHO*r^T5i=%Fj}=Cr_R@78e&C((#usU;YFS>C)2Dw4tG)YO=*P zWt;6ZfL46;=u!R1$jGM-hhvcpVyCa+S}Q!T2ALHx;BHe#M~BsHHos=s2iW})#C?}q ztqvud-gYjKsG$zHm2XhmYPB(Bn>kzw z=gS!w6cG`jJ$?H00VK+=!cMnBDn?IFkCkj7KmNq~hrkZvU@n=EP}|7Gxw*M}1_lPI zNx@_?IS^|%_ok<(o3gXBH^f+@(X7_g)K~%n0$gMM{{Ab=%gZ*hH99)_Eo>!VJd8_C zE)WMoNsBB#u&}W3BMEnPby>y64F-cra9>kX)4DJoA0KZ5fitNn`NTT4wY3%+fA;Lz zZ+K4ucJi+Mg!m%<>Ug8kSg^LX_JD-5va;NEM#+V_H)8UHgaj8UJ?LiZVx92t@KxlB zb1oz#Bo|{kAO!IDVfOII$VfwRad8C+y?XV^;VEu~g@tQka>%(zhlYl1p7P=0!-vj9 zYiMYw3l0uW##jWq+eZ-;6r@4F%{+PXGcz;xx78|Q_F7Eb+}ynGO@4TI*h!27r4#SzfR=K~ zhtpe&%-o-olT$}R&!0cHdm}}wbdd`2lO~)PlarHXnm>2$+(ng2^$EtJ+=vwl#Xg-* zSA%x<9|=lJ3CXuACMEY46&1O~{LGm%7HKm8lhZ|+Pv?nF1LcJswy+L%zshO4HzpR4skij zxq<8a{QPpl!oq4$R(*n7$-q`gsjcF2;NWZ?##l9wBW)lu_Bpk)RJgGO&Ey+2dDr3J z*x2~aJFl#)G^5U)q~qh`_b^ru6q9Xf%arlfse$W(T#z5f?cqE0>k)x`c6QcMUS4jN z#$B996B84z1O(|{7{3S{Bb#j7?T~OCi+pq$fP9eGqJ%Evk~i}B@#8tcAnk_QAg)9f z!qn81MJO5W0n6>}?Q|$y25QL`+uU$0x?KbSI<(UOBavf=wCW!^J3Ie)^yty-8!yk& z($YLG4fjwT{k&5mHL@*_7Xi1c4?x$HT^y5qc2zyPPCG3CUKl!f@Zj&~&!7K?fD>&z zDk^G(=74sN=`q$#Wm{gaK5myi7K~vRQ8s=CoB+NC8j<}iKpXzI(SMmt*2r@wST=`s zW7t-}X4hPqXy3W00000NkvXXu0mjftFGKG literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_loading.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_loading.png new file mode 100644 index 0000000000000000000000000000000000000000..2503017960b3972499d3aa92f89953935ae40934 GIT binary patch literal 10195 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_nav_left.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_nav_left.png new file mode 100644 index 0000000000000000000000000000000000000000..ebaa6a4fd34e51575a01da366312c20618985cbc GIT binary patch literal 1446 zcmV;X1zGxuP)R`@usIzf?P{x4#0gFqr~|(;IJySuwjr=+Ar78e&sHZ(Lu;P)*wKU%|U#jmpg5~Q6= zNl8{#mZGz>Q!_F$qJ8n=#Z9x>Jn_n|ZEtTsSzllOW_Wn`!@Rt_=!l4jAl`tKb-5%L zv7js_CMF<1KR>Fcr{|nbr~AR4Y-MG|y0EZdwI6@^^5yrikSZ}TQ5hH*C?{R4Q{?KT zKD6U2SFWfB2M0g0TCEGD5GUP%Y0a>J0W!M1fVuVU?d@ix(YV91PjUK7@OzY8E)OJ~ z&Q30n%8njA8kC)#t?uvd&xMXHQZzI)WQmTB-n1vQM_gQ-{_*3-7UA?*_bJ9=m|W(F zT+IHE$H&L3T3T8zSS*%BTHM>)YZi;eI#;9uNVch|X-go#ckf=VQmKq2-ORBYaGo52 zejyg&!SS;_ltMX3~N9_#ORsfn&tMTp}T$j*yAd)6-A(_4O6g z0=-^ug|9bVkxorbSsNQ0x9sPG&EF`laq6qgf=!d ztnQGKnVtDqz_Vx1Y=Kr=TU+Vx?;nS;5H`1m#Lv%9fqI)#T3Y%!3C+yRSpE-E!h;77 zwm7Z1{&Y;%TkkIqz&m9sAKBbnCkzsHry#@vbY{a-wI?zu7 zloV4Q9NtQWLUAT7Ev=G-*4EZ6|HZd^F*!MDB>C#<>PDGN_5sGi_Yq4ZlG7@css!ck z9};wyN`LrygSGPaaLVfqXl2Z+Nkm;ygvo12>(Bf+YwDwC`Hbwy5foiCI>(Z2*F z+nZVe;)K}P*aF#9Y8tUS3{lK|w(!NULrkdP#x17leSb zXU`h&IIwaw4`8eqNV6{>BDOh|vjhZ0E{e&QDDu0Pe|>%Zmb;{dg@s0w$z&rPA0K~+ zu^J$UblaCq5g(ljxEe?Y`8AmFYt-vOfqZ&;+Eh?bV07kp3Z#jN34Zfk3!OW_7k zM!Hz%fopN!Lja&lI}y+lIZjBszTeT&@!Ra|?DQ)q4Us*EN5ey8M=zh0NVTlX;X`2G z(+8kuN)-Dfn@v@Ns?$arfE9ks%*_0?uCDGc0&cYN@bK_KngiO{r&oDx0_$@6^x5~= zW5Gx^5k=$2z;)mYpdQiR47B2ZEBzOVMD;v(on_N_Z6xdRarMj=Ped`)=n zv4Dh?$k=SYcJSdjDa(58`F?t%ZzxBbaRs;9zaA#)un(S!5dZ)H07*qoM6N<$g4RXF AD*ylh literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_nav_right.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_nav_right.png new file mode 100644 index 0000000000000000000000000000000000000000..873294e969db9160f5ddd4e1ab498ff60b080e3f GIT binary patch literal 1454 zcmV;f1yTBmP)Wa6`&Z+!IVkxf`V#(j>y7#5eg z5*PD+C=wGBwT+F9xi*_^fd=>X_FBba@wz8b0c3ma+OG#c&LYnSBp_4S(*6BG8m#QpsI))yBSw}|WBy?ft)>pk?VIMu|0u-xC@UxO$< zHa9o-0~vR8bXeVyB61x;@W6T@vgyO$TgWvPslhu zJ>BGvFeN3$D2UT9wO!c-2M2E;RvddB6cm(&J}nRg`1!DUaA;_#J})n?kc`&W*6f~w z$XoI8@o`6>)z;Ql1O^7iqc4Qr?IQ^Y2vDQmrd_^#`AagIo}RXO6Tw=o)=2K&OZ?8A zJDVKcH{^2p2j~ms)bf#Ff5Y^8{ZZ7~8Zw%koV0nHJ||9`FbS!%u(0sL`TfAafI}Du zN;}#qfQDkqhr?T=R;!O@W@c89(aOq-SHe5pO)Do4INRL6f8R{+tE;Q)Wir`E=nLN^ zERjf#VBjT`yZ^}0T`IW~brs!I17PDwDHNtJpz(@u7&_Ci&*x`nXGh4eva-_hHlhTo z>wKX6jrLg})!Ef*2q(qH#unh5y~V~`*!#E25W2>+0$@y%jAkE;d^% z7KiBQ=;#CV)c|?K?OZZNymTtyIv@+;=i$b0QLhID@u{gPOF=<_+1^cd)FbceJt|Pr3Z2#UW)pC9hbbpr%#_w3xu>9DucKZSqKjwKC}oa!!=;B zxw)ARh3h~maWUsB$KtMw06>R!GGHKatdM5?eS3TRA2TyEQ!m{-s9LkQG(13d^zuqc z)WBRWF9N%+J^)=)qIgeo*i|*CI?Xfzc;V-hCr|!<<;s9veooizpgD1ug<#0dV!Z literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_e.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_e.png new file mode 100644 index 0000000000000000000000000000000000000000..2eda0893649371f8d92b92976d8542cdd1b601ed GIT binary patch literal 107 zcmeAS@N?(olHy`uVBq!ia0vp^B0$W@!3HGnP3ltxQbwLGjv*Y^lSRZuwe#}JO|p{EaWGAM`~zK|Yh zF7SQ+m+Ig>B0@o-N8?trihfzZ+Vp1~`{zf0o*#X0$hUAi%N$P)W1wCJ22WQ%mvv4F FO#q)zAp-ya literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_ne.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_ne.png new file mode 100644 index 0000000000000000000000000000000000000000..79f6980a3ba5c43de120d963dbba2516b8f27ac7 GIT binary patch literal 347 zcmV-h0i^zkP)dR9Yb&V8f!h)aDezHAsc|y@|hdQ zYJb}?8~~zFbQ)ku!Ey)KSukutuvdZ@MKMX|x|A3tPyx?YVhN^6z!Mi4Mj2f#%<;nh z2{>?YAzu|{u^;Oq!;f7Z4tPBpJEmZ+^GZ#$=9nz(K+UmK7}|u&EPi%aRt_C3qOFB_ zHc`~N>51%{?ijG?xsHt>MwRChgk=x_z0gh3O2xSL)-6?+2LKZL74~Q>MZjWtwukkA tvjRC=&j+0R$&bLyT7MhBcTXDISHC&xXU0&5CWHV0002ovPDHLkV1fX+la~Mh literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_nw.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_nw.png new file mode 100644 index 0000000000000000000000000000000000000000..7182cd938ae98e7e28c65a0bc55df576042ff9f5 GIT binary patch literal 324 zcmV-K0lWT*P)2-&4CO{qhKP$XKD&mgeXEM77>~`RA}h@U^Z##eQZVtM>a-K?QT4 z&(8BFf(rD5V61)2I__wHYuRwoaDIqw5Vdr_JSDVr){#J@r;{vbDL|tRyCiirf~4OF zX-l=Ecm>@yR)1nSMt~dy90Zb`^`)TQbhf8jR@fA!l6V$musRyB9Y{p$SCW}!$3==V zk)fW)Xo{s^ez$t+XhmZj;ts)!kTokvmM>z)zt70000 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_se.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_se.png new file mode 100644 index 0000000000000000000000000000000000000000..541e3ffd3e88224b34a4d2097c66a780e6060aeb GIT binary patch literal 352 zcmV-m0iXVfP){pM9=`y8<_IvWD02WY@RZ<9dgjNmAB|sYF}Xw>7Sq@O0000eMf9z;FC21=)67q_`W0*0KnS4AR00W2`RGn3i8UfsEegLO@ zPhds?2e1Tm)FK3=bymIAx?X=YFo3Mdh7W?@I#8s#svp!&PB> zwah@Ngd|l0N4SCfzvjtQnd$dZ0yM)N$X+lqdtN!Pt{Wn*_`0U}m1^#r1 mwpaW{;a?9KKt^WrpTAEd?0j1W(3L*`0000P{ho=rRL|66mGO)=r*Hk83F#~lnc)I$ztaD0e0sy?& B8X5oq literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_title_left.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_title_left.png new file mode 100644 index 0000000000000000000000000000000000000000..6049223d1ec6af46e100499c01f6489c9e2c6240 GIT binary patch literal 503 zcmV+)0005LNklqcp9&~$uJw{{rUub~E?-XJ#Upm4Fe%-Gl z!u%tb0N102a|s5;SPlQvJlFCTBbvYaK@wIW6Gjx@?i20AlVDJcHNfh25WRlbF6CIq zv9_ZnqOH`}ppaUR0@%ZcM9zpDt2uQM>f+Z#wIMmyuui3DeoYXWE|hQ{D$te=Yhgkq zIvyj+$t8T|S1wITzUftNOe(E+Qjn$kDotY;I5}1lRgwi=?K26ke)djLR5W2|!7CVH zJ-`tuAq|`lK978y+CnqGNCkUke_%Gig ukvFM-ftpWh!il7Wg7kz7Y?7xB@G*olNlgoj4E_Yv!rmdKI;Vst0Ha3^zyJUM literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_title_right.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_title_right.png new file mode 100644 index 0000000000000000000000000000000000000000..e36d9db2a7c6e570aec993d3665cbc13620115e2 GIT binary patch literal 506 zcmV+)0005ONklxjQB-g>5=x46nGBwseihc$zfzvTFh(=tCRj6cJ4M&ASrCAq-HbokPnRBAHVa2(-|l wYU(UxfYLN;KDSr z1<%~X^wgl##FWaylc_d9MY*0Xjv*Ddw)7kFH5l+P-xcE$W)3=fYI&uMKVzWNT*W|n zhqlRY)q0r(8Mg&Fu_zpISivgz+b7g)c6G&O{~njE??Y{u-MM!p^=9_W+X-j8mhfK? zj`H2Yy;kp%)!V-M3;EVThyB(Z@o88wpMja-vy^g)SgE!<&|(HpS3j3^P6|6H_V+Po~-c6$N>^IEGZ*^681?Yf#{6Zf~e!I`r4y-J+3m*Ue*gH=cNZ zzpU%p61aCO%jt%FHUKW&bEWLcUAGzK?;SYE)E{9#W9O8@uj{O@89qzNU(dkI YVCW(7-@(*!CeU;SPgg&ebxsLQ07`N|KL7v# literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancybox.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancybox.png new file mode 100644 index 0000000000000000000000000000000000000000..65e14f68fd83b87f75c22c0c074e7b20bf20a133 GIT binary patch literal 15287 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 ZMt7F5hocMxav&E)U0Fw|QQ>vO{{ZOG+C=~W literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.easing-1.3.pack.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.easing-1.3.pack.js new file mode 100644 index 0000000..9028179 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.easing-1.3.pack.js @@ -0,0 +1,72 @@ +/* + * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ + * + * Uses the built in easing capabilities added In jQuery 1.1 + * to offer multiple easing options + * + * TERMS OF USE - jQuery Easing + * + * Open source under the BSD License. + * + * Copyright © 2008 George McGinley Smith + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * Neither the name of the author nor the names of contributors may be used to endorse + * or promote products derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * +*/ + +// t: current time, b: begInnIng value, c: change In value, d: duration +eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('h.i[\'1a\']=h.i[\'z\'];h.O(h.i,{y:\'D\',z:9(x,t,b,c,d){6 h.i[h.i.y](x,t,b,c,d)},17:9(x,t,b,c,d){6 c*(t/=d)*t+b},D:9(x,t,b,c,d){6-c*(t/=d)*(t-2)+b},13:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t+b;6-c/2*((--t)*(t-2)-1)+b},X:9(x,t,b,c,d){6 c*(t/=d)*t*t+b},U:9(x,t,b,c,d){6 c*((t=t/d-1)*t*t+1)+b},R:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t+b;6 c/2*((t-=2)*t*t+2)+b},N:9(x,t,b,c,d){6 c*(t/=d)*t*t*t+b},M:9(x,t,b,c,d){6-c*((t=t/d-1)*t*t*t-1)+b},L:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t*t+b;6-c/2*((t-=2)*t*t*t-2)+b},K:9(x,t,b,c,d){6 c*(t/=d)*t*t*t*t+b},J:9(x,t,b,c,d){6 c*((t=t/d-1)*t*t*t*t+1)+b},I:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t*t*t+b;6 c/2*((t-=2)*t*t*t*t+2)+b},G:9(x,t,b,c,d){6-c*8.C(t/d*(8.g/2))+c+b},15:9(x,t,b,c,d){6 c*8.n(t/d*(8.g/2))+b},12:9(x,t,b,c,d){6-c/2*(8.C(8.g*t/d)-1)+b},Z:9(x,t,b,c,d){6(t==0)?b:c*8.j(2,10*(t/d-1))+b},Y:9(x,t,b,c,d){6(t==d)?b+c:c*(-8.j(2,-10*t/d)+1)+b},W:9(x,t,b,c,d){e(t==0)6 b;e(t==d)6 b+c;e((t/=d/2)<1)6 c/2*8.j(2,10*(t-1))+b;6 c/2*(-8.j(2,-10*--t)+2)+b},V:9(x,t,b,c,d){6-c*(8.o(1-(t/=d)*t)-1)+b},S:9(x,t,b,c,d){6 c*8.o(1-(t=t/d-1)*t)+b},Q:9(x,t,b,c,d){e((t/=d/2)<1)6-c/2*(8.o(1-t*t)-1)+b;6 c/2*(8.o(1-(t-=2)*t)+1)+b},P:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d)==1)6 b+c;e(!p)p=d*.3;e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);6-(a*8.j(2,10*(t-=1))*8.n((t*d-s)*(2*8.g)/p))+b},H:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d)==1)6 b+c;e(!p)p=d*.3;e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);6 a*8.j(2,-10*t)*8.n((t*d-s)*(2*8.g)/p)+c+b},T:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d/2)==2)6 b+c;e(!p)p=d*(.3*1.5);e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);e(t<1)6-.5*(a*8.j(2,10*(t-=1))*8.n((t*d-s)*(2*8.g)/p))+b;6 a*8.j(2,-10*(t-=1))*8.n((t*d-s)*(2*8.g)/p)*.5+c+b},F:9(x,t,b,c,d,s){e(s==u)s=1.l;6 c*(t/=d)*t*((s+1)*t-s)+b},E:9(x,t,b,c,d,s){e(s==u)s=1.l;6 c*((t=t/d-1)*t*((s+1)*t+s)+1)+b},16:9(x,t,b,c,d,s){e(s==u)s=1.l;e((t/=d/2)<1)6 c/2*(t*t*(((s*=(1.B))+1)*t-s))+b;6 c/2*((t-=2)*t*(((s*=(1.B))+1)*t+s)+2)+b},A:9(x,t,b,c,d){6 c-h.i.v(x,d-t,0,c,d)+b},v:9(x,t,b,c,d){e((t/=d)<(1/2.k)){6 c*(7.q*t*t)+b}m e(t<(2/2.k)){6 c*(7.q*(t-=(1.5/2.k))*t+.k)+b}m e(t<(2.5/2.k)){6 c*(7.q*(t-=(2.14/2.k))*t+.11)+b}m{6 c*(7.q*(t-=(2.18/2.k))*t+.19)+b}},1b:9(x,t,b,c,d){e(t')[0], { prop: 0 }), + + isIE6 = $.browser.msie && $.browser.version < 7 && !window.XMLHttpRequest, + + /* + * Private methods + */ + + _abort = function() { + loading.hide(); + + imgPreloader.onerror = imgPreloader.onload = null; + + if (ajaxLoader) { + ajaxLoader.abort(); + } + + tmp.empty(); + }, + + _error = function() { + if (false === selectedOpts.onError(selectedArray, selectedIndex, selectedOpts)) { + loading.hide(); + busy = false; + return; + } + + selectedOpts.titleShow = false; + + selectedOpts.width = 'auto'; + selectedOpts.height = 'auto'; + + tmp.html( '

      The requested content cannot be loaded.
      Please try again later.

      ' ); + + _process_inline(); + }, + + _start = function() { + var obj = selectedArray[ selectedIndex ], + href, + type, + title, + str, + emb, + ret; + + _abort(); + + selectedOpts = $.extend({}, $.fn.fancybox.defaults, (typeof $(obj).data('fancybox') == 'undefined' ? selectedOpts : $(obj).data('fancybox'))); + + ret = selectedOpts.onStart(selectedArray, selectedIndex, selectedOpts); + + if (ret === false) { + busy = false; + return; + } else if (typeof ret == 'object') { + selectedOpts = $.extend(selectedOpts, ret); + } + + title = selectedOpts.title || (obj.nodeName ? $(obj).attr('title') : obj.title) || ''; + + if (obj.nodeName && !selectedOpts.orig) { + selectedOpts.orig = $(obj).children("img:first").length ? $(obj).children("img:first") : $(obj); + } + + if (title === '' && selectedOpts.orig && selectedOpts.titleFromAlt) { + title = selectedOpts.orig.attr('alt'); + } + + href = selectedOpts.href || (obj.nodeName ? $(obj).attr('href') : obj.href) || null; + + if ((/^(?:javascript)/i).test(href) || href == '#') { + href = null; + } + + if (selectedOpts.type) { + type = selectedOpts.type; + + if (!href) { + href = selectedOpts.content; + } + + } else if (selectedOpts.content) { + type = 'html'; + + } else if (href) { + if (href.match(imgRegExp)) { + type = 'image'; + + } else if (href.match(swfRegExp)) { + type = 'swf'; + + } else if ($(obj).hasClass("iframe")) { + type = 'iframe'; + + } else if (href.indexOf("#") === 0) { + type = 'inline'; + + } else { + type = 'ajax'; + } + } + + if (!type) { + _error(); + return; + } + + if (type == 'inline') { + obj = href.substr(href.indexOf("#")); + type = $(obj).length > 0 ? 'inline' : 'ajax'; + } + + selectedOpts.type = type; + selectedOpts.href = href; + selectedOpts.title = title; + + if (selectedOpts.autoDimensions) { + if (selectedOpts.type == 'html' || selectedOpts.type == 'inline' || selectedOpts.type == 'ajax') { + selectedOpts.width = 'auto'; + selectedOpts.height = 'auto'; + } else { + selectedOpts.autoDimensions = false; + } + } + + if (selectedOpts.modal) { + selectedOpts.overlayShow = true; + selectedOpts.hideOnOverlayClick = false; + selectedOpts.hideOnContentClick = false; + selectedOpts.enableEscapeButton = false; + selectedOpts.showCloseButton = false; + } + + selectedOpts.padding = parseInt(selectedOpts.padding, 10); + selectedOpts.margin = parseInt(selectedOpts.margin, 10); + + tmp.css('padding', (selectedOpts.padding + selectedOpts.margin)); + + $('.fancybox-inline-tmp').unbind('fancybox-cancel').bind('fancybox-change', function() { + $(this).replaceWith(content.children()); + }); + + switch (type) { + case 'html' : + tmp.html( selectedOpts.content ); + _process_inline(); + break; + + case 'inline' : + if ( $(obj).parent().is('#fancybox-content') === true) { + busy = false; + return; + } + + $('
      ') + .hide() + .insertBefore( $(obj) ) + .bind('fancybox-cleanup', function() { + $(this).replaceWith(content.children()); + }).bind('fancybox-cancel', function() { + $(this).replaceWith(tmp.children()); + }); + + $(obj).appendTo(tmp); + + _process_inline(); + break; + + case 'image': + busy = false; + + $.fancybox.showActivity(); + + imgPreloader = new Image(); + + imgPreloader.onerror = function() { + _error(); + }; + + imgPreloader.onload = function() { + busy = true; + + imgPreloader.onerror = imgPreloader.onload = null; + + _process_image(); + }; + + imgPreloader.src = href; + break; + + case 'swf': + selectedOpts.scrolling = 'no'; + + str = ''; + emb = ''; + + $.each(selectedOpts.swf, function(name, val) { + str += ''; + emb += ' ' + name + '="' + val + '"'; + }); + + str += ''; + + tmp.html(str); + + _process_inline(); + break; + + case 'ajax': + busy = false; + + $.fancybox.showActivity(); + + selectedOpts.ajax.win = selectedOpts.ajax.success; + + ajaxLoader = $.ajax($.extend({}, selectedOpts.ajax, { + url : href, + data : selectedOpts.ajax.data || {}, + error : function(XMLHttpRequest, textStatus, errorThrown) { + if ( XMLHttpRequest.status > 0 ) { + _error(); + } + }, + success : function(data, textStatus, XMLHttpRequest) { + var o = typeof XMLHttpRequest == 'object' ? XMLHttpRequest : ajaxLoader; + if (o.status == 200) { + if ( typeof selectedOpts.ajax.win == 'function' ) { + ret = selectedOpts.ajax.win(href, data, textStatus, XMLHttpRequest); + + if (ret === false) { + loading.hide(); + return; + } else if (typeof ret == 'string' || typeof ret == 'object') { + data = ret; + } + } + + tmp.html( data ); + _process_inline(); + } + } + })); + + break; + + case 'iframe': + _show(); + break; + } + }, + + _process_inline = function() { + var + w = selectedOpts.width, + h = selectedOpts.height; + + if (w.toString().indexOf('%') > -1) { + w = parseInt( ($(window).width() - (selectedOpts.margin * 2)) * parseFloat(w) / 100, 10) + 'px'; + + } else { + w = w == 'auto' ? 'auto' : w + 'px'; + } + + if (h.toString().indexOf('%') > -1) { + h = parseInt( ($(window).height() - (selectedOpts.margin * 2)) * parseFloat(h) / 100, 10) + 'px'; + + } else { + h = h == 'auto' ? 'auto' : h + 'px'; + } + + tmp.wrapInner('
      '); + + selectedOpts.width = tmp.width(); + selectedOpts.height = tmp.height(); + + _show(); + }, + + _process_image = function() { + selectedOpts.width = imgPreloader.width; + selectedOpts.height = imgPreloader.height; + + $("").attr({ + 'id' : 'fancybox-img', + 'src' : imgPreloader.src, + 'alt' : selectedOpts.title + }).appendTo( tmp ); + + _show(); + }, + + _show = function() { + var pos, equal; + + loading.hide(); + + if (wrap.is(":visible") && false === currentOpts.onCleanup(currentArray, currentIndex, currentOpts)) { + $.event.trigger('fancybox-cancel'); + + busy = false; + return; + } + + busy = true; + + $(content.add( overlay )).unbind(); + + $(window).unbind("resize.fb scroll.fb"); + $(document).unbind('keydown.fb'); + + if (wrap.is(":visible") && currentOpts.titlePosition !== 'outside') { + wrap.css('height', wrap.height()); + } + + currentArray = selectedArray; + currentIndex = selectedIndex; + currentOpts = selectedOpts; + + if (currentOpts.overlayShow) { + overlay.css({ + 'background-color' : currentOpts.overlayColor, + 'opacity' : currentOpts.overlayOpacity, + 'cursor' : currentOpts.hideOnOverlayClick ? 'pointer' : 'auto', + 'height' : $(document).height() + }); + + if (!overlay.is(':visible')) { + if (isIE6) { + $('select:not(#fancybox-tmp select)').filter(function() { + return this.style.visibility !== 'hidden'; + }).css({'visibility' : 'hidden'}).one('fancybox-cleanup', function() { + this.style.visibility = 'inherit'; + }); + } + + overlay.show(); + } + } else { + overlay.hide(); + } + + final_pos = _get_zoom_to(); + + _process_title(); + + if (wrap.is(":visible")) { + $( close.add( nav_left ).add( nav_right ) ).hide(); + + pos = wrap.position(), + + start_pos = { + top : pos.top, + left : pos.left, + width : wrap.width(), + height : wrap.height() + }; + + equal = (start_pos.width == final_pos.width && start_pos.height == final_pos.height); + + content.fadeTo(currentOpts.changeFade, 0.3, function() { + var finish_resizing = function() { + content.html( tmp.contents() ).fadeTo(currentOpts.changeFade, 1, _finish); + }; + + $.event.trigger('fancybox-change'); + + content + .empty() + .removeAttr('filter') + .css({ + 'border-width' : currentOpts.padding, + 'width' : final_pos.width - currentOpts.padding * 2, + 'height' : selectedOpts.autoDimensions ? 'auto' : final_pos.height - titleHeight - currentOpts.padding * 2 + }); + + if (equal) { + finish_resizing(); + + } else { + fx.prop = 0; + + $(fx).animate({prop: 1}, { + duration : currentOpts.changeSpeed, + easing : currentOpts.easingChange, + step : _draw, + complete : finish_resizing + }); + } + }); + + return; + } + + wrap.removeAttr("style"); + + content.css('border-width', currentOpts.padding); + + if (currentOpts.transitionIn == 'elastic') { + start_pos = _get_zoom_from(); + + content.html( tmp.contents() ); + + wrap.show(); + + if (currentOpts.opacity) { + final_pos.opacity = 0; + } + + fx.prop = 0; + + $(fx).animate({prop: 1}, { + duration : currentOpts.speedIn, + easing : currentOpts.easingIn, + step : _draw, + complete : _finish + }); + + return; + } + + if (currentOpts.titlePosition == 'inside' && titleHeight > 0) { + title.show(); + } + + content + .css({ + 'width' : final_pos.width - currentOpts.padding * 2, + 'height' : selectedOpts.autoDimensions ? 'auto' : final_pos.height - titleHeight - currentOpts.padding * 2 + }) + .html( tmp.contents() ); + + wrap + .css(final_pos) + .fadeIn( currentOpts.transitionIn == 'none' ? 0 : currentOpts.speedIn, _finish ); + }, + + _format_title = function(title) { + if (title && title.length) { + if (currentOpts.titlePosition == 'float') { + return '
      ' + title + '
      '; + } + + return '
      ' + title + '
      '; + } + + return false; + }, + + _process_title = function() { + titleStr = currentOpts.title || ''; + titleHeight = 0; + + title + .empty() + .removeAttr('style') + .removeClass(); + + if (currentOpts.titleShow === false) { + title.hide(); + return; + } + + titleStr = $.isFunction(currentOpts.titleFormat) ? currentOpts.titleFormat(titleStr, currentArray, currentIndex, currentOpts) : _format_title(titleStr); + + if (!titleStr || titleStr === '') { + title.hide(); + return; + } + + title + .addClass('fancybox-title-' + currentOpts.titlePosition) + .html( titleStr ) + .appendTo( 'body' ) + .show(); + + switch (currentOpts.titlePosition) { + case 'inside': + title + .css({ + 'width' : final_pos.width - (currentOpts.padding * 2), + 'marginLeft' : currentOpts.padding, + 'marginRight' : currentOpts.padding + }); + + titleHeight = title.outerHeight(true); + + title.appendTo( outer ); + + final_pos.height += titleHeight; + break; + + case 'over': + title + .css({ + 'marginLeft' : currentOpts.padding, + 'width' : final_pos.width - (currentOpts.padding * 2), + 'bottom' : currentOpts.padding + }) + .appendTo( outer ); + break; + + case 'float': + title + .css('left', parseInt((title.width() - final_pos.width - 40)/ 2, 10) * -1) + .appendTo( wrap ); + break; + + default: + title + .css({ + 'width' : final_pos.width - (currentOpts.padding * 2), + 'paddingLeft' : currentOpts.padding, + 'paddingRight' : currentOpts.padding + }) + .appendTo( wrap ); + break; + } + + title.hide(); + }, + + _set_navigation = function() { + if (currentOpts.enableEscapeButton || currentOpts.enableKeyboardNav) { + $(document).bind('keydown.fb', function(e) { + if (e.keyCode == 27 && currentOpts.enableEscapeButton) { + e.preventDefault(); + $.fancybox.close(); + + } else if ((e.keyCode == 37 || e.keyCode == 39) && currentOpts.enableKeyboardNav && e.target.tagName !== 'INPUT' && e.target.tagName !== 'TEXTAREA' && e.target.tagName !== 'SELECT') { + e.preventDefault(); + $.fancybox[ e.keyCode == 37 ? 'prev' : 'next'](); + } + }); + } + + if (!currentOpts.showNavArrows) { + nav_left.hide(); + nav_right.hide(); + return; + } + + if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex !== 0) { + nav_left.show(); + } + + if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex != (currentArray.length -1)) { + nav_right.show(); + } + }, + + _finish = function () { + if (!$.support.opacity) { + content.get(0).style.removeAttribute('filter'); + wrap.get(0).style.removeAttribute('filter'); + } + + if (selectedOpts.autoDimensions) { + content.css('height', 'auto'); + } + + wrap.css('height', 'auto'); + + if (titleStr && titleStr.length) { + title.show(); + } + + if (currentOpts.showCloseButton) { + close.show(); + } + + _set_navigation(); + + if (currentOpts.hideOnContentClick) { + content.bind('click', $.fancybox.close); + } + + if (currentOpts.hideOnOverlayClick) { + overlay.bind('click', $.fancybox.close); + } + + $(window).bind("resize.fb", $.fancybox.resize); + + if (currentOpts.centerOnScroll) { + $(window).bind("scroll.fb", $.fancybox.center); + } + + if (currentOpts.type == 'iframe') { + $('').appendTo(content); + } + + wrap.show(); + + busy = false; + + $.fancybox.center(); + + currentOpts.onComplete(currentArray, currentIndex, currentOpts); + + _preload_images(); + }, + + _preload_images = function() { + var href, + objNext; + + if ((currentArray.length -1) > currentIndex) { + href = currentArray[ currentIndex + 1 ].href; + + if (typeof href !== 'undefined' && href.match(imgRegExp)) { + objNext = new Image(); + objNext.src = href; + } + } + + if (currentIndex > 0) { + href = currentArray[ currentIndex - 1 ].href; + + if (typeof href !== 'undefined' && href.match(imgRegExp)) { + objNext = new Image(); + objNext.src = href; + } + } + }, + + _draw = function(pos) { + var dim = { + width : parseInt(start_pos.width + (final_pos.width - start_pos.width) * pos, 10), + height : parseInt(start_pos.height + (final_pos.height - start_pos.height) * pos, 10), + + top : parseInt(start_pos.top + (final_pos.top - start_pos.top) * pos, 10), + left : parseInt(start_pos.left + (final_pos.left - start_pos.left) * pos, 10) + }; + + if (typeof final_pos.opacity !== 'undefined') { + dim.opacity = pos < 0.5 ? 0.5 : pos; + } + + wrap.css(dim); + + content.css({ + 'width' : dim.width - currentOpts.padding * 2, + 'height' : dim.height - (titleHeight * pos) - currentOpts.padding * 2 + }); + }, + + _get_viewport = function() { + return [ + $(window).width() - (currentOpts.margin * 2), + $(window).height() - (currentOpts.margin * 2), + $(document).scrollLeft() + currentOpts.margin, + $(document).scrollTop() + currentOpts.margin + ]; + }, + + _get_zoom_to = function () { + var view = _get_viewport(), + to = {}, + resize = currentOpts.autoScale, + double_padding = currentOpts.padding * 2, + ratio; + + if (currentOpts.width.toString().indexOf('%') > -1) { + to.width = parseInt((view[0] * parseFloat(currentOpts.width)) / 100, 10); + } else { + to.width = currentOpts.width + double_padding; + } + + if (currentOpts.height.toString().indexOf('%') > -1) { + to.height = parseInt((view[1] * parseFloat(currentOpts.height)) / 100, 10); + } else { + to.height = currentOpts.height + double_padding; + } + + if (resize && (to.width > view[0] || to.height > view[1])) { + if (selectedOpts.type == 'image' || selectedOpts.type == 'swf') { + ratio = (currentOpts.width ) / (currentOpts.height ); + + if ((to.width ) > view[0]) { + to.width = view[0]; + to.height = parseInt(((to.width - double_padding) / ratio) + double_padding, 10); + } + + if ((to.height) > view[1]) { + to.height = view[1]; + to.width = parseInt(((to.height - double_padding) * ratio) + double_padding, 10); + } + + } else { + to.width = Math.min(to.width, view[0]); + to.height = Math.min(to.height, view[1]); + } + } + + to.top = parseInt(Math.max(view[3] - 20, view[3] + ((view[1] - to.height - 40) * 0.5)), 10); + to.left = parseInt(Math.max(view[2] - 20, view[2] + ((view[0] - to.width - 40) * 0.5)), 10); + + return to; + }, + + _get_obj_pos = function(obj) { + var pos = obj.offset(); + + pos.top += parseInt( obj.css('paddingTop'), 10 ) || 0; + pos.left += parseInt( obj.css('paddingLeft'), 10 ) || 0; + + pos.top += parseInt( obj.css('border-top-width'), 10 ) || 0; + pos.left += parseInt( obj.css('border-left-width'), 10 ) || 0; + + pos.width = obj.width(); + pos.height = obj.height(); + + return pos; + }, + + _get_zoom_from = function() { + var orig = selectedOpts.orig ? $(selectedOpts.orig) : false, + from = {}, + pos, + view; + + if (orig && orig.length) { + pos = _get_obj_pos(orig); + + from = { + width : pos.width + (currentOpts.padding * 2), + height : pos.height + (currentOpts.padding * 2), + top : pos.top - currentOpts.padding - 20, + left : pos.left - currentOpts.padding - 20 + }; + + } else { + view = _get_viewport(); + + from = { + width : currentOpts.padding * 2, + height : currentOpts.padding * 2, + top : parseInt(view[3] + view[1] * 0.5, 10), + left : parseInt(view[2] + view[0] * 0.5, 10) + }; + } + + return from; + }, + + _animate_loading = function() { + if (!loading.is(':visible')){ + clearInterval(loadingTimer); + return; + } + + $('div', loading).css('top', (loadingFrame * -40) + 'px'); + + loadingFrame = (loadingFrame + 1) % 12; + }; + + /* + * Public methods + */ + + $.fn.fancybox = function(options) { + if (!$(this).length) { + return this; + } + + $(this) + .data('fancybox', $.extend({}, options, ($.metadata ? $(this).metadata() : {}))) + .unbind('click.fb') + .bind('click.fb', function(e) { + e.preventDefault(); + + if (busy) { + return; + } + + busy = true; + + $(this).blur(); + + selectedArray = []; + selectedIndex = 0; + + var rel = $(this).attr('rel') || ''; + + if (!rel || rel == '' || rel === 'nofollow') { + selectedArray.push(this); + + } else { + selectedArray = $("a[rel=" + rel + "], area[rel=" + rel + "]"); + selectedIndex = selectedArray.index( this ); + } + + _start(); + + return; + }); + + return this; + }; + + $.fancybox = function(obj) { + var opts; + + if (busy) { + return; + } + + busy = true; + opts = typeof arguments[1] !== 'undefined' ? arguments[1] : {}; + + selectedArray = []; + selectedIndex = parseInt(opts.index, 10) || 0; + + if ($.isArray(obj)) { + for (var i = 0, j = obj.length; i < j; i++) { + if (typeof obj[i] == 'object') { + $(obj[i]).data('fancybox', $.extend({}, opts, obj[i])); + } else { + obj[i] = $({}).data('fancybox', $.extend({content : obj[i]}, opts)); + } + } + + selectedArray = jQuery.merge(selectedArray, obj); + + } else { + if (typeof obj == 'object') { + $(obj).data('fancybox', $.extend({}, opts, obj)); + } else { + obj = $({}).data('fancybox', $.extend({content : obj}, opts)); + } + + selectedArray.push(obj); + } + + if (selectedIndex > selectedArray.length || selectedIndex < 0) { + selectedIndex = 0; + } + + _start(); + }; + + $.fancybox.showActivity = function() { + clearInterval(loadingTimer); + + loading.show(); + loadingTimer = setInterval(_animate_loading, 66); + }; + + $.fancybox.hideActivity = function() { + loading.hide(); + }; + + $.fancybox.next = function() { + return $.fancybox.pos( currentIndex + 1); + }; + + $.fancybox.prev = function() { + return $.fancybox.pos( currentIndex - 1); + }; + + $.fancybox.pos = function(pos) { + if (busy) { + return; + } + + pos = parseInt(pos); + + selectedArray = currentArray; + + if (pos > -1 && pos < currentArray.length) { + selectedIndex = pos; + _start(); + + } else if (currentOpts.cyclic && currentArray.length > 1) { + selectedIndex = pos >= currentArray.length ? 0 : currentArray.length - 1; + _start(); + } + + return; + }; + + $.fancybox.cancel = function() { + if (busy) { + return; + } + + busy = true; + + $.event.trigger('fancybox-cancel'); + + _abort(); + + selectedOpts.onCancel(selectedArray, selectedIndex, selectedOpts); + + busy = false; + }; + + // Note: within an iframe use - parent.$.fancybox.close(); + $.fancybox.close = function() { + if (busy || wrap.is(':hidden')) { + return; + } + + busy = true; + + if (currentOpts && false === currentOpts.onCleanup(currentArray, currentIndex, currentOpts)) { + busy = false; + return; + } + + _abort(); + + $(close.add( nav_left ).add( nav_right )).hide(); + + $(content.add( overlay )).unbind(); + + $(window).unbind("resize.fb scroll.fb"); + $(document).unbind('keydown.fb'); + + content.find('iframe').attr('src', isIE6 && /^https/i.test(window.location.href || '') ? 'javascript:void(false)' : 'about:blank'); + + if (currentOpts.titlePosition !== 'inside') { + title.empty(); + } + + wrap.stop(); + + function _cleanup() { + overlay.fadeOut('fast'); + + title.empty().hide(); + wrap.hide(); + + $.event.trigger('fancybox-cleanup'); + + content.empty(); + + currentOpts.onClosed(currentArray, currentIndex, currentOpts); + + currentArray = selectedOpts = []; + currentIndex = selectedIndex = 0; + currentOpts = selectedOpts = {}; + + busy = false; + } + + if (currentOpts.transitionOut == 'elastic') { + start_pos = _get_zoom_from(); + + var pos = wrap.position(); + + final_pos = { + top : pos.top , + left : pos.left, + width : wrap.width(), + height : wrap.height() + }; + + if (currentOpts.opacity) { + final_pos.opacity = 1; + } + + title.empty().hide(); + + fx.prop = 1; + + $(fx).animate({ prop: 0 }, { + duration : currentOpts.speedOut, + easing : currentOpts.easingOut, + step : _draw, + complete : _cleanup + }); + + } else { + wrap.fadeOut( currentOpts.transitionOut == 'none' ? 0 : currentOpts.speedOut, _cleanup); + } + }; + + $.fancybox.resize = function() { + if (overlay.is(':visible')) { + overlay.css('height', $(document).height()); + } + + $.fancybox.center(true); + }; + + $.fancybox.center = function() { + var view, align; + + if (busy) { + return; + } + + align = arguments[0] === true ? 1 : 0; + view = _get_viewport(); + + if (!align && (wrap.width() > view[0] || wrap.height() > view[1])) { + return; + } + + wrap + .stop() + .animate({ + 'top' : parseInt(Math.max(view[3] - 20, view[3] + ((view[1] - content.height() - 40) * 0.5) - currentOpts.padding)), + 'left' : parseInt(Math.max(view[2] - 20, view[2] + ((view[0] - content.width() - 40) * 0.5) - currentOpts.padding)) + }, typeof arguments[0] == 'number' ? arguments[0] : 200); + }; + + $.fancybox.init = function() { + if ($("#fancybox-wrap").length) { + return; + } + + $('body').append( + tmp = $('
      '), + loading = $('
      '), + overlay = $('
      '), + wrap = $('
      ') + ); + + outer = $('
      ') + .append('
      ') + .appendTo( wrap ); + + outer.append( + content = $('
      '), + close = $(''), + title = $('
      '), + + nav_left = $(''), + nav_right = $('') + ); + + close.click($.fancybox.close); + loading.click($.fancybox.cancel); + + nav_left.click(function(e) { + e.preventDefault(); + $.fancybox.prev(); + }); + + nav_right.click(function(e) { + e.preventDefault(); + $.fancybox.next(); + }); + + if ($.fn.mousewheel) { + wrap.bind('mousewheel.fb', function(e, delta) { + if (busy) { + e.preventDefault(); + + } else if ($(e.target).get(0).clientHeight == 0 || $(e.target).get(0).scrollHeight === $(e.target).get(0).clientHeight) { + e.preventDefault(); + $.fancybox[ delta > 0 ? 'prev' : 'next'](); + } + }); + } + + if (!$.support.opacity) { + wrap.addClass('fancybox-ie'); + } + + if (isIE6) { + loading.addClass('fancybox-ie6'); + wrap.addClass('fancybox-ie6'); + + $('').prependTo(outer); + } + }; + + $.fn.fancybox.defaults = { + padding : 10, + margin : 40, + opacity : false, + modal : false, + cyclic : false, + scrolling : 'auto', // 'auto', 'yes' or 'no' + + width : 560, + height : 340, + + autoScale : true, + autoDimensions : true, + centerOnScroll : false, + + ajax : {}, + swf : { wmode: 'transparent' }, + + hideOnOverlayClick : true, + hideOnContentClick : false, + + overlayShow : true, + overlayOpacity : 0.7, + overlayColor : '#777', + + titleShow : true, + titlePosition : 'float', // 'float', 'outside', 'inside' or 'over' + titleFormat : null, + titleFromAlt : false, + + transitionIn : 'fade', // 'elastic', 'fade' or 'none' + transitionOut : 'fade', // 'elastic', 'fade' or 'none' + + speedIn : 300, + speedOut : 300, + + changeSpeed : 300, + changeFade : 'fast', + + easingIn : 'swing', + easingOut : 'swing', + + showCloseButton : true, + showNavArrows : true, + enableEscapeButton : true, + enableKeyboardNav : true, + + onStart : function(){}, + onCancel : function(){}, + onComplete : function(){}, + onCleanup : function(){}, + onClosed : function(){}, + onError : function(){} + }; + + $(document).ready(function() { + $.fancybox.init(); + }); + +})(jQuery); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.pack.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.pack.js new file mode 100644 index 0000000..1373ed0 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.pack.js @@ -0,0 +1,46 @@ +/* + * FancyBox - jQuery Plugin + * Simple and fancy lightbox alternative + * + * Examples and documentation at: http://fancybox.net + * + * Copyright (c) 2008 - 2010 Janis Skarnelis + * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated. + * + * Version: 1.3.4 (11/11/2010) + * Requires: jQuery v1.3+ + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + */ + +;(function(b){var m,t,u,f,D,j,E,n,z,A,q=0,e={},o=[],p=0,d={},l=[],G=null,v=new Image,J=/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i,W=/[^\.]\.(swf)\s*$/i,K,L=1,y=0,s="",r,i,h=false,B=b.extend(b("
      ")[0],{prop:0}),M=b.browser.msie&&b.browser.version<7&&!window.XMLHttpRequest,N=function(){t.hide();v.onerror=v.onload=null;G&&G.abort();m.empty()},O=function(){if(false===e.onError(o,q,e)){t.hide();h=false}else{e.titleShow=false;e.width="auto";e.height="auto";m.html('

      The requested content cannot be loaded.
      Please try again later.

      '); +F()}},I=function(){var a=o[q],c,g,k,C,P,w;N();e=b.extend({},b.fn.fancybox.defaults,typeof b(a).data("fancybox")=="undefined"?e:b(a).data("fancybox"));w=e.onStart(o,q,e);if(w===false)h=false;else{if(typeof w=="object")e=b.extend(e,w);k=e.title||(a.nodeName?b(a).attr("title"):a.title)||"";if(a.nodeName&&!e.orig)e.orig=b(a).children("img:first").length?b(a).children("img:first"):b(a);if(k===""&&e.orig&&e.titleFromAlt)k=e.orig.attr("alt");c=e.href||(a.nodeName?b(a).attr("href"):a.href)||null;if(/^(?:javascript)/i.test(c)|| +c=="#")c=null;if(e.type){g=e.type;if(!c)c=e.content}else if(e.content)g="html";else if(c)g=c.match(J)?"image":c.match(W)?"swf":b(a).hasClass("iframe")?"iframe":c.indexOf("#")===0?"inline":"ajax";if(g){if(g=="inline"){a=c.substr(c.indexOf("#"));g=b(a).length>0?"inline":"ajax"}e.type=g;e.href=c;e.title=k;if(e.autoDimensions)if(e.type=="html"||e.type=="inline"||e.type=="ajax"){e.width="auto";e.height="auto"}else e.autoDimensions=false;if(e.modal){e.overlayShow=true;e.hideOnOverlayClick=false;e.hideOnContentClick= +false;e.enableEscapeButton=false;e.showCloseButton=false}e.padding=parseInt(e.padding,10);e.margin=parseInt(e.margin,10);m.css("padding",e.padding+e.margin);b(".fancybox-inline-tmp").unbind("fancybox-cancel").bind("fancybox-change",function(){b(this).replaceWith(j.children())});switch(g){case "html":m.html(e.content);F();break;case "inline":if(b(a).parent().is("#fancybox-content")===true){h=false;break}b('
      ').hide().insertBefore(b(a)).bind("fancybox-cleanup",function(){b(this).replaceWith(j.children())}).bind("fancybox-cancel", +function(){b(this).replaceWith(m.children())});b(a).appendTo(m);F();break;case "image":h=false;b.fancybox.showActivity();v=new Image;v.onerror=function(){O()};v.onload=function(){h=true;v.onerror=v.onload=null;e.width=v.width;e.height=v.height;b("").attr({id:"fancybox-img",src:v.src,alt:e.title}).appendTo(m);Q()};v.src=c;break;case "swf":e.scrolling="no";C='';P="";b.each(e.swf,function(x,H){C+='';P+=" "+x+'="'+H+'"'});C+='";m.html(C);F();break;case "ajax":h=false;b.fancybox.showActivity();e.ajax.win=e.ajax.success;G=b.ajax(b.extend({},e.ajax,{url:c,data:e.ajax.data||{},error:function(x){x.status>0&&O()},success:function(x,H,R){if((typeof R=="object"?R:G).status==200){if(typeof e.ajax.win== +"function"){w=e.ajax.win(c,x,H,R);if(w===false){t.hide();return}else if(typeof w=="string"||typeof w=="object")x=w}m.html(x);F()}}}));break;case "iframe":Q()}}else O()}},F=function(){var a=e.width,c=e.height;a=a.toString().indexOf("%")>-1?parseInt((b(window).width()-e.margin*2)*parseFloat(a)/100,10)+"px":a=="auto"?"auto":a+"px";c=c.toString().indexOf("%")>-1?parseInt((b(window).height()-e.margin*2)*parseFloat(c)/100,10)+"px":c=="auto"?"auto":c+"px";m.wrapInner('
      ');e.width=m.width();e.height=m.height();Q()},Q=function(){var a,c;t.hide();if(f.is(":visible")&&false===d.onCleanup(l,p,d)){b.event.trigger("fancybox-cancel");h=false}else{h=true;b(j.add(u)).unbind();b(window).unbind("resize.fb scroll.fb");b(document).unbind("keydown.fb");f.is(":visible")&&d.titlePosition!=="outside"&&f.css("height",f.height());l=o;p=q;d=e;if(d.overlayShow){u.css({"background-color":d.overlayColor, +opacity:d.overlayOpacity,cursor:d.hideOnOverlayClick?"pointer":"auto",height:b(document).height()});if(!u.is(":visible")){M&&b("select:not(#fancybox-tmp select)").filter(function(){return this.style.visibility!=="hidden"}).css({visibility:"hidden"}).one("fancybox-cleanup",function(){this.style.visibility="inherit"});u.show()}}else u.hide();i=X();s=d.title||"";y=0;n.empty().removeAttr("style").removeClass();if(d.titleShow!==false){if(b.isFunction(d.titleFormat))a=d.titleFormat(s,l,p,d);else a=s&&s.length? +d.titlePosition=="float"?'
      '+s+'
      ':'
      '+s+"
      ":false;s=a;if(!(!s||s==="")){n.addClass("fancybox-title-"+d.titlePosition).html(s).appendTo("body").show();switch(d.titlePosition){case "inside":n.css({width:i.width-d.padding*2,marginLeft:d.padding,marginRight:d.padding}); +y=n.outerHeight(true);n.appendTo(D);i.height+=y;break;case "over":n.css({marginLeft:d.padding,width:i.width-d.padding*2,bottom:d.padding}).appendTo(D);break;case "float":n.css("left",parseInt((n.width()-i.width-40)/2,10)*-1).appendTo(f);break;default:n.css({width:i.width-d.padding*2,paddingLeft:d.padding,paddingRight:d.padding}).appendTo(f)}}}n.hide();if(f.is(":visible")){b(E.add(z).add(A)).hide();a=f.position();r={top:a.top,left:a.left,width:f.width(),height:f.height()};c=r.width==i.width&&r.height== +i.height;j.fadeTo(d.changeFade,0.3,function(){var g=function(){j.html(m.contents()).fadeTo(d.changeFade,1,S)};b.event.trigger("fancybox-change");j.empty().removeAttr("filter").css({"border-width":d.padding,width:i.width-d.padding*2,height:e.autoDimensions?"auto":i.height-y-d.padding*2});if(c)g();else{B.prop=0;b(B).animate({prop:1},{duration:d.changeSpeed,easing:d.easingChange,step:T,complete:g})}})}else{f.removeAttr("style");j.css("border-width",d.padding);if(d.transitionIn=="elastic"){r=V();j.html(m.contents()); +f.show();if(d.opacity)i.opacity=0;B.prop=0;b(B).animate({prop:1},{duration:d.speedIn,easing:d.easingIn,step:T,complete:S})}else{d.titlePosition=="inside"&&y>0&&n.show();j.css({width:i.width-d.padding*2,height:e.autoDimensions?"auto":i.height-y-d.padding*2}).html(m.contents());f.css(i).fadeIn(d.transitionIn=="none"?0:d.speedIn,S)}}}},Y=function(){if(d.enableEscapeButton||d.enableKeyboardNav)b(document).bind("keydown.fb",function(a){if(a.keyCode==27&&d.enableEscapeButton){a.preventDefault();b.fancybox.close()}else if((a.keyCode== +37||a.keyCode==39)&&d.enableKeyboardNav&&a.target.tagName!=="INPUT"&&a.target.tagName!=="TEXTAREA"&&a.target.tagName!=="SELECT"){a.preventDefault();b.fancybox[a.keyCode==37?"prev":"next"]()}});if(d.showNavArrows){if(d.cyclic&&l.length>1||p!==0)z.show();if(d.cyclic&&l.length>1||p!=l.length-1)A.show()}else{z.hide();A.hide()}},S=function(){if(!b.support.opacity){j.get(0).style.removeAttribute("filter");f.get(0).style.removeAttribute("filter")}e.autoDimensions&&j.css("height","auto");f.css("height","auto"); +s&&s.length&&n.show();d.showCloseButton&&E.show();Y();d.hideOnContentClick&&j.bind("click",b.fancybox.close);d.hideOnOverlayClick&&u.bind("click",b.fancybox.close);b(window).bind("resize.fb",b.fancybox.resize);d.centerOnScroll&&b(window).bind("scroll.fb",b.fancybox.center);if(d.type=="iframe")b('').appendTo(j); +f.show();h=false;b.fancybox.center();d.onComplete(l,p,d);var a,c;if(l.length-1>p){a=l[p+1].href;if(typeof a!=="undefined"&&a.match(J)){c=new Image;c.src=a}}if(p>0){a=l[p-1].href;if(typeof a!=="undefined"&&a.match(J)){c=new Image;c.src=a}}},T=function(a){var c={width:parseInt(r.width+(i.width-r.width)*a,10),height:parseInt(r.height+(i.height-r.height)*a,10),top:parseInt(r.top+(i.top-r.top)*a,10),left:parseInt(r.left+(i.left-r.left)*a,10)};if(typeof i.opacity!=="undefined")c.opacity=a<0.5?0.5:a;f.css(c); +j.css({width:c.width-d.padding*2,height:c.height-y*a-d.padding*2})},U=function(){return[b(window).width()-d.margin*2,b(window).height()-d.margin*2,b(document).scrollLeft()+d.margin,b(document).scrollTop()+d.margin]},X=function(){var a=U(),c={},g=d.autoScale,k=d.padding*2;c.width=d.width.toString().indexOf("%")>-1?parseInt(a[0]*parseFloat(d.width)/100,10):d.width+k;c.height=d.height.toString().indexOf("%")>-1?parseInt(a[1]*parseFloat(d.height)/100,10):d.height+k;if(g&&(c.width>a[0]||c.height>a[1]))if(e.type== +"image"||e.type=="swf"){g=d.width/d.height;if(c.width>a[0]){c.width=a[0];c.height=parseInt((c.width-k)/g+k,10)}if(c.height>a[1]){c.height=a[1];c.width=parseInt((c.height-k)*g+k,10)}}else{c.width=Math.min(c.width,a[0]);c.height=Math.min(c.height,a[1])}c.top=parseInt(Math.max(a[3]-20,a[3]+(a[1]-c.height-40)*0.5),10);c.left=parseInt(Math.max(a[2]-20,a[2]+(a[0]-c.width-40)*0.5),10);return c},V=function(){var a=e.orig?b(e.orig):false,c={};if(a&&a.length){c=a.offset();c.top+=parseInt(a.css("paddingTop"), +10)||0;c.left+=parseInt(a.css("paddingLeft"),10)||0;c.top+=parseInt(a.css("border-top-width"),10)||0;c.left+=parseInt(a.css("border-left-width"),10)||0;c.width=a.width();c.height=a.height();c={width:c.width+d.padding*2,height:c.height+d.padding*2,top:c.top-d.padding-20,left:c.left-d.padding-20}}else{a=U();c={width:d.padding*2,height:d.padding*2,top:parseInt(a[3]+a[1]*0.5,10),left:parseInt(a[2]+a[0]*0.5,10)}}return c},Z=function(){if(t.is(":visible")){b("div",t).css("top",L*-40+"px");L=(L+1)%12}else clearInterval(K)}; +b.fn.fancybox=function(a){if(!b(this).length)return this;b(this).data("fancybox",b.extend({},a,b.metadata?b(this).metadata():{})).unbind("click.fb").bind("click.fb",function(c){c.preventDefault();if(!h){h=true;b(this).blur();o=[];q=0;c=b(this).attr("rel")||"";if(!c||c==""||c==="nofollow")o.push(this);else{o=b("a[rel="+c+"], area[rel="+c+"]");q=o.index(this)}I()}});return this};b.fancybox=function(a,c){var g;if(!h){h=true;g=typeof c!=="undefined"?c:{};o=[];q=parseInt(g.index,10)||0;if(b.isArray(a)){for(var k= +0,C=a.length;ko.length||q<0)q=0;I()}};b.fancybox.showActivity=function(){clearInterval(K);t.show();K=setInterval(Z,66)};b.fancybox.hideActivity=function(){t.hide()};b.fancybox.next=function(){return b.fancybox.pos(p+ +1)};b.fancybox.prev=function(){return b.fancybox.pos(p-1)};b.fancybox.pos=function(a){if(!h){a=parseInt(a);o=l;if(a>-1&&a1){q=a>=l.length?0:l.length-1;I()}}};b.fancybox.cancel=function(){if(!h){h=true;b.event.trigger("fancybox-cancel");N();e.onCancel(o,q,e);h=false}};b.fancybox.close=function(){function a(){u.fadeOut("fast");n.empty().hide();f.hide();b.event.trigger("fancybox-cleanup");j.empty();d.onClosed(l,p,d);l=e=[];p=q=0;d=e={};h=false}if(!(h||f.is(":hidden"))){h= +true;if(d&&false===d.onCleanup(l,p,d))h=false;else{N();b(E.add(z).add(A)).hide();b(j.add(u)).unbind();b(window).unbind("resize.fb scroll.fb");b(document).unbind("keydown.fb");j.find("iframe").attr("src",M&&/^https/i.test(window.location.href||"")?"javascript:void(false)":"about:blank");d.titlePosition!=="inside"&&n.empty();f.stop();if(d.transitionOut=="elastic"){r=V();var c=f.position();i={top:c.top,left:c.left,width:f.width(),height:f.height()};if(d.opacity)i.opacity=1;n.empty().hide();B.prop=1; +b(B).animate({prop:0},{duration:d.speedOut,easing:d.easingOut,step:T,complete:a})}else f.fadeOut(d.transitionOut=="none"?0:d.speedOut,a)}}};b.fancybox.resize=function(){u.is(":visible")&&u.css("height",b(document).height());b.fancybox.center(true)};b.fancybox.center=function(a){var c,g;if(!h){g=a===true?1:0;c=U();!g&&(f.width()>c[0]||f.height()>c[1])||f.stop().animate({top:parseInt(Math.max(c[3]-20,c[3]+(c[1]-j.height()-40)*0.5-d.padding)),left:parseInt(Math.max(c[2]-20,c[2]+(c[0]-j.width()-40)*0.5- +d.padding))},typeof a=="number"?a:200)}};b.fancybox.init=function(){if(!b("#fancybox-wrap").length){b("body").append(m=b('
      '),t=b('
      '),u=b('
      '),f=b('
      '));D=b('
      ').append('
      ').appendTo(f); +D.append(j=b('
      '),E=b(''),n=b('
      '),z=b(''),A=b(''));E.click(b.fancybox.close);t.click(b.fancybox.cancel);z.click(function(a){a.preventDefault();b.fancybox.prev()});A.click(function(a){a.preventDefault();b.fancybox.next()}); +b.fn.mousewheel&&f.bind("mousewheel.fb",function(a,c){if(h)a.preventDefault();else if(b(a.target).get(0).clientHeight==0||b(a.target).get(0).scrollHeight===b(a.target).get(0).clientHeight){a.preventDefault();b.fancybox[c>0?"prev":"next"]()}});b.support.opacity||f.addClass("fancybox-ie");if(M){t.addClass("fancybox-ie6");f.addClass("fancybox-ie6");b('').prependTo(D)}}}; +b.fn.fancybox.defaults={padding:10,margin:40,opacity:false,modal:false,cyclic:false,scrolling:"auto",width:560,height:340,autoScale:true,autoDimensions:true,centerOnScroll:false,ajax:{},swf:{wmode:"transparent"},hideOnOverlayClick:true,hideOnContentClick:false,overlayShow:true,overlayOpacity:0.7,overlayColor:"#777",titleShow:true,titlePosition:"float",titleFormat:null,titleFromAlt:false,transitionIn:"fade",transitionOut:"fade",speedIn:300,speedOut:300,changeSpeed:300,changeFade:"fast",easingIn:"swing", +easingOut:"swing",showCloseButton:true,showNavArrows:true,enableEscapeButton:true,enableKeyboardNav:true,onStart:function(){},onCancel:function(){},onComplete:function(){},onCleanup:function(){},onClosed:function(){},onError:function(){}};b(document).ready(function(){b.fancybox.init()})})(jQuery); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.mousewheel-3.0.4.pack.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.mousewheel-3.0.4.pack.js new file mode 100644 index 0000000..cb66588 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.mousewheel-3.0.4.pack.js @@ -0,0 +1,14 @@ +/*! Copyright (c) 2010 Brandon Aaron (http://brandonaaron.net) +* Licensed under the MIT License (LICENSE.txt). +* +* Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers. +* Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix. +* Thanks to: Seamus Leahy for adding deltaX and deltaY +* +* Version: 3.0.4 +* +* Requires: 1.2.2+ +*/ + +(function(d){function g(a){var b=a||window.event,i=[].slice.call(arguments,1),c=0,h=0,e=0;a=d.event.fix(b);a.type="mousewheel";if(a.wheelDelta)c=a.wheelDelta/120;if(a.detail)c=-a.detail/3;e=c;if(b.axis!==undefined&&b.axis===b.HORIZONTAL_AXIS){e=0;h=-1*c}if(b.wheelDeltaY!==undefined)e=b.wheelDeltaY/120;if(b.wheelDeltaX!==undefined)h=-1*b.wheelDeltaX/120;i.unshift(a,c,h,e);return d.event.handle.apply(this,i)}var f=["DOMMouseScroll","mousewheel"];d.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a= +f.length;a;)this.addEventListener(f[--a],g,false);else this.onmousewheel=g},teardown:function(){if(this.removeEventListener)for(var a=f.length;a;)this.removeEventListener(f[--a],g,false);else this.onmousewheel=null}};d.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/nextgen_fancybox_init.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/nextgen_fancybox_init.js new file mode 100644 index 0000000..0b20a12 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/nextgen_fancybox_init.js @@ -0,0 +1,15 @@ +jQuery(function($) { + var nextgen_fancybox_init = function() { + var selector = nextgen_lightbox_filter_selector($, $(".ngg-fancybox")); + + selector.fancybox({ + titlePosition: 'inside', + // Needed for twenty eleven + onComplete: function() { + $('#fancybox-wrap').css('z-index', 10000); + } + }); + }; + $(this).bind('refreshed', nextgen_fancybox_init); + nextgen_fancybox_init(); +}); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/close.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/close.png new file mode 100644 index 0000000000000000000000000000000000000000..4de4396d4a09677774f79289de2a09511baeea22 GIT binary patch literal 1910 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-black-border.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-black-border.gif new file mode 100644 index 0000000000000000000000000000000000000000..e2403fe83a93608b4d944b0d2c92f3b82d27a33d GIT binary patch literal 5109 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-text-buttons.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-text-buttons.png new file mode 100644 index 0000000000000000000000000000000000000000..d2f72e0a817c601e48dfcf27f8e1c5b38ee9c355 GIT binary patch literal 1300 zcmeAS@N?(olHy`uVBq!ia0y~yVAKU-2M%VS$i47e5kTrsfKQ0)|NsC0(j5RT{qf_+ zqeqWs&YXGo?p;$;)AsiEj~_qU+S<;YJJ;CQ*xTFt%$YN}xw)aCp+}D%b#!!Gy?V8U zg+*Uq-{;SttE;QGZ{I$3>eOx9w!M4zZq}?>hYuf~H*em#bLW2l{=IbR(%ZLhpE`AF z)v8qs7A&}W_3FQW|7OpgeeBq=pFe-@-Mjb0hYwGlJOO%I?tI^AU^u9k1o;IsFnqYg z^I1-!Xyci;Cxt3Zt8c_O`@6Jl6Wb9jJvd$=lt<@aApV zA_fNL$(}BbAr*0NZn*O`JMgq7+9$9XeVMgN#cQ{~_x;{WJR=niet%#4e=6%V8zz1G z+!$lO1;)f}1XHo8rV&>XW_9Rr{ZdS9nh4F6Vi-rU`jSzX&qg`0vxg_Wi5w zt~j<@>Tj;)(pNkV3^#JFJjzxuh-un6$>(o%=C@CqZu_@?NjuNS$-v;C(9yW~P`CIO z{Z8lPg6&el)5{It3B)&K-nT2e-H~L_^DH;Xc z!>(TzTVtZsiO5tETQEYu8yW$|(IBShRDS&GtRQZ=*Mzz6^4NF4!r$QKt6xXP&!l zY12Hs$TUDwZ0$p@jTy2(b6?#0bmx=bmV7j$b&FLlMrHLWM0sD8k-jLkW>&ItRCB1e z?DA>Zr;ATpU)-m<+Xgv+zP>88b69j|HQ$%g?y3 z-fcavP<>g%mTPirAEYhW`pqt8%b`1+^FEnz++LY)x1|pl4RGgOO>b4+^30-OOUBoI z|4)G8WKpX1Ql!w{9c$y19WGjYan-7>^gErJVryf2!wQTq-MWg;*ig8!S3};pg6!Kg f_Yx!tUW&igpc*XL{1$dLm#0`~?1qNF>_X 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 MWY<(b2m;&x537qxG5`Po literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar2.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar2.gif new file mode 100644 index 0000000000000000000000000000000000000000..39ad65218c2cdb03f4680c90e78780007b8c6919 GIT binary patch literal 884 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 LNCjgDQvd)v!q;7m literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/geckodimmer.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/geckodimmer.png new file mode 100644 index 0000000000000000000000000000000000000000..309bb27838e57efe124ed123a1892dfc56992957 GIT binary patch literal 2817 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 T92B{V00000NkvXXu0mjfnn+X< literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/icon.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/icon.gif new file mode 100644 index 0000000000000000000000000000000000000000..b74a073c13b0ffe7e970c3402396e89be9ee9113 GIT binary patch literal 867 zcmV-p1DyOvNk%w1VGsZi0QUd@000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~EC2ui01yBW000O`0RIUbNU)&6g9sBEOvA9D!-fOXDE!AzjhZx{Kz%~U tP@u$rpg4Y1BXHxvjuZukJZX{Pr;HpUPW+fsA>bC%qss-h(X zHHZn>ATy3#M#|c!98XL*GbK!)tuvyx8i>o zn-B9FtxS=czn=wa6f?3>K))raYM(M{oA_ow&Ao1C!kw>lUa6(K{$duNWopKqG zPMYUWIS4Szy|j@(tOhnGXcEjAR%By<&QUlt!BYHj$@4w8<{3yHmwBM5=d^9^sqi(6 z40+hNMT!%5Z!rBnm9f!a183*%`MH{2Fmu?D%>g>+&c6?wf;Z=c#?E4VcdM{qYC^}| z#5s3OrnNe{9W@Y{kT822BQMJ#2Z7m!4Tr9sn+P+89m5!4%&$&$x-v)ex*P|`VTHcq og?ucA1}jf(SQj912pC;qx0W&~lqN|u&5IVCz`$S)N;qHu07z5Pa{vGU literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/loader.white.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/loader.white.gif new file mode 100644 index 0000000000000000000000000000000000000000..f2a1bc0c6f545e20e631a96e8e92f9822e75d046 GIT binary patch literal 673 zcmZ?wbhEHb6krfw_{6~Q|Nnmm28Kh24mmkF0U1e2Nli^nlO|14{3qpHl$uzQnxasi zS(2fUn3Y(Olb@KPmzkHA&!G5|g@FsGT=74*pKD04vtxj(k)8oFBTz^Oh=E26FfcG1 zbL_hF&)}42ws10s6^G;;cE1^EoUR)U5A70}d2pLv!jVIT7j&Z~EblI3x0K*v_sV|m z0W=b9G$XP(CLnYCdK49;TX=SFc-G}o=oA=|U?{1O;Nu!CwW3C5Yw7*Bi4yD$3fCnb zwK+>}QdQ9sf*QnxY>*kpE+b{_Q;sJloS71)&(@kO!}mqf@1v(v;*8Y=G9S3kY~Cw# zY=t&c z;3~JK4HxB^lY(MD+sYeQ=t%XSSW;x^1M?dTvN=W^yNcAcy`HCte31C;)5xP%b~qs> zDP&4(%TBqBNGHwnryK;BdMI$fEg xd0mc!C@j^ZpLxYv4HmnPfI0THYuv<%+6iSmMn&w3dPGDfL1|=LY008wP(boU~ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/Outlines.psd b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/Outlines.psd new file mode 100644 index 0000000000000000000000000000000000000000..540565151015ca3714d732147896bc2250404e60 GIT binary patch literal 171802 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/beveled.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/beveled.png new file mode 100644 index 0000000000000000000000000000000000000000..fc428f415ca5017a82c42e568e6d75f17789bd9d GIT binary patch literal 1848 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 Hr-UW|RX8B) literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/outer-glow.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/outer-glow.png new file mode 100644 index 0000000000000000000000000000000000000000..288d43feffd656511f5b1f5189b5b0047dc146ae GIT binary patch literal 3423 zcmeH~Sy+=-8plrp0ZiChCCm_p(0o;@B4JdJ%}|uZ1p=)EWP${TC29y{pb{VneCc9c zNh4MS1Z?{tt$?6Nqd?5Z<5J32P=kc^t3^_gNDL(;EMb^-`gAUOKR5hu&UyaNd-XdP z@9&(7qKDbwo$vqvo4tF2-(NZ30f2DZ%3|eKR5|}-rQfhOI4C-2P&3q-5gkUfOpMHl zuur};0KFAu|LjHD!3NjT`)`}a?SW$Ud}MBM)}|#+s&xOdP5g1JJ?CPY{q&r`YuPEw zoxYz>xx?l2y_DTDL*37QYR>H^a)vB#d}(10@?x7e$dG04nd&ZfiG%d>5=Mz~fB4Ip zy4RbXjx$A0@*y*(**~rrEjSbo^pf%tDmayPa?xw%Iriw1@q}|DjZ@oQT0=rDKKK`U zdhuaF&xbQM4=E(53}RB4&=6$^@+Y?I7rXkM8+|!vQ@W3{&E$*kN{zX5*+0-ADWNVF>qnjVNFqV0@H<0pJnkBu{ey+W{y{=u; zUXIK356s&3U02Gv7q!L+{lJBtPu(rzrOWpo>ikq?W7&C`nK}`*sC~C8iK&lYXlwA~ zrI;8QU1xGB%X@nqKt<=^S`{ZrpK#|dJQ3Yep!>2ykv@S3>YMsx{orN!5H|Mt$Ia`P zC+*Y^L|*}IXg}?;{M+Pd#u?0x@%zox>Q9Z!;vEE#k*a}I9F9Jn5MM64%Jpq?=|1`_ z27}hsina^5ouf6y*x?GkILWto!~?XJH%U_JHT!Y-C3Ah#x^&OLA4fNW)}kf}yZ&z~ zlD&NcGjaBDxN`0BSy}TWnRu;W_?k)FG#_S~bc|3^{cBjaV->USwN3Ob49do?jUcze zY^;24A?qU@$m=2Q2Gypmk0!hsA)$lAKi9PHDGRImPjR^M^x0dv@%0o)o?t!e2mg_K zHnsVE+pRi#CLLcXGepsf+~_4eQ$xC>|2nXaO!9HUS^ZgV2cyyB!trzrI#Rn+xrWC! z<#9F@5cmq9&F`=1NboNv43mA|Fs|2K0otH`npA$#+L;R?Lp?%W9009j(2a!jJ;z3- zNWa6ul1BYEbhw2wrbby%Bpy^IYYwP5v2KWwe9A=3jR6LCP9z_{_*SN0=0;sB(B}5j z%H@6*2_9Ch!y9>g+tTkTR6JlMYf7e?1a}ZKU&Frf6b#x~yR%4s(LBCL5zoc2p;)MX zWhh0Xvfxd9bl8YI#liIgTx*PdP8|uANVmm}M_|yhTG0l<7J|I~rqMB9GLTZYN&B zNi!#p97SJ$Vd;mn{{#R*8mK-&^yv#j zgJp;S2hTNQUZnvw9;SOXVV);OUi-S!~X?c1Yt0w%*Y^fqV>Yqhal^SX)Z(_Q#tO zmHhLQ(+^x^d6-(AR52fNAnTB@4sA9J_D;M1BA7Yy9{MgYtjY6#T>*0DdAc};RNQ)d_v|`lcS*Jf z+jH8D7pt&rR1iANvF&D&;+kUan;TBdlRm+!a4=M1V(gUC9StgL9CVnN&bmxanPgeE z(c-F)|7|-<;r}JF=YxZ?b>#d1{P?|USKY2#dRwo3i4l9bXNvWo+>3J4g=-f0PP*0S zTfOd|KtWHWTIAN`oAaXYJUo0i>=nm$&rNx!7J?0bA!WxwaA*Wd1~H}{V8i~6E<^03N#^~(1>yT&6$uR9j$ zPqy*+bXjG-dgbFY=~MD2|1mphAHDUL*2&99`$X(B6z$3@XFN%NyH}n^GtMVyPtMxy zXG-Gg7CXjE`(v#kXmRG-{H>Y~cAhTxoVRW1 zgmmT-L(caMe-85;*soG~X##VBaqolD>Vxu=|9tJ)v0wFP@g#TUC#92i-7#D&9k$*s z@BIH&zO1J?qu!W%+If9iuJS)io2!3P&E257*s?R->uwEebxdzjUh zHI}EQE&OsX>x?G@BO3TVZPJtSw;vDR(K%jwzt75f!@60CJ7lJX=9z6%JHMTcfAza! zhW67khqvxpGwILXy$SDF&ph-BKl%Bzpl0R1LsmNb^Nj8W=w$M9M+Y!C@S8X0t>k3cqWEB2g9QCI+_%f~pDSA5 z<@>q+^vcA-C*~H%I)1e>=$8E{d}n5OPdcos`@ywiTkl1E3=^yFPRLu`yw@ebpNXSF zqu|`p#cOvPR&^)r<=0$i%beev@OA^=wd%^tQ^RW5AN6Hy;?Ullm+6juSbJ; zI5;?NocG){XOsHM=PzFMeR`?Cm2cX-#<1-SjAuPv1Ox;=96Hu~w|~XegWk+ify`Ec z@ikr5Q5ITKoDY`zS@UjZh+igt=_(@=49FSX5IqH#bB_IIy^p;-lzVL;@8g*VKZVOB%vACJ4Iwr*yq{^^#l$p$Ib@R5527TnDT zIv54WGFSgvyGse=k--k8bF7h_@#;rBF@Ck-D>(NyurzBz5+Vd~u@1=Vz|s{`w7)mq z(1jW^Sa}ap8SnmJM~xSb8=3{Lw?9hLD$SXQVLvb)D_PLgW8qdb9{6Zmib!lwB{vi| zls#AlPW&jEeq1^rw=eHc>v2pe6m?)ug`~rMDOPmx9h*Z0@g*OqoDJ^<{#PrT(GyE7 zQ+AD}FxDU%oz#@}d}(mh)xRjSSEbzYY{~tu>X)8fBGQ4(@AST!CA{Sb|L(fs9M78M r!;7AOxwo6+8sDo2RwvWm{FHx}nO%AyT>2WY!Or06>gTe~DWM4fj=Ds| literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/rounded-white.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/rounded-white.png new file mode 100644 index 0000000000000000000000000000000000000000..0d4b8176f57c44f41071c8cff7b86ece9c8c1f9a GIT binary patch literal 2050 zcmeAS@N?(olHy`uVBq!ia0vp^8Vn5FJ2+T?EX!#|@eB;?Cp}#pLn>~)y?Z)8=Bgya zhso?cOF0x>AADRgyU9gt!kNR2uBq- zl8Fu4x#36VZ85i7nYTXRJW$Kp~UfJg@(-p_QxLn)qZTH2~DXeuAO|75&_VW76=N~n1ce=Tm=Us2|*Be`xo^6W% zdRhN+|E1)GZ(`Zxd(PV4IG^#-{N?e&Bj4LY8hgKFRB3Vl$^Df%$EClmgn5on`=$fo zmp)qPtLL-cj(o85OO4F5=mTkL75kWGJ17WLh;R7uCA6lgSL8#k-z2Fe4a>uV9i}e% z_wQ=j!T$Y{enFv9wXgMOdw;q9TYs;3=9in%mouim2>#vNZ^pduYh=#-fJN)QCTghl z?fdpl{r}(dZQq~TPq+JXfBiqHJ7)?sixx+8O?sZO=5@}m(kjco+dD0GU+XWv`1t9I zN;9`Ln$yBg?TqlZ?&^Ae$^X(ui_NbdM|`Q$tGd5%j&@u@-vSlA=q>%4CquRB!PXP6ogb8_Rj3seJAN?wu#cg8e*4aFufh!< zmYSDa-_S6)eI{hH@5Y}Wl32}7pS{t{xh+^|k2BW^=JV@Wy=ww*$RtY1Hf(kNb^W!{ zfyaj*Jp5O_wQ#N8s`W)7Y9^hsNAgA&Qb z2JyxNOb!8exbn+f^pjj%9|WaH^6G-3&rBkRGlu&mf z7s$J_q8io5d*d_{`+tTT%&6i_`^|SSK&{=g{6Qwf-Ei9rWDZn9z4DgZENSCx&Us#U z1EgRc-TFWV5*~1E7IF`knlM8Q+%fl{pV5Y*#4yMc55IaItx=&WEH1S-8(p zBhMnJU=@c2D-O3Fm)OICL+U+q0UN4Oa9*FK1v?I1SRJ`tWKKMHneoBkmC-^m5^T{k zA3QCwI&f`mf%q+jF0ns#Q2UX_ w+V^>CQK@c3$u>!!4V4cPj@cQ_Nchjsn7O%dD#tS(VBOB(>FVdQ&MBb@09h6A#{d8T literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/resize.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/resize.gif new file mode 100644 index 0000000000000000000000000000000000000000..9100de776d506f8b9f061d475beed274b550aa29 GIT binary patch literal 70 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 QFx&t C*K;KR literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/zoomout.cur b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/zoomout.cur new file mode 100644 index 0000000000000000000000000000000000000000..acf61999635514eac804c124d24b447a33bbfae9 GIT binary patch literal 326 zcmbV`F%E)25JlfE1~f5BWhhMC!ot$dQjX*eprrFmR9=H4P?|{m&VmWG&g9Mhnf%Et zcpM>kGRw1r9dI&&Q5w#2jPElwbConVKdGC!8#}NBpTjzk^d*~pO_A2*9xg99t|p?6 zvm(Vjn0G#AfA}Nrwv$P3W7ulopq{HbDz#mu$5X0JH;aj=Highslide JS
      ', + creditsTitle : 'Go to the Highslide JS homepage', + previousText : 'Previous', + nextText : 'Next', + moveText : 'Move', + closeText : 'Close', + closeTitle : 'Close (esc)', + resizeTitle : 'Resize', + playText : 'Play', + playTitle : 'Play slideshow (spacebar)', + pauseText : 'Pause', + pauseTitle : 'Pause slideshow (spacebar)', + previousTitle : 'Previous (arrow left)', + nextTitle : 'Next (arrow right)', + moveTitle : 'Move', + fullExpandText : '1:1', + number: 'Image %1 of %2', + restoreTitle : 'Click to close image, click and drag to move. Use arrow keys for next and previous.' +}, +// See http://highslide.com/ref for examples of settings +graphicsDir : 'highslide/graphics/', +expandCursor : 'zoomin.cur', // null disables +restoreCursor : 'zoomout.cur', // null disables +expandDuration : 250, // milliseconds +restoreDuration : 250, +marginLeft : 15, +marginRight : 15, +marginTop : 15, +marginBottom : 15, +zIndexCounter : 10001, // adjust to other absolutely positioned elements +loadingOpacity : 0.75, +allowMultipleInstances: true, +numberOfImagesToPreload : 5, +outlineWhileAnimating : 2, // 0 = never, 1 = always, 2 = HTML only +outlineStartOffset : 3, // ends at 10 +padToMinWidth : false, // pad the popup width to make room for wide caption +fullExpandPosition : 'bottom right', +fullExpandOpacity : 1, +showCredits : true, // you can set this to false if you want +creditsHref : 'http://highslide.com/', +creditsTarget : '_self', +enableKeyListener : true, +openerTagNames : ['a', 'area'], // Add more to allow slideshow indexing +transitions : [], +transitionDuration: 250, +dimmingOpacity: 0, // Lightbox style dimming background +dimmingDuration: 50, // 0 for instant dimming + +allowWidthReduction : false, +allowHeightReduction : true, +preserveContent : true, // Preserve changes made to the content and position of HTML popups. +objectLoadTime : 'before', // Load iframes 'before' or 'after' expansion. +cacheAjax : true, // Cache ajax popups for instant display. Can be overridden for each popup. +anchor : 'auto', // where the image expands from +align : 'auto', // position in the client (overrides anchor) +targetX: null, // the id of a target element +targetY: null, +dragByHeading: true, +minWidth: 200, +minHeight: 200, +allowSizeReduction: true, // allow the image to reduce to fit client size. If false, this overrides minWidth and minHeight +outlineType : 'drop-shadow', // set null to disable outlines +skin : { + controls: + '
      ' + , + contentWrapper: + '
      '+ + '
      '+ + '' +}, +// END OF YOUR SETTINGS + + +// declare internal properties +preloadTheseImages : [], +continuePreloading: true, +expanders : [], +overrides : [ + 'allowSizeReduction', + 'useBox', + 'anchor', + 'align', + 'targetX', + 'targetY', + 'outlineType', + 'outlineWhileAnimating', + 'captionId', + 'captionText', + 'captionEval', + 'captionOverlay', + 'headingId', + 'headingText', + 'headingEval', + 'headingOverlay', + 'creditsPosition', + 'dragByHeading', + 'autoplay', + 'numberPosition', + 'transitions', + 'dimmingOpacity', + + 'width', + 'height', + + 'contentId', + 'allowWidthReduction', + 'allowHeightReduction', + 'preserveContent', + 'maincontentId', + 'maincontentText', + 'maincontentEval', + 'objectType', + 'cacheAjax', + 'objectWidth', + 'objectHeight', + 'objectLoadTime', + 'swfOptions', + 'wrapperClassName', + 'minWidth', + 'minHeight', + 'maxWidth', + 'maxHeight', + 'pageOrigin', + 'slideshowGroup', + 'easing', + 'easingClose', + 'fadeInOut', + 'src' +], +overlays : [], +idCounter : 0, +oPos : { + x: ['leftpanel', 'left', 'center', 'right', 'rightpanel'], + y: ['above', 'top', 'middle', 'bottom', 'below'] +}, +mouse: {}, +headingOverlay: {}, +captionOverlay: {}, +swfOptions: { flashvars: {}, params: {}, attributes: {} }, +timers : [], + +slideshows : [], + +pendingOutlines : {}, +sleeping : [], +preloadTheseAjax : [], +cacheBindings : [], +cachedGets : {}, +clones : {}, +onReady: [], +uaVersion: /Trident\/4\.0/.test(navigator.userAgent) ? 8 : + parseFloat((navigator.userAgent.toLowerCase().match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1]), +ie : (document.all && !window.opera), +//ie : navigator && /MSIE [678]/.test(navigator.userAgent), // ie9 compliant? +safari : /Safari/.test(navigator.userAgent), +geckoMac : /Macintosh.+rv:1\.[0-8].+Gecko/.test(navigator.userAgent), + +$ : function (id) { + if (id) return document.getElementById(id); +}, + +push : function (arr, val) { + arr[arr.length] = val; +}, + +createElement : function (tag, attribs, styles, parent, nopad) { + var el = document.createElement(tag); + if (attribs) hs.extend(el, attribs); + if (nopad) hs.setStyles(el, {padding: 0, border: 'none', margin: 0}); + if (styles) hs.setStyles(el, styles); + if (parent) parent.appendChild(el); + return el; +}, + +extend : function (el, attribs) { + for (var x in attribs) el[x] = attribs[x]; + return el; +}, + +setStyles : function (el, styles) { + for (var x in styles) { + if (hs.ieLt9 && x == 'opacity') { + if (styles[x] > 0.99) el.style.removeAttribute('filter'); + else el.style.filter = 'alpha(opacity='+ (styles[x] * 100) +')'; + } + else el.style[x] = styles[x]; + } +}, +animate: function(el, prop, opt) { + var start, + end, + unit; + if (typeof opt != 'object' || opt === null) { + var args = arguments; + opt = { + duration: args[2], + easing: args[3], + complete: args[4] + }; + } + if (typeof opt.duration != 'number') opt.duration = 250; + opt.easing = Math[opt.easing] || Math.easeInQuad; + opt.curAnim = hs.extend({}, prop); + for (var name in prop) { + var e = new hs.fx(el, opt , name ); + + start = parseFloat(hs.css(el, name)) || 0; + end = parseFloat(prop[name]); + unit = name != 'opacity' ? 'px' : ''; + + e.custom( start, end, unit ); + } +}, +css: function(el, prop) { + if (el.style[prop]) { + return el.style[prop]; + } else if (document.defaultView) { + return document.defaultView.getComputedStyle(el, null).getPropertyValue(prop); + + } else { + if (prop == 'opacity') prop = 'filter'; + var val = el.currentStyle[prop.replace(/\-(\w)/g, function (a, b){ return b.toUpperCase(); })]; + if (prop == 'filter') + val = val.replace(/alpha\(opacity=([0-9]+)\)/, + function (a, b) { return b / 100 }); + return val === '' ? 1 : val; + } +}, + +getPageSize : function () { + var d = document, w = window, iebody = d.compatMode && d.compatMode != 'BackCompat' + ? d.documentElement : d.body, + ieLt9 = hs.ie && (hs.uaVersion < 9 || typeof pageXOffset == 'undefined'); + + var width = ieLt9 ? iebody.clientWidth : + (d.documentElement.clientWidth || self.innerWidth), + height = ieLt9 ? iebody.clientHeight : self.innerHeight; + hs.page = { + width: width, + height: height, + scrollLeft: ieLt9 ? iebody.scrollLeft : pageXOffset, + scrollTop: ieLt9 ? iebody.scrollTop : pageYOffset + }; + return hs.page; +}, + +getPosition : function(el) { + if (/area/i.test(el.tagName)) { + var imgs = document.getElementsByTagName('img'); + for (var i = 0; i < imgs.length; i++) { + var u = imgs[i].useMap; + if (u && u.replace(/^.*?#/, '') == el.parentNode.name) { + el = imgs[i]; + break; + } + } + } + var p = { x: el.offsetLeft, y: el.offsetTop }; + while (el.offsetParent) { + el = el.offsetParent; + p.x += el.offsetLeft; + p.y += el.offsetTop; + if (el != document.body && el != document.documentElement) { + p.x -= el.scrollLeft; + p.y -= el.scrollTop; + } + } + return p; +}, + +expand : function(a, params, custom, type) { + if (!a) a = hs.createElement('a', null, { display: 'none' }, hs.container); + if (typeof a.getParams == 'function') return params; + if (type == 'html') { + for (var i = 0; i < hs.sleeping.length; i++) { + if (hs.sleeping[i] && hs.sleeping[i].a == a) { + hs.sleeping[i].awake(); + hs.sleeping[i] = null; + return false; + } + } + hs.hasHtmlExpanders = true; + } + try { + new hs.Expander(a, params, custom, type); + return false; + } catch (e) { return true; } +}, + +htmlExpand : function(a, params, custom) { + return hs.expand(a, params, custom, 'html'); +}, + +getSelfRendered : function() { + return hs.createElement('div', { + className: 'highslide-html-content', + innerHTML: hs.replaceLang(hs.skin.contentWrapper) + }); +}, +getElementByClass : function (el, tagName, className) { + var els = el.getElementsByTagName(tagName); + for (var i = 0; i < els.length; i++) { + if ((new RegExp(className)).test(els[i].className)) { + return els[i]; + } + } + return null; +}, +replaceLang : function(s) { + s = s.replace(/\s/g, ' '); + var re = /{hs\.lang\.([^}]+)\}/g, + matches = s.match(re), + lang; + if (matches) for (var i = 0; i < matches.length; i++) { + lang = matches[i].replace(re, "$1"); + if (typeof hs.lang[lang] != 'undefined') s = s.replace(matches[i], hs.lang[lang]); + } + return s; +}, + + +setClickEvents : function () { + var els = document.getElementsByTagName('a'); + for (var i = 0; i < els.length; i++) { + var type = hs.isUnobtrusiveAnchor(els[i]); + if (type && !els[i].hsHasSetClick) { + (function(){ + var t = type; + if (hs.fireEvent(hs, 'onSetClickEvent', { element: els[i], type: t })) { + els[i].onclick =(type == 'image') ?function() { return hs.expand(this) }: + function() { return hs.htmlExpand(this, { objectType: t } );}; + } + })(); + els[i].hsHasSetClick = true; + } + } + hs.getAnchors(); +}, +isUnobtrusiveAnchor: function(el) { + if (el.rel == 'highslide') return 'image'; + else if (el.rel == 'highslide-ajax') return 'ajax'; + else if (el.rel == 'highslide-iframe') return 'iframe'; + else if (el.rel == 'highslide-swf') return 'swf'; +}, + +getCacheBinding : function (a) { + for (var i = 0; i < hs.cacheBindings.length; i++) { + if (hs.cacheBindings[i][0] == a) { + var c = hs.cacheBindings[i][1]; + hs.cacheBindings[i][1] = c.cloneNode(1); + return c; + } + } + return null; +}, + +preloadAjax : function (e) { + var arr = hs.getAnchors(); + for (var i = 0; i < arr.htmls.length; i++) { + var a = arr.htmls[i]; + if (hs.getParam(a, 'objectType') == 'ajax' && hs.getParam(a, 'cacheAjax')) + hs.push(hs.preloadTheseAjax, a); + } + + hs.preloadAjaxElement(0); +}, + +preloadAjaxElement : function (i) { + if (!hs.preloadTheseAjax[i]) return; + var a = hs.preloadTheseAjax[i]; + var cache = hs.getNode(hs.getParam(a, 'contentId')); + if (!cache) cache = hs.getSelfRendered(); + var ajax = new hs.Ajax(a, cache, 1); + ajax.onError = function () { }; + ajax.onLoad = function () { + hs.push(hs.cacheBindings, [a, cache]); + hs.preloadAjaxElement(i + 1); + }; + ajax.run(); +}, + +focusTopmost : function() { + var topZ = 0, + topmostKey = -1, + expanders = hs.expanders, + exp, + zIndex; + for (var i = 0; i < expanders.length; i++) { + exp = expanders[i]; + if (exp) { + zIndex = exp.wrapper.style.zIndex; + if (zIndex && zIndex > topZ) { + topZ = zIndex; + topmostKey = i; + } + } + } + if (topmostKey == -1) hs.focusKey = -1; + else expanders[topmostKey].focus(); +}, + +getParam : function (a, param) { + a.getParams = a.onclick; + var p = a.getParams ? a.getParams() : null; + a.getParams = null; + + return (p && typeof p[param] != 'undefined') ? p[param] : + (typeof hs[param] != 'undefined' ? hs[param] : null); +}, + +getSrc : function (a) { + var src = hs.getParam(a, 'src'); + if (src) return src; + return a.href; +}, + +getNode : function (id) { + var node = hs.$(id), clone = hs.clones[id], a = {}; + if (!node && !clone) return null; + if (!clone) { + clone = node.cloneNode(true); + clone.id = ''; + hs.clones[id] = clone; + return node; + } else { + return clone.cloneNode(true); + } +}, + +discardElement : function(d) { + if (d) hs.garbageBin.appendChild(d); + hs.garbageBin.innerHTML = ''; +}, +dim : function(exp) { + if (!hs.dimmer) { + isNew = true; + hs.dimmer = hs.createElement ('div', { + className: 'highslide-dimming highslide-viewport-size', + owner: '', + onclick: function() { + if (hs.fireEvent(hs, 'onDimmerClick')) + + hs.close(); + } + }, { + visibility: 'visible', + opacity: 0 + }, hs.container, true); + + if (/(Android|iPad|iPhone|iPod)/.test(navigator.userAgent)) { + var body = document.body; + function pixDimmerSize() { + hs.setStyles(hs.dimmer, { + width: body.scrollWidth +'px', + height: body.scrollHeight +'px' + }); + } + pixDimmerSize(); + hs.addEventListener(window, 'resize', pixDimmerSize); + } + } + hs.dimmer.style.display = ''; + + var isNew = hs.dimmer.owner == ''; + hs.dimmer.owner += '|'+ exp.key; + + if (isNew) { + if (hs.geckoMac && hs.dimmingGeckoFix) + hs.setStyles(hs.dimmer, { + background: 'url('+ hs.graphicsDir + 'geckodimmer.png)', + opacity: 1 + }); + else + hs.animate(hs.dimmer, { opacity: exp.dimmingOpacity }, hs.dimmingDuration); + } +}, +undim : function(key) { + if (!hs.dimmer) return; + if (typeof key != 'undefined') hs.dimmer.owner = hs.dimmer.owner.replace('|'+ key, ''); + + if ( + (typeof key != 'undefined' && hs.dimmer.owner != '') + || (hs.upcoming && hs.getParam(hs.upcoming, 'dimmingOpacity')) + ) return; + + if (hs.geckoMac && hs.dimmingGeckoFix) hs.dimmer.style.display = 'none'; + else hs.animate(hs.dimmer, { opacity: 0 }, hs.dimmingDuration, null, function() { + hs.dimmer.style.display = 'none'; + }); +}, +transit : function (adj, exp) { + var last = exp || hs.getExpander(); + exp = last; + if (hs.upcoming) return false; + else hs.last = last; + hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); + try { + hs.upcoming = adj; + adj.onclick(); + } catch (e){ + hs.last = hs.upcoming = null; + } + try { + if (!adj || exp.transitions[1] != 'crossfade') + exp.close(); + } catch (e) {} + return false; +}, + +previousOrNext : function (el, op) { + var exp = hs.getExpander(el); + if (exp) return hs.transit(exp.getAdjacentAnchor(op), exp); + else return false; +}, + +previous : function (el) { + return hs.previousOrNext(el, -1); +}, + +next : function (el) { + return hs.previousOrNext(el, 1); +}, + +keyHandler : function(e) { + if (!e) e = window.event; + if (!e.target) e.target = e.srcElement; // ie + if (typeof e.target.form != 'undefined') return true; // form element has focus + if (!hs.fireEvent(hs, 'onKeyDown', e)) return true; + var exp = hs.getExpander(); + + var op = null; + switch (e.keyCode) { + case 70: // f + if (exp) exp.doFullExpand(); + return true; + case 32: // Space + op = 2; + break; + case 34: // Page Down + case 39: // Arrow right + case 40: // Arrow down + op = 1; + break; + case 8: // Backspace + case 33: // Page Up + case 37: // Arrow left + case 38: // Arrow up + op = -1; + break; + case 27: // Escape + case 13: // Enter + op = 0; + } + if (op !== null) {if (op != 2)hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); + if (!hs.enableKeyListener) return true; + + if (e.preventDefault) e.preventDefault(); + else e.returnValue = false; + if (exp) { + if (op == 0) { + exp.close(); + } else if (op == 2) { + if (exp.slideshow) exp.slideshow.hitSpace(); + } else { + if (exp.slideshow) exp.slideshow.pause(); + hs.previousOrNext(exp.key, op); + } + return false; + } + } + return true; +}, + + +registerOverlay : function (overlay) { + hs.push(hs.overlays, hs.extend(overlay, { hsId: 'hsId'+ hs.idCounter++ } )); +}, + + +addSlideshow : function (options) { + var sg = options.slideshowGroup; + if (typeof sg == 'object') { + for (var i = 0; i < sg.length; i++) { + var o = {}; + for (var x in options) o[x] = options[x]; + o.slideshowGroup = sg[i]; + hs.push(hs.slideshows, o); + } + } else { + hs.push(hs.slideshows, options); + } +}, + +getWrapperKey : function (element, expOnly) { + var el, re = /^highslide-wrapper-([0-9]+)$/; + // 1. look in open expanders + el = element; + while (el.parentNode) { + if (el.hsKey !== undefined) return el.hsKey; + if (el.id && re.test(el.id)) return el.id.replace(re, "$1"); + el = el.parentNode; + } + // 2. look in thumbnail + if (!expOnly) { + el = element; + while (el.parentNode) { + if (el.tagName && hs.isHsAnchor(el)) { + for (var key = 0; key < hs.expanders.length; key++) { + var exp = hs.expanders[key]; + if (exp && exp.a == el) return key; + } + } + el = el.parentNode; + } + } + return null; +}, + +getExpander : function (el, expOnly) { + if (typeof el == 'undefined') return hs.expanders[hs.focusKey] || null; + if (typeof el == 'number') return hs.expanders[el] || null; + if (typeof el == 'string') el = hs.$(el); + return hs.expanders[hs.getWrapperKey(el, expOnly)] || null; +}, + +isHsAnchor : function (a) { + return (a.onclick && a.onclick.toString().replace(/\s/g, ' ').match(/hs.(htmlE|e)xpand/)); +}, + +reOrder : function () { + for (var i = 0; i < hs.expanders.length; i++) + if (hs.expanders[i] && hs.expanders[i].isExpanded) hs.focusTopmost(); +}, +fireEvent : function (obj, evt, args) { + return obj && obj[evt] ? (obj[evt](obj, args) !== false) : true; +}, + +mouseClickHandler : function(e) +{ + if (!e) e = window.event; + if (e.button > 1) return true; + if (!e.target) e.target = e.srcElement; + + var el = e.target; + while (el.parentNode + && !(/highslide-(image|move|html|resize)/.test(el.className))) + { + el = el.parentNode; + } + var exp = hs.getExpander(el); + if (exp && (exp.isClosing || !exp.isExpanded)) return true; + + if (exp && e.type == 'mousedown') { + if (e.target.form) return true; + var match = el.className.match(/highslide-(image|move|resize)/); + if (match) { + hs.dragArgs = { + exp: exp , + type: match[1], + left: exp.x.pos, + width: exp.x.size, + top: exp.y.pos, + height: exp.y.size, + clickX: e.clientX, + clickY: e.clientY + }; + + + hs.addEventListener(document, 'mousemove', hs.dragHandler); + if (e.preventDefault) e.preventDefault(); // FF + + if (/highslide-(image|html)-blur/.test(exp.content.className)) { + exp.focus(); + hs.hasFocused = true; + } + return false; + } + else if (/highslide-html/.test(el.className) && hs.focusKey != exp.key) { + exp.focus(); + exp.doShowHide('hidden'); + } + } else if (e.type == 'mouseup') { + + hs.removeEventListener(document, 'mousemove', hs.dragHandler); + + if (hs.dragArgs) { + if (hs.styleRestoreCursor && hs.dragArgs.type == 'image') + hs.dragArgs.exp.content.style.cursor = hs.styleRestoreCursor; + var hasDragged = hs.dragArgs.hasDragged; + + if (!hasDragged &&!hs.hasFocused && !/(move|resize)/.test(hs.dragArgs.type)) { + if (hs.fireEvent(exp, 'onImageClick')) + exp.close(); + } + else if (hasDragged || (!hasDragged && hs.hasHtmlExpanders)) { + hs.dragArgs.exp.doShowHide('hidden'); + } + + if (hs.dragArgs.exp.releaseMask) + hs.dragArgs.exp.releaseMask.style.display = 'none'; + + if (hasDragged) hs.fireEvent(hs.dragArgs.exp, 'onDrop', hs.dragArgs); + hs.hasFocused = false; + hs.dragArgs = null; + + } else if (/highslide-image-blur/.test(el.className)) { + el.style.cursor = hs.styleRestoreCursor; + } + } + return false; +}, + +dragHandler : function(e) +{ + if (!hs.dragArgs) return true; + if (!e) e = window.event; + var a = hs.dragArgs, exp = a.exp; + if (exp.iframe) { + if (!exp.releaseMask) exp.releaseMask = hs.createElement('div', null, + { position: 'absolute', width: exp.x.size+'px', height: exp.y.size+'px', + left: exp.x.cb+'px', top: exp.y.cb+'px', zIndex: 4, background: (hs.ieLt9 ? 'white' : 'none'), + opacity: 0.01 }, + exp.wrapper, true); + if (exp.releaseMask.style.display == 'none') + exp.releaseMask.style.display = ''; + } + + a.dX = e.clientX - a.clickX; + a.dY = e.clientY - a.clickY; + + var distance = Math.sqrt(Math.pow(a.dX, 2) + Math.pow(a.dY, 2)); + if (!a.hasDragged) a.hasDragged = (a.type != 'image' && distance > 0) + || (distance > (hs.dragSensitivity || 5)); + + if (a.hasDragged && e.clientX > 5 && e.clientY > 5) { + if (!hs.fireEvent(exp, 'onDrag', a)) return false; + + if (a.type == 'resize') exp.resize(a); + else { + exp.moveTo(a.left + a.dX, a.top + a.dY); + if (a.type == 'image') exp.content.style.cursor = 'move'; + } + } + return false; +}, + +wrapperMouseHandler : function (e) { + try { + if (!e) e = window.event; + var over = /mouseover/i.test(e.type); + if (!e.target) e.target = e.srcElement; // ie + if (!e.relatedTarget) e.relatedTarget = + over ? e.fromElement : e.toElement; // ie + var exp = hs.getExpander(e.target); + if (!exp.isExpanded) return; + if (!exp || !e.relatedTarget || hs.getExpander(e.relatedTarget, true) == exp + || hs.dragArgs) return; + hs.fireEvent(exp, over ? 'onMouseOver' : 'onMouseOut', e); + for (var i = 0; i < exp.overlays.length; i++) (function() { + var o = hs.$('hsId'+ exp.overlays[i]); + if (o && o.hideOnMouseOut) { + if (over) hs.setStyles(o, { visibility: 'visible', display: '' }); + hs.animate(o, { opacity: over ? o.opacity : 0 }, o.dur); + } + })(); + } catch (e) {} +}, +addEventListener : function (el, event, func) { + if (el == document && event == 'ready') { + hs.push(hs.onReady, func); + } + try { + el.addEventListener(event, func, false); + } catch (e) { + try { + el.detachEvent('on'+ event, func); + el.attachEvent('on'+ event, func); + } catch (e) { + el['on'+ event] = func; + } + } +}, + +removeEventListener : function (el, event, func) { + try { + el.removeEventListener(event, func, false); + } catch (e) { + try { + el.detachEvent('on'+ event, func); + } catch (e) { + el['on'+ event] = null; + } + } +}, + +preloadFullImage : function (i) { + if (hs.continuePreloading && hs.preloadTheseImages[i] && hs.preloadTheseImages[i] != 'undefined') { + var img = document.createElement('img'); + img.onload = function() { + img = null; + hs.preloadFullImage(i + 1); + }; + img.src = hs.preloadTheseImages[i]; + } +}, +preloadImages : function (number) { + if (number && typeof number != 'object') hs.numberOfImagesToPreload = number; + + var arr = hs.getAnchors(); + for (var i = 0; i < arr.images.length && i < hs.numberOfImagesToPreload; i++) { + hs.push(hs.preloadTheseImages, hs.getSrc(arr.images[i])); + } + + // preload outlines + if (hs.outlineType) new hs.Outline(hs.outlineType, function () { hs.preloadFullImage(0)} ); + else + + hs.preloadFullImage(0); + + // preload cursor + if (hs.restoreCursor) var cur = hs.createElement('img', { src: hs.graphicsDir + hs.restoreCursor }); +}, + + +init : function () { + if (!hs.container) { + + hs.ieLt7 = hs.ie && hs.uaVersion < 7; + hs.ieLt9 = hs.ie && hs.uaVersion < 9; + + hs.getPageSize(); + hs.ie6SSL = hs.ieLt7 && location.protocol == 'https:'; + for (var x in hs.langDefaults) { + if (typeof hs[x] != 'undefined') hs.lang[x] = hs[x]; + else if (typeof hs.lang[x] == 'undefined' && typeof hs.langDefaults[x] != 'undefined') + hs.lang[x] = hs.langDefaults[x]; + } + + hs.container = hs.createElement('div', { + className: 'highslide-container' + }, { + position: 'absolute', + left: 0, + top: 0, + width: '100%', + zIndex: hs.zIndexCounter, + direction: 'ltr' + }, + document.body, + true + ); + hs.loading = hs.createElement('a', { + className: 'highslide-loading', + title: hs.lang.loadingTitle, + innerHTML: hs.lang.loadingText, + href: 'javascript:;' + }, { + position: 'absolute', + top: '-9999px', + opacity: hs.loadingOpacity, + zIndex: 1 + }, hs.container + ); + hs.garbageBin = hs.createElement('div', null, { display: 'none' }, hs.container); + hs.viewport = hs.createElement('div', { + className: 'highslide-viewport highslide-viewport-size' + }, { + visibility: (hs.safari && hs.uaVersion < 525) ? 'visible' : 'hidden' + }, hs.container, 1 + ); + hs.clearing = hs.createElement('div', null, + { clear: 'both', paddingTop: '1px' }, null, true); + + // http://www.robertpenner.com/easing/ + Math.linearTween = function (t, b, c, d) { + return c*t/d + b; + }; + Math.easeInQuad = function (t, b, c, d) { + return c*(t/=d)*t + b; + }; + Math.easeOutQuad = function (t, b, c, d) { + return -c *(t/=d)*(t-2) + b; + }; + + hs.hideSelects = hs.ieLt7; + hs.hideIframes = ((window.opera && hs.uaVersion < 9) || navigator.vendor == 'KDE' + || (hs.ieLt7 && hs.uaVersion < 5.5)); + hs.fireEvent(this, 'onActivate'); + } +}, +ready : function() { + if (hs.isReady) return; + hs.isReady = true; + for (var i = 0; i < hs.onReady.length; i++) hs.onReady[i](); +}, + +updateAnchors : function() { + var el, els, all = [], images = [], htmls = [],groups = {}, re; + + for (var i = 0; i < hs.openerTagNames.length; i++) { + els = document.getElementsByTagName(hs.openerTagNames[i]); + for (var j = 0; j < els.length; j++) { + el = els[j]; + re = hs.isHsAnchor(el); + if (re) { + hs.push(all, el); + if (re[0] == 'hs.expand') hs.push(images, el); + else if (re[0] == 'hs.htmlExpand') hs.push(htmls, el); + var g = hs.getParam(el, 'slideshowGroup') || 'none'; + if (!groups[g]) groups[g] = []; + hs.push(groups[g], el); + } + } + } + hs.anchors = { all: all, groups: groups, images: images, htmls: htmls }; + return hs.anchors; + +}, + +getAnchors : function() { + return hs.anchors || hs.updateAnchors(); +}, + + +close : function(el) { + var exp = hs.getExpander(el); + if (exp) exp.close(); + return false; +} +}; // end hs object +hs.fx = function( elem, options, prop ){ + this.options = options; + this.elem = elem; + this.prop = prop; + + if (!options.orig) options.orig = {}; +}; +hs.fx.prototype = { + update: function(){ + (hs.fx.step[this.prop] || hs.fx.step._default)(this); + + if (this.options.step) + this.options.step.call(this.elem, this.now, this); + + }, + custom: function(from, to, unit){ + this.startTime = (new Date()).getTime(); + this.start = from; + this.end = to; + this.unit = unit;// || this.unit || "px"; + this.now = this.start; + this.pos = this.state = 0; + + var self = this; + function t(gotoEnd){ + return self.step(gotoEnd); + } + + t.elem = this.elem; + + if ( t() && hs.timers.push(t) == 1 ) { + hs.timerId = setInterval(function(){ + var timers = hs.timers; + + for ( var i = 0; i < timers.length; i++ ) + if ( !timers[i]() ) + timers.splice(i--, 1); + + if ( !timers.length ) { + clearInterval(hs.timerId); + } + }, 13); + } + }, + step: function(gotoEnd){ + var t = (new Date()).getTime(); + if ( gotoEnd || t >= this.options.duration + this.startTime ) { + this.now = this.end; + this.pos = this.state = 1; + this.update(); + + this.options.curAnim[ this.prop ] = true; + + var done = true; + for ( var i in this.options.curAnim ) + if ( this.options.curAnim[i] !== true ) + done = false; + + if ( done ) { + if (this.options.complete) this.options.complete.call(this.elem); + } + return false; + } else { + var n = t - this.startTime; + this.state = n / this.options.duration; + this.pos = this.options.easing(n, 0, 1, this.options.duration); + this.now = this.start + ((this.end - this.start) * this.pos); + this.update(); + } + return true; + } + +}; + +hs.extend( hs.fx, { + step: { + + opacity: function(fx){ + hs.setStyles(fx.elem, { opacity: fx.now }); + }, + + _default: function(fx){ + try { + if ( fx.elem.style && fx.elem.style[ fx.prop ] != null ) + fx.elem.style[ fx.prop ] = fx.now + fx.unit; + else + fx.elem[ fx.prop ] = fx.now; + } catch (e) {} + } + } +}); + +hs.Outline = function (outlineType, onLoad) { + this.onLoad = onLoad; + this.outlineType = outlineType; + var v = hs.uaVersion, tr; + + this.hasAlphaImageLoader = hs.ie && hs.uaVersion < 7; + if (!outlineType) { + if (onLoad) onLoad(); + return; + } + + hs.init(); + this.table = hs.createElement( + 'table', { + cellSpacing: 0 + }, { + visibility: 'hidden', + position: 'absolute', + borderCollapse: 'collapse', + width: 0 + }, + hs.container, + true + ); + var tbody = hs.createElement('tbody', null, null, this.table, 1); + + this.td = []; + for (var i = 0; i <= 8; i++) { + if (i % 3 == 0) tr = hs.createElement('tr', null, { height: 'auto' }, tbody, true); + this.td[i] = hs.createElement('td', null, null, tr, true); + var style = i != 4 ? { lineHeight: 0, fontSize: 0} : { position : 'relative' }; + hs.setStyles(this.td[i], style); + } + this.td[4].className = outlineType +' highslide-outline'; + + this.preloadGraphic(); +}; + +hs.Outline.prototype = { +preloadGraphic : function () { + var src = hs.graphicsDir + (hs.outlinesDir || "outlines/")+ this.outlineType +".png"; + + var appendTo = hs.safari && hs.uaVersion < 525 ? hs.container : null; + this.graphic = hs.createElement('img', null, { position: 'absolute', + top: '-9999px' }, appendTo, true); // for onload trigger + + var pThis = this; + this.graphic.onload = function() { pThis.onGraphicLoad(); }; + + this.graphic.src = src; +}, + +onGraphicLoad : function () { + var o = this.offset = this.graphic.width / 4, + pos = [[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]], + dim = { height: (2*o) +'px', width: (2*o) +'px' }; + for (var i = 0; i <= 8; i++) { + if (pos[i]) { + if (this.hasAlphaImageLoader) { + var w = (i == 1 || i == 7) ? '100%' : this.graphic.width +'px'; + var div = hs.createElement('div', null, { width: '100%', height: '100%', position: 'relative', overflow: 'hidden'}, this.td[i], true); + hs.createElement ('div', null, { + filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale, src='"+ this.graphic.src + "')", + position: 'absolute', + width: w, + height: this.graphic.height +'px', + left: (pos[i][0]*o)+'px', + top: (pos[i][1]*o)+'px' + }, + div, + true); + } else { + hs.setStyles(this.td[i], { background: 'url('+ this.graphic.src +') '+ (pos[i][0]*o)+'px '+(pos[i][1]*o)+'px'}); + } + + if (window.opera && (i == 3 || i ==5)) + hs.createElement('div', null, dim, this.td[i], true); + + hs.setStyles (this.td[i], dim); + } + } + this.graphic = null; + if (hs.pendingOutlines[this.outlineType]) hs.pendingOutlines[this.outlineType].destroy(); + hs.pendingOutlines[this.outlineType] = this; + if (this.onLoad) this.onLoad(); +}, + +setPosition : function (pos, offset, vis, dur, easing) { + var exp = this.exp, + stl = exp.wrapper.style, + offset = offset || 0, + pos = pos || { + x: exp.x.pos + offset, + y: exp.y.pos + offset, + w: exp.x.get('wsize') - 2 * offset, + h: exp.y.get('wsize') - 2 * offset + }; + if (vis) this.table.style.visibility = (pos.h >= 4 * this.offset) + ? 'visible' : 'hidden'; + hs.setStyles(this.table, { + left: (pos.x - this.offset) +'px', + top: (pos.y - this.offset) +'px', + width: (pos.w + 2 * this.offset) +'px' + }); + + pos.w -= 2 * this.offset; + pos.h -= 2 * this.offset; + hs.setStyles (this.td[4], { + width: pos.w >= 0 ? pos.w +'px' : 0, + height: pos.h >= 0 ? pos.h +'px' : 0 + }); + if (this.hasAlphaImageLoader) this.td[3].style.height + = this.td[5].style.height = this.td[4].style.height; + +}, + +destroy : function(hide) { + if (hide) this.table.style.visibility = 'hidden'; + else hs.discardElement(this.table); +} +}; + +hs.Dimension = function(exp, dim) { + this.exp = exp; + this.dim = dim; + this.ucwh = dim == 'x' ? 'Width' : 'Height'; + this.wh = this.ucwh.toLowerCase(); + this.uclt = dim == 'x' ? 'Left' : 'Top'; + this.lt = this.uclt.toLowerCase(); + this.ucrb = dim == 'x' ? 'Right' : 'Bottom'; + this.rb = this.ucrb.toLowerCase(); + this.p1 = this.p2 = 0; +}; +hs.Dimension.prototype = { +get : function(key) { + switch (key) { + case 'loadingPos': + return this.tpos + this.tb + (this.t - hs.loading['offset'+ this.ucwh]) / 2; + case 'loadingPosXfade': + return this.pos + this.cb+ this.p1 + (this.size - hs.loading['offset'+ this.ucwh]) / 2; + case 'wsize': + return this.size + 2 * this.cb + this.p1 + this.p2; + case 'fitsize': + return this.clientSize - this.marginMin - this.marginMax; + case 'maxsize': + return this.get('fitsize') - 2 * this.cb - this.p1 - this.p2 ; + case 'opos': + return this.pos - (this.exp.outline ? this.exp.outline.offset : 0); + case 'osize': + return this.get('wsize') + (this.exp.outline ? 2*this.exp.outline.offset : 0); + case 'imgPad': + return this.imgSize ? Math.round((this.size - this.imgSize) / 2) : 0; + + } +}, +calcBorders: function() { + // correct for borders + this.cb = (this.exp.content['offset'+ this.ucwh] - this.t) / 2; + + this.marginMax = hs['margin'+ this.ucrb]; +}, +calcThumb: function() { + this.t = this.exp.el[this.wh] ? parseInt(this.exp.el[this.wh]) : + this.exp.el['offset'+ this.ucwh]; + this.tpos = this.exp.tpos[this.dim]; + this.tb = (this.exp.el['offset'+ this.ucwh] - this.t) / 2; + if (this.tpos == 0 || this.tpos == -1) { + this.tpos = (hs.page[this.wh] / 2) + hs.page['scroll'+ this.uclt]; + }; +}, +calcExpanded: function() { + var exp = this.exp; + this.justify = 'auto'; + + // get alignment + if (exp.align == 'center') this.justify = 'center'; + else if (new RegExp(this.lt).test(exp.anchor)) this.justify = null; + else if (new RegExp(this.rb).test(exp.anchor)) this.justify = 'max'; + + + // size and position + this.pos = this.tpos - this.cb + this.tb; + + if (this.maxHeight && this.dim == 'x') + exp.maxWidth = Math.min(exp.maxWidth || this.full, exp.maxHeight * this.full / exp.y.full); + + this.size = Math.min(this.full, exp['max'+ this.ucwh] || this.full); + this.minSize = exp.allowSizeReduction ? + Math.min(exp['min'+ this.ucwh], this.full) :this.full; + if (exp.isImage && exp.useBox) { + this.size = exp[this.wh]; + this.imgSize = this.full; + } + if (this.dim == 'x' && hs.padToMinWidth) this.minSize = exp.minWidth; + this.target = exp['target'+ this.dim.toUpperCase()]; + this.marginMin = hs['margin'+ this.uclt]; + this.scroll = hs.page['scroll'+ this.uclt]; + this.clientSize = hs.page[this.wh]; +}, +setSize: function(i) { + var exp = this.exp; + if (exp.isImage && (exp.useBox || hs.padToMinWidth)) { + this.imgSize = i; + this.size = Math.max(this.size, this.imgSize); + exp.content.style[this.lt] = this.get('imgPad')+'px'; + } else + this.size = i; + + exp.content.style[this.wh] = i +'px'; + exp.wrapper.style[this.wh] = this.get('wsize') +'px'; + if (exp.outline) exp.outline.setPosition(); + if (exp.releaseMask) exp.releaseMask.style[this.wh] = i +'px'; + if (this.dim == 'y' && exp.iDoc && exp.body.style.height != 'auto') try { + exp.iDoc.body.style.overflow = 'auto'; + } catch (e) {} + if (exp.isHtml) { + var d = exp.scrollerDiv; + if (this.sizeDiff === undefined) + this.sizeDiff = exp.innerContent['offset'+ this.ucwh] - d['offset'+ this.ucwh]; + d.style[this.wh] = (this.size - this.sizeDiff) +'px'; + + if (this.dim == 'x') exp.mediumContent.style.width = 'auto'; + if (exp.body) exp.body.style[this.wh] = 'auto'; + } + if (this.dim == 'x' && exp.overlayBox) exp.sizeOverlayBox(true); + if (this.dim == 'x' && exp.slideshow && exp.isImage) { + if (i == this.full) exp.slideshow.disable('full-expand'); + else exp.slideshow.enable('full-expand'); + } +}, +setPos: function(i) { + this.pos = i; + this.exp.wrapper.style[this.lt] = i +'px'; + + if (this.exp.outline) this.exp.outline.setPosition(); + +} +}; + +hs.Expander = function(a, params, custom, contentType) { + if (document.readyState && hs.ie && !hs.isReady) { + hs.addEventListener(document, 'ready', function() { + new hs.Expander(a, params, custom, contentType); + }); + return; + } + this.a = a; + this.custom = custom; + this.contentType = contentType || 'image'; + this.isHtml = (contentType == 'html'); + this.isImage = !this.isHtml; + + hs.continuePreloading = false; + this.overlays = []; + this.last = hs.last; + hs.last = null; + hs.init(); + var key = this.key = hs.expanders.length; + // override inline parameters + for (var i = 0; i < hs.overrides.length; i++) { + var name = hs.overrides[i]; + this[name] = params && typeof params[name] != 'undefined' ? + params[name] : hs[name]; + } + if (!this.src) this.src = a.href; + + // get thumb + var el = (params && params.thumbnailId) ? hs.$(params.thumbnailId) : a; + el = this.thumb = el.getElementsByTagName('img')[0] || el; + this.thumbsUserSetId = el.id || a.id; + if (!hs.fireEvent(this, 'onInit')) return true; + + // check if already open + for (var i = 0; i < hs.expanders.length; i++) { + if (hs.expanders[i] && hs.expanders[i].a == a + && !(this.last && this.transitions[1] == 'crossfade')) { + hs.expanders[i].focus(); + return false; + } + } + + // cancel other + if (!hs.allowSimultaneousLoading) for (var i = 0; i < hs.expanders.length; i++) { + if (hs.expanders[i] && hs.expanders[i].thumb != el && !hs.expanders[i].onLoadStarted) { + hs.expanders[i].cancelLoading(); + } + } + hs.expanders[key] = this; + if (!hs.allowMultipleInstances && !hs.upcoming) { + if (hs.expanders[key-1]) hs.expanders[key-1].close(); + if (typeof hs.focusKey != 'undefined' && hs.expanders[hs.focusKey]) + hs.expanders[hs.focusKey].close(); + } + + // initiate metrics + this.el = el; + this.tpos = this.pageOrigin || hs.getPosition(el); + hs.getPageSize(); + var x = this.x = new hs.Dimension(this, 'x'); + x.calcThumb(); + var y = this.y = new hs.Dimension(this, 'y'); + y.calcThumb(); + if (/area/i.test(el.tagName)) this.getImageMapAreaCorrection(el); + this.wrapper = hs.createElement( + 'div', { + id: 'highslide-wrapper-'+ this.key, + className: 'highslide-wrapper '+ this.wrapperClassName + }, { + visibility: 'hidden', + position: 'absolute', + zIndex: hs.zIndexCounter += 2 + }, null, true ); + + this.wrapper.onmouseover = this.wrapper.onmouseout = hs.wrapperMouseHandler; + if (this.contentType == 'image' && this.outlineWhileAnimating == 2) + this.outlineWhileAnimating = 0; + + // get the outline + if (!this.outlineType + || (this.last && this.isImage && this.transitions[1] == 'crossfade')) { + this[this.contentType +'Create'](); + + } else if (hs.pendingOutlines[this.outlineType]) { + this.connectOutline(); + this[this.contentType +'Create'](); + + } else { + this.showLoading(); + var exp = this; + new hs.Outline(this.outlineType, + function () { + exp.connectOutline(); + exp[exp.contentType +'Create'](); + } + ); + } + return true; +}; + +hs.Expander.prototype = { +error : function(e) { + if (hs.debug) alert ('Line '+ e.lineNumber +': '+ e.message); + else window.location.href = this.src; +}, + +connectOutline : function() { + var outline = this.outline = hs.pendingOutlines[this.outlineType]; + outline.exp = this; + outline.table.style.zIndex = this.wrapper.style.zIndex - 1; + hs.pendingOutlines[this.outlineType] = null; +}, + +showLoading : function() { + if (this.onLoadStarted || this.loading) return; + + this.loading = hs.loading; + var exp = this; + this.loading.onclick = function() { + exp.cancelLoading(); + }; + + + if (!hs.fireEvent(this, 'onShowLoading')) return; + var exp = this, + l = this.x.get('loadingPos') +'px', + t = this.y.get('loadingPos') +'px'; + if (!tgt && this.last && this.transitions[1] == 'crossfade') + var tgt = this.last; + if (tgt) { + l = tgt.x.get('loadingPosXfade') +'px'; + t = tgt.y.get('loadingPosXfade') +'px'; + this.loading.style.zIndex = hs.zIndexCounter++; + } + setTimeout(function () { + if (exp.loading) hs.setStyles(exp.loading, { left: l, top: t, zIndex: hs.zIndexCounter++ })} + , 100); +}, + +imageCreate : function() { + var exp = this; + + var img = document.createElement('img'); + this.content = img; + img.onload = function () { + if (hs.expanders[exp.key]) exp.contentLoaded(); + }; + if (hs.blockRightClick) img.oncontextmenu = function() { return false; }; + img.className = 'highslide-image'; + hs.setStyles(img, { + visibility: 'hidden', + display: 'block', + position: 'absolute', + maxWidth: '9999px', + zIndex: 3 + }); + img.title = hs.lang.restoreTitle; + if (hs.safari && hs.uaVersion < 525) hs.container.appendChild(img); + if (hs.ie && hs.flushImgSize) img.src = null; + img.src = this.src; + + this.showLoading(); +}, + +htmlCreate : function () { + if (!hs.fireEvent(this, 'onBeforeGetContent')) return; + + this.content = hs.getCacheBinding(this.a); + if (!this.content) + this.content = hs.getNode(this.contentId); + if (!this.content) + this.content = hs.getSelfRendered(); + this.getInline(['maincontent']); + if (this.maincontent) { + var body = hs.getElementByClass(this.content, 'div', 'highslide-body'); + if (body) body.appendChild(this.maincontent); + this.maincontent.style.display = 'block'; + } + hs.fireEvent(this, 'onAfterGetContent'); + + var innerContent = this.innerContent = this.content; + + if (/(swf|iframe)/.test(this.objectType)) this.setObjContainerSize(innerContent); + + // the content tree + hs.container.appendChild(this.wrapper); + hs.setStyles( this.wrapper, { + position: 'static', + padding: '0 '+ hs.marginRight +'px 0 '+ hs.marginLeft +'px' + }); + this.content = hs.createElement( + 'div', { + className: 'highslide-html' + }, { + position: 'relative', + zIndex: 3, + height: 0, + overflow: 'hidden' + }, + this.wrapper + ); + this.mediumContent = hs.createElement('div', null, null, this.content, 1); + this.mediumContent.appendChild(innerContent); + + hs.setStyles (innerContent, { + position: 'relative', + display: 'block', + direction: hs.lang.cssDirection || '' + }); + if (this.width) innerContent.style.width = this.width +'px'; + if (this.height) hs.setStyles(innerContent, { + height: this.height +'px', + overflow: 'hidden' + }); + if (innerContent.offsetWidth < this.minWidth) + innerContent.style.width = this.minWidth +'px'; + + + + if (this.objectType == 'ajax' && !hs.getCacheBinding(this.a)) { + this.showLoading(); + var exp = this; + var ajax = new hs.Ajax(this.a, innerContent); + ajax.src = this.src; + ajax.onLoad = function () { if (hs.expanders[exp.key]) exp.contentLoaded(); }; + ajax.onError = function () { location.href = exp.src; }; + ajax.run(); + } + else + + if (this.objectType == 'iframe' && this.objectLoadTime == 'before') { + this.writeExtendedContent(); + } + else + this.contentLoaded(); +}, + +contentLoaded : function() { + try { + if (!this.content) return; + this.content.onload = null; + if (this.onLoadStarted) return; + else this.onLoadStarted = true; + + var x = this.x, y = this.y; + + if (this.loading) { + hs.setStyles(this.loading, { top: '-9999px' }); + this.loading = null; + hs.fireEvent(this, 'onHideLoading'); + } + if (this.isImage) { + x.full = this.content.width; + y.full = this.content.height; + + hs.setStyles(this.content, { + width: x.t +'px', + height: y.t +'px' + }); + this.wrapper.appendChild(this.content); + hs.container.appendChild(this.wrapper); + } else if (this.htmlGetSize) this.htmlGetSize(); + + x.calcBorders(); + y.calcBorders(); + + hs.setStyles (this.wrapper, { + left: (x.tpos + x.tb - x.cb) +'px', + top: (y.tpos + x.tb - y.cb) +'px' + }); + + + this.initSlideshow(); + this.getOverlays(); + + var ratio = x.full / y.full; + x.calcExpanded(); + this.justify(x); + + y.calcExpanded(); + this.justify(y); + if (this.isHtml) this.htmlSizeOperations(); + if (this.overlayBox) this.sizeOverlayBox(0, 1); + + + if (this.allowSizeReduction) { + if (this.isImage) + this.correctRatio(ratio); + else this.fitOverlayBox(); + var ss = this.slideshow; + if (ss && this.last && ss.controls && ss.fixedControls) { + var pos = ss.overlayOptions.position || '', p; + for (var dim in hs.oPos) for (var i = 0; i < 5; i++) { + p = this[dim]; + if (pos.match(hs.oPos[dim][i])) { + p.pos = this.last[dim].pos + + (this.last[dim].p1 - p.p1) + + (this.last[dim].size - p.size) * [0, 0, .5, 1, 1][i]; + if (ss.fixedControls == 'fit') { + if (p.pos + p.size + p.p1 + p.p2 > p.scroll + p.clientSize - p.marginMax) + p.pos = p.scroll + p.clientSize - p.size - p.marginMin - p.marginMax - p.p1 - p.p2; + if (p.pos < p.scroll + p.marginMin) p.pos = p.scroll + p.marginMin; + } + } + } + } + if (this.isImage && this.x.full > (this.x.imgSize || this.x.size)) { + this.createFullExpand(); + if (this.overlays.length == 1) this.sizeOverlayBox(); + } + } + this.show(); + + } catch (e) { + this.error(e); + } +}, + + +setObjContainerSize : function(parent, auto) { + var c = hs.getElementByClass(parent, 'DIV', 'highslide-body'); + if (/(iframe|swf)/.test(this.objectType)) { + if (this.objectWidth) c.style.width = this.objectWidth +'px'; + if (this.objectHeight) c.style.height = this.objectHeight +'px'; + } +}, + +writeExtendedContent : function () { + if (this.hasExtendedContent) return; + var exp = this; + this.body = hs.getElementByClass(this.innerContent, 'DIV', 'highslide-body'); + if (this.objectType == 'iframe') { + this.showLoading(); + var ruler = hs.clearing.cloneNode(1); + this.body.appendChild(ruler); + this.newWidth = this.innerContent.offsetWidth; + if (!this.objectWidth) this.objectWidth = ruler.offsetWidth; + var hDiff = this.innerContent.offsetHeight - this.body.offsetHeight, + h = this.objectHeight || hs.page.height - hDiff - hs.marginTop - hs.marginBottom, + onload = this.objectLoadTime == 'before' ? + ' onload="if (hs.expanders['+ this.key +']) hs.expanders['+ this.key +'].contentLoaded()" ' : ''; + this.body.innerHTML += ''; + this.ruler = this.body.getElementsByTagName('div')[0]; + this.iframe = this.body.getElementsByTagName('iframe')[0]; + + if (this.objectLoadTime == 'after') this.correctIframeSize(); + + } + if (this.objectType == 'swf') { + this.body.id = this.body.id || 'hs-flash-id-' + this.key; + var a = this.swfOptions; + if (!a.params) a.params = {}; + if (typeof a.params.wmode == 'undefined') a.params.wmode = 'transparent'; + if (swfobject) swfobject.embedSWF(this.src, this.body.id, this.objectWidth, this.objectHeight, + a.version || '7', a.expressInstallSwfurl, a.flashvars, a.params, a.attributes); + } + this.hasExtendedContent = true; +}, +htmlGetSize : function() { + if (this.iframe && !this.objectHeight) { // loadtime before + this.iframe.style.height = this.body.style.height = this.getIframePageHeight() +'px'; + } + this.innerContent.appendChild(hs.clearing); + if (!this.x.full) this.x.full = this.innerContent.offsetWidth; + this.y.full = this.innerContent.offsetHeight; + this.innerContent.removeChild(hs.clearing); + if (hs.ie && this.newHeight > parseInt(this.innerContent.currentStyle.height)) { // ie css bug + this.newHeight = parseInt(this.innerContent.currentStyle.height); + } + hs.setStyles( this.wrapper, { position: 'absolute', padding: '0'}); + hs.setStyles( this.content, { width: this.x.t +'px', height: this.y.t +'px'}); + +}, + +getIframePageHeight : function() { + var h; + try { + var doc = this.iDoc = this.iframe.contentDocument || this.iframe.contentWindow.document; + var clearing = doc.createElement('div'); + clearing.style.clear = 'both'; + doc.body.appendChild(clearing); + h = clearing.offsetTop; + if (hs.ie) h += parseInt(doc.body.currentStyle.marginTop) + + parseInt(doc.body.currentStyle.marginBottom) - 1; + } catch (e) { // other domain + h = 300; + } + return h; +}, +correctIframeSize : function () { + var wDiff = this.innerContent.offsetWidth - this.ruler.offsetWidth; + hs.discardElement(this.ruler); + if (wDiff < 0) wDiff = 0; + + var hDiff = this.innerContent.offsetHeight - this.iframe.offsetHeight; + if (this.iDoc && !this.objectHeight && !this.height && this.y.size == this.y.full) try { + this.iDoc.body.style.overflow = 'hidden'; + } catch (e) {} + hs.setStyles(this.iframe, { + width: Math.abs(this.x.size - wDiff) +'px', + height: Math.abs(this.y.size - hDiff) +'px' + }); + hs.setStyles(this.body, { + width: this.iframe.style.width, + height: this.iframe.style.height + }); + + this.scrollingContent = this.iframe; + this.scrollerDiv = this.scrollingContent; + +}, +htmlSizeOperations : function () { + + this.setObjContainerSize(this.innerContent); + + + if (this.objectType == 'swf' && this.objectLoadTime == 'before') this.writeExtendedContent(); + + // handle minimum size + if (this.x.size < this.x.full && !this.allowWidthReduction) this.x.size = this.x.full; + if (this.y.size < this.y.full && !this.allowHeightReduction) this.y.size = this.y.full; + this.scrollerDiv = this.innerContent; + hs.setStyles(this.mediumContent, { + position: 'relative', + width: this.x.size +'px' + }); + hs.setStyles(this.innerContent, { + border: 'none', + width: 'auto', + height: 'auto' + }); + var node = hs.getElementByClass(this.innerContent, 'DIV', 'highslide-body'); + if (node && !/(iframe|swf)/.test(this.objectType)) { + var cNode = node; // wrap to get true size + node = hs.createElement(cNode.nodeName, null, {overflow: 'hidden'}, null, true); + cNode.parentNode.insertBefore(node, cNode); + node.appendChild(hs.clearing); // IE6 + node.appendChild(cNode); + + var wDiff = this.innerContent.offsetWidth - node.offsetWidth; + var hDiff = this.innerContent.offsetHeight - node.offsetHeight; + node.removeChild(hs.clearing); + + var kdeBugCorr = hs.safari || navigator.vendor == 'KDE' ? 1 : 0; // KDE repainting bug + hs.setStyles(node, { + width: (this.x.size - wDiff - kdeBugCorr) +'px', + height: (this.y.size - hDiff) +'px', + overflow: 'auto', + position: 'relative' + } + ); + if (kdeBugCorr && cNode.offsetHeight > node.offsetHeight) { + node.style.width = (parseInt(node.style.width) + kdeBugCorr) + 'px'; + } + this.scrollingContent = node; + this.scrollerDiv = this.scrollingContent; + } + if (this.iframe && this.objectLoadTime == 'before') this.correctIframeSize(); + if (!this.scrollingContent && this.y.size < this.mediumContent.offsetHeight) this.scrollerDiv = this.content; + + if (this.scrollerDiv == this.content && !this.allowWidthReduction && !/(iframe|swf)/.test(this.objectType)) { + this.x.size += 17; // room for scrollbars + } + if (this.scrollerDiv && this.scrollerDiv.offsetHeight > this.scrollerDiv.parentNode.offsetHeight) { + setTimeout("try { hs.expanders["+ this.key +"].scrollerDiv.style.overflow = 'auto'; } catch(e) {}", + hs.expandDuration); + } +}, + +getImageMapAreaCorrection : function(area) { + var c = area.coords.split(','); + for (var i = 0; i < c.length; i++) c[i] = parseInt(c[i]); + + if (area.shape.toLowerCase() == 'circle') { + this.x.tpos += c[0] - c[2]; + this.y.tpos += c[1] - c[2]; + this.x.t = this.y.t = 2 * c[2]; + } else { + var maxX, maxY, minX = maxX = c[0], minY = maxY = c[1]; + for (var i = 0; i < c.length; i++) { + if (i % 2 == 0) { + minX = Math.min(minX, c[i]); + maxX = Math.max(maxX, c[i]); + } else { + minY = Math.min(minY, c[i]); + maxY = Math.max(maxY, c[i]); + } + } + this.x.tpos += minX; + this.x.t = maxX - minX; + this.y.tpos += minY; + this.y.t = maxY - minY; + } +}, +justify : function (p, moveOnly) { + var tgtArr, tgt = p.target, dim = p == this.x ? 'x' : 'y'; + + if (tgt && tgt.match(/ /)) { + tgtArr = tgt.split(' '); + tgt = tgtArr[0]; + } + if (tgt && hs.$(tgt)) { + p.pos = hs.getPosition(hs.$(tgt))[dim]; + if (tgtArr && tgtArr[1] && tgtArr[1].match(/^[-]?[0-9]+px$/)) + p.pos += parseInt(tgtArr[1]); + if (p.size < p.minSize) p.size = p.minSize; + + } else if (p.justify == 'auto' || p.justify == 'center') { + + var hasMovedMin = false; + + var allowReduce = p.exp.allowSizeReduction; + if (p.justify == 'center') + p.pos = Math.round(p.scroll + (p.clientSize + p.marginMin - p.marginMax - p.get('wsize')) / 2); + else + p.pos = Math.round(p.pos - ((p.get('wsize') - p.t) / 2)); + if (p.pos < p.scroll + p.marginMin) { + p.pos = p.scroll + p.marginMin; + hasMovedMin = true; + } + if (!moveOnly && p.size < p.minSize) { + p.size = p.minSize; + allowReduce = false; + } + if (p.pos + p.get('wsize') > p.scroll + p.clientSize - p.marginMax) { + if (!moveOnly && hasMovedMin && allowReduce) { + p.size = Math.min(p.size, p.get(dim == 'y' ? 'fitsize' : 'maxsize')); + } else if (p.get('wsize') < p.get('fitsize')) { + p.pos = p.scroll + p.clientSize - p.marginMax - p.get('wsize'); + } else { // image larger than viewport + p.pos = p.scroll + p.marginMin; + if (!moveOnly && allowReduce) p.size = p.get(dim == 'y' ? 'fitsize' : 'maxsize'); + } + } + + if (!moveOnly && p.size < p.minSize) { + p.size = p.minSize; + allowReduce = false; + } + + + } else if (p.justify == 'max') { + p.pos = Math.floor(p.pos - p.size + p.t); + } + + + if (p.pos < p.marginMin) { + var tmpMin = p.pos; + p.pos = p.marginMin; + + if (allowReduce && !moveOnly) p.size = p.size - (p.pos - tmpMin); + + } +}, + +correctRatio : function(ratio) { + var x = this.x, + y = this.y, + changed = false, + xSize = Math.min(x.full, x.size), + ySize = Math.min(y.full, y.size), + useBox = (this.useBox || hs.padToMinWidth); + + if (xSize / ySize > ratio) { // width greater + xSize = ySize * ratio; + if (xSize < x.minSize) { // below minWidth + xSize = x.minSize; + ySize = xSize / ratio; + } + changed = true; + + } else if (xSize / ySize < ratio) { // height greater + ySize = xSize / ratio; + changed = true; + } + + if (hs.padToMinWidth && x.full < x.minSize) { + x.imgSize = x.full; + y.size = y.imgSize = y.full; + } else if (this.useBox) { + x.imgSize = xSize; + y.imgSize = ySize; + } else { + x.size = xSize; + y.size = ySize; + } + changed = this.fitOverlayBox(this.useBox ? null : ratio, changed); + if (useBox && y.size < y.imgSize) { + y.imgSize = y.size; + x.imgSize = y.size * ratio; + } + if (changed || useBox) { + x.pos = x.tpos - x.cb + x.tb; + x.minSize = x.size; + this.justify(x, true); + + y.pos = y.tpos - y.cb + y.tb; + y.minSize = y.size; + this.justify(y, true); + if (this.overlayBox) this.sizeOverlayBox(); + } + + +}, +fitOverlayBox : function(ratio, changed) { + var x = this.x, y = this.y; + if (this.overlayBox && (this.isImage || this.allowHeightReduction)) { + while (y.size > this.minHeight && x.size > this.minWidth + && y.get('wsize') > y.get('fitsize')) { + y.size -= 10; + if (ratio) x.size = y.size * ratio; + this.sizeOverlayBox(0, 1); + changed = true; + } + } + return changed; +}, + +reflow : function () { + if (this.scrollerDiv) { + var h = /iframe/i.test(this.scrollerDiv.tagName) ? (this.getIframePageHeight() + 1) +'px' : 'auto'; + if (this.body) this.body.style.height = h; + this.scrollerDiv.style.height = h; + this.y.setSize(this.innerContent.offsetHeight); + } +}, + +show : function () { + var x = this.x, y = this.y; + this.doShowHide('hidden'); + hs.fireEvent(this, 'onBeforeExpand'); + if (this.slideshow && this.slideshow.thumbstrip) this.slideshow.thumbstrip.selectThumb(); + + // Apply size change + this.changeSize( + 1, { + wrapper: { + width : x.get('wsize'), + height : y.get('wsize'), + left: x.pos, + top: y.pos + }, + content: { + left: x.p1 + x.get('imgPad'), + top: y.p1 + y.get('imgPad'), + width:x.imgSize ||x.size, + height:y.imgSize ||y.size + } + }, + hs.expandDuration + ); +}, + +changeSize : function(up, to, dur) { + // transition + var trans = this.transitions, + other = up ? (this.last ? this.last.a : null) : hs.upcoming, + t = (trans[1] && other + && hs.getParam(other, 'transitions')[1] == trans[1]) ? + trans[1] : trans[0]; + + if (this[t] && t != 'expand') { + this[t](up, to); + return; + } + + if (this.outline && !this.outlineWhileAnimating) { + if (up) this.outline.setPosition(); + else this.outline.destroy( + (this.isHtml && this.preserveContent)); + } + + + if (!up) this.destroyOverlays(); + + var exp = this, + x = exp.x, + y = exp.y, + easing = this.easing; + if (!up) easing = this.easingClose || easing; + var after = up ? + function() { + + if (exp.outline) exp.outline.table.style.visibility = "visible"; + setTimeout(function() { + exp.afterExpand(); + }, 50); + } : + function() { + exp.afterClose(); + }; + if (up) hs.setStyles( this.wrapper, { + width: x.t +'px', + height: y.t +'px' + }); + if (up && this.isHtml) { + hs.setStyles(this.wrapper, { + left: (x.tpos - x.cb + x.tb) +'px', + top: (y.tpos - y.cb + y.tb) +'px' + }); + } + if (this.fadeInOut) { + hs.setStyles(this.wrapper, { opacity: up ? 0 : 1 }); + hs.extend(to.wrapper, { opacity: up }); + } + hs.animate( this.wrapper, to.wrapper, { + duration: dur, + easing: easing, + step: function(val, args) { + if (exp.outline && exp.outlineWhileAnimating && args.prop == 'top') { + var fac = up ? args.pos : 1 - args.pos; + var pos = { + w: x.t + (x.get('wsize') - x.t) * fac, + h: y.t + (y.get('wsize') - y.t) * fac, + x: x.tpos + (x.pos - x.tpos) * fac, + y: y.tpos + (y.pos - y.tpos) * fac + }; + exp.outline.setPosition(pos, 0, 1); + } + if (exp.isHtml) { + if (args.prop == 'left') + exp.mediumContent.style.left = (x.pos - val) +'px'; + if (args.prop == 'top') + exp.mediumContent.style.top = (y.pos - val) +'px'; + } + } + }); + hs.animate( this.content, to.content, dur, easing, after); + if (up) { + this.wrapper.style.visibility = 'visible'; + this.content.style.visibility = 'visible'; + if (this.isHtml) this.innerContent.style.visibility = 'visible'; + this.a.className += ' highslide-active-anchor'; + } +}, + + + +fade : function(up, to) { + this.outlineWhileAnimating = false; + var exp = this, t = up ? hs.expandDuration : 0; + + if (up) { + hs.animate(this.wrapper, to.wrapper, 0); + hs.setStyles(this.wrapper, { opacity: 0, visibility: 'visible' }); + hs.animate(this.content, to.content, 0); + this.content.style.visibility = 'visible'; + + hs.animate(this.wrapper, { opacity: 1 }, t, null, + function() { exp.afterExpand(); }); + } + + if (this.outline) { + this.outline.table.style.zIndex = this.wrapper.style.zIndex; + var dir = up || -1, + offset = this.outline.offset, + startOff = up ? 3 : offset, + endOff = up? offset : 3; + for (var i = startOff; dir * i <= dir * endOff; i += dir, t += 25) { + (function() { + var o = up ? endOff - i : startOff - i; + setTimeout(function() { + exp.outline.setPosition(0, o, 1); + }, t); + })(); + } + } + + + if (up) {}//setTimeout(function() { exp.afterExpand(); }, t+50); + else { + setTimeout( function() { + if (exp.outline) exp.outline.destroy(exp.preserveContent); + + exp.destroyOverlays(); + + hs.animate( exp.wrapper, { opacity: 0 }, hs.restoreDuration, null, function(){ + exp.afterClose(); + }); + }, t); + } +}, +crossfade : function (up, to, from) { + if (!up) return; + var exp = this, + last = this.last, + x = this.x, + y = this.y, + lastX = last.x, + lastY = last.y, + wrapper = this.wrapper, + content = this.content, + overlayBox = this.overlayBox; + hs.removeEventListener(document, 'mousemove', hs.dragHandler); + + hs.setStyles(content, { + width: (x.imgSize || x.size) +'px', + height: (y.imgSize || y.size) +'px' + }); + if (overlayBox) overlayBox.style.overflow = 'visible'; + this.outline = last.outline; + if (this.outline) this.outline.exp = exp; + last.outline = null; + var fadeBox = hs.createElement('div', { + className: 'highslide-'+ this.contentType + }, { + position: 'absolute', + zIndex: 4, + overflow: 'hidden', + display: 'none' + } + ); + var names = { oldImg: last, newImg: this }; + for (var n in names) { + this[n] = names[n].content.cloneNode(1); + hs.setStyles(this[n], { + position: 'absolute', + border: 0, + visibility: 'visible' + }); + fadeBox.appendChild(this[n]); + } + wrapper.appendChild(fadeBox); + if (this.isHtml) hs.setStyles(this.mediumContent, { + left: 0, + top: 0 + }); + if (overlayBox) { + overlayBox.className = ''; + wrapper.appendChild(overlayBox); + } + fadeBox.style.display = ''; + last.content.style.display = 'none'; + + + if (hs.safari && hs.uaVersion < 525) { + this.wrapper.style.visibility = 'visible'; + } + hs.animate(wrapper, { + width: x.size + }, { + duration: hs.transitionDuration, + step: function(val, args) { + var pos = args.pos, + invPos = 1 - pos; + var prop, + size = {}, + props = ['pos', 'size', 'p1', 'p2']; + for (var n in props) { + prop = props[n]; + size['x'+ prop] = Math.round(invPos * lastX[prop] + pos * x[prop]); + size['y'+ prop] = Math.round(invPos * lastY[prop] + pos * y[prop]); + size.ximgSize = Math.round( + invPos * (lastX.imgSize || lastX.size) + pos * (x.imgSize || x.size)); + size.ximgPad = Math.round(invPos * lastX.get('imgPad') + pos * x.get('imgPad')); + size.yimgSize = Math.round( + invPos * (lastY.imgSize || lastY.size) + pos * (y.imgSize || y.size)); + size.yimgPad = Math.round(invPos * lastY.get('imgPad') + pos * y.get('imgPad')); + } + if (exp.outline) exp.outline.setPosition({ + x: size.xpos, + y: size.ypos, + w: size.xsize + size.xp1 + size.xp2 + 2 * x.cb, + h: size.ysize + size.yp1 + size.yp2 + 2 * y.cb + }); + last.wrapper.style.clip = 'rect(' + + (size.ypos - lastY.pos)+'px, ' + + (size.xsize + size.xp1 + size.xp2 + size.xpos + 2 * lastX.cb - lastX.pos) +'px, ' + + (size.ysize + size.yp1 + size.yp2 + size.ypos + 2 * lastY.cb - lastY.pos) +'px, ' + + (size.xpos - lastX.pos)+'px)'; + + hs.setStyles(content, { + top: (size.yp1 + y.get('imgPad')) +'px', + left: (size.xp1 + x.get('imgPad')) +'px', + marginTop: (y.pos - size.ypos) +'px', + marginLeft: (x.pos - size.xpos) +'px' + }); + hs.setStyles(wrapper, { + top: size.ypos +'px', + left: size.xpos +'px', + width: (size.xp1 + size.xp2 + size.xsize + 2 * x.cb)+ 'px', + height: (size.yp1 + size.yp2 + size.ysize + 2 * y.cb) + 'px' + }); + hs.setStyles(fadeBox, { + width: (size.ximgSize || size.xsize) + 'px', + height: (size.yimgSize || size.ysize) +'px', + left: (size.xp1 + size.ximgPad) +'px', + top: (size.yp1 + size.yimgPad) +'px', + visibility: 'visible' + }); + + hs.setStyles(exp.oldImg, { + top: (lastY.pos - size.ypos + lastY.p1 - size.yp1 + lastY.get('imgPad') - size.yimgPad)+'px', + left: (lastX.pos - size.xpos + lastX.p1 - size.xp1 + lastX.get('imgPad') - size.ximgPad)+'px' + }); + + hs.setStyles(exp.newImg, { + opacity: pos, + top: (y.pos - size.ypos + y.p1 - size.yp1 + y.get('imgPad') - size.yimgPad) +'px', + left: (x.pos - size.xpos + x.p1 - size.xp1 + x.get('imgPad') - size.ximgPad) +'px' + }); + if (overlayBox) hs.setStyles(overlayBox, { + width: size.xsize + 'px', + height: size.ysize +'px', + left: (size.xp1 + x.cb) +'px', + top: (size.yp1 + y.cb) +'px' + }); + }, + complete: function () { + wrapper.style.visibility = content.style.visibility = 'visible'; + content.style.display = 'block'; + hs.discardElement(fadeBox); + exp.afterExpand(); + last.afterClose(); + exp.last = null; + } + + }); +}, +reuseOverlay : function(o, el) { + if (!this.last) return false; + for (var i = 0; i < this.last.overlays.length; i++) { + var oDiv = hs.$('hsId'+ this.last.overlays[i]); + if (oDiv && oDiv.hsId == o.hsId) { + this.genOverlayBox(); + oDiv.reuse = this.key; + hs.push(this.overlays, this.last.overlays[i]); + return true; + } + } + return false; +}, + + +afterExpand : function() { + this.isExpanded = true; + this.focus(); + + if (this.isHtml && this.objectLoadTime == 'after') this.writeExtendedContent(); + if (this.iframe) { + try { + var exp = this, + doc = this.iframe.contentDocument || this.iframe.contentWindow.document; + hs.addEventListener(doc, 'mousedown', function () { + if (hs.focusKey != exp.key) exp.focus(); + }); + } catch(e) {} + if (hs.ie && typeof this.isClosing != 'boolean') // first open + this.iframe.style.width = (this.objectWidth - 1) +'px'; // hasLayout + } + if (this.dimmingOpacity) hs.dim(this); + if (hs.upcoming && hs.upcoming == this.a) hs.upcoming = null; + this.prepareNextOutline(); + var p = hs.page, mX = hs.mouse.x + p.scrollLeft, mY = hs.mouse.y + p.scrollTop; + this.mouseIsOver = this.x.pos < mX && mX < this.x.pos + this.x.get('wsize') + && this.y.pos < mY && mY < this.y.pos + this.y.get('wsize'); + if (this.overlayBox) this.showOverlays(); + hs.fireEvent(this, 'onAfterExpand'); + +}, + + +prepareNextOutline : function() { + var key = this.key; + var outlineType = this.outlineType; + new hs.Outline(outlineType, + function () { try { hs.expanders[key].preloadNext(); } catch (e) {} }); +}, + + +preloadNext : function() { + var next = this.getAdjacentAnchor(1); + if (next && next.onclick.toString().match(/hs\.expand/)) + var img = hs.createElement('img', { src: hs.getSrc(next) }); +}, + + +getAdjacentAnchor : function(op) { + var current = this.getAnchorIndex(), as = hs.anchors.groups[this.slideshowGroup || 'none']; + if (as && !as[current + op] && this.slideshow && this.slideshow.repeat) { + if (op == 1) return as[0]; + else if (op == -1) return as[as.length-1]; + } + return (as && as[current + op]) || null; +}, + +getAnchorIndex : function() { + var arr = hs.getAnchors().groups[this.slideshowGroup || 'none']; + if (arr) for (var i = 0; i < arr.length; i++) { + if (arr[i] == this.a) return i; + } + return null; +}, + + +getNumber : function() { + if (this[this.numberPosition]) { + var arr = hs.anchors.groups[this.slideshowGroup || 'none']; + if (arr) { + var s = hs.lang.number.replace('%1', this.getAnchorIndex() + 1).replace('%2', arr.length); + this[this.numberPosition].innerHTML = + '
      '+ s +'
      '+ this[this.numberPosition].innerHTML; + } + } +}, +initSlideshow : function() { + if (!this.last) { + for (var i = 0; i < hs.slideshows.length; i++) { + var ss = hs.slideshows[i], sg = ss.slideshowGroup; + if (typeof sg == 'undefined' || sg === null || sg === this.slideshowGroup) + this.slideshow = new hs.Slideshow(this.key, ss); + } + } else { + this.slideshow = this.last.slideshow; + } + var ss = this.slideshow; + if (!ss) return; + var key = ss.expKey = this.key; + + ss.checkFirstAndLast(); + ss.disable('full-expand'); + if (ss.controls) { + this.createOverlay(hs.extend(ss.overlayOptions || {}, { + overlayId: ss.controls, + hsId: 'controls', + zIndex: 5 + })); + } + if (ss.thumbstrip) ss.thumbstrip.add(this); + if (!this.last && this.autoplay) ss.play(true); + if (ss.autoplay) { + ss.autoplay = setTimeout(function() { + hs.next(key); + }, (ss.interval || 500)); + } +}, + +cancelLoading : function() { + hs.discardElement (this.wrapper); + hs.expanders[this.key] = null; + if (hs.upcoming == this.a) hs.upcoming = null; + hs.undim(this.key); + if (this.loading) hs.loading.style.left = '-9999px'; + hs.fireEvent(this, 'onHideLoading'); +}, + +writeCredits : function () { + if (this.credits) return; + this.credits = hs.createElement('a', { + href: hs.creditsHref, + target: hs.creditsTarget, + className: 'highslide-credits', + innerHTML: hs.lang.creditsText, + title: hs.lang.creditsTitle + }); + this.createOverlay({ + overlayId: this.credits, + position: this.creditsPosition || 'top left', + hsId: 'credits' + }); +}, + +getInline : function(types, addOverlay) { + for (var i = 0; i < types.length; i++) { + var type = types[i], s = null; + if (type == 'caption' && !hs.fireEvent(this, 'onBeforeGetCaption')) return; + else if (type == 'heading' && !hs.fireEvent(this, 'onBeforeGetHeading')) return; + if (!this[type +'Id'] && this.thumbsUserSetId) + this[type +'Id'] = type +'-for-'+ this.thumbsUserSetId; + if (this[type +'Id']) this[type] = hs.getNode(this[type +'Id']); + if (!this[type] && !this[type +'Text'] && this[type +'Eval']) try { + s = eval(this[type +'Eval']); + } catch (e) {} + if (!this[type] && this[type +'Text']) { + s = this[type +'Text']; + } + if (!this[type] && !s) { + this[type] = hs.getNode(this.a['_'+ type + 'Id']); + if (!this[type]) { + var next = this.a.nextSibling; + while (next && !hs.isHsAnchor(next)) { + if ((new RegExp('highslide-'+ type)).test(next.className || null)) { + if (!next.id) this.a['_'+ type + 'Id'] = next.id = 'hsId'+ hs.idCounter++; + this[type] = hs.getNode(next.id); + break; + } + next = next.nextSibling; + } + } + } + if (!this[type] && !s && this.numberPosition == type) s = '\n'; + + if (!this[type] && s) this[type] = hs.createElement('div', + { className: 'highslide-'+ type, innerHTML: s } ); + + if (addOverlay && this[type]) { + var o = { position: (type == 'heading') ? 'above' : 'below' }; + for (var x in this[type+'Overlay']) o[x] = this[type+'Overlay'][x]; + o.overlayId = this[type]; + this.createOverlay(o); + } + } +}, + + +// on end move and resize +doShowHide : function(visibility) { + if (hs.hideSelects) this.showHideElements('SELECT', visibility); + if (hs.hideIframes) this.showHideElements('IFRAME', visibility); + if (hs.geckoMac) this.showHideElements('*', visibility); +}, +showHideElements : function (tagName, visibility) { + var els = document.getElementsByTagName(tagName); + var prop = tagName == '*' ? 'overflow' : 'visibility'; + for (var i = 0; i < els.length; i++) { + if (prop == 'visibility' || (document.defaultView.getComputedStyle( + els[i], "").getPropertyValue('overflow') == 'auto' + || els[i].getAttribute('hidden-by') != null)) { + var hiddenBy = els[i].getAttribute('hidden-by'); + if (visibility == 'visible' && hiddenBy) { + hiddenBy = hiddenBy.replace('['+ this.key +']', ''); + els[i].setAttribute('hidden-by', hiddenBy); + if (!hiddenBy) els[i].style[prop] = els[i].origProp; + } else if (visibility == 'hidden') { // hide if behind + var elPos = hs.getPosition(els[i]); + elPos.w = els[i].offsetWidth; + elPos.h = els[i].offsetHeight; + if (!this.dimmingOpacity) { // hide all if dimming + + var clearsX = (elPos.x + elPos.w < this.x.get('opos') + || elPos.x > this.x.get('opos') + this.x.get('osize')); + var clearsY = (elPos.y + elPos.h < this.y.get('opos') + || elPos.y > this.y.get('opos') + this.y.get('osize')); + } + var wrapperKey = hs.getWrapperKey(els[i]); + if (!clearsX && !clearsY && wrapperKey != this.key) { // element falls behind image + if (!hiddenBy) { + els[i].setAttribute('hidden-by', '['+ this.key +']'); + els[i].origProp = els[i].style[prop]; + els[i].style[prop] = 'hidden'; + + } else if (hiddenBy.indexOf('['+ this.key +']') == -1) { + els[i].setAttribute('hidden-by', hiddenBy + '['+ this.key +']'); + } + } else if ((hiddenBy == '['+ this.key +']' || hs.focusKey == wrapperKey) + && wrapperKey != this.key) { // on move + els[i].setAttribute('hidden-by', ''); + els[i].style[prop] = els[i].origProp || ''; + } else if (hiddenBy && hiddenBy.indexOf('['+ this.key +']') > -1) { + els[i].setAttribute('hidden-by', hiddenBy.replace('['+ this.key +']', '')); + } + + } + } + } +}, + +focus : function() { + this.wrapper.style.zIndex = hs.zIndexCounter += 2; + // blur others + for (var i = 0; i < hs.expanders.length; i++) { + if (hs.expanders[i] && i == hs.focusKey) { + var blurExp = hs.expanders[i]; + blurExp.content.className += ' highslide-'+ blurExp.contentType +'-blur'; + if (blurExp.isImage) { + blurExp.content.style.cursor = hs.ieLt7 ? 'hand' : 'pointer'; + blurExp.content.title = hs.lang.focusTitle; + } + hs.fireEvent(blurExp, 'onBlur'); + } + } + + // focus this + if (this.outline) this.outline.table.style.zIndex + = this.wrapper.style.zIndex - 1; + this.content.className = 'highslide-'+ this.contentType; + if (this.isImage) { + this.content.title = hs.lang.restoreTitle; + + if (hs.restoreCursor) { + hs.styleRestoreCursor = window.opera ? 'pointer' : 'url('+ hs.graphicsDir + hs.restoreCursor +'), pointer'; + if (hs.ieLt7 && hs.uaVersion < 6) hs.styleRestoreCursor = 'hand'; + this.content.style.cursor = hs.styleRestoreCursor; + } + } + hs.focusKey = this.key; + hs.addEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); + hs.fireEvent(this, 'onFocus'); +}, +moveTo: function(x, y) { + this.x.setPos(x); + this.y.setPos(y); +}, +resize : function (e) { + var w, h, r = e.width / e.height; + w = Math.max(e.width + e.dX, Math.min(this.minWidth, this.x.full)); + if (this.isImage && Math.abs(w - this.x.full) < 12) w = this.x.full; + h = this.isHtml ? e.height + e.dY : w / r; + if (h < Math.min(this.minHeight, this.y.full)) { + h = Math.min(this.minHeight, this.y.full); + if (this.isImage) w = h * r; + } + this.resizeTo(w, h); +}, +resizeTo: function(w, h) { + this.y.setSize(h); + this.x.setSize(w); + this.wrapper.style.height = this.y.get('wsize') +'px'; +}, + +close : function() { + if (this.isClosing || !this.isExpanded) return; + if (this.transitions[1] == 'crossfade' && hs.upcoming) { + hs.getExpander(hs.upcoming).cancelLoading(); + hs.upcoming = null; + } + if (!hs.fireEvent(this, 'onBeforeClose')) return; + this.isClosing = true; + if (this.slideshow && !hs.upcoming) this.slideshow.pause(); + + hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); + + try { + if (this.isHtml) this.htmlPrepareClose(); + this.content.style.cursor = 'default'; + this.changeSize( + 0, { + wrapper: { + width : this.x.t, + height : this.y.t, + left: this.x.tpos - this.x.cb + this.x.tb, + top: this.y.tpos - this.y.cb + this.y.tb + }, + content: { + left: 0, + top: 0, + width: this.x.t, + height: this.y.t + } + }, hs.restoreDuration + ); + } catch (e) { this.afterClose(); } +}, + +htmlPrepareClose : function() { + if (hs.geckoMac) { // bad redraws + if (!hs.mask) hs.mask = hs.createElement('div', null, + { position: 'absolute' }, hs.container); + hs.setStyles(hs.mask, { width: this.x.size +'px', height: this.y.size +'px', + left: this.x.pos +'px', top: this.y.pos +'px', display: 'block' }); + } + if (this.objectType == 'swf') try { hs.$(this.body.id).StopPlay(); } catch (e) {} + + if (this.objectLoadTime == 'after' && !this.preserveContent) this.destroyObject(); + if (this.scrollerDiv && this.scrollerDiv != this.scrollingContent) + this.scrollerDiv.style.overflow = 'hidden'; +}, + +destroyObject : function () { + if (hs.ie && this.iframe) + try { this.iframe.contentWindow.document.body.innerHTML = ''; } catch (e) {} + if (this.objectType == 'swf') swfobject.removeSWF(this.body.id); + this.body.innerHTML = ''; +}, + +sleep : function() { + if (this.outline) this.outline.table.style.display = 'none'; + this.releaseMask = null; + this.wrapper.style.display = 'none'; + this.isExpanded = false; + hs.push(hs.sleeping, this); +}, + +awake : function() {try { + + hs.expanders[this.key] = this; + + if (!hs.allowMultipleInstances &&hs.focusKey != this.key) { + try { hs.expanders[hs.focusKey].close(); } catch (e){} + } + + var z = hs.zIndexCounter++, stl = { display: '', zIndex: z }; + hs.setStyles (this.wrapper, stl); + this.isClosing = false; + + var o = this.outline || 0; + if (o) { + if (!this.outlineWhileAnimating) stl.visibility = 'hidden'; + hs.setStyles (o.table, stl); + } + if (this.slideshow) { + this.initSlideshow(); + } + + this.show(); +} catch (e) {} + + +}, + +createOverlay : function (o) { + var el = o.overlayId, + relToVP = (o.relativeTo == 'viewport' && !/panel$/.test(o.position)); + if (typeof el == 'string') el = hs.getNode(el); + if (o.html) el = hs.createElement('div', { innerHTML: o.html }); + if (!el || typeof el == 'string') return; + if (!hs.fireEvent(this, 'onCreateOverlay', { overlay: el })) return; + el.style.display = 'block'; + o.hsId = o.hsId || o.overlayId; + if (this.transitions[1] == 'crossfade' && this.reuseOverlay(o, el)) return; + this.genOverlayBox(); + var width = o.width && /^[0-9]+(px|%)$/.test(o.width) ? o.width : 'auto'; + if (/^(left|right)panel$/.test(o.position) && !/^[0-9]+px$/.test(o.width)) width = '200px'; + var overlay = hs.createElement( + 'div', { + id: 'hsId'+ hs.idCounter++, + hsId: o.hsId + }, { + position: 'absolute', + visibility: 'hidden', + width: width, + direction: hs.lang.cssDirection || '', + opacity: 0 + }, + relToVP ? hs.viewport :this.overlayBox, + true + ); + if (relToVP) overlay.hsKey = this.key; + + overlay.appendChild(el); + hs.extend(overlay, { + opacity: 1, + offsetX: 0, + offsetY: 0, + dur: (o.fade === 0 || o.fade === false || (o.fade == 2 && hs.ie)) ? 0 : 250 + }); + hs.extend(overlay, o); + + + if (this.gotOverlays) { + this.positionOverlay(overlay); + if (!overlay.hideOnMouseOut || this.mouseIsOver) + hs.animate(overlay, { opacity: overlay.opacity }, overlay.dur); + } + hs.push(this.overlays, hs.idCounter - 1); +}, +positionOverlay : function(overlay) { + var p = overlay.position || 'middle center', + relToVP = (overlay.relativeTo == 'viewport'), + offX = overlay.offsetX, + offY = overlay.offsetY; + if (relToVP) { + hs.viewport.style.display = 'block'; + overlay.hsKey = this.key; + if (overlay.offsetWidth > overlay.parentNode.offsetWidth) + overlay.style.width = '100%'; + } else + if (overlay.parentNode != this.overlayBox) this.overlayBox.appendChild(overlay); + if (/left$/.test(p)) overlay.style.left = offX +'px'; + + if (/center$/.test(p)) hs.setStyles (overlay, { + left: '50%', + marginLeft: (offX - Math.round(overlay.offsetWidth / 2)) +'px' + }); + + if (/right$/.test(p)) overlay.style.right = - offX +'px'; + + if (/^leftpanel$/.test(p)) { + hs.setStyles(overlay, { + right: '100%', + marginRight: this.x.cb +'px', + top: - this.y.cb +'px', + bottom: - this.y.cb +'px', + overflow: 'auto' + }); + this.x.p1 = overlay.offsetWidth; + + } else if (/^rightpanel$/.test(p)) { + hs.setStyles(overlay, { + left: '100%', + marginLeft: this.x.cb +'px', + top: - this.y.cb +'px', + bottom: - this.y.cb +'px', + overflow: 'auto' + }); + this.x.p2 = overlay.offsetWidth; + } + var parOff = overlay.parentNode.offsetHeight; + overlay.style.height = 'auto'; + if (relToVP && overlay.offsetHeight > parOff) + overlay.style.height = hs.ieLt7 ? parOff +'px' : '100%'; + + if (/^top/.test(p)) overlay.style.top = offY +'px'; + if (/^middle/.test(p)) hs.setStyles (overlay, { + top: '50%', + marginTop: (offY - Math.round(overlay.offsetHeight / 2)) +'px' + }); + if (/^bottom/.test(p)) overlay.style.bottom = - offY +'px'; + if (/^above$/.test(p)) { + hs.setStyles(overlay, { + left: (- this.x.p1 - this.x.cb) +'px', + right: (- this.x.p2 - this.x.cb) +'px', + bottom: '100%', + marginBottom: this.y.cb +'px', + width: 'auto' + }); + this.y.p1 = overlay.offsetHeight; + + } else if (/^below$/.test(p)) { + hs.setStyles(overlay, { + position: 'relative', + left: (- this.x.p1 - this.x.cb) +'px', + right: (- this.x.p2 - this.x.cb) +'px', + top: '100%', + marginTop: this.y.cb +'px', + width: 'auto' + }); + this.y.p2 = overlay.offsetHeight; + overlay.style.position = 'absolute'; + } +}, + +getOverlays : function() { + this.getInline(['heading', 'caption'], true); + this.getNumber(); + if (this.caption) hs.fireEvent(this, 'onAfterGetCaption'); + if (this.heading) hs.fireEvent(this, 'onAfterGetHeading'); + if (this.heading && this.dragByHeading) this.heading.className += ' highslide-move'; + if (hs.showCredits) this.writeCredits(); + for (var i = 0; i < hs.overlays.length; i++) { + var o = hs.overlays[i], tId = o.thumbnailId, sg = o.slideshowGroup; + if ((!tId && !sg) || (tId && tId == this.thumbsUserSetId) + || (sg && sg === this.slideshowGroup)) { + if (this.isImage || (this.isHtml && o.useOnHtml)) + this.createOverlay(o); + } + } + var os = []; + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + if (/panel$/.test(o.position)) this.positionOverlay(o); + else hs.push(os, o); + } + for (var i = 0; i < os.length; i++) this.positionOverlay(os[i]); + this.gotOverlays = true; +}, +genOverlayBox : function() { + if (!this.overlayBox) this.overlayBox = hs.createElement ( + 'div', { + className: this.wrapperClassName + }, { + position : 'absolute', + width: (this.x.size || (this.useBox ? this.width : null) + || this.x.full) +'px', + height: (this.y.size || this.y.full) +'px', + visibility : 'hidden', + overflow : 'hidden', + zIndex : hs.ie ? 4 : 'auto' + }, + hs.container, + true + ); +}, +sizeOverlayBox : function(doWrapper, doPanels) { + var overlayBox = this.overlayBox, + x = this.x, + y = this.y; + hs.setStyles( overlayBox, { + width: x.size +'px', + height: y.size +'px' + }); + if (doWrapper || doPanels) { + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + var ie6 = (hs.ieLt7 || document.compatMode == 'BackCompat'); + if (o && /^(above|below)$/.test(o.position)) { + if (ie6) { + o.style.width = (overlayBox.offsetWidth + 2 * x.cb + + x.p1 + x.p2) +'px'; + } + y[o.position == 'above' ? 'p1' : 'p2'] = o.offsetHeight; + } + if (o && ie6 && /^(left|right)panel$/.test(o.position)) { + o.style.height = (overlayBox.offsetHeight + 2* y.cb) +'px'; + } + } + } + if (doWrapper) { + hs.setStyles(this.content, { + top: y.p1 +'px' + }); + hs.setStyles(overlayBox, { + top: (y.p1 + y.cb) +'px' + }); + } +}, + +showOverlays : function() { + var b = this.overlayBox; + b.className = ''; + hs.setStyles(b, { + top: (this.y.p1 + this.y.cb) +'px', + left: (this.x.p1 + this.x.cb) +'px', + overflow : 'visible' + }); + if (hs.safari) b.style.visibility = 'visible'; + this.wrapper.appendChild (b); + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + o.style.zIndex = o.zIndex || 4; + if (!o.hideOnMouseOut || this.mouseIsOver) { + o.style.visibility = 'visible'; + hs.setStyles(o, { visibility: 'visible', display: '' }); + hs.animate(o, { opacity: o.opacity }, o.dur); + } + } +}, + +destroyOverlays : function() { + if (!this.overlays.length) return; + if (this.slideshow) { + var c = this.slideshow.controls; + if (c && hs.getExpander(c) == this) c.parentNode.removeChild(c); + } + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + if (o && o.parentNode == hs.viewport && hs.getExpander(o) == this) hs.discardElement(o); + } + if (this.isHtml && this.preserveContent) { + this.overlayBox.style.top = '-9999px'; + hs.container.appendChild(this.overlayBox); + } else + hs.discardElement(this.overlayBox); +}, + + + +createFullExpand : function () { + if (this.slideshow && this.slideshow.controls) { + this.slideshow.enable('full-expand'); + return; + } + this.fullExpandLabel = hs.createElement( + 'a', { + href: 'javascript:hs.expanders['+ this.key +'].doFullExpand();', + title: hs.lang.fullExpandTitle, + className: 'highslide-full-expand' + } + ); + if (!hs.fireEvent(this, 'onCreateFullExpand')) return; + + this.createOverlay({ + overlayId: this.fullExpandLabel, + position: hs.fullExpandPosition, + hideOnMouseOut: true, + opacity: hs.fullExpandOpacity + }); +}, + +doFullExpand : function () { + try { + if (!hs.fireEvent(this, 'onDoFullExpand')) return; + if (this.fullExpandLabel) hs.discardElement(this.fullExpandLabel); + + this.focus(); + var xSize = this.x.size, + ySize = this.y.size; + this.resizeTo(this.x.full, this.y.full); + + var xpos = this.x.pos - (this.x.size - xSize) / 2; + if (xpos < hs.marginLeft) xpos = hs.marginLeft; + + var ypos = this.y.pos - (this.y.size - ySize) / 2; + if (ypos < hs.marginTop) ypos = hs.marginTop; + + this.moveTo(xpos, ypos); + this.doShowHide('hidden'); + + } catch (e) { + this.error(e); + } +}, + + +afterClose : function () { + this.a.className = this.a.className.replace('highslide-active-anchor', ''); + + this.doShowHide('visible'); + + if (this.isHtml && this.preserveContent + && this.transitions[1] != 'crossfade') { + this.sleep(); + } else { + if (this.outline && this.outlineWhileAnimating) this.outline.destroy(); + + hs.discardElement(this.wrapper); + } + if (hs.mask) hs.mask.style.display = 'none'; + this.destroyOverlays(); + if (!hs.viewport.childNodes.length) hs.viewport.style.display = 'none'; + + if (this.dimmingOpacity) hs.undim(this.key); + hs.fireEvent(this, 'onAfterClose'); + hs.expanders[this.key] = null; + hs.reOrder(); +} + +}; + + +// hs.Ajax object prototype +hs.Ajax = function (a, content, pre) { + this.a = a; + this.content = content; + this.pre = pre; +}; + +hs.Ajax.prototype = { +run : function () { + var xhr; + if (!this.src) this.src = hs.getSrc(this.a); + if (this.src.match('#')) { + var arr = this.src.split('#'); + this.src = arr[0]; + this.id = arr[1]; + } + if (hs.cachedGets[this.src]) { + this.cachedGet = hs.cachedGets[this.src]; + if (this.id) this.getElementContent(); + else this.loadHTML(); + return; + } + try { xhr = new XMLHttpRequest(); } + catch (e) { + try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } + catch (e) { + try { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } + catch (e) { this.onError(); } + } + } + var pThis = this; + xhr.onreadystatechange = function() { + if(pThis.xhr.readyState == 4) { + if (pThis.id) pThis.getElementContent(); + else pThis.loadHTML(); + } + }; + var src = this.src; + this.xhr = xhr; + if (hs.forceAjaxReload) + src = src.replace(/$/, (/\?/.test(src) ? '&' : '?') +'dummy='+ (new Date()).getTime()); + xhr.open('GET', src, true); + xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); + xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); + xhr.send(null); +}, + +getElementContent : function() { + hs.init(); + var attribs = window.opera || hs.ie6SSL ? { src: 'about:blank' } : null; + + this.iframe = hs.createElement('iframe', attribs, + { position: 'absolute', top: '-9999px' }, hs.container); + + this.loadHTML(); +}, + +loadHTML : function() { + var s = this.cachedGet || this.xhr.responseText, + regBody; + if (this.pre) hs.cachedGets[this.src] = s; + if (!hs.ie || hs.uaVersion >= 5.5) { + s = s.replace(new RegExp(']*>', 'gi'), '') + .replace(new RegExp(']*>.*?', 'gi'), ''); + if (this.iframe) { + var doc = this.iframe.contentDocument; + if (!doc && this.iframe.contentWindow) doc = this.iframe.contentWindow.document; + if (!doc) { // Opera + var pThis = this; + setTimeout(function() { pThis.loadHTML(); }, 25); + return; + } + doc.open(); + doc.write(s); + doc.close(); + try { s = doc.getElementById(this.id).innerHTML; } catch (e) { + try { s = this.iframe.document.getElementById(this.id).innerHTML; } catch (e) {} // opera + } + hs.discardElement(this.iframe); + } else { + regBody = /(]*>|<\/body>)/ig; + if (regBody.test(s)) s = s.split(regBody)[hs.ieLt9 ? 1 : 2]; + + } + } + hs.getElementByClass(this.content, 'DIV', 'highslide-body').innerHTML = s; + this.onLoad(); + for (var x in this) this[x] = null; +} +}; + + +hs.Slideshow = function (expKey, options) { + if (hs.dynamicallyUpdateAnchors !== false) hs.updateAnchors(); + this.expKey = expKey; + for (var x in options) this[x] = options[x]; + if (this.useControls) this.getControls(); + if (this.thumbstrip) this.thumbstrip = hs.Thumbstrip(this); +}; +hs.Slideshow.prototype = { +getControls: function() { + this.controls = hs.createElement('div', { innerHTML: hs.replaceLang(hs.skin.controls) }, + null, hs.container); + + var buttons = ['play', 'pause', 'previous', 'next', 'move', 'full-expand', 'close']; + this.btn = {}; + var pThis = this; + for (var i = 0; i < buttons.length; i++) { + this.btn[buttons[i]] = hs.getElementByClass(this.controls, 'li', 'highslide-'+ buttons[i]); + this.enable(buttons[i]); + } + this.btn.pause.style.display = 'none'; + //this.disable('full-expand'); +}, +checkFirstAndLast: function() { + if (this.repeat || !this.controls) return; + var exp = hs.expanders[this.expKey], + cur = exp.getAnchorIndex(), + re = /disabled$/; + if (cur == 0) + this.disable('previous'); + else if (re.test(this.btn.previous.getElementsByTagName('a')[0].className)) + this.enable('previous'); + if (cur + 1 == hs.anchors.groups[exp.slideshowGroup || 'none'].length) { + this.disable('next'); + this.disable('play'); + } else if (re.test(this.btn.next.getElementsByTagName('a')[0].className)) { + this.enable('next'); + this.enable('play'); + } +}, +enable: function(btn) { + if (!this.btn) return; + var sls = this, a = this.btn[btn].getElementsByTagName('a')[0], re = /disabled$/; + a.onclick = function() { + sls[btn](); + return false; + }; + if (re.test(a.className)) a.className = a.className.replace(re, ''); +}, +disable: function(btn) { + if (!this.btn) return; + var a = this.btn[btn].getElementsByTagName('a')[0]; + a.onclick = function() { return false; }; + if (!/disabled$/.test(a.className)) a.className += ' disabled'; +}, +hitSpace: function() { + if (this.autoplay) this.pause(); + else this.play(); +}, +play: function(wait) { + if (this.btn) { + this.btn.play.style.display = 'none'; + this.btn.pause.style.display = ''; + } + + this.autoplay = true; + if (!wait) hs.next(this.expKey); +}, +pause: function() { + if (this.btn) { + this.btn.pause.style.display = 'none'; + this.btn.play.style.display = ''; + } + + clearTimeout(this.autoplay); + this.autoplay = null; +}, +previous: function() { + this.pause(); + hs.previous(this.btn.previous); +}, +next: function() { + this.pause(); + hs.next(this.btn.next); +}, +move: function() {}, +'full-expand': function() { + hs.getExpander().doFullExpand(); +}, +close: function() { + hs.close(this.btn.close); +} +}; +hs.Thumbstrip = function(slideshow) { + function add (exp) { + hs.extend(options || {}, { + overlayId: dom, + hsId: 'thumbstrip', + className: 'highslide-thumbstrip-'+ mode +'-overlay ' + (options.className || '') + }); + if (hs.ieLt7) options.fade = 0; + exp.createOverlay(options); + hs.setStyles(dom.parentNode, { overflow: 'hidden' }); + }; + + function scroll (delta) { + selectThumb(undefined, Math.round(delta * dom[isX ? 'offsetWidth' : 'offsetHeight'] * 0.7)); + }; + + function selectThumb (i, scrollBy) { + if (i === undefined) for (var j = 0; j < group.length; j++) { + if (group[j] == hs.expanders[slideshow.expKey].a) { + i = j; + break; + } + } + if (i === undefined) return; + var as = dom.getElementsByTagName('a'), + active = as[i], + cell = active.parentNode, + left = isX ? 'Left' : 'Top', + right = isX ? 'Right' : 'Bottom', + width = isX ? 'Width' : 'Height', + offsetLeft = 'offset' + left, + offsetWidth = 'offset' + width, + overlayWidth = div.parentNode.parentNode[offsetWidth], + minTblPos = overlayWidth - table[offsetWidth], + curTblPos = parseInt(table.style[isX ? 'left' : 'top']) || 0, + tblPos = curTblPos, + mgnRight = 20; + if (scrollBy !== undefined) { + tblPos = curTblPos - scrollBy; + + if (minTblPos > 0) minTblPos = 0; + if (tblPos > 0) tblPos = 0; + if (tblPos < minTblPos) tblPos = minTblPos; + + + } else { + for (var j = 0; j < as.length; j++) as[j].className = ''; + active.className = 'highslide-active-anchor'; + var activeLeft = i > 0 ? as[i - 1].parentNode[offsetLeft] : cell[offsetLeft], + activeRight = cell[offsetLeft] + cell[offsetWidth] + + (as[i + 1] ? as[i + 1].parentNode[offsetWidth] : 0); + if (activeRight > overlayWidth - curTblPos) tblPos = overlayWidth - activeRight; + else if (activeLeft < -curTblPos) tblPos = -activeLeft; + } + var markerPos = cell[offsetLeft] + (cell[offsetWidth] - marker[offsetWidth]) / 2 + tblPos; + hs.animate(table, isX ? { left: tblPos } : { top: tblPos }, null, 'easeOutQuad'); + hs.animate(marker, isX ? { left: markerPos } : { top: markerPos }, null, 'easeOutQuad'); + scrollUp.style.display = tblPos < 0 ? 'block' : 'none'; + scrollDown.style.display = (tblPos > minTblPos) ? 'block' : 'none'; + + }; + + + // initialize + var group = hs.anchors.groups[hs.expanders[slideshow.expKey].slideshowGroup || 'none'], + options = slideshow.thumbstrip, + mode = options.mode || 'horizontal', + floatMode = (mode == 'float'), + tree = floatMode ? ['div', 'ul', 'li', 'span'] : ['table', 'tbody', 'tr', 'td'], + isX = (mode == 'horizontal'), + dom = hs.createElement('div', { + className: 'highslide-thumbstrip highslide-thumbstrip-'+ mode, + innerHTML: + '
      '+ + '<'+ tree[0] +'><'+ tree[1] +'>
      '+ + '
      '+ + '
      '+ + '
      ' + }, { + display: 'none' + }, hs.container), + domCh = dom.childNodes, + div = domCh[0], + scrollUp = domCh[1], + scrollDown = domCh[2], + marker = domCh[3], + table = div.firstChild, + tbody = dom.getElementsByTagName(tree[1])[0], + tr; + for (var i = 0; i < group.length; i++) { + if (i == 0 || !isX) tr = hs.createElement(tree[2], null, null, tbody); + (function(){ + var a = group[i], + cell = hs.createElement(tree[3], null, null, tr), + pI = i; + hs.createElement('a', { + href: a.href, + title: a.title, + onclick: function() { + if (/highslide-active-anchor/.test(this.className)) return false; + hs.getExpander(this).focus(); + return hs.transit(a); + }, + innerHTML: hs.stripItemFormatter ? hs.stripItemFormatter(a) : a.innerHTML + }, null, cell); + })(); + } + if (!floatMode) { + scrollUp.onclick = function () { scroll(-1); }; + scrollDown.onclick = function() { scroll(1); }; + hs.addEventListener(tbody, document.onmousewheel !== undefined ? + 'mousewheel' : 'DOMMouseScroll', function(e) { + var delta = 0; + e = e || window.event; + if (e.wheelDelta) { + delta = e.wheelDelta/120; + if (hs.opera) delta = -delta; + } else if (e.detail) { + delta = -e.detail/3; + } + if (delta) scroll(-delta * 0.2); + if (e.preventDefault) e.preventDefault(); + e.returnValue = false; + }); + } + + return { + add: add, + selectThumb: selectThumb + } +}; +hs.langDefaults = hs.lang; +// history +var HsExpander = hs.Expander; +if (hs.ie && window == window.top) { + (function () { + try { + document.documentElement.doScroll('left'); + } catch (e) { + setTimeout(arguments.callee, 50); + return; + } + hs.ready(); + })(); +} +hs.addEventListener(document, 'DOMContentLoaded', hs.ready); +hs.addEventListener(window, 'load', hs.ready); + +// set handlers +hs.addEventListener(document, 'ready', function() { + if (hs.expandCursor || hs.dimmingOpacity) { + var style = hs.createElement('style', { type: 'text/css' }, null, + document.getElementsByTagName('HEAD')[0]), + backCompat = document.compatMode == 'BackCompat'; + + + function addRule(sel, dec) { + if (hs.ie && (hs.uaVersion < 9 || backCompat)) { + var last = document.styleSheets[document.styleSheets.length - 1]; + if (typeof(last.addRule) == "object") last.addRule(sel, dec); + } else { + style.appendChild(document.createTextNode(sel + " {" + dec + "}")); + } + } + function fix(prop) { + return 'expression( ( ( ignoreMe = document.documentElement.'+ prop + + ' ? document.documentElement.'+ prop +' : document.body.'+ prop +' ) ) + \'px\' );'; + } + if (hs.expandCursor) addRule ('.highslide img', + 'cursor: url('+ hs.graphicsDir + hs.expandCursor +'), pointer !important;'); + addRule ('.highslide-viewport-size', + hs.ie && (hs.uaVersion < 7 || backCompat) ? + 'position: absolute; '+ + 'left:'+ fix('scrollLeft') + + 'top:'+ fix('scrollTop') + + 'width:'+ fix('clientWidth') + + 'height:'+ fix('clientHeight') : + 'position: fixed; width: 100%; height: 100%; left: 0; top: 0'); + } +}); +hs.addEventListener(window, 'resize', function() { + hs.getPageSize(); + if (hs.viewport) for (var i = 0; i < hs.viewport.childNodes.length; i++) { + var node = hs.viewport.childNodes[i], + exp = hs.getExpander(node); + exp.positionOverlay(node); + if (node.hsId == 'thumbstrip') exp.slideshow.thumbstrip.selectThumb(); + } +}); +hs.addEventListener(document, 'mousemove', function(e) { + hs.mouse = { x: e.clientX, y: e.clientY }; +}); +hs.addEventListener(document, 'mousedown', hs.mouseClickHandler); +hs.addEventListener(document, 'mouseup', hs.mouseClickHandler); +hs.addEventListener(document, 'ready', hs.setClickEvents); +hs.addEventListener(window, 'load', hs.preloadImages); +hs.addEventListener(window, 'load', hs.preloadAjax); +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-full.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-full.min.js new file mode 100644 index 0000000..e4f6f2e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-full.min.js @@ -0,0 +1,9 @@ +/** + * Name: Highslide JS + * Version: 4.1.13 (2011-10-06) + * Config: default +events +unobtrusive +imagemap +slideshow +positioning +transitions +viewport +thumbstrip +inline +ajax +iframe +flash + * Author: Torstein Hønsi + * Support: www.highslide.com/support + * License: www.highslide.com/#license + */ +if(!hs){var hs={lang:{cssDirection:"ltr",loadingText:"Loading...",loadingTitle:"Click to cancel",focusTitle:"Click to bring to front",fullExpandTitle:"Expand to actual size (f)",creditsText:"Powered by Highslide JS",creditsTitle:"Go to the Highslide JS homepage",previousText:"Previous",nextText:"Next",moveText:"Move",closeText:"Close",closeTitle:"Close (esc)",resizeTitle:"Resize",playText:"Play",playTitle:"Play slideshow (spacebar)",pauseText:"Pause",pauseTitle:"Pause slideshow (spacebar)",previousTitle:"Previous (arrow left)",nextTitle:"Next (arrow right)",moveTitle:"Move",fullExpandText:"1:1",number:"Image %1 of %2",restoreTitle:"Click to close image, click and drag to move. Use arrow keys for next and previous."},graphicsDir:"highslide/graphics/",expandCursor:"zoomin.cur",restoreCursor:"zoomout.cur",expandDuration:250,restoreDuration:250,marginLeft:15,marginRight:15,marginTop:15,marginBottom:15,zIndexCounter:10001,loadingOpacity:0.75,allowMultipleInstances:true,numberOfImagesToPreload:5,outlineWhileAnimating:2,outlineStartOffset:3,padToMinWidth:false,fullExpandPosition:"bottom right",fullExpandOpacity:1,showCredits:true,creditsHref:"http://highslide.com/",creditsTarget:"_self",enableKeyListener:true,openerTagNames:["a","area"],transitions:[],transitionDuration:250,dimmingOpacity:0,dimmingDuration:50,allowWidthReduction:false,allowHeightReduction:true,preserveContent:true,objectLoadTime:"before",cacheAjax:true,anchor:"auto",align:"auto",targetX:null,targetY:null,dragByHeading:true,minWidth:200,minHeight:200,allowSizeReduction:true,outlineType:"drop-shadow",skin:{controls:'',contentWrapper:'
      '},preloadTheseImages:[],continuePreloading:true,expanders:[],overrides:["allowSizeReduction","useBox","anchor","align","targetX","targetY","outlineType","outlineWhileAnimating","captionId","captionText","captionEval","captionOverlay","headingId","headingText","headingEval","headingOverlay","creditsPosition","dragByHeading","autoplay","numberPosition","transitions","dimmingOpacity","width","height","contentId","allowWidthReduction","allowHeightReduction","preserveContent","maincontentId","maincontentText","maincontentEval","objectType","cacheAjax","objectWidth","objectHeight","objectLoadTime","swfOptions","wrapperClassName","minWidth","minHeight","maxWidth","maxHeight","pageOrigin","slideshowGroup","easing","easingClose","fadeInOut","src"],overlays:[],idCounter:0,oPos:{x:["leftpanel","left","center","right","rightpanel"],y:["above","top","middle","bottom","below"]},mouse:{},headingOverlay:{},captionOverlay:{},swfOptions:{flashvars:{},params:{},attributes:{}},timers:[],slideshows:[],pendingOutlines:{},sleeping:[],preloadTheseAjax:[],cacheBindings:[],cachedGets:{},clones:{},onReady:[],uaVersion:/Trident\/4\.0/.test(navigator.userAgent)?8:parseFloat((navigator.userAgent.toLowerCase().match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1]),ie:(document.all&&!window.opera),safari:/Safari/.test(navigator.userAgent),geckoMac:/Macintosh.+rv:1\.[0-8].+Gecko/.test(navigator.userAgent),$:function(a){if(a){return document.getElementById(a)}},push:function(a,b){a[a.length]=b},createElement:function(a,f,e,d,c){var b=document.createElement(a);if(f){hs.extend(b,f)}if(c){hs.setStyles(b,{padding:0,border:"none",margin:0})}if(e){hs.setStyles(b,e)}if(d){d.appendChild(b)}return b},extend:function(b,c){for(var a in c){b[a]=c[a]}return b},setStyles:function(b,c){for(var a in c){if(hs.ieLt9&&a=="opacity"){if(c[a]>0.99){b.style.removeAttribute("filter")}else{b.style.filter="alpha(opacity="+(c[a]*100)+")"}}else{b.style[a]=c[a]}}},animate:function(f,a,d){var c,g,j;if(typeof d!="object"||d===null){var i=arguments;d={duration:i[2],easing:i[3],complete:i[4]}}if(typeof d.duration!="number"){d.duration=250}d.easing=Math[d.easing]||Math.easeInQuad;d.curAnim=hs.extend({},a);for(var b in a){var h=new hs.fx(f,d,b);c=parseFloat(hs.css(f,b))||0;g=parseFloat(a[b]);j=b!="opacity"?"px":"";h.custom(c,g,j)}},css:function(a,c){if(a.style[c]){return a.style[c]}else{if(document.defaultView){return document.defaultView.getComputedStyle(a,null).getPropertyValue(c)}else{if(c=="opacity"){c="filter"}var b=a.currentStyle[c.replace(/\-(\w)/g,function(e,d){return d.toUpperCase()})];if(c=="filter"){b=b.replace(/alpha\(opacity=([0-9]+)\)/,function(e,d){return d/100})}return b===""?1:b}}},getPageSize:function(){var f=document,b=window,e=f.compatMode&&f.compatMode!="BackCompat"?f.documentElement:f.body,g=hs.ie&&(hs.uaVersion<9||typeof pageXOffset=="undefined");var c=g?e.clientWidth:(f.documentElement.clientWidth||self.innerWidth),a=g?e.clientHeight:self.innerHeight;hs.page={width:c,height:a,scrollLeft:g?e.scrollLeft:pageXOffset,scrollTop:g?e.scrollTop:pageYOffset};return hs.page},getPosition:function(c){if(/area/i.test(c.tagName)){var e=document.getElementsByTagName("img");for(var b=0;bc){c=f;b=d}}}if(b==-1){hs.focusKey=-1}else{a[b].focus()}},getParam:function(b,d){b.getParams=b.onclick;var c=b.getParams?b.getParams():null;b.getParams=null;return(c&&typeof c[d]!="undefined")?c[d]:(typeof hs[d]!="undefined"?hs[d]:null)},getSrc:function(b){var c=hs.getParam(b,"src");if(c){return c}return b.href},getNode:function(e){var c=hs.$(e),d=hs.clones[e],b={};if(!c&&!d){return null}if(!d){d=c.cloneNode(true);d.id="";hs.clones[e]=d;return c}else{return d.cloneNode(true)}},discardElement:function(a){if(a){hs.garbageBin.appendChild(a)}hs.garbageBin.innerHTML=""},dim:function(d){if(!hs.dimmer){a=true;hs.dimmer=hs.createElement("div",{className:"highslide-dimming highslide-viewport-size",owner:"",onclick:function(){if(hs.fireEvent(hs,"onDimmerClick")){hs.close()}}},{visibility:"visible",opacity:0},hs.container,true);if(/(Android|iPad|iPhone|iPod)/.test(navigator.userAgent)){var b=document.body;function c(){hs.setStyles(hs.dimmer,{width:b.scrollWidth+"px",height:b.scrollHeight+"px"})}c();hs.addEventListener(window,"resize",c)}}hs.dimmer.style.display="";var a=hs.dimmer.owner=="";hs.dimmer.owner+="|"+d.key;if(a){if(hs.geckoMac&&hs.dimmingGeckoFix){hs.setStyles(hs.dimmer,{background:"url("+hs.graphicsDir+"geckodimmer.png)",opacity:1})}else{hs.animate(hs.dimmer,{opacity:d.dimmingOpacity},hs.dimmingDuration)}}},undim:function(a){if(!hs.dimmer){return}if(typeof a!="undefined"){hs.dimmer.owner=hs.dimmer.owner.replace("|"+a,"")}if((typeof a!="undefined"&&hs.dimmer.owner!="")||(hs.upcoming&&hs.getParam(hs.upcoming,"dimmingOpacity"))){return}if(hs.geckoMac&&hs.dimmingGeckoFix){hs.dimmer.style.display="none"}else{hs.animate(hs.dimmer,{opacity:0},hs.dimmingDuration,null,function(){hs.dimmer.style.display="none"})}},transit:function(a,d){var b=d||hs.getExpander();d=b;if(hs.upcoming){return false}else{hs.last=b}hs.removeEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler);try{hs.upcoming=a;a.onclick()}catch(c){hs.last=hs.upcoming=null}try{if(!a||d.transitions[1]!="crossfade"){d.close()}}catch(c){}return false},previousOrNext:function(a,c){var b=hs.getExpander(a);if(b){return hs.transit(b.getAdjacentAnchor(c),b)}else{return false}},previous:function(a){return hs.previousOrNext(a,-1)},next:function(a){return hs.previousOrNext(a,1)},keyHandler:function(a){if(!a){a=window.event}if(!a.target){a.target=a.srcElement}if(typeof a.target.form!="undefined"){return true}if(!hs.fireEvent(hs,"onKeyDown",a)){return true}var b=hs.getExpander();var c=null;switch(a.keyCode){case 70:if(b){b.doFullExpand()}return true;case 32:c=2;break;case 34:case 39:case 40:c=1;break;case 8:case 33:case 37:case 38:c=-1;break;case 27:case 13:c=0}if(c!==null){if(c!=2){hs.removeEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler)}if(!hs.enableKeyListener){return true}if(a.preventDefault){a.preventDefault()}else{a.returnValue=false}if(b){if(c==0){b.close()}else{if(c==2){if(b.slideshow){b.slideshow.hitSpace()}}else{if(b.slideshow){b.slideshow.pause()}hs.previousOrNext(b.key,c)}}return false}}return true},registerOverlay:function(a){hs.push(hs.overlays,hs.extend(a,{hsId:"hsId"+hs.idCounter++}))},addSlideshow:function(b){var d=b.slideshowGroup;if(typeof d=="object"){for(var c=0;c1){return true}if(!d.target){d.target=d.srcElement}var b=d.target;while(b.parentNode&&!(/highslide-(image|move|html|resize)/.test(b.className))){b=b.parentNode}var f=hs.getExpander(b);if(f&&(f.isClosing||!f.isExpanded)){return true}if(f&&d.type=="mousedown"){if(d.target.form){return true}var a=b.className.match(/highslide-(image|move|resize)/);if(a){hs.dragArgs={exp:f,type:a[1],left:f.x.pos,width:f.x.size,top:f.y.pos,height:f.y.size,clickX:d.clientX,clickY:d.clientY};hs.addEventListener(document,"mousemove",hs.dragHandler);if(d.preventDefault){d.preventDefault()}if(/highslide-(image|html)-blur/.test(f.content.className)){f.focus();hs.hasFocused=true}return false}else{if(/highslide-html/.test(b.className)&&hs.focusKey!=f.key){f.focus();f.doShowHide("hidden")}}}else{if(d.type=="mouseup"){hs.removeEventListener(document,"mousemove",hs.dragHandler);if(hs.dragArgs){if(hs.styleRestoreCursor&&hs.dragArgs.type=="image"){hs.dragArgs.exp.content.style.cursor=hs.styleRestoreCursor}var c=hs.dragArgs.hasDragged;if(!c&&!hs.hasFocused&&!/(move|resize)/.test(hs.dragArgs.type)){if(hs.fireEvent(f,"onImageClick")){f.close()}}else{if(c||(!c&&hs.hasHtmlExpanders)){hs.dragArgs.exp.doShowHide("hidden")}}if(hs.dragArgs.exp.releaseMask){hs.dragArgs.exp.releaseMask.style.display="none"}if(c){hs.fireEvent(hs.dragArgs.exp,"onDrop",hs.dragArgs)}hs.hasFocused=false;hs.dragArgs=null}else{if(/highslide-image-blur/.test(b.className)){b.style.cursor=hs.styleRestoreCursor}}}}return false},dragHandler:function(c){if(!hs.dragArgs){return true}if(!c){c=window.event}var b=hs.dragArgs,d=b.exp;if(d.iframe){if(!d.releaseMask){d.releaseMask=hs.createElement("div",null,{position:"absolute",width:d.x.size+"px",height:d.y.size+"px",left:d.x.cb+"px",top:d.y.cb+"px",zIndex:4,background:(hs.ieLt9?"white":"none"),opacity:0.01},d.wrapper,true)}if(d.releaseMask.style.display=="none"){d.releaseMask.style.display=""}}b.dX=c.clientX-b.clickX;b.dY=c.clientY-b.clickY;var f=Math.sqrt(Math.pow(b.dX,2)+Math.pow(b.dY,2));if(!b.hasDragged){b.hasDragged=(b.type!="image"&&f>0)||(f>(hs.dragSensitivity||5))}if(b.hasDragged&&c.clientX>5&&c.clientY>5){if(!hs.fireEvent(d,"onDrag",b)){return false}if(b.type=="resize"){d.resize(b)}else{d.moveTo(b.left+b.dX,b.top+b.dY);if(b.type=="image"){d.content.style.cursor="move"}}}return false},wrapperMouseHandler:function(c){try{if(!c){c=window.event}var b=/mouseover/i.test(c.type);if(!c.target){c.target=c.srcElement}if(!c.relatedTarget){c.relatedTarget=b?c.fromElement:c.toElement}var d=hs.getExpander(c.target);if(!d.isExpanded){return}if(!d||!c.relatedTarget||hs.getExpander(c.relatedTarget,true)==d||hs.dragArgs){return}hs.fireEvent(d,b?"onMouseOver":"onMouseOut",c);for(var a=0;a=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var a=true;for(var b in this.options.curAnim){if(this.options.curAnim[b]!==true){a=false}}if(a){if(this.options.complete){this.options.complete.call(this.elem)}}return false}else{var e=c-this.startTime;this.state=e/this.options.duration;this.pos=this.options.easing(e,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};hs.extend(hs.fx,{step:{opacity:function(a){hs.setStyles(a.elem,{opacity:a.now})},_default:function(a){try{if(a.elem.style&&a.elem.style[a.prop]!=null){a.elem.style[a.prop]=a.now+a.unit}else{a.elem[a.prop]=a.now}}catch(b){}}}});hs.Outline=function(g,e){this.onLoad=e;this.outlineType=g;var a=hs.uaVersion,f;this.hasAlphaImageLoader=hs.ie&&hs.uaVersion<7;if(!g){if(e){e()}return}hs.init();this.table=hs.createElement("table",{cellSpacing:0},{visibility:"hidden",position:"absolute",borderCollapse:"collapse",width:0},hs.container,true);var b=hs.createElement("tbody",null,null,this.table,1);this.td=[];for(var c=0;c<=8;c++){if(c%3==0){f=hs.createElement("tr",null,{height:"auto"},b,true)}this.td[c]=hs.createElement("td",null,null,f,true);var d=c!=4?{lineHeight:0,fontSize:0}:{position:"relative"};hs.setStyles(this.td[c],d)}this.td[4].className=g+" highslide-outline";this.preloadGraphic()};hs.Outline.prototype={preloadGraphic:function(){var b=hs.graphicsDir+(hs.outlinesDir||"outlines/")+this.outlineType+".png";var a=hs.safari&&hs.uaVersion<525?hs.container:null;this.graphic=hs.createElement("img",null,{position:"absolute",top:"-9999px"},a,true);var c=this;this.graphic.onload=function(){c.onGraphicLoad()};this.graphic.src=b},onGraphicLoad:function(){var d=this.offset=this.graphic.width/4,f=[[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]],c={height:(2*d)+"px",width:(2*d)+"px"};for(var b=0;b<=8;b++){if(f[b]){if(this.hasAlphaImageLoader){var a=(b==1||b==7)?"100%":this.graphic.width+"px";var e=hs.createElement("div",null,{width:"100%",height:"100%",position:"relative",overflow:"hidden"},this.td[b],true);hs.createElement("div",null,{filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale, src='"+this.graphic.src+"')",position:"absolute",width:a,height:this.graphic.height+"px",left:(f[b][0]*d)+"px",top:(f[b][1]*d)+"px"},e,true)}else{hs.setStyles(this.td[b],{background:"url("+this.graphic.src+") "+(f[b][0]*d)+"px "+(f[b][1]*d)+"px"})}if(window.opera&&(b==3||b==5)){hs.createElement("div",null,c,this.td[b],true)}hs.setStyles(this.td[b],c)}}this.graphic=null;if(hs.pendingOutlines[this.outlineType]){hs.pendingOutlines[this.outlineType].destroy()}hs.pendingOutlines[this.outlineType]=this;if(this.onLoad){this.onLoad()}},setPosition:function(g,e,c,b,f){var d=this.exp,a=d.wrapper.style,e=e||0,g=g||{x:d.x.pos+e,y:d.y.pos+e,w:d.x.get("wsize")-2*e,h:d.y.get("wsize")-2*e};if(c){this.table.style.visibility=(g.h>=4*this.offset)?"visible":"hidden"}hs.setStyles(this.table,{left:(g.x-this.offset)+"px",top:(g.y-this.offset)+"px",width:(g.w+2*this.offset)+"px"});g.w-=2*this.offset;g.h-=2*this.offset;hs.setStyles(this.td[4],{width:g.w>=0?g.w+"px":0,height:g.h>=0?g.h+"px":0});if(this.hasAlphaImageLoader){this.td[3].style.height=this.td[5].style.height=this.td[4].style.height}},destroy:function(a){if(a){this.table.style.visibility="hidden"}else{hs.discardElement(this.table)}}};hs.Dimension=function(b,a){this.exp=b;this.dim=a;this.ucwh=a=="x"?"Width":"Height";this.wh=this.ucwh.toLowerCase();this.uclt=a=="x"?"Left":"Top";this.lt=this.uclt.toLowerCase();this.ucrb=a=="x"?"Right":"Bottom";this.rb=this.ucrb.toLowerCase();this.p1=this.p2=0};hs.Dimension.prototype={get:function(a){switch(a){case"loadingPos":return this.tpos+this.tb+(this.t-hs.loading["offset"+this.ucwh])/2;case"loadingPosXfade":return this.pos+this.cb+this.p1+(this.size-hs.loading["offset"+this.ucwh])/2;case"wsize":return this.size+2*this.cb+this.p1+this.p2;case"fitsize":return this.clientSize-this.marginMin-this.marginMax;case"maxsize":return this.get("fitsize")-2*this.cb-this.p1-this.p2;case"opos":return this.pos-(this.exp.outline?this.exp.outline.offset:0);case"osize":return this.get("wsize")+(this.exp.outline?2*this.exp.outline.offset:0);case"imgPad":return this.imgSize?Math.round((this.size-this.imgSize)/2):0}},calcBorders:function(){this.cb=(this.exp.content["offset"+this.ucwh]-this.t)/2;this.marginMax=hs["margin"+this.ucrb]},calcThumb:function(){this.t=this.exp.el[this.wh]?parseInt(this.exp.el[this.wh]):this.exp.el["offset"+this.ucwh];this.tpos=this.exp.tpos[this.dim];this.tb=(this.exp.el["offset"+this.ucwh]-this.t)/2;if(this.tpos==0||this.tpos==-1){this.tpos=(hs.page[this.wh]/2)+hs.page["scroll"+this.uclt]}},calcExpanded:function(){var a=this.exp;this.justify="auto";if(a.align=="center"){this.justify="center"}else{if(new RegExp(this.lt).test(a.anchor)){this.justify=null}else{if(new RegExp(this.rb).test(a.anchor)){this.justify="max"}}}this.pos=this.tpos-this.cb+this.tb;if(this.maxHeight&&this.dim=="x"){a.maxWidth=Math.min(a.maxWidth||this.full,a.maxHeight*this.full/a.y.full)}this.size=Math.min(this.full,a["max"+this.ucwh]||this.full);this.minSize=a.allowSizeReduction?Math.min(a["min"+this.ucwh],this.full):this.full;if(a.isImage&&a.useBox){this.size=a[this.wh];this.imgSize=this.full}if(this.dim=="x"&&hs.padToMinWidth){this.minSize=a.minWidth}this.target=a["target"+this.dim.toUpperCase()];this.marginMin=hs["margin"+this.uclt];this.scroll=hs.page["scroll"+this.uclt];this.clientSize=hs.page[this.wh]},setSize:function(a){var f=this.exp;if(f.isImage&&(f.useBox||hs.padToMinWidth)){this.imgSize=a;this.size=Math.max(this.size,this.imgSize);f.content.style[this.lt]=this.get("imgPad")+"px"}else{this.size=a}f.content.style[this.wh]=a+"px";f.wrapper.style[this.wh]=this.get("wsize")+"px";if(f.outline){f.outline.setPosition()}if(f.releaseMask){f.releaseMask.style[this.wh]=a+"px"}if(this.dim=="y"&&f.iDoc&&f.body.style.height!="auto"){try{f.iDoc.body.style.overflow="auto"}catch(b){}}if(f.isHtml){var c=f.scrollerDiv;if(this.sizeDiff===undefined){this.sizeDiff=f.innerContent["offset"+this.ucwh]-c["offset"+this.ucwh]}c.style[this.wh]=(this.size-this.sizeDiff)+"px";if(this.dim=="x"){f.mediumContent.style.width="auto"}if(f.body){f.body.style[this.wh]="auto"}}if(this.dim=="x"&&f.overlayBox){f.sizeOverlayBox(true)}if(this.dim=="x"&&f.slideshow&&f.isImage){if(a==this.full){f.slideshow.disable("full-expand")}else{f.slideshow.enable("full-expand")}}},setPos:function(a){this.pos=a;this.exp.wrapper.style[this.lt]=a+"px";if(this.exp.outline){this.exp.outline.setPosition()}}};hs.Expander=function(k,f,b,l){if(document.readyState&&hs.ie&&!hs.isReady){hs.addEventListener(document,"ready",function(){new hs.Expander(k,f,b,l)});return}this.a=k;this.custom=b;this.contentType=l||"image";this.isHtml=(l=="html");this.isImage=!this.isHtml;hs.continuePreloading=false;this.overlays=[];this.last=hs.last;hs.last=null;hs.init();var m=this.key=hs.expanders.length;for(var g=0;ga.scroll+a.clientSize-a.marginMax){a.pos=a.scroll+a.clientSize-a.size-a.marginMin-a.marginMax-a.p1-a.p2}if(a.pos(this.x.imgSize||this.x.size)){this.createFullExpand();if(this.overlays.length==1){this.sizeOverlayBox()}}}this.show()}catch(d){this.error(d)}},setObjContainerSize:function(a,d){var b=hs.getElementByClass(a,"DIV","highslide-body");if(/(iframe|swf)/.test(this.objectType)){if(this.objectWidth){b.style.width=this.objectWidth+"px"}if(this.objectHeight){b.style.height=this.objectHeight+"px"}}},writeExtendedContent:function(){if(this.hasExtendedContent){return}var f=this;this.body=hs.getElementByClass(this.innerContent,"DIV","highslide-body");if(this.objectType=="iframe"){this.showLoading();var g=hs.clearing.cloneNode(1);this.body.appendChild(g);this.newWidth=this.innerContent.offsetWidth;if(!this.objectWidth){this.objectWidth=g.offsetWidth}var c=this.innerContent.offsetHeight-this.body.offsetHeight,d=this.objectHeight||hs.page.height-c-hs.marginTop-hs.marginBottom,e=this.objectLoadTime=="before"?' onload="if (hs.expanders['+this.key+"]) hs.expanders["+this.key+'].contentLoaded()" ':"";this.body.innerHTML+='';this.ruler=this.body.getElementsByTagName("div")[0];this.iframe=this.body.getElementsByTagName("iframe")[0];if(this.objectLoadTime=="after"){this.correctIframeSize()}}if(this.objectType=="swf"){this.body.id=this.body.id||"hs-flash-id-"+this.key;var b=this.swfOptions;if(!b.params){b.params={}}if(typeof b.params.wmode=="undefined"){b.params.wmode="transparent"}if(swfobject){swfobject.embedSWF(this.src,this.body.id,this.objectWidth,this.objectHeight,b.version||"7",b.expressInstallSwfurl,b.flashvars,b.params,b.attributes)}}this.hasExtendedContent=true},htmlGetSize:function(){if(this.iframe&&!this.objectHeight){this.iframe.style.height=this.body.style.height=this.getIframePageHeight()+"px"}this.innerContent.appendChild(hs.clearing);if(!this.x.full){this.x.full=this.innerContent.offsetWidth}this.y.full=this.innerContent.offsetHeight;this.innerContent.removeChild(hs.clearing);if(hs.ie&&this.newHeight>parseInt(this.innerContent.currentStyle.height)){this.newHeight=parseInt(this.innerContent.currentStyle.height)}hs.setStyles(this.wrapper,{position:"absolute",padding:"0"});hs.setStyles(this.content,{width:this.x.t+"px",height:this.y.t+"px"})},getIframePageHeight:function(){var a;try{var d=this.iDoc=this.iframe.contentDocument||this.iframe.contentWindow.document;var b=d.createElement("div");b.style.clear="both";d.body.appendChild(b);a=b.offsetTop;if(hs.ie){a+=parseInt(d.body.currentStyle.marginTop)+parseInt(d.body.currentStyle.marginBottom)-1}}catch(c){a=300}return a},correctIframeSize:function(){var b=this.innerContent.offsetWidth-this.ruler.offsetWidth;hs.discardElement(this.ruler);if(b<0){b=0}var a=this.innerContent.offsetHeight-this.iframe.offsetHeight;if(this.iDoc&&!this.objectHeight&&!this.height&&this.y.size==this.y.full){try{this.iDoc.body.style.overflow="hidden"}catch(c){}}hs.setStyles(this.iframe,{width:Math.abs(this.x.size-b)+"px",height:Math.abs(this.y.size-a)+"px"});hs.setStyles(this.body,{width:this.iframe.style.width,height:this.iframe.style.height});this.scrollingContent=this.iframe;this.scrollerDiv=this.scrollingContent},htmlSizeOperations:function(){this.setObjContainerSize(this.innerContent);if(this.objectType=="swf"&&this.objectLoadTime=="before"){this.writeExtendedContent()}if(this.x.sizee.offsetHeight){e.style.width=(parseInt(e.style.width)+d)+"px"}this.scrollingContent=e;this.scrollerDiv=this.scrollingContent}if(this.iframe&&this.objectLoadTime=="before"){this.correctIframeSize()}if(!this.scrollingContent&&this.y.sizethis.scrollerDiv.parentNode.offsetHeight){setTimeout("try { hs.expanders["+this.key+"].scrollerDiv.style.overflow = 'auto'; } catch(e) {}",hs.expandDuration)}},getImageMapAreaCorrection:function(d){var h=d.coords.split(",");for(var b=0;bf.scroll+f.clientSize-f.marginMax){if(!b&&d&&a){f.size=Math.min(f.size,f.get(e=="y"?"fitsize":"maxsize"))}else{if(f.get("wsize")c){d=b*c;if(dthis.minHeight&&a.size>this.minWidth&&d.get("wsize")>d.get("fitsize")){d.size-=10;if(b){a.size=d.size*b}this.sizeOverlayBox(0,1);c=true}}return c},reflow:function(){if(this.scrollerDiv){var a=/iframe/i.test(this.scrollerDiv.tagName)?(this.getIframePageHeight()+1)+"px":"auto";if(this.body){this.body.style.height=a}this.scrollerDiv.style.height=a;this.y.setSize(this.innerContent.offsetHeight)}},show:function(){var a=this.x,b=this.y;this.doShowHide("hidden");hs.fireEvent(this,"onBeforeExpand");if(this.slideshow&&this.slideshow.thumbstrip){this.slideshow.thumbstrip.selectThumb()}this.changeSize(1,{wrapper:{width:a.get("wsize"),height:b.get("wsize"),left:a.pos,top:b.pos},content:{left:a.p1+a.get("imgPad"),top:b.p1+b.get("imgPad"),width:a.imgSize||a.size,height:b.imgSize||b.size}},hs.expandDuration)},changeSize:function(d,i,b){var k=this.transitions,e=d?(this.last?this.last.a:null):hs.upcoming,j=(k[1]&&e&&hs.getParam(e,"transitions")[1]==k[1])?k[1]:k[0];if(this[j]&&j!="expand"){this[j](d,i);return}if(this.outline&&!this.outlineWhileAnimating){if(d){this.outline.setPosition()}else{this.outline.destroy((this.isHtml&&this.preserveContent))}}if(!d){this.destroyOverlays()}var c=this,h=c.x,g=c.y,f=this.easing;if(!d){f=this.easingClose||f}var a=d?function(){if(c.outline){c.outline.table.style.visibility="visible"}setTimeout(function(){c.afterExpand()},50)}:function(){c.afterClose()};if(d){hs.setStyles(this.wrapper,{width:h.t+"px",height:g.t+"px"})}if(d&&this.isHtml){hs.setStyles(this.wrapper,{left:(h.tpos-h.cb+h.tb)+"px",top:(g.tpos-g.cb+g.tb)+"px"})}if(this.fadeInOut){hs.setStyles(this.wrapper,{opacity:d?0:1});hs.extend(i.wrapper,{opacity:d})}hs.animate(this.wrapper,i.wrapper,{duration:b,easing:f,step:function(n,l){if(c.outline&&c.outlineWhileAnimating&&l.prop=="top"){var m=d?l.pos:1-l.pos;var o={w:h.t+(h.get("wsize")-h.t)*m,h:g.t+(g.get("wsize")-g.t)*m,x:h.tpos+(h.pos-h.tpos)*m,y:g.tpos+(g.pos-g.tpos)*m};c.outline.setPosition(o,0,1)}if(c.isHtml){if(l.prop=="left"){c.mediumContent.style.left=(h.pos-n)+"px"}if(l.prop=="top"){c.mediumContent.style.top=(g.pos-n)+"px"}}}});hs.animate(this.content,i.content,b,f,a);if(d){this.wrapper.style.visibility="visible";this.content.style.visibility="visible";if(this.isHtml){this.innerContent.style.visibility="visible"}this.a.className+=" highslide-active-anchor"}},fade:function(f,h){this.outlineWhileAnimating=false;var c=this,j=f?hs.expandDuration:0;if(f){hs.animate(this.wrapper,h.wrapper,0);hs.setStyles(this.wrapper,{opacity:0,visibility:"visible"});hs.animate(this.content,h.content,0);this.content.style.visibility="visible";hs.animate(this.wrapper,{opacity:1},j,null,function(){c.afterExpand()})}if(this.outline){this.outline.table.style.zIndex=this.wrapper.style.zIndex;var b=f||-1,d=this.outline.offset,a=f?3:d,g=f?d:3;for(var e=a;b*e<=b*g;e+=b,j+=25){(function(){var i=f?g-e:a-e;setTimeout(function(){c.outline.setPosition(0,i,1)},j)})()}}if(f){}else{setTimeout(function(){if(c.outline){c.outline.destroy(c.preserveContent)}c.destroyOverlays();hs.animate(c.wrapper,{opacity:0},hs.restoreDuration,null,function(){c.afterClose()})},j)}},crossfade:function(g,m,o){if(!g){return}var f=this,p=this.last,l=this.x,k=this.y,d=p.x,b=p.y,a=this.wrapper,i=this.content,c=this.overlayBox;hs.removeEventListener(document,"mousemove",hs.dragHandler);hs.setStyles(i,{width:(l.imgSize||l.size)+"px",height:(k.imgSize||k.size)+"px"});if(c){c.style.overflow="visible"}this.outline=p.outline;if(this.outline){this.outline.exp=f}p.outline=null;var h=hs.createElement("div",{className:"highslide-"+this.contentType},{position:"absolute",zIndex:4,overflow:"hidden",display:"none"});var j={oldImg:p,newImg:this};for(var e in j){this[e]=j[e].content.cloneNode(1);hs.setStyles(this[e],{position:"absolute",border:0,visibility:"visible"});h.appendChild(this[e])}a.appendChild(h);if(this.isHtml){hs.setStyles(this.mediumContent,{left:0,top:0})}if(c){c.className="";a.appendChild(c)}h.style.display="";p.content.style.display="none";if(hs.safari&&hs.uaVersion<525){this.wrapper.style.visibility="visible"}hs.animate(a,{width:l.size},{duration:hs.transitionDuration,step:function(u,r){var x=r.pos,q=1-x;var w,s={},t=["pos","size","p1","p2"];for(var v in t){w=t[v];s["x"+w]=Math.round(q*d[w]+x*l[w]);s["y"+w]=Math.round(q*b[w]+x*k[w]);s.ximgSize=Math.round(q*(d.imgSize||d.size)+x*(l.imgSize||l.size));s.ximgPad=Math.round(q*d.get("imgPad")+x*l.get("imgPad"));s.yimgSize=Math.round(q*(b.imgSize||b.size)+x*(k.imgSize||k.size));s.yimgPad=Math.round(q*b.get("imgPad")+x*k.get("imgPad"))}if(f.outline){f.outline.setPosition({x:s.xpos,y:s.ypos,w:s.xsize+s.xp1+s.xp2+2*l.cb,h:s.ysize+s.yp1+s.yp2+2*k.cb})}p.wrapper.style.clip="rect("+(s.ypos-b.pos)+"px, "+(s.xsize+s.xp1+s.xp2+s.xpos+2*d.cb-d.pos)+"px, "+(s.ysize+s.yp1+s.yp2+s.ypos+2*b.cb-b.pos)+"px, "+(s.xpos-d.pos)+"px)";hs.setStyles(i,{top:(s.yp1+k.get("imgPad"))+"px",left:(s.xp1+l.get("imgPad"))+"px",marginTop:(k.pos-s.ypos)+"px",marginLeft:(l.pos-s.xpos)+"px"});hs.setStyles(a,{top:s.ypos+"px",left:s.xpos+"px",width:(s.xp1+s.xp2+s.xsize+2*l.cb)+"px",height:(s.yp1+s.yp2+s.ysize+2*k.cb)+"px"});hs.setStyles(h,{width:(s.ximgSize||s.xsize)+"px",height:(s.yimgSize||s.ysize)+"px",left:(s.xp1+s.ximgPad)+"px",top:(s.yp1+s.yimgPad)+"px",visibility:"visible"});hs.setStyles(f.oldImg,{top:(b.pos-s.ypos+b.p1-s.yp1+b.get("imgPad")-s.yimgPad)+"px",left:(d.pos-s.xpos+d.p1-s.xp1+d.get("imgPad")-s.ximgPad)+"px"});hs.setStyles(f.newImg,{opacity:x,top:(k.pos-s.ypos+k.p1-s.yp1+k.get("imgPad")-s.yimgPad)+"px",left:(l.pos-s.xpos+l.p1-s.xp1+l.get("imgPad")-s.ximgPad)+"px"});if(c){hs.setStyles(c,{width:s.xsize+"px",height:s.ysize+"px",left:(s.xp1+l.cb)+"px",top:(s.yp1+k.cb)+"px"})}},complete:function(){a.style.visibility=i.style.visibility="visible";i.style.display="block";hs.discardElement(h);f.afterExpand();p.afterClose();f.last=null}})},reuseOverlay:function(d,c){if(!this.last){return false}for(var b=0;b'+b+"
      "+this[this.numberPosition].innerHTML}}},initSlideshow:function(){if(!this.last){for(var c=0;cthis.x.get("opos")+this.x.get("osize"));var g=(k.y+k.hthis.y.get("opos")+this.y.get("osize"))}var d=hs.getWrapperKey(e[f]);if(!j&&!g&&d!=this.key){if(!h){e[f].setAttribute("hidden-by","["+this.key+"]");e[f].origProp=e[f].style[a];e[f].style[a]="hidden"}else{if(h.indexOf("["+this.key+"]")==-1){e[f].setAttribute("hidden-by",h+"["+this.key+"]")}}}else{if((h=="["+this.key+"]"||hs.focusKey==d)&&d!=this.key){e[f].setAttribute("hidden-by","");e[f].style[a]=e[f].origProp||""}else{if(h&&h.indexOf("["+this.key+"]")>-1){e[f].setAttribute("hidden-by",h.replace("["+this.key+"]",""))}}}}}}}},focus:function(){this.wrapper.style.zIndex=hs.zIndexCounter+=2;for(var a=0;ae.parentNode.offsetWidth){e.style.width="100%"}}else{if(e.parentNode!=this.overlayBox){this.overlayBox.appendChild(e)}}if(/left$/.test(f)){e.style.left=b+"px"}if(/center$/.test(f)){hs.setStyles(e,{left:"50%",marginLeft:(b-Math.round(e.offsetWidth/2))+"px"})}if(/right$/.test(f)){e.style.right=-b+"px"}if(/^leftpanel$/.test(f)){hs.setStyles(e,{right:"100%",marginRight:this.x.cb+"px",top:-this.y.cb+"px",bottom:-this.y.cb+"px",overflow:"auto"});this.x.p1=e.offsetWidth}else{if(/^rightpanel$/.test(f)){hs.setStyles(e,{left:"100%",marginLeft:this.x.cb+"px",top:-this.y.cb+"px",bottom:-this.y.cb+"px",overflow:"auto"});this.x.p2=e.offsetWidth}}var d=e.parentNode.offsetHeight;e.style.height="auto";if(c&&e.offsetHeight>d){e.style.height=hs.ieLt7?d+"px":"100%"}if(/^top/.test(f)){e.style.top=a+"px"}if(/^middle/.test(f)){hs.setStyles(e,{top:"50%",marginTop:(a-Math.round(e.offsetHeight/2))+"px"})}if(/^bottom/.test(f)){e.style.bottom=-a+"px"}if(/^above$/.test(f)){hs.setStyles(e,{left:(-this.x.p1-this.x.cb)+"px",right:(-this.x.p2-this.x.cb)+"px",bottom:"100%",marginBottom:this.y.cb+"px",width:"auto"});this.y.p1=e.offsetHeight}else{if(/^below$/.test(f)){hs.setStyles(e,{position:"relative",left:(-this.x.p1-this.x.cb)+"px",right:(-this.x.p2-this.x.cb)+"px",top:"100%",marginTop:this.y.cb+"px",width:"auto"});this.y.p2=e.offsetHeight;e.style.position="absolute"}}},getOverlays:function(){this.getInline(["heading","caption"],true);this.getNumber();if(this.caption){hs.fireEvent(this,"onAfterGetCaption")}if(this.heading){hs.fireEvent(this,"onAfterGetHeading")}if(this.heading&&this.dragByHeading){this.heading.className+=" highslide-move"}if(hs.showCredits){this.writeCredits()}for(var a=0;a=5.5){c=c.replace(new RegExp("]*>","gi"),"").replace(new RegExp("]*>.*?<\/script>","gi"),"");if(this.iframe){var f=this.iframe.contentDocument;if(!f&&this.iframe.contentWindow){f=this.iframe.contentWindow.document}if(!f){var g=this;setTimeout(function(){g.loadHTML()},25);return}f.open();f.write(c);f.close();try{c=f.getElementById(this.id).innerHTML}catch(d){try{c=this.iframe.document.getElementById(this.id).innerHTML}catch(d){}}hs.discardElement(this.iframe)}else{b=/(]*>|<\/body>)/ig;if(b.test(c)){c=c.split(b)[hs.ieLt9?1:2]}}}hs.getElementByClass(this.content,"DIV","highslide-body").innerHTML=c;this.onLoad();for(var a in this){this[a]=null}}};hs.Slideshow=function(c,b){if(hs.dynamicallyUpdateAnchors!==false){hs.updateAnchors()}this.expKey=c;for(var a in b){this[a]=b[a]}if(this.useControls){this.getControls()}if(this.thumbstrip){this.thumbstrip=hs.Thumbstrip(this)}};hs.Slideshow.prototype={getControls:function(){this.controls=hs.createElement("div",{innerHTML:hs.replaceLang(hs.skin.controls)},null,hs.container);var b=["play","pause","previous","next","move","full-expand","close"];this.btn={};var c=this;for(var a=0;a0){F=0}if(C>0){C=0}if(C0?G[L-1].parentNode[B]:w[B],A=w[B]+w[H]+(G[L+1]?G[L+1].parentNode[H]:0);if(A>x-v){C=x-A}else{if(J<-v){C=-J}}}var E=w[B]+(w[H]-g[H])/2+C;hs.animate(s,h?{left:C}:{top:C},null,"easeOutQuad");hs.animate(g,h?{left:E}:{top:E},null,"easeOutQuad");l.style.display=C<0?"block":"none";t.style.display=(C>F)?"block":"none"}var j=hs.anchors.groups[hs.expanders[k.expKey].slideshowGroup||"none"],f=k.thumbstrip,m=f.mode||"horizontal",u=(m=="float"),o=u?["div","ul","li","span"]:["table","tbody","tr","td"],h=(m=="horizontal"),r=hs.createElement("div",{className:"highslide-thumbstrip highslide-thumbstrip-"+m,innerHTML:'
      <'+o[0]+"><"+o[1]+">
      '},{display:"none"},hs.container),e=r.childNodes,n=e[0],l=e[1],t=e[2],g=e[3],s=n.firstChild,a=r.getElementsByTagName(o[1])[0],b;for(var q=0;q35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('q(!m){A m={18:{97:\'aK\',aZ:\'fw...\',aY:\'8G 2i fP\',bD:\'8G 2i g0 2i eR\',9Z:\'eZ 2i fc D (f)\',cq:\'f8 by an ao\',cr:\'f4 2i f6 an ao fg\',8Y:\'aq\',8W:\'ay\',8Z:\'ag\',92:\'am\',90:\'am (eD)\',b0:\'eY\',ab:\'al\',au:\'al 1p (aj)\',ac:\'ah\',ad:\'ah 1p (aj)\',8s:\'aq (8w 1b)\',8X:\'ay (8w 3m)\',8V:\'ag\',ae:\'1:1\',3G:\'g7 %1 fz %2\',9W:\'8G 2i 26 2R, dC aA dE 2i 3u. dF 8w dB O 1D aA 3a.\'},5c:\'K/dw/\',7R:\'dv.5q\',6h:\'dx.5q\',6W:5Z,9A:5Z,4W:15,9B:15,4d:15,6L:15,4F:cY,be:0.75,9l:M,9f:5,3Y:2,ei:3,5S:1j,bz:\'4Q 3m\',bA:1,br:M,ct:\'em://K.eh/\',cs:\'ec\',aS:M,9w:[\'a\',\'5v\'],3q:[],cE:5Z,4b:0,87:50,6J:1j,6X:M,4D:M,3U:\'60\',7W:M,46:\'1M\',9n:\'1M\',b1:I,aC:I,a7:M,4s:aw,6k:aw,5Y:M,1Z:\'ev-dV\',8i:{2X:\'

      <6t>\'+\'<1H 1W="K-3a">\'+\'\'+\'<1C>{m.18.8Y}\'+\'\'+\'<1H 1W="K-3L">\'+\'\'+\'<1C>{m.18.ab}\'+\'\'+\'<1H 1W="K-3p">\'+\'\'+\'<1C>{m.18.ac}\'+\'\'+\'<1H 1W="K-1D">\'+\'\'+\'<1C>{m.18.8W}\'+\'\'+\'<1H 1W="K-3u">\'+\'\'+\'<1C>{m.18.8Z}\'+\'\'+\'<1H 1W="K-1a-2F">\'+\'\'+\'<1C>{m.18.ae}\'+\'\'+\'<1H 1W="K-26">\'+\'\'+\'<1C>{m.18.92}\'+\'\'+\'

      \',bd:\'

      <6t>\'+\'<1H 1W="K-3a">\'+\'\'+\'<1C>{m.18.8Y}\'+\'\'+\'<1H 1W="K-1D">\'+\'\'+\'<1C>{m.18.8W}\'+\'\'+\'<1H 1W="K-3u">\'+\'\'+\'<1C>{m.18.8Z}\'+\'\'+\'<1H 1W="K-26">\'+\'\'+\'<1C>{m.18.92}\'+\'\'+\'

      \'+\'

      \'+\'

      \'+\'<1C 1W="K-3O" 24="{m.18.b0}"><1C>\'+\'

      \'},64:[],a1:M,16:[],a4:[\'5Y\',\'3t\',\'46\',\'9n\',\'b1\',\'aC\',\'1Z\',\'3Y\',\'dU\',\'dM\',\'dL\',\'b3\',\'dK\',\'dI\',\'dJ\',\'b2\',\'cv\',\'a7\',\'42\',\'6l\',\'3q\',\'4b\',\'L\',\'N\',\'88\',\'6J\',\'6X\',\'4D\',\'dN\',\'dO\',\'dT\',\'2I\',\'7W\',\'4j\',\'4x\',\'3U\',\'8e\',\'a9\',\'4s\',\'6k\',\'6M\',\'9i\',\'aX\',\'2N\',\'2Q\',\'cF\',\'cD\',\'1e\'],1T:[],61:0,8g:{x:[\'bM\',\'1b\',\'4X\',\'3m\',\'bC\'],y:[\'5N\',\'Y\',\'9a\',\'4Q\',\'7E\']},7B:{},b2:{},b3:{},8e:{aG:{},29:{},aF:{}},4m:[],6u:[],4n:{},4R:[],7q:[],5a:[],7k:{},8c:{},7l:[],2t:/dP\\/4\\.0/.11(4A.6d)?8:8J((4A.6d.5G().3b(/.+(?:b9|dQ|e9|2h)[\\/: ]([\\d.]+)/)||[0,\'0\'])[1]),2h:(W.6q&&!1S.3z),4M:/ea/.11(4A.6d),6y:/eu.+b9:1\\.[0-8].+es/.11(4A.6d),$:C(1v){q(1v)E W.9Q(1v)},2o:C(2a,3j){2a[2a.V]=3j},1d:C(ba,4l,49,6c,bh){A el=W.1d(ba);q(4l)m.3A(el,4l);q(bh)m.R(el,{94:0,8H:\'1E\',9D:0});q(49)m.R(el,49);q(6c)6c.1X(el);E el},3A:C(el,4l){O(A x 2Y 4l)el[x]=4l[x];E el},R:C(el,49){O(A x 2Y 49){q(m.3R&&x==\'1z\'){q(49[x]>0.99)el.G.ew(\'5Q\');J el.G.5Q=\'bg(1z=\'+(49[x]*2w)+\')\'}J el.G[x]=49[x]}},2z:C(el,1f,3C){A 4T,51,4w;q(1F 3C!=\'7j\'||3C===I){A 2H=c5;3C={4h:2H[2],2Q:2H[3],76:2H[4]}}q(1F 3C.4h!=\'3G\')3C.4h=5Z;3C.2Q=1h[3C.2Q]||1h.bj;3C.7g=m.3A({},1f);O(A 2Z 2Y 1f){A e=1J m.fx(el,3C,2Z);4T=8J(m.8I(el,2Z))||0;51=8J(1f[2Z]);4w=2Z!=\'1z\'?\'F\':\'\';e.3E(4T,51,4w)}},8I:C(el,1f){q(el.G[1f]){E el.G[1f]}J q(W.8L){E W.8L.cK(el,I).co(1f)}J{q(1f==\'1z\')1f=\'5Q\';A 3j=el.5y[1f.2k(/\\-(\\w)/g,C(a,b){E b.bi()})];q(1f==\'5Q\')3j=3j.2k(/bg\\(1z=([0-9]+)\\)/,C(a,b){E b/2w});E 3j===\'\'?1:3j}},7S:C(){A d=W,w=1S,63=d.7a&&d.7a!=\'8v\'?d.5h:d.19,3R=m.2h&&(m.2t<9||1F bf==\'1L\');A L=3R?63.8F:(d.5h.8F||7c.ep),N=3R?63.c4:7c.eo;m.4g={L:L,N:N,5O:3R?63.5O:bf,5R:3R?63.5R:ed};E m.4g},6K:C(el){q(/5v/i.11(el.3J)){A 7N=W.2C(\'1N\');O(A i=0;i<7N.V;i++){A u=7N[i].eb;q(u&&u.2k(/^.*?#/,\'\')==el.23.2Z){el=7N[i];5m}}}A p={x:el.4V,y:el.8O};5g(el.bb){el=el.bb;p.x+=el.4V;p.y+=el.8O;q(el!=W.19&&el!=W.5h){p.x-=el.5O;p.y-=el.5R}}E p},2F:C(a,29,3E,T){q(!a)a=m.1d(\'a\',I,{1o:\'1E\'},m.2b);q(1F a.6a==\'C\')E 29;q(T==\'3D\'){O(A i=0;i8d){8d=1B;7n=i}}}q(7n==-1)m.3d=-1;J 16[7n].3M()},43:C(a,6b){a.6a=a.2p;A p=a.6a?a.6a():I;a.6a=I;E(p&&1F p[6b]!=\'1L\')?p[6b]:(1F m[6b]!=\'1L\'?m[6b]:I)},7s:C(a){A 1e=m.43(a,\'1e\');q(1e)E 1e;E a.21},4J:C(1v){A 1P=m.$(1v),4q=m.8c[1v],a={};q(!1P&&!4q)E I;q(!4q){4q=1P.5J(M);4q.1v=\'\';m.8c[1v]=4q;E 1P}J{E 4q.5J(M)}},3B:C(d){q(d)m.9y.1X(d);m.9y.2d=\'\'},1u:C(B){q(!m.2v){84=M;m.2v=m.1d(\'P\',{1c:\'K-dc K-2x-D\',5r:\'\',2p:C(){q(m.1A(m,\'d3\'))m.26()}},{1n:\'1Y\',1z:0},m.2b,M);q(/(df|d2|cU|cT)/.11(4A.6d)){A 19=W.19;C 81(){m.R(m.2v,{L:19.cR+\'F\',N:19.cV+\'F\'})}81();m.2j(1S,\'3O\',81)}}m.2v.G.1o=\'\';A 84=m.2v.5r==\'\';m.2v.5r+=\'|\'+B.Q;q(84){q(m.6y&&m.aR)m.R(m.2v,{9t:\'7T(\'+m.5c+\'d0.ak)\',1z:1});J m.2z(m.2v,{1z:B.4b},m.87)}},9x:C(Q){q(!m.2v)E;q(1F Q!=\'1L\')m.2v.5r=m.2v.5r.2k(\'|\'+Q,\'\');q((1F Q!=\'1L\'&&m.2v.5r!=\'\')||(m.2q&&m.43(m.2q,\'4b\')))E;q(m.6y&&m.aR)m.2v.G.1o=\'1E\';J m.2z(m.2v,{1z:0},m.87,I,C(){m.2v.G.1o=\'1E\'})},8N:C(7z,B){A 1i=B||m.2G();B=1i;q(m.2q)E 1j;J m.1i=1i;m.4z(W,1S.3z?\'6U\':\'71\',m.68);1t{m.2q=7z;7z.2p()}1y(e){m.1i=m.2q=I}1t{q(!7z||B.3q[1]!=\'4e\')B.26()}1y(e){}E 1j},7O:C(el,2n){A B=m.2G(el);q(B)E m.8N(B.7V(2n),B);J E 1j},3a:C(el){E m.7O(el,-1)},1D:C(el){E m.7O(el,1)},68:C(e){q(!e)e=1S.2u;q(!e.2L)e.2L=e.9k;q(1F e.2L.9j!=\'1L\')E M;q(!m.1A(m,\'dz\',e))E M;A B=m.2G();A 2n=I;b6(e.dy){2c 70:q(B)B.7r();E M;2c 32:2n=2;5m;2c 34:2c 39:2c 40:2n=1;5m;2c 8:2c 33:2c 37:2c 38:2n=-1;5m;2c 27:2c 13:2n=0}q(2n!==I){q(2n!=2)m.4z(W,1S.3z?\'6U\':\'71\',m.68);q(!m.aS)E M;q(e.5n)e.5n();J e.c0=1j;q(B){q(2n==0){B.26()}J q(2n==2){q(B.1p)B.1p.cl()}J{q(B.1p)B.1p.3p();m.7O(B.Q,2n)}E 1j}}E M},du:C(14){m.2o(m.1T,m.3A(14,{22:\'22\'+m.61++}))},dt:C(1r){A 3c=1r.2N;q(1F 3c==\'7j\'){O(A i=0;i<3c.V;i++){A o={};O(A x 2Y 1r)o[x]=1r[x];o.2N=3c[i];m.2o(m.6u,o)}}J{m.2o(m.6u,1r)}},9U:C(7y,7h){A el,2m=/^K-U-([0-9]+)$/;el=7y;5g(el.23){q(el.6R!==1L)E el.6R;q(el.1v&&2m.11(el.1v))E el.1v.2k(2m,"$1");el=el.23}q(!7h){el=7y;5g(el.23){q(el.3J&&m.77(el)){O(A Q=0;Q1)E M;q(!e.2L)e.2L=e.9k;A el=e.2L;5g(el.23&&!(/K-(2R|3u|3D|3O)/.11(el.1c))){el=el.23}A B=m.2G(el);q(B&&(B.62||!B.55))E M;q(B&&e.T==\'8y\'){q(e.2L.9j)E M;A 3b=el.1c.3b(/K-(2R|3u|3O)/);q(3b){m.2y={B:B,T:3b[1],1b:B.x.H,L:B.x.D,Y:B.y.H,N:B.y.D,aV:e.7A,aO:e.7F};m.2j(W,\'7D\',m.6H);q(e.5n)e.5n();q(/K-(2R|3D)-9J/.11(B.S.1c)){B.3M();m.a6=M}E 1j}J q(/K-3D/.11(el.1c)&&m.3d!=B.Q){B.3M();B.59(\'1q\')}}J q(e.T==\'c3\'){m.4z(W,\'7D\',m.6H);q(m.2y){q(m.54&&m.2y.T==\'2R\')m.2y.B.S.G.4L=m.54;A 3I=m.2y.3I;q(!3I&&!m.a6&&!/(3u|3O)/.11(m.2y.T)){q(m.1A(B,\'dr\'))B.26()}J q(3I||(!3I&&m.aU)){m.2y.B.59(\'1q\')}q(m.2y.B.3W)m.2y.B.3W.G.1o=\'1E\';q(3I)m.1A(m.2y.B,\'do\',m.2y);m.a6=1j;m.2y=I}J q(/K-2R-9J/.11(el.1c)){el.G.4L=m.54}}E 1j},6H:C(e){q(!m.2y)E M;q(!e)e=1S.2u;A a=m.2y,B=a.B;q(B.1k){q(!B.3W)B.3W=m.1d(\'P\',I,{1l:\'2l\',L:B.x.D+\'F\',N:B.y.D+\'F\',1b:B.x.cb+\'F\',Y:B.y.cb+\'F\',1B:4,9t:(m.3R?\'eB\':\'1E\'),1z:0.eU},B.U,M);q(B.3W.G.1o==\'1E\')B.3W.G.1o=\'\'}a.dX=e.7A-a.aV;a.dY=e.7F-a.aO;A 9g=1h.fG(1h.aE(a.dX,2)+1h.aE(a.dY,2));q(!a.3I)a.3I=(a.T!=\'2R\'&&9g>0)||(9g>(m.fK||5));q(a.3I&&e.7A>5&&e.7F>5){q(!m.1A(B,\'fN\',a))E 1j;q(a.T==\'3O\')B.3O(a);J{B.9m(a.1b+a.dX,a.Y+a.dY);q(a.T==\'2R\')B.S.G.4L=\'3u\'}}E 1j},aP:C(e){1t{q(!e)e=1S.2u;A 66=/fM/i.11(e.T);q(!e.2L)e.2L=e.9k;q(!e.7P)e.7P=66?e.fE:e.fD;A B=m.2G(e.2L);q(!B.55)E;q(!B||!e.7P||m.2G(e.7P,M)==B||m.2y)E;m.1A(B,66?\'ft\':\'fr\',e);O(A i=0;i=k.1r.4h+k.9c){k.4o=k.51;k.H=k.96=1;k.82();k.1r.7g[k.1f]=M;A 9s=M;O(A i 2Y k.1r.7g)q(k.1r.7g[i]!==M)9s=1j;q(9s){q(k.1r.76)k.1r.76.ax(k.30)}E 1j}J{A n=t-k.9c;k.96=n/k.1r.4h;k.H=k.1r.2Q(n,0,1,k.1r.4h);k.4o=k.4T+((k.51-k.4T)*k.H);k.82()}E M}};m.3A(m.fx,{3P:{1z:C(fx){m.R(fx.30,{1z:fx.4o})},ap:C(fx){1t{q(fx.30.G&&fx.30.G[fx.1f]!=I)fx.30.G[fx.1f]=fx.4o+fx.4w;J fx.30[fx.1f]=fx.4o}1y(e){}}}});m.6r=C(1Z,3F){k.3F=3F;k.1Z=1Z;A v=m.2t,47;k.9G=m.2h&&m.2t<7;q(!1Z){q(3F)3F();E}m.7m();k.2g=m.1d(\'2g\',{eJ:0},{1n:\'1q\',1l:\'2l\',eN:\'eM\',L:0},m.2b,M);A 4G=m.1d(\'4G\',I,I,k.2g,1);k.2J=[];O(A i=0;i<=8;i++){q(i%3==0)47=m.1d(\'47\',I,{N:\'1M\'},4G,M);k.2J[i]=m.1d(\'2J\',I,I,47,M);A G=i!=4?{eL:0,eK:0}:{1l:\'4y\'};m.R(k.2J[i],G)}k.2J[4].1c=1Z+\' K-1g\';k.ai()};m.6r.5w={ai:C(){A 1e=m.5c+(m.f1||"fi/")+k.1Z+".ak";A ar=m.4M&&m.2t<73?m.2b:I;k.3V=m.1d(\'1N\',I,{1l:\'2l\',Y:\'-4v\'},ar,M);A 3v=k;k.3V.4N=C(){3v.az()};k.3V.1e=1e},az:C(){A o=k.1w=k.3V.L/4,H=[[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]],1u={N:(2*o)+\'F\',L:(2*o)+\'F\'};O(A i=0;i<=8;i++){q(H[i]){q(k.9G){A w=(i==1||i==7)?\'2w%\':k.3V.L+\'F\';A P=m.1d(\'P\',I,{L:\'2w%\',N:\'2w%\',1l:\'4y\',2e:\'1q\'},k.2J[i],M);m.1d(\'P\',I,{5Q:"fo:fn.bv.fm(fl=fe, 1e=\'"+k.3V.1e+"\')",1l:\'2l\',L:w,N:k.3V.N+\'F\',1b:(H[i][0]*o)+\'F\',Y:(H[i][1]*o)+\'F\'},P,M)}J{m.R(k.2J[i],{9t:\'7T(\'+k.3V.1e+\') \'+(H[i][0]*o)+\'F \'+(H[i][1]*o)+\'F\'})}q(1S.3z&&(i==3||i==5))m.1d(\'P\',I,1u,k.2J[i],M);m.R(k.2J[i],1u)}}k.3V=I;q(m.4n[k.1Z])m.4n[k.1Z].5U();m.4n[k.1Z]=k;q(k.3F)k.3F()},4C:C(H,1w,aB,4i,2Q){A B=k.B,5X=B.U.G,1w=1w||0,H=H||{x:B.x.H+1w,y:B.y.H+1w,w:B.x.Z(\'2f\')-2*1w,h:B.y.Z(\'2f\')-2*1w};q(aB)k.2g.G.1n=(H.h>=4*k.1w)?\'1Y\':\'1q\';m.R(k.2g,{1b:(H.x-k.1w)+\'F\',Y:(H.y-k.1w)+\'F\',L:(H.w+2*k.1w)+\'F\'});H.w-=2*k.1w;H.h-=2*k.1w;m.R(k.2J[4],{L:H.w>=0?H.w+\'F\':0,N:H.h>=0?H.h+\'F\':0});q(k.9G)k.2J[3].G.N=k.2J[5].G.N=k.2J[4].G.N},5U:C(bk){q(bk)k.2g.G.1n=\'1q\';J m.3B(k.2g)}};m.6A=C(B,1u){k.B=B;k.1u=1u;k.3l=1u==\'x\'?\'bY\':\'bW\';k.3k=k.3l.5G();k.6m=1u==\'x\'?\'cj\':\'c8\';k.6Y=k.6m.5G();k.9L=1u==\'x\'?\'c7\':\'bX\';k.b5=k.9L.5G();k.1G=k.36=0};m.6A.5w={Z:C(Q){b6(Q){2c\'9T\':E k.1K+k.3s+(k.t-m.2r[\'1w\'+k.3l])/2;2c\'9v\':E k.H+k.cb+k.1G+(k.D-m.2r[\'1w\'+k.3l])/2;2c\'2f\':E k.D+2*k.cb+k.1G+k.36;2c\'5e\':E k.4K-k.3o-k.4S;2c\'8D\':E k.Z(\'5e\')-2*k.cb-k.1G-k.36;2c\'6e\':E k.H-(k.B.1g?k.B.1g.1w:0);2c\'9R\':E k.Z(\'2f\')+(k.B.1g?2*k.B.1g.1w:0);2c\'2K\':E k.1V?1h.3e((k.D-k.1V)/2):0}},8a:C(){k.cb=(k.B.S[\'1w\'+k.3l]-k.t)/2;k.4S=m[\'9D\'+k.9L]},9M:C(){k.t=k.B.el[k.3k]?3H(k.B.el[k.3k]):k.B.el[\'1w\'+k.3l];k.1K=k.B.1K[k.1u];k.3s=(k.B.el[\'1w\'+k.3l]-k.t)/2;q(k.1K==0||k.1K==-1){k.1K=(m.4g[k.3k]/2)+m.4g[\'28\'+k.6m]}},8h:C(){A B=k.B;k.2T=\'1M\';q(B.9n==\'4X\')k.2T=\'4X\';J q(1J 4Y(k.6Y).11(B.46))k.2T=I;J q(1J 4Y(k.b5).11(B.46))k.2T=\'4t\';k.H=k.1K-k.cb+k.3s;q(k.9i&&k.1u==\'x\')B.6M=1h.31(B.6M||k.1a,B.9i*k.1a/B.y.1a);k.D=1h.31(k.1a,B[\'4t\'+k.3l]||k.1a);k.2U=B.5Y?1h.31(B[\'31\'+k.3l],k.1a):k.1a;q(B.2E&&B.3t){k.D=B[k.3k];k.1V=k.1a}q(k.1u==\'x\'&&m.5S)k.2U=B.4s;k.2L=B[\'2L\'+k.1u.bi()];k.3o=m[\'9D\'+k.6m];k.28=m.4g[\'28\'+k.6m];k.4K=m.4g[k.3k]},72:C(i){A B=k.B;q(B.2E&&(B.3t||m.5S)){k.1V=i;k.D=1h.4t(k.D,k.1V);B.S.G[k.6Y]=k.Z(\'2K\')+\'F\'}J k.D=i;B.S.G[k.3k]=i+\'F\';B.U.G[k.3k]=k.Z(\'2f\')+\'F\';q(B.1g)B.1g.4C();q(B.3W)B.3W.G[k.3k]=i+\'F\';q(k.1u==\'y\'&&B.5C&&B.19.G.N!=\'1M\')1t{B.5C.19.G.2e=\'1M\'}1y(e){}q(B.2A){A d=B.2s;q(k.9e===1L)k.9e=B.1s[\'1w\'+k.3l]-d[\'1w\'+k.3l];d.G[k.3k]=(k.D-k.9e)+\'F\';q(k.1u==\'x\')B.4c.G.L=\'1M\';q(B.19)B.19.G[k.3k]=\'1M\'}q(k.1u==\'x\'&&B.1x)B.57(M);q(k.1u==\'x\'&&B.1p&&B.2E){q(i==k.1a)B.1p.5d(\'1a-2F\');J B.1p.4u(\'1a-2F\')}},aa:C(i){k.H=i;k.B.U.G[k.6Y]=i+\'F\';q(k.B.1g)k.B.1g.4C()}};m.5A=C(a,29,3E,35){q(W.bS&&m.2h&&!m.9F){m.2j(W,\'41\',C(){1J m.5A(a,29,3E,35)});E}k.a=a;k.3E=3E;k.35=35||\'2R\';k.2A=(35==\'3D\');k.2E=!k.2A;m.a1=1j;k.1T=[];k.1i=m.1i;m.1i=I;m.7m();A Q=k.Q=m.16.V;O(A i=0;ip.28+p.4K-p.4S)p.H=p.28+p.4K-p.D-p.3o-p.4S-p.1G-p.36;q(p.H(k.x.1V||k.x.D)){k.bs();q(k.1T.V==1)k.57()}}k.a5()}1y(e){k.9o(e)}},91:C(6c,1M){A c=m.4p(6c,\'7J\',\'K-19\');q(/(1k|3x)/.11(k.2I)){q(k.4j)c.G.L=k.4j+\'F\';q(k.4x)c.G.N=k.4x+\'F\'}},6T:C(){q(k.aD)E;A B=k;k.19=m.4p(k.1s,\'7J\',\'K-19\');q(k.2I==\'1k\'){k.6n();A 5o=m.3w.5J(1);k.19.1X(5o);k.eP=k.1s.1O;q(!k.4j)k.4j=5o.1O;A 5b=k.1s.1U-k.19.1U,h=k.4x||m.4g.N-5b-m.4d-m.6L,4N=k.3U==\'60\'?\' 4N="q (m.16[\'+k.Q+\']) m.16[\'+k.Q+\'].69()" \':\'\';k.19.2d+=\'<1k 2Z="m\'+(1J 7K()).79()+\'" eQ="0" Q="\'+k.Q+\'" \'+\' G="L:\'+k.4j+\'F; N:\'+h+\'F" \'+4N+\' 1e="\'+k.1e+\'" >\';k.5o=k.19.2C(\'P\')[0];k.1k=k.19.2C(\'1k\')[0];q(k.3U==\'6x\')k.8A()}q(k.2I==\'3x\'){k.19.1v=k.19.1v||\'m-fY-1v-\'+k.Q;A a=k.8e;q(!a.29)a.29={};q(1F a.29.aN==\'1L\')a.29.aN=\'fR\';q(9p)9p.fT(k.1e,k.19.1v,k.4j,k.4x,a.g1||\'7\',a.gb,a.aG,a.29,a.aF)}k.aD=M},7Z:C(){q(k.1k&&!k.4x){k.1k.G.N=k.19.G.N=k.8p()+\'F\'}k.1s.1X(m.3w);q(!k.x.1a)k.x.1a=k.1s.1O;k.y.1a=k.1s.1U;k.1s.9q(m.3w);q(m.2h&&k.aL>3H(k.1s.5y.N)){k.aL=3H(k.1s.5y.N)}m.R(k.U,{1l:\'2l\',94:\'0\'});m.R(k.S,{L:k.x.t+\'F\',N:k.y.t+\'F\'})},8p:C(){A h;1t{A 2B=k.5C=k.1k.9O||k.1k.6g.W;A 3w=2B.1d(\'P\');3w.G.aJ=\'bc\';2B.19.1X(3w);h=3w.8O;q(m.2h)h+=3H(2B.19.5y.4d)+3H(2B.19.5y.6L)-1}1y(e){h=de}E h},8A:C(){A 5i=k.1s.1O-k.5o.1O;m.3B(k.5o);q(5i<0)5i=0;A 5b=k.1s.1U-k.1k.1U;q(k.5C&&!k.4x&&!k.N&&k.y.D==k.y.1a)1t{k.5C.19.G.2e=\'1q\'}1y(e){}m.R(k.1k,{L:1h.9Y(k.x.D-5i)+\'F\',N:1h.9Y(k.y.D-5b)+\'F\'});m.R(k.19,{L:k.1k.G.L,N:k.1k.G.N});k.52=k.1k;k.2s=k.52},b4:C(){k.91(k.1s);q(k.2I==\'3x\'&&k.3U==\'60\')k.6T();q(k.x.D1P.1U){1P.G.L=(3H(1P.G.L)+6E)+\'F\'}k.52=1P;k.2s=k.52}q(k.1k&&k.3U==\'60\')k.8A();q(!k.52&&k.y.Dk.2s.23.1U){4a("1t { m.16["+k.Q+"].2s.G.2e = \'1M\'; } 1y(e) {}",m.6W)}},b8:C(5v){A c=5v.fC.7G(\',\');O(A i=0;ip.28+p.4K-p.4S){q(!5u&&8C&&5s){p.D=1h.31(p.D,p.Z(1u==\'y\'?\'5e\':\'8D\'))}J q(p.Z(\'2f\')2M){ 3f=3y*2M;q(3fk.6k&&x.D>k.4s&&y.Z(\'2f\')>y.Z(\'5e\')){y.D-=10;q(2M)x.D=y.D*2M;k.57(0,1);3T=M}}E 3T},dS:C(){q(k.2s){A h=/1k/i.11(k.2s.3J)?(k.8p()+1)+\'F\':\'1M\';q(k.19)k.19.G.N=h;k.2s.G.N=h;k.y.72(k.1s.1U)}},a5:C(){A x=k.x,y=k.y;k.59(\'1q\');m.1A(k,\'et\');q(k.1p&&k.1p.2D)k.1p.2D.5t();k.9b(1,{U:{L:x.Z(\'2f\'),N:y.Z(\'2f\'),1b:x.H,Y:y.H},S:{1b:x.1G+x.Z(\'2K\'),Y:y.1G+y.Z(\'2K\'),L:x.1V||x.D,N:y.1V||y.D}},m.6W)},9b:C(1I,2i,4i){A 5M=k.3q,8o=1I?(k.1i?k.1i.a:I):m.2q,t=(5M[1]&&8o&&m.43(8o,\'3q\')[1]==5M[1])?5M[1]:5M[0];q(k[t]&&t!=\'2F\'){k[t](1I,2i);E}q(k.1g&&!k.3Y){q(1I)k.1g.4C();J k.1g.5U((k.2A&&k.4D))}q(!1I)k.78();A B=k,x=B.x,y=B.y,2Q=k.2Q;q(!1I)2Q=k.cF||2Q;A 6x=1I?C(){q(B.1g)B.1g.2g.G.1n="1Y";4a(C(){B.6I()},50)}:C(){B.5D()};q(1I)m.R(k.U,{L:x.t+\'F\',N:y.t+\'F\'});q(1I&&k.2A){m.R(k.U,{1b:(x.1K-x.cb+x.3s)+\'F\',Y:(y.1K-y.cb+y.3s)+\'F\'})}q(k.cD){m.R(k.U,{1z:1I?0:1});m.3A(2i.U,{1z:1I})}m.2z(k.U,2i.U,{4h:4i,2Q:2Q,3P:C(3j,2H){q(B.1g&&B.3Y&&2H.1f==\'Y\'){A 5W=1I?2H.H:1-2H.H;A H={w:x.t+(x.Z(\'2f\')-x.t)*5W,h:y.t+(y.Z(\'2f\')-y.t)*5W,x:x.1K+(x.H-x.1K)*5W,y:y.1K+(y.H-y.1K)*5W};B.1g.4C(H,0,1)}q(B.2A){q(2H.1f==\'1b\')B.4c.G.1b=(x.H-3j)+\'F\';q(2H.1f==\'Y\')B.4c.G.Y=(y.H-3j)+\'F\'}}});m.2z(k.S,2i.S,4i,2Q,6x);q(1I){k.U.G.1n=\'1Y\';k.S.G.1n=\'1Y\';q(k.2A)k.1s.G.1n=\'1Y\';k.a.1c+=\' K-4I-46\'}},6w:C(1I,2i){k.3Y=1j;A B=k,t=1I?m.6W:0;q(1I){m.2z(k.U,2i.U,0);m.R(k.U,{1z:0,1n:\'1Y\'});m.2z(k.S,2i.S,0);k.S.G.1n=\'1Y\';m.2z(k.U,{1z:1},t,I,C(){B.6I()})}q(k.1g){k.1g.2g.G.1B=k.U.G.1B;A 6Z=1I||-1,1w=k.1g.1w,8r=1I?3:1w,8q=1I?1w:3;O(A i=8r;6Z*i<=6Z*8q;i+=6Z,t+=25){(C(){A o=1I?8q-i:8r-i;4a(C(){B.1g.4C(0,o,1)},t)})()}}q(1I){}J{4a(C(){q(B.1g)B.1g.5U(B.4D);B.78();m.2z(B.U,{1z:0},m.9A,I,C(){B.5D()})},t)}},4e:C(1I,2i,8u){q(!1I)E;A B=k,1i=k.1i,x=k.x,y=k.y,3n=1i.x,3g=1i.y,U=k.U,S=k.S,1x=k.1x;m.4z(W,\'7D\',m.6H);m.R(S,{L:(x.1V||x.D)+\'F\',N:(y.1V||y.D)+\'F\'});q(1x)1x.G.2e=\'1Y\';k.1g=1i.1g;q(k.1g)k.1g.B=B;1i.1g=I;A 5l=m.1d(\'P\',{1c:\'K-\'+k.35},{1l:\'2l\',1B:4,2e:\'1q\',1o:\'1E\'});A 8t={cN:1i,cM:k};O(A n 2Y 8t){k[n]=8t[n].S.5J(1);m.R(k[n],{1l:\'2l\',8H:0,1n:\'1Y\'});5l.1X(k[n])}U.1X(5l);q(k.2A)m.R(k.4c,{1b:0,Y:0});q(1x){1x.1c=\'\';U.1X(1x)}5l.G.1o=\'\';1i.S.G.1o=\'1E\';q(m.4M&&m.2t<73){k.U.G.1n=\'1Y\'}m.2z(U,{L:x.D},{4h:m.cE,3P:C(3j,2H){A H=2H.H,4B=1-H;A 1f,D={},93=[\'H\',\'D\',\'1G\',\'36\'];O(A n 2Y 93){1f=93[n];D[\'x\'+1f]=1h.3e(4B*3n[1f]+H*x[1f]);D[\'y\'+1f]=1h.3e(4B*3g[1f]+H*y[1f]);D.cI=1h.3e(4B*(3n.1V||3n.D)+H*(x.1V||x.D));D.6S=1h.3e(4B*3n.Z(\'2K\')+H*x.Z(\'2K\'));D.cJ=1h.3e(4B*(3g.1V||3g.D)+H*(y.1V||y.D));D.6V=1h.3e(4B*3g.Z(\'2K\')+H*y.Z(\'2K\'))}q(B.1g)B.1g.4C({x:D.3h,y:D.3r,w:D.5L+D.44+D.8U+2*x.cb,h:D.5K+D.45+D.8T+2*y.cb});1i.U.G.d7=\'d6(\'+(D.3r-3g.H)+\'F, \'+(D.5L+D.44+D.8U+D.3h+2*3n.cb-3n.H)+\'F, \'+(D.5K+D.45+D.8T+D.3r+2*3g.cb-3g.H)+\'F, \'+(D.3h-3n.H)+\'F)\';m.R(S,{Y:(D.45+y.Z(\'2K\'))+\'F\',1b:(D.44+x.Z(\'2K\'))+\'F\',4d:(y.H-D.3r)+\'F\',4W:(x.H-D.3h)+\'F\'});m.R(U,{Y:D.3r+\'F\',1b:D.3h+\'F\',L:(D.44+D.8U+D.5L+2*x.cb)+\'F\',N:(D.45+D.8T+D.5K+2*y.cb)+\'F\'});m.R(5l,{L:(D.cI||D.5L)+\'F\',N:(D.cJ||D.5K)+\'F\',1b:(D.44+D.6S)+\'F\',Y:(D.45+D.6V)+\'F\',1n:\'1Y\'});m.R(B.cN,{Y:(3g.H-D.3r+3g.1G-D.45+3g.Z(\'2K\')-D.6V)+\'F\',1b:(3n.H-D.3h+3n.1G-D.44+3n.Z(\'2K\')-D.6S)+\'F\'});m.R(B.cM,{1z:H,Y:(y.H-D.3r+y.1G-D.45+y.Z(\'2K\')-D.6V)+\'F\',1b:(x.H-D.3h+x.1G-D.44+x.Z(\'2K\')-D.6S)+\'F\'});q(1x)m.R(1x,{L:D.5L+\'F\',N:D.5K+\'F\',1b:(D.44+x.cb)+\'F\',Y:(D.45+y.cb)+\'F\'})},76:C(){U.G.1n=S.G.1n=\'1Y\';S.G.1o=\'3X\';m.3B(5l);B.6I();1i.5D();B.1i=I}})},bQ:C(o,el){q(!k.1i)E 1j;O(A i=0;i\'+s+\'

      \'+k[k.6l].2d}}},a0:C(){q(!k.1i){O(A i=0;ik.x.Z(\'6e\')+k.x.Z(\'9R\'));A bG=(3N.y+3N.hk.y.Z(\'6e\')+k.y.Z(\'9R\'))}A 6F=m.9U(1m[i]);q(!bl&&!bG&&6F!=k.Q){q(!2S){1m[i].5F(\'1q-by\',\'[\'+k.Q+\']\');1m[i].9N=1m[i].G[1f];1m[i].G[1f]=\'1q\'}J q(2S.bF(\'[\'+k.Q+\']\')==-1){1m[i].5F(\'1q-by\',2S+\'[\'+k.Q+\']\')}}J q((2S==\'[\'+k.Q+\']\'||m.3d==6F)&&6F!=k.Q){1m[i].5F(\'1q-by\',\'\');1m[i].G[1f]=1m[i].9N||\'\'}J q(2S&&2S.bF(\'[\'+k.Q+\']\')>-1){1m[i].5F(\'1q-by\',2S.2k(\'[\'+k.Q+\']\',\'\'))}}}}},3M:C(){k.U.G.1B=m.4F+=2;O(A i=0;i14.23.1O)14.G.L=\'2w%\'}J q(14.23!=k.1x)k.1x.1X(14);q(/1b$/.11(p))14.G.1b=74+\'F\';q(/4X$/.11(p))m.R(14,{1b:\'50%\',4W:(74-1h.3e(14.1O/2))+\'F\'});q(/3m$/.11(p))14.G.3m=-74+\'F\';q(/^bM$/.11(p)){m.R(14,{3m:\'2w%\',9B:k.x.cb+\'F\',Y:-k.y.cb+\'F\',4Q:-k.y.cb+\'F\',2e:\'1M\'});k.x.1G=14.1O}J q(/^bC$/.11(p)){m.R(14,{1b:\'2w%\',4W:k.x.cb+\'F\',Y:-k.y.cb+\'F\',4Q:-k.y.cb+\'F\',2e:\'1M\'});k.x.36=14.1O}A 9d=14.23.1U;14.G.N=\'1M\';q(53&&14.1U>9d)14.G.N=m.3Z?9d+\'F\':\'2w%\';q(/^Y/.11(p))14.G.Y=6O+\'F\';q(/^9a/.11(p))m.R(14,{Y:\'50%\',4d:(6O-1h.3e(14.1U/2))+\'F\'});q(/^4Q/.11(p))14.G.4Q=-6O+\'F\';q(/^5N$/.11(p)){m.R(14,{1b:(-k.x.1G-k.x.cb)+\'F\',3m:(-k.x.36-k.x.cb)+\'F\',4Q:\'2w%\',6L:k.y.cb+\'F\',L:\'1M\'});k.y.1G=14.1U}J q(/^7E$/.11(p)){m.R(14,{1l:\'4y\',1b:(-k.x.1G-k.x.cb)+\'F\',3m:(-k.x.36-k.x.cb)+\'F\',Y:\'2w%\',4d:k.y.cb+\'F\',L:\'1M\'});k.y.36=14.1U;14.G.1l=\'2l\'}},bB:C(){k.a2([\'58\',\'9X\'],M);k.bq();q(k.9X)m.1A(k,\'eE\');q(k.58)m.1A(k,\'eF\');q(k.58&&k.a7)k.58.1c+=\' K-3u\';q(m.br)k.bp();O(A i=0;i=5.5){s=s.2k(1J 4Y(\']*>\',\'c9\'),\'\').2k(1J 4Y(\']*>.*?\',\'c9\'),\'\');q(k.1k){A 2B=k.1k.9O;q(!2B&&k.1k.6g)2B=k.1k.6g.W;q(!2B){A 3v=k;4a(C(){3v.6f()},25);E}2B.ca();2B.dg(s);2B.26();1t{s=2B.9Q(k.1v).2d}1y(e){1t{s=k.1k.W.9Q(k.1v).2d}1y(e){}}m.3B(k.1k)}J{7H=/(<19[^>]*>|<\\/19>)/db;q(7H.11(s))s=s.7G(7H)[m.3R?1:2]}}m.4p(k.S,\'7J\',\'K-19\').2d=s;k.3F();O(A x 2Y k)k[x]=I}};m.83=C(4k,1r){q(m.cX!==1j)m.95();k.4k=4k;O(A x 2Y 1r)k[x]=1r[x];q(k.cZ)k.cg();q(k.2D)k.2D=m.ci(k)};m.83.5w={cg:C(){k.2X=m.1d(\'P\',{2d:m.8b(m.8i.2X)},I,m.2b);A 6j=[\'3L\',\'3p\',\'3a\',\'1D\',\'3u\',\'1a-2F\',\'26\'];k.1Q={};A 3v=k;O(A i=0;i<6j.V;i++){k.1Q[6j[i]]=m.4p(k.2X,\'1H\',\'K-\'+6j[i]);k.4u(6j[i])}k.1Q.3p.G.1o=\'1E\'},ch:C(){q(k.cm||!k.2X)E;A B=m.16[k.4k],5q=B.7v(),2m=/7w$/;q(5q==0)k.5d(\'3a\');J q(2m.11(k.1Q.3a.2C(\'a\')[0].1c))k.4u(\'3a\');q(5q+1==m.4U.3i[B.2N||\'1E\'].V){k.5d(\'1D\');k.5d(\'3L\')}J q(2m.11(k.1Q.1D.2C(\'a\')[0].1c)){k.4u(\'1D\');k.4u(\'3L\')}},4u:C(1Q){q(!k.1Q)E;A cn=k,a=k.1Q[1Q].2C(\'a\')[0],2m=/7w$/;a.2p=C(){cn[1Q]();E 1j};q(2m.11(a.1c))a.1c=a.1c.2k(2m,\'\')},5d:C(1Q){q(!k.1Q)E;A a=k.1Q[1Q].2C(\'a\')[0];a.2p=C(){E 1j};q(!/7w$/.11(a.1c))a.1c+=\' 7w\'},cl:C(){q(k.42)k.3p();J k.3L()},3L:C(ck){q(k.1Q){k.1Q.3L.G.1o=\'1E\';k.1Q.3p.G.1o=\'\'}k.42=M;q(!ck)m.1D(k.4k)},3p:C(){q(k.1Q){k.1Q.3p.G.1o=\'1E\';k.1Q.3L.G.1o=\'\'}d9(k.42);k.42=I},3a:C(){k.3p();m.3a(k.1Q.3a)},1D:C(){k.3p();m.1D(k.1Q.1D)},3u:C(){},\'1a-2F\':C(){m.2G().7r()},26:C(){m.26(k.1Q.26)}};m.ci=C(1p){C 7p(B){m.3A(1r||{},{4P:4E,22:\'2D\',1c:\'K-2D-\'+5k+\'-14 \'+(1r.1c||\'\')});q(m.3Z)1r.6w=0;B.4O(1r);m.R(4E.23,{2e:\'1q\'})};C 28(3K){5t(1L,1h.3e(3K*4E[3S?\'1O\':\'1U\']*0.7))};C 5t(i,80){q(i===1L)O(A j=0;j<5I.V;j++){q(5I[j]==m.16[1p.4k].a){i=j;5m}}q(i===1L)E;A as=4E.2C(\'a\'),4I=as[i],48=4I.23,1b=3S?\'cj\':\'c8\',3m=3S?\'c7\':\'bX\',L=3S?\'bY\':\'bW\',4V=\'1w\'+1b,1O=\'1w\'+L,7e=P.23.23[1O],5j=7e-2g[1O],6o=3H(2g.G[3S?\'1b\':\'Y\'])||0,2O=6o,ej=20;q(80!==1L){2O=6o-80;q(5j>0)5j=0;q(2O>0)2O=0;q(2O<5j)2O=5j}J{O(A j=0;j0?as[i-1].23[4V]:48[4V],7Y=48[4V]+48[1O]+(as[i+1]?as[i+1].23[1O]:0);q(7Y>7e-6o)2O=7e-7Y;J q(7X<-6o)2O=-7X}A 8R=48[4V]+(48[1O]-7f[1O])/2+2O;m.2z(2g,3S?{1b:2O}:{Y:2O},I,\'8S\');m.2z(7f,3S?{1b:8R}:{Y:8R},I,\'8S\');8l.G.1o=2O<0?\'3X\':\'1E\';8M.G.1o=(2O>5j)?\'3X\':\'1E\'};A 5I=m.4U.3i[m.16[1p.4k].2N||\'1E\'],1r=1p.2D,5k=1r.5k||\'bV\',8K=(5k==\'en\'),4f=8K?[\'P\',\'6t\',\'1H\',\'1C\']:[\'2g\',\'4G\',\'47\',\'2J\'],3S=(5k==\'bV\'),4E=m.1d(\'P\',{1c:\'K-2D K-2D-\'+5k,2d:\'

      \'+\'<\'+4f[0]+\'><\'+4f[1]+\'>

      \'+\'

      \'+\'

      \'+\'

      \'},{1o:\'1E\'},m.2b),5E=4E.7L,P=5E[0],8l=5E[1],8M=5E[2],7f=5E[3],2g=P.ef,4G=4E.2C(4f[1])[0],47;O(A i=0;i<5I.V;i++){q(i==0||!3S)47=m.1d(4f[2],I,I,4G);(C(){A a=5I[i],48=m.1d(4f[3],I,I,47),ex=i;m.1d(\'a\',{21:a.21,24:a.24,2p:C(){q(/K-4I-46/.11(k.1c))E 1j;m.2G(k).3M();E m.8N(a)},2d:m.bT?m.bT(a):a.2d},I,48)})()}q(!8K){8l.2p=C(){28(-1)};8M.2p=C(){28(1)};m.2j(4G,W.eA!==1L?\'er\':\'eq\',C(e){A 3K=0;e=e||1S.2u;q(e.bU){3K=e.bU/dR;q(m.3z)3K=-3K}J q(e.bZ){3K=-e.bZ/3}q(3K)28(-3K*0.2);q(e.5n)e.5n();e.c0=1j})}E{7p:7p,5t:5t}};m.7o=m.18;A e8=m.5A;q(m.2h&&1S==1S.Y){(C(){1t{W.5h.e4(\'1b\')}1y(e){4a(c5.dZ,50);E}m.41()})()}m.2j(W,\'dW\',m.41);m.2j(1S,\'8B\',m.41);m.2j(W,\'41\',C(){q(m.7R||m.4b){A G=m.1d(\'G\',{T:\'e0/8I\'},I,W.2C(\'e1\')[0]),8E=W.7a==\'8v\';C 5P(8m,8n){q(m.2h&&(m.2t<9||8E)){A 1i=W.c6[W.c6.V-1];q(1F(1i.5P)=="7j")1i.5P(8m,8n)}J{G.1X(W.e6(8m+" {"+8n+"}"))}}C 5T(1f){E\'e5( ( ( ez = W.5h.\'+1f+\' ? W.5h.\'+1f+\' : W.19.\'+1f+\' ) ) + \\\'F\\\' );\'}q(m.7R)5P(\'.K 1N\',\'4L: 7T(\'+m.5c+m.7R+\'), 7Q !dA;\');5P(\'.K-2x-D\',m.2h&&(m.2t<7||8E)?\'1l: 2l; \'+\'1b:\'+5T(\'5O\')+\'Y:\'+5T(\'5R\')+\'L:\'+5T(\'8F\')+\'N:\'+5T(\'c4\'):\'1l: fV; L: 2w%; N: 2w%; 1b: 0; Y: 0\')}});m.2j(1S,\'3O\',C(){m.7S();q(m.2x)O(A i=0;iHighslide JS', + creditsTitle : 'Go to the Highslide JS homepage', + previousText : 'Previous', + nextText : 'Next', + moveText : 'Move', + closeText : 'Close', + closeTitle : 'Close (esc)', + resizeTitle : 'Resize', + playText : 'Play', + playTitle : 'Play slideshow (spacebar)', + pauseText : 'Pause', + pauseTitle : 'Pause slideshow (spacebar)', + previousTitle : 'Previous (arrow left)', + nextTitle : 'Next (arrow right)', + moveTitle : 'Move', + fullExpandText : '1:1', + number: 'Image %1 of %2', + restoreTitle : 'Click to close image, click and drag to move. Use arrow keys for next and previous.' +}, +// See http://highslide.com/ref for examples of settings +graphicsDir : 'highslide/graphics/', +expandCursor : 'zoomin.cur', // null disables +restoreCursor : 'zoomout.cur', // null disables +expandDuration : 250, // milliseconds +restoreDuration : 250, +marginLeft : 15, +marginRight : 15, +marginTop : 15, +marginBottom : 15, +zIndexCounter : 1001, // adjust to other absolutely positioned elements +loadingOpacity : 0.75, +allowMultipleInstances: true, +numberOfImagesToPreload : 5, +outlineWhileAnimating : 2, // 0 = never, 1 = always, 2 = HTML only +outlineStartOffset : 3, // ends at 10 +padToMinWidth : false, // pad the popup width to make room for wide caption +fullExpandPosition : 'bottom right', +fullExpandOpacity : 1, +showCredits : true, // you can set this to false if you want +creditsHref : 'http://highslide.com/', +creditsTarget : '_self', +enableKeyListener : true, +openerTagNames : ['a'], // Add more to allow slideshow indexing +transitions : [], +transitionDuration: 250, +dimmingOpacity: 0, // Lightbox style dimming background +dimmingDuration: 50, // 0 for instant dimming + +anchor : 'auto', // where the image expands from +align : 'auto', // position in the client (overrides anchor) +targetX: null, // the id of a target element +targetY: null, +dragByHeading: true, +minWidth: 200, +minHeight: 200, +allowSizeReduction: true, // allow the image to reduce to fit client size. If false, this overrides minWidth and minHeight +outlineType : 'drop-shadow', // set null to disable outlines +skin : { + controls: + '
      ' +}, +// END OF YOUR SETTINGS + + +// declare internal properties +preloadTheseImages : [], +continuePreloading: true, +expanders : [], +overrides : [ + 'allowSizeReduction', + 'useBox', + 'anchor', + 'align', + 'targetX', + 'targetY', + 'outlineType', + 'outlineWhileAnimating', + 'captionId', + 'captionText', + 'captionEval', + 'captionOverlay', + 'headingId', + 'headingText', + 'headingEval', + 'headingOverlay', + 'creditsPosition', + 'dragByHeading', + 'autoplay', + 'numberPosition', + 'transitions', + 'dimmingOpacity', + + 'width', + 'height', + + 'wrapperClassName', + 'minWidth', + 'minHeight', + 'maxWidth', + 'maxHeight', + 'pageOrigin', + 'slideshowGroup', + 'easing', + 'easingClose', + 'fadeInOut', + 'src' +], +overlays : [], +idCounter : 0, +oPos : { + x: ['leftpanel', 'left', 'center', 'right', 'rightpanel'], + y: ['above', 'top', 'middle', 'bottom', 'below'] +}, +mouse: {}, +headingOverlay: {}, +captionOverlay: {}, +timers : [], + +slideshows : [], + +pendingOutlines : {}, +clones : {}, +onReady: [], +uaVersion: /Trident\/4\.0/.test(navigator.userAgent) ? 8 : + parseFloat((navigator.userAgent.toLowerCase().match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1]), +ie : (document.all && !window.opera), +//ie : navigator && /MSIE [678]/.test(navigator.userAgent), // ie9 compliant? +safari : /Safari/.test(navigator.userAgent), +geckoMac : /Macintosh.+rv:1\.[0-8].+Gecko/.test(navigator.userAgent), + +$ : function (id) { + if (id) return document.getElementById(id); +}, + +push : function (arr, val) { + arr[arr.length] = val; +}, + +createElement : function (tag, attribs, styles, parent, nopad) { + var el = document.createElement(tag); + if (attribs) hs.extend(el, attribs); + if (nopad) hs.setStyles(el, {padding: 0, border: 'none', margin: 0}); + if (styles) hs.setStyles(el, styles); + if (parent) parent.appendChild(el); + return el; +}, + +extend : function (el, attribs) { + for (var x in attribs) el[x] = attribs[x]; + return el; +}, + +setStyles : function (el, styles) { + for (var x in styles) { + if (hs.ieLt9 && x == 'opacity') { + if (styles[x] > 0.99) el.style.removeAttribute('filter'); + else el.style.filter = 'alpha(opacity='+ (styles[x] * 100) +')'; + } + else el.style[x] = styles[x]; + } +}, +animate: function(el, prop, opt) { + var start, + end, + unit; + if (typeof opt != 'object' || opt === null) { + var args = arguments; + opt = { + duration: args[2], + easing: args[3], + complete: args[4] + }; + } + if (typeof opt.duration != 'number') opt.duration = 250; + opt.easing = Math[opt.easing] || Math.easeInQuad; + opt.curAnim = hs.extend({}, prop); + for (var name in prop) { + var e = new hs.fx(el, opt , name ); + + start = parseFloat(hs.css(el, name)) || 0; + end = parseFloat(prop[name]); + unit = name != 'opacity' ? 'px' : ''; + + e.custom( start, end, unit ); + } +}, +css: function(el, prop) { + if (el.style[prop]) { + return el.style[prop]; + } else if (document.defaultView) { + return document.defaultView.getComputedStyle(el, null).getPropertyValue(prop); + + } else { + if (prop == 'opacity') prop = 'filter'; + var val = el.currentStyle[prop.replace(/\-(\w)/g, function (a, b){ return b.toUpperCase(); })]; + if (prop == 'filter') + val = val.replace(/alpha\(opacity=([0-9]+)\)/, + function (a, b) { return b / 100 }); + return val === '' ? 1 : val; + } +}, + +getPageSize : function () { + var d = document, w = window, iebody = d.compatMode && d.compatMode != 'BackCompat' + ? d.documentElement : d.body, + ieLt9 = hs.ie && (hs.uaVersion < 9 || typeof pageXOffset == 'undefined'); + + var width = ieLt9 ? iebody.clientWidth : + (d.documentElement.clientWidth || self.innerWidth), + height = ieLt9 ? iebody.clientHeight : self.innerHeight; + hs.page = { + width: width, + height: height, + scrollLeft: ieLt9 ? iebody.scrollLeft : pageXOffset, + scrollTop: ieLt9 ? iebody.scrollTop : pageYOffset + }; + return hs.page; +}, + +getPosition : function(el) { + var p = { x: el.offsetLeft, y: el.offsetTop }; + while (el.offsetParent) { + el = el.offsetParent; + p.x += el.offsetLeft; + p.y += el.offsetTop; + if (el != document.body && el != document.documentElement) { + p.x -= el.scrollLeft; + p.y -= el.scrollTop; + } + } + return p; +}, + +expand : function(a, params, custom, type) { + if (!a) a = hs.createElement('a', null, { display: 'none' }, hs.container); + if (typeof a.getParams == 'function') return params; + try { + new hs.Expander(a, params, custom); + return false; + } catch (e) { return true; } +}, +getElementByClass : function (el, tagName, className) { + var els = el.getElementsByTagName(tagName); + for (var i = 0; i < els.length; i++) { + if ((new RegExp(className)).test(els[i].className)) { + return els[i]; + } + } + return null; +}, +replaceLang : function(s) { + s = s.replace(/\s/g, ' '); + var re = /{hs\.lang\.([^}]+)\}/g, + matches = s.match(re), + lang; + if (matches) for (var i = 0; i < matches.length; i++) { + lang = matches[i].replace(re, "$1"); + if (typeof hs.lang[lang] != 'undefined') s = s.replace(matches[i], hs.lang[lang]); + } + return s; +}, + + +focusTopmost : function() { + var topZ = 0, + topmostKey = -1, + expanders = hs.expanders, + exp, + zIndex; + for (var i = 0; i < expanders.length; i++) { + exp = expanders[i]; + if (exp) { + zIndex = exp.wrapper.style.zIndex; + if (zIndex && zIndex > topZ) { + topZ = zIndex; + topmostKey = i; + } + } + } + if (topmostKey == -1) hs.focusKey = -1; + else expanders[topmostKey].focus(); +}, + +getParam : function (a, param) { + a.getParams = a.onclick; + var p = a.getParams ? a.getParams() : null; + a.getParams = null; + + return (p && typeof p[param] != 'undefined') ? p[param] : + (typeof hs[param] != 'undefined' ? hs[param] : null); +}, + +getSrc : function (a) { + var src = hs.getParam(a, 'src'); + if (src) return src; + return a.href; +}, + +getNode : function (id) { + var node = hs.$(id), clone = hs.clones[id], a = {}; + if (!node && !clone) return null; + if (!clone) { + clone = node.cloneNode(true); + clone.id = ''; + hs.clones[id] = clone; + return node; + } else { + return clone.cloneNode(true); + } +}, + +discardElement : function(d) { + if (d) hs.garbageBin.appendChild(d); + hs.garbageBin.innerHTML = ''; +}, +dim : function(exp) { + if (!hs.dimmer) { + isNew = true; + hs.dimmer = hs.createElement ('div', { + className: 'highslide-dimming highslide-viewport-size', + owner: '', + onclick: function() { + + hs.close(); + } + }, { + visibility: 'visible', + opacity: 0 + }, hs.container, true); + + if (/(Android|iPad|iPhone|iPod)/.test(navigator.userAgent)) { + var body = document.body; + function pixDimmerSize() { + hs.setStyles(hs.dimmer, { + width: body.scrollWidth +'px', + height: body.scrollHeight +'px' + }); + } + pixDimmerSize(); + hs.addEventListener(window, 'resize', pixDimmerSize); + } + } + hs.dimmer.style.display = ''; + + var isNew = hs.dimmer.owner == ''; + hs.dimmer.owner += '|'+ exp.key; + + if (isNew) { + if (hs.geckoMac && hs.dimmingGeckoFix) + hs.setStyles(hs.dimmer, { + background: 'url('+ hs.graphicsDir + 'geckodimmer.png)', + opacity: 1 + }); + else + hs.animate(hs.dimmer, { opacity: exp.dimmingOpacity }, hs.dimmingDuration); + } +}, +undim : function(key) { + if (!hs.dimmer) return; + if (typeof key != 'undefined') hs.dimmer.owner = hs.dimmer.owner.replace('|'+ key, ''); + + if ( + (typeof key != 'undefined' && hs.dimmer.owner != '') + || (hs.upcoming && hs.getParam(hs.upcoming, 'dimmingOpacity')) + ) return; + + if (hs.geckoMac && hs.dimmingGeckoFix) hs.dimmer.style.display = 'none'; + else hs.animate(hs.dimmer, { opacity: 0 }, hs.dimmingDuration, null, function() { + hs.dimmer.style.display = 'none'; + }); +}, +transit : function (adj, exp) { + var last = exp || hs.getExpander(); + exp = last; + if (hs.upcoming) return false; + else hs.last = last; + hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); + try { + hs.upcoming = adj; + adj.onclick(); + } catch (e){ + hs.last = hs.upcoming = null; + } + try { + if (!adj || exp.transitions[1] != 'crossfade') + exp.close(); + } catch (e) {} + return false; +}, + +previousOrNext : function (el, op) { + var exp = hs.getExpander(el); + if (exp) return hs.transit(exp.getAdjacentAnchor(op), exp); + else return false; +}, + +previous : function (el) { + return hs.previousOrNext(el, -1); +}, + +next : function (el) { + return hs.previousOrNext(el, 1); +}, + +keyHandler : function(e) { + if (!e) e = window.event; + if (!e.target) e.target = e.srcElement; // ie + if (typeof e.target.form != 'undefined') return true; // form element has focus + var exp = hs.getExpander(); + + var op = null; + switch (e.keyCode) { + case 70: // f + if (exp) exp.doFullExpand(); + return true; + case 32: // Space + op = 2; + break; + case 34: // Page Down + case 39: // Arrow right + case 40: // Arrow down + op = 1; + break; + case 8: // Backspace + case 33: // Page Up + case 37: // Arrow left + case 38: // Arrow up + op = -1; + break; + case 27: // Escape + case 13: // Enter + op = 0; + } + if (op !== null) {if (op != 2)hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); + if (!hs.enableKeyListener) return true; + + if (e.preventDefault) e.preventDefault(); + else e.returnValue = false; + if (exp) { + if (op == 0) { + exp.close(); + } else if (op == 2) { + if (exp.slideshow) exp.slideshow.hitSpace(); + } else { + if (exp.slideshow) exp.slideshow.pause(); + hs.previousOrNext(exp.key, op); + } + return false; + } + } + return true; +}, + + +registerOverlay : function (overlay) { + hs.push(hs.overlays, hs.extend(overlay, { hsId: 'hsId'+ hs.idCounter++ } )); +}, + + +addSlideshow : function (options) { + var sg = options.slideshowGroup; + if (typeof sg == 'object') { + for (var i = 0; i < sg.length; i++) { + var o = {}; + for (var x in options) o[x] = options[x]; + o.slideshowGroup = sg[i]; + hs.push(hs.slideshows, o); + } + } else { + hs.push(hs.slideshows, options); + } +}, + +getWrapperKey : function (element, expOnly) { + var el, re = /^highslide-wrapper-([0-9]+)$/; + // 1. look in open expanders + el = element; + while (el.parentNode) { + if (el.hsKey !== undefined) return el.hsKey; + if (el.id && re.test(el.id)) return el.id.replace(re, "$1"); + el = el.parentNode; + } + // 2. look in thumbnail + if (!expOnly) { + el = element; + while (el.parentNode) { + if (el.tagName && hs.isHsAnchor(el)) { + for (var key = 0; key < hs.expanders.length; key++) { + var exp = hs.expanders[key]; + if (exp && exp.a == el) return key; + } + } + el = el.parentNode; + } + } + return null; +}, + +getExpander : function (el, expOnly) { + if (typeof el == 'undefined') return hs.expanders[hs.focusKey] || null; + if (typeof el == 'number') return hs.expanders[el] || null; + if (typeof el == 'string') el = hs.$(el); + return hs.expanders[hs.getWrapperKey(el, expOnly)] || null; +}, + +isHsAnchor : function (a) { + return (a.onclick && a.onclick.toString().replace(/\s/g, ' ').match(/hs.(htmlE|e)xpand/)); +}, + +reOrder : function () { + for (var i = 0; i < hs.expanders.length; i++) + if (hs.expanders[i] && hs.expanders[i].isExpanded) hs.focusTopmost(); +}, + +mouseClickHandler : function(e) +{ + if (!e) e = window.event; + if (e.button > 1) return true; + if (!e.target) e.target = e.srcElement; + + var el = e.target; + while (el.parentNode + && !(/highslide-(image|move|html|resize)/.test(el.className))) + { + el = el.parentNode; + } + var exp = hs.getExpander(el); + if (exp && (exp.isClosing || !exp.isExpanded)) return true; + + if (exp && e.type == 'mousedown') { + if (e.target.form) return true; + var match = el.className.match(/highslide-(image|move|resize)/); + if (match) { + hs.dragArgs = { + exp: exp , + type: match[1], + left: exp.x.pos, + width: exp.x.size, + top: exp.y.pos, + height: exp.y.size, + clickX: e.clientX, + clickY: e.clientY + }; + + + hs.addEventListener(document, 'mousemove', hs.dragHandler); + if (e.preventDefault) e.preventDefault(); // FF + + if (/highslide-(image|html)-blur/.test(exp.content.className)) { + exp.focus(); + hs.hasFocused = true; + } + return false; + } + } else if (e.type == 'mouseup') { + + hs.removeEventListener(document, 'mousemove', hs.dragHandler); + + if (hs.dragArgs) { + if (hs.styleRestoreCursor && hs.dragArgs.type == 'image') + hs.dragArgs.exp.content.style.cursor = hs.styleRestoreCursor; + var hasDragged = hs.dragArgs.hasDragged; + + if (!hasDragged &&!hs.hasFocused && !/(move|resize)/.test(hs.dragArgs.type)) { + exp.close(); + } + else if (hasDragged || (!hasDragged && hs.hasHtmlExpanders)) { + hs.dragArgs.exp.doShowHide('hidden'); + } + hs.hasFocused = false; + hs.dragArgs = null; + + } else if (/highslide-image-blur/.test(el.className)) { + el.style.cursor = hs.styleRestoreCursor; + } + } + return false; +}, + +dragHandler : function(e) +{ + if (!hs.dragArgs) return true; + if (!e) e = window.event; + var a = hs.dragArgs, exp = a.exp; + + a.dX = e.clientX - a.clickX; + a.dY = e.clientY - a.clickY; + + var distance = Math.sqrt(Math.pow(a.dX, 2) + Math.pow(a.dY, 2)); + if (!a.hasDragged) a.hasDragged = (a.type != 'image' && distance > 0) + || (distance > (hs.dragSensitivity || 5)); + + if (a.hasDragged && e.clientX > 5 && e.clientY > 5) { + + if (a.type == 'resize') exp.resize(a); + else { + exp.moveTo(a.left + a.dX, a.top + a.dY); + if (a.type == 'image') exp.content.style.cursor = 'move'; + } + } + return false; +}, + +wrapperMouseHandler : function (e) { + try { + if (!e) e = window.event; + var over = /mouseover/i.test(e.type); + if (!e.target) e.target = e.srcElement; // ie + if (!e.relatedTarget) e.relatedTarget = + over ? e.fromElement : e.toElement; // ie + var exp = hs.getExpander(e.target); + if (!exp.isExpanded) return; + if (!exp || !e.relatedTarget || hs.getExpander(e.relatedTarget, true) == exp + || hs.dragArgs) return; + for (var i = 0; i < exp.overlays.length; i++) (function() { + var o = hs.$('hsId'+ exp.overlays[i]); + if (o && o.hideOnMouseOut) { + if (over) hs.setStyles(o, { visibility: 'visible', display: '' }); + hs.animate(o, { opacity: over ? o.opacity : 0 }, o.dur); + } + })(); + } catch (e) {} +}, +addEventListener : function (el, event, func) { + if (el == document && event == 'ready') { + hs.push(hs.onReady, func); + } + try { + el.addEventListener(event, func, false); + } catch (e) { + try { + el.detachEvent('on'+ event, func); + el.attachEvent('on'+ event, func); + } catch (e) { + el['on'+ event] = func; + } + } +}, + +removeEventListener : function (el, event, func) { + try { + el.removeEventListener(event, func, false); + } catch (e) { + try { + el.detachEvent('on'+ event, func); + } catch (e) { + el['on'+ event] = null; + } + } +}, + +preloadFullImage : function (i) { + if (hs.continuePreloading && hs.preloadTheseImages[i] && hs.preloadTheseImages[i] != 'undefined') { + var img = document.createElement('img'); + img.onload = function() { + img = null; + hs.preloadFullImage(i + 1); + }; + img.src = hs.preloadTheseImages[i]; + } +}, +preloadImages : function (number) { + if (number && typeof number != 'object') hs.numberOfImagesToPreload = number; + + var arr = hs.getAnchors(); + for (var i = 0; i < arr.images.length && i < hs.numberOfImagesToPreload; i++) { + hs.push(hs.preloadTheseImages, hs.getSrc(arr.images[i])); + } + + // preload outlines + if (hs.outlineType) new hs.Outline(hs.outlineType, function () { hs.preloadFullImage(0)} ); + else + + hs.preloadFullImage(0); + + // preload cursor + if (hs.restoreCursor) var cur = hs.createElement('img', { src: hs.graphicsDir + hs.restoreCursor }); +}, + + +init : function () { + if (!hs.container) { + + hs.ieLt7 = hs.ie && hs.uaVersion < 7; + hs.ieLt9 = hs.ie && hs.uaVersion < 9; + + hs.getPageSize(); + for (var x in hs.langDefaults) { + if (typeof hs[x] != 'undefined') hs.lang[x] = hs[x]; + else if (typeof hs.lang[x] == 'undefined' && typeof hs.langDefaults[x] != 'undefined') + hs.lang[x] = hs.langDefaults[x]; + } + + hs.container = hs.createElement('div', { + className: 'highslide-container' + }, { + position: 'absolute', + left: 0, + top: 0, + width: '100%', + zIndex: hs.zIndexCounter, + direction: 'ltr' + }, + document.body, + true + ); + hs.loading = hs.createElement('a', { + className: 'highslide-loading', + title: hs.lang.loadingTitle, + innerHTML: hs.lang.loadingText, + href: 'javascript:;' + }, { + position: 'absolute', + top: '-9999px', + opacity: hs.loadingOpacity, + zIndex: 1 + }, hs.container + ); + hs.garbageBin = hs.createElement('div', null, { display: 'none' }, hs.container); + hs.viewport = hs.createElement('div', { + className: 'highslide-viewport highslide-viewport-size' + }, { + visibility: (hs.safari && hs.uaVersion < 525) ? 'visible' : 'hidden' + }, hs.container, 1 + ); + + // http://www.robertpenner.com/easing/ + Math.linearTween = function (t, b, c, d) { + return c*t/d + b; + }; + Math.easeInQuad = function (t, b, c, d) { + return c*(t/=d)*t + b; + }; + Math.easeOutQuad = function (t, b, c, d) { + return -c *(t/=d)*(t-2) + b; + }; + + hs.hideSelects = hs.ieLt7; + hs.hideIframes = ((window.opera && hs.uaVersion < 9) || navigator.vendor == 'KDE' + || (hs.ieLt7 && hs.uaVersion < 5.5)); + } +}, +ready : function() { + if (hs.isReady) return; + hs.isReady = true; + for (var i = 0; i < hs.onReady.length; i++) hs.onReady[i](); +}, + +updateAnchors : function() { + var el, els, all = [], images = [],groups = {}, re; + + for (var i = 0; i < hs.openerTagNames.length; i++) { + els = document.getElementsByTagName(hs.openerTagNames[i]); + for (var j = 0; j < els.length; j++) { + el = els[j]; + re = hs.isHsAnchor(el); + if (re) { + hs.push(all, el); + if (re[0] == 'hs.expand') hs.push(images, el); + var g = hs.getParam(el, 'slideshowGroup') || 'none'; + if (!groups[g]) groups[g] = []; + hs.push(groups[g], el); + } + } + } + hs.anchors = { all: all, groups: groups, images: images }; + return hs.anchors; + +}, + +getAnchors : function() { + return hs.anchors || hs.updateAnchors(); +}, + + +close : function(el) { + var exp = hs.getExpander(el); + if (exp) exp.close(); + return false; +} +}; // end hs object +hs.fx = function( elem, options, prop ){ + this.options = options; + this.elem = elem; + this.prop = prop; + + if (!options.orig) options.orig = {}; +}; +hs.fx.prototype = { + update: function(){ + (hs.fx.step[this.prop] || hs.fx.step._default)(this); + + if (this.options.step) + this.options.step.call(this.elem, this.now, this); + + }, + custom: function(from, to, unit){ + this.startTime = (new Date()).getTime(); + this.start = from; + this.end = to; + this.unit = unit;// || this.unit || "px"; + this.now = this.start; + this.pos = this.state = 0; + + var self = this; + function t(gotoEnd){ + return self.step(gotoEnd); + } + + t.elem = this.elem; + + if ( t() && hs.timers.push(t) == 1 ) { + hs.timerId = setInterval(function(){ + var timers = hs.timers; + + for ( var i = 0; i < timers.length; i++ ) + if ( !timers[i]() ) + timers.splice(i--, 1); + + if ( !timers.length ) { + clearInterval(hs.timerId); + } + }, 13); + } + }, + step: function(gotoEnd){ + var t = (new Date()).getTime(); + if ( gotoEnd || t >= this.options.duration + this.startTime ) { + this.now = this.end; + this.pos = this.state = 1; + this.update(); + + this.options.curAnim[ this.prop ] = true; + + var done = true; + for ( var i in this.options.curAnim ) + if ( this.options.curAnim[i] !== true ) + done = false; + + if ( done ) { + if (this.options.complete) this.options.complete.call(this.elem); + } + return false; + } else { + var n = t - this.startTime; + this.state = n / this.options.duration; + this.pos = this.options.easing(n, 0, 1, this.options.duration); + this.now = this.start + ((this.end - this.start) * this.pos); + this.update(); + } + return true; + } + +}; + +hs.extend( hs.fx, { + step: { + + opacity: function(fx){ + hs.setStyles(fx.elem, { opacity: fx.now }); + }, + + _default: function(fx){ + try { + if ( fx.elem.style && fx.elem.style[ fx.prop ] != null ) + fx.elem.style[ fx.prop ] = fx.now + fx.unit; + else + fx.elem[ fx.prop ] = fx.now; + } catch (e) {} + } + } +}); + +hs.Outline = function (outlineType, onLoad) { + this.onLoad = onLoad; + this.outlineType = outlineType; + var v = hs.uaVersion, tr; + + this.hasAlphaImageLoader = hs.ie && hs.uaVersion < 7; + if (!outlineType) { + if (onLoad) onLoad(); + return; + } + + hs.init(); + this.table = hs.createElement( + 'table', { + cellSpacing: 0 + }, { + visibility: 'hidden', + position: 'absolute', + borderCollapse: 'collapse', + width: 0 + }, + hs.container, + true + ); + var tbody = hs.createElement('tbody', null, null, this.table, 1); + + this.td = []; + for (var i = 0; i <= 8; i++) { + if (i % 3 == 0) tr = hs.createElement('tr', null, { height: 'auto' }, tbody, true); + this.td[i] = hs.createElement('td', null, null, tr, true); + var style = i != 4 ? { lineHeight: 0, fontSize: 0} : { position : 'relative' }; + hs.setStyles(this.td[i], style); + } + this.td[4].className = outlineType +' highslide-outline'; + + this.preloadGraphic(); +}; + +hs.Outline.prototype = { +preloadGraphic : function () { + var src = hs.graphicsDir + (hs.outlinesDir || "outlines/")+ this.outlineType +".png"; + + var appendTo = hs.safari && hs.uaVersion < 525 ? hs.container : null; + this.graphic = hs.createElement('img', null, { position: 'absolute', + top: '-9999px' }, appendTo, true); // for onload trigger + + var pThis = this; + this.graphic.onload = function() { pThis.onGraphicLoad(); }; + + this.graphic.src = src; +}, + +onGraphicLoad : function () { + var o = this.offset = this.graphic.width / 4, + pos = [[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]], + dim = { height: (2*o) +'px', width: (2*o) +'px' }; + for (var i = 0; i <= 8; i++) { + if (pos[i]) { + if (this.hasAlphaImageLoader) { + var w = (i == 1 || i == 7) ? '100%' : this.graphic.width +'px'; + var div = hs.createElement('div', null, { width: '100%', height: '100%', position: 'relative', overflow: 'hidden'}, this.td[i], true); + hs.createElement ('div', null, { + filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale, src='"+ this.graphic.src + "')", + position: 'absolute', + width: w, + height: this.graphic.height +'px', + left: (pos[i][0]*o)+'px', + top: (pos[i][1]*o)+'px' + }, + div, + true); + } else { + hs.setStyles(this.td[i], { background: 'url('+ this.graphic.src +') '+ (pos[i][0]*o)+'px '+(pos[i][1]*o)+'px'}); + } + + if (window.opera && (i == 3 || i ==5)) + hs.createElement('div', null, dim, this.td[i], true); + + hs.setStyles (this.td[i], dim); + } + } + this.graphic = null; + if (hs.pendingOutlines[this.outlineType]) hs.pendingOutlines[this.outlineType].destroy(); + hs.pendingOutlines[this.outlineType] = this; + if (this.onLoad) this.onLoad(); +}, + +setPosition : function (pos, offset, vis, dur, easing) { + var exp = this.exp, + stl = exp.wrapper.style, + offset = offset || 0, + pos = pos || { + x: exp.x.pos + offset, + y: exp.y.pos + offset, + w: exp.x.get('wsize') - 2 * offset, + h: exp.y.get('wsize') - 2 * offset + }; + if (vis) this.table.style.visibility = (pos.h >= 4 * this.offset) + ? 'visible' : 'hidden'; + hs.setStyles(this.table, { + left: (pos.x - this.offset) +'px', + top: (pos.y - this.offset) +'px', + width: (pos.w + 2 * this.offset) +'px' + }); + + pos.w -= 2 * this.offset; + pos.h -= 2 * this.offset; + hs.setStyles (this.td[4], { + width: pos.w >= 0 ? pos.w +'px' : 0, + height: pos.h >= 0 ? pos.h +'px' : 0 + }); + if (this.hasAlphaImageLoader) this.td[3].style.height + = this.td[5].style.height = this.td[4].style.height; + +}, + +destroy : function(hide) { + if (hide) this.table.style.visibility = 'hidden'; + else hs.discardElement(this.table); +} +}; + +hs.Dimension = function(exp, dim) { + this.exp = exp; + this.dim = dim; + this.ucwh = dim == 'x' ? 'Width' : 'Height'; + this.wh = this.ucwh.toLowerCase(); + this.uclt = dim == 'x' ? 'Left' : 'Top'; + this.lt = this.uclt.toLowerCase(); + this.ucrb = dim == 'x' ? 'Right' : 'Bottom'; + this.rb = this.ucrb.toLowerCase(); + this.p1 = this.p2 = 0; +}; +hs.Dimension.prototype = { +get : function(key) { + switch (key) { + case 'loadingPos': + return this.tpos + this.tb + (this.t - hs.loading['offset'+ this.ucwh]) / 2; + case 'loadingPosXfade': + return this.pos + this.cb+ this.p1 + (this.size - hs.loading['offset'+ this.ucwh]) / 2; + case 'wsize': + return this.size + 2 * this.cb + this.p1 + this.p2; + case 'fitsize': + return this.clientSize - this.marginMin - this.marginMax; + case 'maxsize': + return this.get('fitsize') - 2 * this.cb - this.p1 - this.p2 ; + case 'opos': + return this.pos - (this.exp.outline ? this.exp.outline.offset : 0); + case 'osize': + return this.get('wsize') + (this.exp.outline ? 2*this.exp.outline.offset : 0); + case 'imgPad': + return this.imgSize ? Math.round((this.size - this.imgSize) / 2) : 0; + + } +}, +calcBorders: function() { + // correct for borders + this.cb = (this.exp.content['offset'+ this.ucwh] - this.t) / 2; + + this.marginMax = hs['margin'+ this.ucrb]; +}, +calcThumb: function() { + this.t = this.exp.el[this.wh] ? parseInt(this.exp.el[this.wh]) : + this.exp.el['offset'+ this.ucwh]; + this.tpos = this.exp.tpos[this.dim]; + this.tb = (this.exp.el['offset'+ this.ucwh] - this.t) / 2; + if (this.tpos == 0 || this.tpos == -1) { + this.tpos = (hs.page[this.wh] / 2) + hs.page['scroll'+ this.uclt]; + }; +}, +calcExpanded: function() { + var exp = this.exp; + this.justify = 'auto'; + + // get alignment + if (exp.align == 'center') this.justify = 'center'; + else if (new RegExp(this.lt).test(exp.anchor)) this.justify = null; + else if (new RegExp(this.rb).test(exp.anchor)) this.justify = 'max'; + + + // size and position + this.pos = this.tpos - this.cb + this.tb; + + if (this.maxHeight && this.dim == 'x') + exp.maxWidth = Math.min(exp.maxWidth || this.full, exp.maxHeight * this.full / exp.y.full); + + this.size = Math.min(this.full, exp['max'+ this.ucwh] || this.full); + this.minSize = exp.allowSizeReduction ? + Math.min(exp['min'+ this.ucwh], this.full) :this.full; + if (exp.isImage && exp.useBox) { + this.size = exp[this.wh]; + this.imgSize = this.full; + } + if (this.dim == 'x' && hs.padToMinWidth) this.minSize = exp.minWidth; + this.target = exp['target'+ this.dim.toUpperCase()]; + this.marginMin = hs['margin'+ this.uclt]; + this.scroll = hs.page['scroll'+ this.uclt]; + this.clientSize = hs.page[this.wh]; +}, +setSize: function(i) { + var exp = this.exp; + if (exp.isImage && (exp.useBox || hs.padToMinWidth)) { + this.imgSize = i; + this.size = Math.max(this.size, this.imgSize); + exp.content.style[this.lt] = this.get('imgPad')+'px'; + } else + this.size = i; + + exp.content.style[this.wh] = i +'px'; + exp.wrapper.style[this.wh] = this.get('wsize') +'px'; + if (exp.outline) exp.outline.setPosition(); + if (this.dim == 'x' && exp.overlayBox) exp.sizeOverlayBox(true); + if (this.dim == 'x' && exp.slideshow && exp.isImage) { + if (i == this.full) exp.slideshow.disable('full-expand'); + else exp.slideshow.enable('full-expand'); + } +}, +setPos: function(i) { + this.pos = i; + this.exp.wrapper.style[this.lt] = i +'px'; + + if (this.exp.outline) this.exp.outline.setPosition(); + +} +}; + +hs.Expander = function(a, params, custom, contentType) { + if (document.readyState && hs.ie && !hs.isReady) { + hs.addEventListener(document, 'ready', function() { + new hs.Expander(a, params, custom, contentType); + }); + return; + } + this.a = a; + this.custom = custom; + this.contentType = contentType || 'image'; + this.isImage = !this.isHtml; + + hs.continuePreloading = false; + this.overlays = []; + this.last = hs.last; + hs.last = null; + hs.init(); + var key = this.key = hs.expanders.length; + // override inline parameters + for (var i = 0; i < hs.overrides.length; i++) { + var name = hs.overrides[i]; + this[name] = params && typeof params[name] != 'undefined' ? + params[name] : hs[name]; + } + if (!this.src) this.src = a.href; + + // get thumb + var el = (params && params.thumbnailId) ? hs.$(params.thumbnailId) : a; + el = this.thumb = el.getElementsByTagName('img')[0] || el; + this.thumbsUserSetId = el.id || a.id; + + // check if already open + for (var i = 0; i < hs.expanders.length; i++) { + if (hs.expanders[i] && hs.expanders[i].a == a + && !(this.last && this.transitions[1] == 'crossfade')) { + hs.expanders[i].focus(); + return false; + } + } + + // cancel other + if (!hs.allowSimultaneousLoading) for (var i = 0; i < hs.expanders.length; i++) { + if (hs.expanders[i] && hs.expanders[i].thumb != el && !hs.expanders[i].onLoadStarted) { + hs.expanders[i].cancelLoading(); + } + } + hs.expanders[key] = this; + if (!hs.allowMultipleInstances && !hs.upcoming) { + if (hs.expanders[key-1]) hs.expanders[key-1].close(); + if (typeof hs.focusKey != 'undefined' && hs.expanders[hs.focusKey]) + hs.expanders[hs.focusKey].close(); + } + + // initiate metrics + this.el = el; + this.tpos = this.pageOrigin || hs.getPosition(el); + hs.getPageSize(); + var x = this.x = new hs.Dimension(this, 'x'); + x.calcThumb(); + var y = this.y = new hs.Dimension(this, 'y'); + y.calcThumb(); + this.wrapper = hs.createElement( + 'div', { + id: 'highslide-wrapper-'+ this.key, + className: 'highslide-wrapper '+ this.wrapperClassName + }, { + visibility: 'hidden', + position: 'absolute', + zIndex: hs.zIndexCounter += 2 + }, null, true ); + + this.wrapper.onmouseover = this.wrapper.onmouseout = hs.wrapperMouseHandler; + if (this.contentType == 'image' && this.outlineWhileAnimating == 2) + this.outlineWhileAnimating = 0; + + // get the outline + if (!this.outlineType + || (this.last && this.isImage && this.transitions[1] == 'crossfade')) { + this[this.contentType +'Create'](); + + } else if (hs.pendingOutlines[this.outlineType]) { + this.connectOutline(); + this[this.contentType +'Create'](); + + } else { + this.showLoading(); + var exp = this; + new hs.Outline(this.outlineType, + function () { + exp.connectOutline(); + exp[exp.contentType +'Create'](); + } + ); + } + return true; +}; + +hs.Expander.prototype = { +error : function(e) { + if (hs.debug) alert ('Line '+ e.lineNumber +': '+ e.message); + else window.location.href = this.src; +}, + +connectOutline : function() { + var outline = this.outline = hs.pendingOutlines[this.outlineType]; + outline.exp = this; + outline.table.style.zIndex = this.wrapper.style.zIndex - 1; + hs.pendingOutlines[this.outlineType] = null; +}, + +showLoading : function() { + if (this.onLoadStarted || this.loading) return; + + this.loading = hs.loading; + var exp = this; + this.loading.onclick = function() { + exp.cancelLoading(); + }; + var exp = this, + l = this.x.get('loadingPos') +'px', + t = this.y.get('loadingPos') +'px'; + if (!tgt && this.last && this.transitions[1] == 'crossfade') + var tgt = this.last; + if (tgt) { + l = tgt.x.get('loadingPosXfade') +'px'; + t = tgt.y.get('loadingPosXfade') +'px'; + this.loading.style.zIndex = hs.zIndexCounter++; + } + setTimeout(function () { + if (exp.loading) hs.setStyles(exp.loading, { left: l, top: t, zIndex: hs.zIndexCounter++ })} + , 100); +}, + +imageCreate : function() { + var exp = this; + + var img = document.createElement('img'); + this.content = img; + img.onload = function () { + if (hs.expanders[exp.key]) exp.contentLoaded(); + }; + if (hs.blockRightClick) img.oncontextmenu = function() { return false; }; + img.className = 'highslide-image'; + hs.setStyles(img, { + visibility: 'hidden', + display: 'block', + position: 'absolute', + maxWidth: '9999px', + zIndex: 3 + }); + img.title = hs.lang.restoreTitle; + if (hs.safari && hs.uaVersion < 525) hs.container.appendChild(img); + if (hs.ie && hs.flushImgSize) img.src = null; + img.src = this.src; + + this.showLoading(); +}, + +contentLoaded : function() { + try { + if (!this.content) return; + this.content.onload = null; + if (this.onLoadStarted) return; + else this.onLoadStarted = true; + + var x = this.x, y = this.y; + + if (this.loading) { + hs.setStyles(this.loading, { top: '-9999px' }); + this.loading = null; + } + x.full = this.content.width; + y.full = this.content.height; + + hs.setStyles(this.content, { + width: x.t +'px', + height: y.t +'px' + }); + this.wrapper.appendChild(this.content); + hs.container.appendChild(this.wrapper); + + x.calcBorders(); + y.calcBorders(); + + hs.setStyles (this.wrapper, { + left: (x.tpos + x.tb - x.cb) +'px', + top: (y.tpos + x.tb - y.cb) +'px' + }); + + + this.initSlideshow(); + this.getOverlays(); + + var ratio = x.full / y.full; + x.calcExpanded(); + this.justify(x); + + y.calcExpanded(); + this.justify(y); + if (this.overlayBox) this.sizeOverlayBox(0, 1); + + + if (this.allowSizeReduction) { + this.correctRatio(ratio); + var ss = this.slideshow; + if (ss && this.last && ss.controls && ss.fixedControls) { + var pos = ss.overlayOptions.position || '', p; + for (var dim in hs.oPos) for (var i = 0; i < 5; i++) { + p = this[dim]; + if (pos.match(hs.oPos[dim][i])) { + p.pos = this.last[dim].pos + + (this.last[dim].p1 - p.p1) + + (this.last[dim].size - p.size) * [0, 0, .5, 1, 1][i]; + if (ss.fixedControls == 'fit') { + if (p.pos + p.size + p.p1 + p.p2 > p.scroll + p.clientSize - p.marginMax) + p.pos = p.scroll + p.clientSize - p.size - p.marginMin - p.marginMax - p.p1 - p.p2; + if (p.pos < p.scroll + p.marginMin) p.pos = p.scroll + p.marginMin; + } + } + } + } + if (this.isImage && this.x.full > (this.x.imgSize || this.x.size)) { + this.createFullExpand(); + if (this.overlays.length == 1) this.sizeOverlayBox(); + } + } + this.show(); + + } catch (e) { + this.error(e); + } +}, + +justify : function (p, moveOnly) { + var tgtArr, tgt = p.target, dim = p == this.x ? 'x' : 'y'; + + if (tgt && tgt.match(/ /)) { + tgtArr = tgt.split(' '); + tgt = tgtArr[0]; + } + if (tgt && hs.$(tgt)) { + p.pos = hs.getPosition(hs.$(tgt))[dim]; + if (tgtArr && tgtArr[1] && tgtArr[1].match(/^[-]?[0-9]+px$/)) + p.pos += parseInt(tgtArr[1]); + if (p.size < p.minSize) p.size = p.minSize; + + } else if (p.justify == 'auto' || p.justify == 'center') { + + var hasMovedMin = false; + + var allowReduce = p.exp.allowSizeReduction; + if (p.justify == 'center') + p.pos = Math.round(p.scroll + (p.clientSize + p.marginMin - p.marginMax - p.get('wsize')) / 2); + else + p.pos = Math.round(p.pos - ((p.get('wsize') - p.t) / 2)); + if (p.pos < p.scroll + p.marginMin) { + p.pos = p.scroll + p.marginMin; + hasMovedMin = true; + } + if (!moveOnly && p.size < p.minSize) { + p.size = p.minSize; + allowReduce = false; + } + if (p.pos + p.get('wsize') > p.scroll + p.clientSize - p.marginMax) { + if (!moveOnly && hasMovedMin && allowReduce) { + p.size = Math.min(p.size, p.get(dim == 'y' ? 'fitsize' : 'maxsize')); + } else if (p.get('wsize') < p.get('fitsize')) { + p.pos = p.scroll + p.clientSize - p.marginMax - p.get('wsize'); + } else { // image larger than viewport + p.pos = p.scroll + p.marginMin; + if (!moveOnly && allowReduce) p.size = p.get(dim == 'y' ? 'fitsize' : 'maxsize'); + } + } + + if (!moveOnly && p.size < p.minSize) { + p.size = p.minSize; + allowReduce = false; + } + + + } else if (p.justify == 'max') { + p.pos = Math.floor(p.pos - p.size + p.t); + } + + + if (p.pos < p.marginMin) { + var tmpMin = p.pos; + p.pos = p.marginMin; + + if (allowReduce && !moveOnly) p.size = p.size - (p.pos - tmpMin); + + } +}, + +correctRatio : function(ratio) { + var x = this.x, + y = this.y, + changed = false, + xSize = Math.min(x.full, x.size), + ySize = Math.min(y.full, y.size), + useBox = (this.useBox || hs.padToMinWidth); + + if (xSize / ySize > ratio) { // width greater + xSize = ySize * ratio; + if (xSize < x.minSize) { // below minWidth + xSize = x.minSize; + ySize = xSize / ratio; + } + changed = true; + + } else if (xSize / ySize < ratio) { // height greater + ySize = xSize / ratio; + changed = true; + } + + if (hs.padToMinWidth && x.full < x.minSize) { + x.imgSize = x.full; + y.size = y.imgSize = y.full; + } else if (this.useBox) { + x.imgSize = xSize; + y.imgSize = ySize; + } else { + x.size = xSize; + y.size = ySize; + } + changed = this.fitOverlayBox(this.useBox ? null : ratio, changed); + if (useBox && y.size < y.imgSize) { + y.imgSize = y.size; + x.imgSize = y.size * ratio; + } + if (changed || useBox) { + x.pos = x.tpos - x.cb + x.tb; + x.minSize = x.size; + this.justify(x, true); + + y.pos = y.tpos - y.cb + y.tb; + y.minSize = y.size; + this.justify(y, true); + if (this.overlayBox) this.sizeOverlayBox(); + } + + +}, +fitOverlayBox : function(ratio, changed) { + var x = this.x, y = this.y; + if (this.overlayBox) { + while (y.size > this.minHeight && x.size > this.minWidth + && y.get('wsize') > y.get('fitsize')) { + y.size -= 10; + if (ratio) x.size = y.size * ratio; + this.sizeOverlayBox(0, 1); + changed = true; + } + } + return changed; +}, + +show : function () { + var x = this.x, y = this.y; + this.doShowHide('hidden'); + if (this.slideshow && this.slideshow.thumbstrip) this.slideshow.thumbstrip.selectThumb(); + + // Apply size change + this.changeSize( + 1, { + wrapper: { + width : x.get('wsize'), + height : y.get('wsize'), + left: x.pos, + top: y.pos + }, + content: { + left: x.p1 + x.get('imgPad'), + top: y.p1 + y.get('imgPad'), + width:x.imgSize ||x.size, + height:y.imgSize ||y.size + } + }, + hs.expandDuration + ); +}, + +changeSize : function(up, to, dur) { + // transition + var trans = this.transitions, + other = up ? (this.last ? this.last.a : null) : hs.upcoming, + t = (trans[1] && other + && hs.getParam(other, 'transitions')[1] == trans[1]) ? + trans[1] : trans[0]; + + if (this[t] && t != 'expand') { + this[t](up, to); + return; + } + + if (this.outline && !this.outlineWhileAnimating) { + if (up) this.outline.setPosition(); + else this.outline.destroy(); + } + + + if (!up) this.destroyOverlays(); + + var exp = this, + x = exp.x, + y = exp.y, + easing = this.easing; + if (!up) easing = this.easingClose || easing; + var after = up ? + function() { + + if (exp.outline) exp.outline.table.style.visibility = "visible"; + setTimeout(function() { + exp.afterExpand(); + }, 50); + } : + function() { + exp.afterClose(); + }; + if (up) hs.setStyles( this.wrapper, { + width: x.t +'px', + height: y.t +'px' + }); + if (this.fadeInOut) { + hs.setStyles(this.wrapper, { opacity: up ? 0 : 1 }); + hs.extend(to.wrapper, { opacity: up }); + } + hs.animate( this.wrapper, to.wrapper, { + duration: dur, + easing: easing, + step: function(val, args) { + if (exp.outline && exp.outlineWhileAnimating && args.prop == 'top') { + var fac = up ? args.pos : 1 - args.pos; + var pos = { + w: x.t + (x.get('wsize') - x.t) * fac, + h: y.t + (y.get('wsize') - y.t) * fac, + x: x.tpos + (x.pos - x.tpos) * fac, + y: y.tpos + (y.pos - y.tpos) * fac + }; + exp.outline.setPosition(pos, 0, 1); + } + } + }); + hs.animate( this.content, to.content, dur, easing, after); + if (up) { + this.wrapper.style.visibility = 'visible'; + this.content.style.visibility = 'visible'; + this.a.className += ' highslide-active-anchor'; + } +}, + + + +fade : function(up, to) { + this.outlineWhileAnimating = false; + var exp = this, t = up ? hs.expandDuration : 0; + + if (up) { + hs.animate(this.wrapper, to.wrapper, 0); + hs.setStyles(this.wrapper, { opacity: 0, visibility: 'visible' }); + hs.animate(this.content, to.content, 0); + this.content.style.visibility = 'visible'; + + hs.animate(this.wrapper, { opacity: 1 }, t, null, + function() { exp.afterExpand(); }); + } + + if (this.outline) { + this.outline.table.style.zIndex = this.wrapper.style.zIndex; + var dir = up || -1, + offset = this.outline.offset, + startOff = up ? 3 : offset, + endOff = up? offset : 3; + for (var i = startOff; dir * i <= dir * endOff; i += dir, t += 25) { + (function() { + var o = up ? endOff - i : startOff - i; + setTimeout(function() { + exp.outline.setPosition(0, o, 1); + }, t); + })(); + } + } + + + if (up) {}//setTimeout(function() { exp.afterExpand(); }, t+50); + else { + setTimeout( function() { + if (exp.outline) exp.outline.destroy(exp.preserveContent); + + exp.destroyOverlays(); + + hs.animate( exp.wrapper, { opacity: 0 }, hs.restoreDuration, null, function(){ + exp.afterClose(); + }); + }, t); + } +}, +crossfade : function (up, to, from) { + if (!up) return; + var exp = this, + last = this.last, + x = this.x, + y = this.y, + lastX = last.x, + lastY = last.y, + wrapper = this.wrapper, + content = this.content, + overlayBox = this.overlayBox; + hs.removeEventListener(document, 'mousemove', hs.dragHandler); + + hs.setStyles(content, { + width: (x.imgSize || x.size) +'px', + height: (y.imgSize || y.size) +'px' + }); + if (overlayBox) overlayBox.style.overflow = 'visible'; + this.outline = last.outline; + if (this.outline) this.outline.exp = exp; + last.outline = null; + var fadeBox = hs.createElement('div', { + className: 'highslide-'+ this.contentType + }, { + position: 'absolute', + zIndex: 4, + overflow: 'hidden', + display: 'none' + } + ); + var names = { oldImg: last, newImg: this }; + for (var n in names) { + this[n] = names[n].content.cloneNode(1); + hs.setStyles(this[n], { + position: 'absolute', + border: 0, + visibility: 'visible' + }); + fadeBox.appendChild(this[n]); + } + wrapper.appendChild(fadeBox); + if (overlayBox) { + overlayBox.className = ''; + wrapper.appendChild(overlayBox); + } + fadeBox.style.display = ''; + last.content.style.display = 'none'; + + + if (hs.safari && hs.uaVersion < 525) { + this.wrapper.style.visibility = 'visible'; + } + hs.animate(wrapper, { + width: x.size + }, { + duration: hs.transitionDuration, + step: function(val, args) { + var pos = args.pos, + invPos = 1 - pos; + var prop, + size = {}, + props = ['pos', 'size', 'p1', 'p2']; + for (var n in props) { + prop = props[n]; + size['x'+ prop] = Math.round(invPos * lastX[prop] + pos * x[prop]); + size['y'+ prop] = Math.round(invPos * lastY[prop] + pos * y[prop]); + size.ximgSize = Math.round( + invPos * (lastX.imgSize || lastX.size) + pos * (x.imgSize || x.size)); + size.ximgPad = Math.round(invPos * lastX.get('imgPad') + pos * x.get('imgPad')); + size.yimgSize = Math.round( + invPos * (lastY.imgSize || lastY.size) + pos * (y.imgSize || y.size)); + size.yimgPad = Math.round(invPos * lastY.get('imgPad') + pos * y.get('imgPad')); + } + if (exp.outline) exp.outline.setPosition({ + x: size.xpos, + y: size.ypos, + w: size.xsize + size.xp1 + size.xp2 + 2 * x.cb, + h: size.ysize + size.yp1 + size.yp2 + 2 * y.cb + }); + last.wrapper.style.clip = 'rect(' + + (size.ypos - lastY.pos)+'px, ' + + (size.xsize + size.xp1 + size.xp2 + size.xpos + 2 * lastX.cb - lastX.pos) +'px, ' + + (size.ysize + size.yp1 + size.yp2 + size.ypos + 2 * lastY.cb - lastY.pos) +'px, ' + + (size.xpos - lastX.pos)+'px)'; + + hs.setStyles(content, { + top: (size.yp1 + y.get('imgPad')) +'px', + left: (size.xp1 + x.get('imgPad')) +'px', + marginTop: (y.pos - size.ypos) +'px', + marginLeft: (x.pos - size.xpos) +'px' + }); + hs.setStyles(wrapper, { + top: size.ypos +'px', + left: size.xpos +'px', + width: (size.xp1 + size.xp2 + size.xsize + 2 * x.cb)+ 'px', + height: (size.yp1 + size.yp2 + size.ysize + 2 * y.cb) + 'px' + }); + hs.setStyles(fadeBox, { + width: (size.ximgSize || size.xsize) + 'px', + height: (size.yimgSize || size.ysize) +'px', + left: (size.xp1 + size.ximgPad) +'px', + top: (size.yp1 + size.yimgPad) +'px', + visibility: 'visible' + }); + + hs.setStyles(exp.oldImg, { + top: (lastY.pos - size.ypos + lastY.p1 - size.yp1 + lastY.get('imgPad') - size.yimgPad)+'px', + left: (lastX.pos - size.xpos + lastX.p1 - size.xp1 + lastX.get('imgPad') - size.ximgPad)+'px' + }); + + hs.setStyles(exp.newImg, { + opacity: pos, + top: (y.pos - size.ypos + y.p1 - size.yp1 + y.get('imgPad') - size.yimgPad) +'px', + left: (x.pos - size.xpos + x.p1 - size.xp1 + x.get('imgPad') - size.ximgPad) +'px' + }); + if (overlayBox) hs.setStyles(overlayBox, { + width: size.xsize + 'px', + height: size.ysize +'px', + left: (size.xp1 + x.cb) +'px', + top: (size.yp1 + y.cb) +'px' + }); + }, + complete: function () { + wrapper.style.visibility = content.style.visibility = 'visible'; + content.style.display = 'block'; + hs.discardElement(fadeBox); + exp.afterExpand(); + last.afterClose(); + exp.last = null; + } + + }); +}, +reuseOverlay : function(o, el) { + if (!this.last) return false; + for (var i = 0; i < this.last.overlays.length; i++) { + var oDiv = hs.$('hsId'+ this.last.overlays[i]); + if (oDiv && oDiv.hsId == o.hsId) { + this.genOverlayBox(); + oDiv.reuse = this.key; + hs.push(this.overlays, this.last.overlays[i]); + return true; + } + } + return false; +}, + + +afterExpand : function() { + this.isExpanded = true; + this.focus(); + if (this.dimmingOpacity) hs.dim(this); + if (hs.upcoming && hs.upcoming == this.a) hs.upcoming = null; + this.prepareNextOutline(); + var p = hs.page, mX = hs.mouse.x + p.scrollLeft, mY = hs.mouse.y + p.scrollTop; + this.mouseIsOver = this.x.pos < mX && mX < this.x.pos + this.x.get('wsize') + && this.y.pos < mY && mY < this.y.pos + this.y.get('wsize'); + if (this.overlayBox) this.showOverlays(); + +}, + + +prepareNextOutline : function() { + var key = this.key; + var outlineType = this.outlineType; + new hs.Outline(outlineType, + function () { try { hs.expanders[key].preloadNext(); } catch (e) {} }); +}, + + +preloadNext : function() { + var next = this.getAdjacentAnchor(1); + if (next && next.onclick.toString().match(/hs\.expand/)) + var img = hs.createElement('img', { src: hs.getSrc(next) }); +}, + + +getAdjacentAnchor : function(op) { + var current = this.getAnchorIndex(), as = hs.anchors.groups[this.slideshowGroup || 'none']; + if (as && !as[current + op] && this.slideshow && this.slideshow.repeat) { + if (op == 1) return as[0]; + else if (op == -1) return as[as.length-1]; + } + return (as && as[current + op]) || null; +}, + +getAnchorIndex : function() { + var arr = hs.getAnchors().groups[this.slideshowGroup || 'none']; + if (arr) for (var i = 0; i < arr.length; i++) { + if (arr[i] == this.a) return i; + } + return null; +}, + + +getNumber : function() { + if (this[this.numberPosition]) { + var arr = hs.anchors.groups[this.slideshowGroup || 'none']; + if (arr) { + var s = hs.lang.number.replace('%1', this.getAnchorIndex() + 1).replace('%2', arr.length); + this[this.numberPosition].innerHTML = + '
      '+ s +'
      '+ this[this.numberPosition].innerHTML; + } + } +}, +initSlideshow : function() { + if (!this.last) { + for (var i = 0; i < hs.slideshows.length; i++) { + var ss = hs.slideshows[i], sg = ss.slideshowGroup; + if (typeof sg == 'undefined' || sg === null || sg === this.slideshowGroup) + this.slideshow = new hs.Slideshow(this.key, ss); + } + } else { + this.slideshow = this.last.slideshow; + } + var ss = this.slideshow; + if (!ss) return; + var key = ss.expKey = this.key; + + ss.checkFirstAndLast(); + ss.disable('full-expand'); + if (ss.controls) { + this.createOverlay(hs.extend(ss.overlayOptions || {}, { + overlayId: ss.controls, + hsId: 'controls', + zIndex: 5 + })); + } + if (ss.thumbstrip) ss.thumbstrip.add(this); + if (!this.last && this.autoplay) ss.play(true); + if (ss.autoplay) { + ss.autoplay = setTimeout(function() { + hs.next(key); + }, (ss.interval || 500)); + } +}, + +cancelLoading : function() { + hs.discardElement (this.wrapper); + hs.expanders[this.key] = null; + if (hs.upcoming == this.a) hs.upcoming = null; + hs.undim(this.key); + if (this.loading) hs.loading.style.left = '-9999px'; +}, + +writeCredits : function () { + if (this.credits) return; + this.credits = hs.createElement('a', { + href: hs.creditsHref, + target: hs.creditsTarget, + className: 'highslide-credits', + innerHTML: hs.lang.creditsText, + title: hs.lang.creditsTitle + }); + this.createOverlay({ + overlayId: this.credits, + position: this.creditsPosition || 'top left', + hsId: 'credits' + }); +}, + +getInline : function(types, addOverlay) { + for (var i = 0; i < types.length; i++) { + var type = types[i], s = null; + if (!this[type +'Id'] && this.thumbsUserSetId) + this[type +'Id'] = type +'-for-'+ this.thumbsUserSetId; + if (this[type +'Id']) this[type] = hs.getNode(this[type +'Id']); + if (!this[type] && !this[type +'Text'] && this[type +'Eval']) try { + s = eval(this[type +'Eval']); + } catch (e) {} + if (!this[type] && this[type +'Text']) { + s = this[type +'Text']; + } + if (!this[type] && !s) { + this[type] = hs.getNode(this.a['_'+ type + 'Id']); + if (!this[type]) { + var next = this.a.nextSibling; + while (next && !hs.isHsAnchor(next)) { + if ((new RegExp('highslide-'+ type)).test(next.className || null)) { + if (!next.id) this.a['_'+ type + 'Id'] = next.id = 'hsId'+ hs.idCounter++; + this[type] = hs.getNode(next.id); + break; + } + next = next.nextSibling; + } + } + } + if (!this[type] && !s && this.numberPosition == type) s = '\n'; + + if (!this[type] && s) this[type] = hs.createElement('div', + { className: 'highslide-'+ type, innerHTML: s } ); + + if (addOverlay && this[type]) { + var o = { position: (type == 'heading') ? 'above' : 'below' }; + for (var x in this[type+'Overlay']) o[x] = this[type+'Overlay'][x]; + o.overlayId = this[type]; + this.createOverlay(o); + } + } +}, + + +// on end move and resize +doShowHide : function(visibility) { + if (hs.hideSelects) this.showHideElements('SELECT', visibility); + if (hs.hideIframes) this.showHideElements('IFRAME', visibility); + if (hs.geckoMac) this.showHideElements('*', visibility); +}, +showHideElements : function (tagName, visibility) { + var els = document.getElementsByTagName(tagName); + var prop = tagName == '*' ? 'overflow' : 'visibility'; + for (var i = 0; i < els.length; i++) { + if (prop == 'visibility' || (document.defaultView.getComputedStyle( + els[i], "").getPropertyValue('overflow') == 'auto' + || els[i].getAttribute('hidden-by') != null)) { + var hiddenBy = els[i].getAttribute('hidden-by'); + if (visibility == 'visible' && hiddenBy) { + hiddenBy = hiddenBy.replace('['+ this.key +']', ''); + els[i].setAttribute('hidden-by', hiddenBy); + if (!hiddenBy) els[i].style[prop] = els[i].origProp; + } else if (visibility == 'hidden') { // hide if behind + var elPos = hs.getPosition(els[i]); + elPos.w = els[i].offsetWidth; + elPos.h = els[i].offsetHeight; + if (!this.dimmingOpacity) { // hide all if dimming + + var clearsX = (elPos.x + elPos.w < this.x.get('opos') + || elPos.x > this.x.get('opos') + this.x.get('osize')); + var clearsY = (elPos.y + elPos.h < this.y.get('opos') + || elPos.y > this.y.get('opos') + this.y.get('osize')); + } + var wrapperKey = hs.getWrapperKey(els[i]); + if (!clearsX && !clearsY && wrapperKey != this.key) { // element falls behind image + if (!hiddenBy) { + els[i].setAttribute('hidden-by', '['+ this.key +']'); + els[i].origProp = els[i].style[prop]; + els[i].style[prop] = 'hidden'; + + } else if (hiddenBy.indexOf('['+ this.key +']') == -1) { + els[i].setAttribute('hidden-by', hiddenBy + '['+ this.key +']'); + } + } else if ((hiddenBy == '['+ this.key +']' || hs.focusKey == wrapperKey) + && wrapperKey != this.key) { // on move + els[i].setAttribute('hidden-by', ''); + els[i].style[prop] = els[i].origProp || ''; + } else if (hiddenBy && hiddenBy.indexOf('['+ this.key +']') > -1) { + els[i].setAttribute('hidden-by', hiddenBy.replace('['+ this.key +']', '')); + } + + } + } + } +}, + +focus : function() { + this.wrapper.style.zIndex = hs.zIndexCounter += 2; + // blur others + for (var i = 0; i < hs.expanders.length; i++) { + if (hs.expanders[i] && i == hs.focusKey) { + var blurExp = hs.expanders[i]; + blurExp.content.className += ' highslide-'+ blurExp.contentType +'-blur'; + blurExp.content.style.cursor = hs.ieLt7 ? 'hand' : 'pointer'; + blurExp.content.title = hs.lang.focusTitle; + } + } + + // focus this + if (this.outline) this.outline.table.style.zIndex + = this.wrapper.style.zIndex - 1; + this.content.className = 'highslide-'+ this.contentType; + this.content.title = hs.lang.restoreTitle; + + if (hs.restoreCursor) { + hs.styleRestoreCursor = window.opera ? 'pointer' : 'url('+ hs.graphicsDir + hs.restoreCursor +'), pointer'; + if (hs.ieLt7 && hs.uaVersion < 6) hs.styleRestoreCursor = 'hand'; + this.content.style.cursor = hs.styleRestoreCursor; + } + + hs.focusKey = this.key; + hs.addEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); +}, +moveTo: function(x, y) { + this.x.setPos(x); + this.y.setPos(y); +}, +resize : function (e) { + var w, h, r = e.width / e.height; + w = Math.max(e.width + e.dX, Math.min(this.minWidth, this.x.full)); + if (this.isImage && Math.abs(w - this.x.full) < 12) w = this.x.full; + h = w / r; + if (h < Math.min(this.minHeight, this.y.full)) { + h = Math.min(this.minHeight, this.y.full); + if (this.isImage) w = h * r; + } + this.resizeTo(w, h); +}, +resizeTo: function(w, h) { + this.y.setSize(h); + this.x.setSize(w); + this.wrapper.style.height = this.y.get('wsize') +'px'; +}, + +close : function() { + if (this.isClosing || !this.isExpanded) return; + if (this.transitions[1] == 'crossfade' && hs.upcoming) { + hs.getExpander(hs.upcoming).cancelLoading(); + hs.upcoming = null; + } + this.isClosing = true; + if (this.slideshow && !hs.upcoming) this.slideshow.pause(); + + hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); + + try { + this.content.style.cursor = 'default'; + this.changeSize( + 0, { + wrapper: { + width : this.x.t, + height : this.y.t, + left: this.x.tpos - this.x.cb + this.x.tb, + top: this.y.tpos - this.y.cb + this.y.tb + }, + content: { + left: 0, + top: 0, + width: this.x.t, + height: this.y.t + } + }, hs.restoreDuration + ); + } catch (e) { this.afterClose(); } +}, + +createOverlay : function (o) { + var el = o.overlayId, + relToVP = (o.relativeTo == 'viewport' && !/panel$/.test(o.position)); + if (typeof el == 'string') el = hs.getNode(el); + if (o.html) el = hs.createElement('div', { innerHTML: o.html }); + if (!el || typeof el == 'string') return; + el.style.display = 'block'; + o.hsId = o.hsId || o.overlayId; + if (this.transitions[1] == 'crossfade' && this.reuseOverlay(o, el)) return; + this.genOverlayBox(); + var width = o.width && /^[0-9]+(px|%)$/.test(o.width) ? o.width : 'auto'; + if (/^(left|right)panel$/.test(o.position) && !/^[0-9]+px$/.test(o.width)) width = '200px'; + var overlay = hs.createElement( + 'div', { + id: 'hsId'+ hs.idCounter++, + hsId: o.hsId + }, { + position: 'absolute', + visibility: 'hidden', + width: width, + direction: hs.lang.cssDirection || '', + opacity: 0 + }, + relToVP ? hs.viewport :this.overlayBox, + true + ); + if (relToVP) overlay.hsKey = this.key; + + overlay.appendChild(el); + hs.extend(overlay, { + opacity: 1, + offsetX: 0, + offsetY: 0, + dur: (o.fade === 0 || o.fade === false || (o.fade == 2 && hs.ie)) ? 0 : 250 + }); + hs.extend(overlay, o); + + + if (this.gotOverlays) { + this.positionOverlay(overlay); + if (!overlay.hideOnMouseOut || this.mouseIsOver) + hs.animate(overlay, { opacity: overlay.opacity }, overlay.dur); + } + hs.push(this.overlays, hs.idCounter - 1); +}, +positionOverlay : function(overlay) { + var p = overlay.position || 'middle center', + relToVP = (overlay.relativeTo == 'viewport'), + offX = overlay.offsetX, + offY = overlay.offsetY; + if (relToVP) { + hs.viewport.style.display = 'block'; + overlay.hsKey = this.key; + if (overlay.offsetWidth > overlay.parentNode.offsetWidth) + overlay.style.width = '100%'; + } else + if (overlay.parentNode != this.overlayBox) this.overlayBox.appendChild(overlay); + if (/left$/.test(p)) overlay.style.left = offX +'px'; + + if (/center$/.test(p)) hs.setStyles (overlay, { + left: '50%', + marginLeft: (offX - Math.round(overlay.offsetWidth / 2)) +'px' + }); + + if (/right$/.test(p)) overlay.style.right = - offX +'px'; + + if (/^leftpanel$/.test(p)) { + hs.setStyles(overlay, { + right: '100%', + marginRight: this.x.cb +'px', + top: - this.y.cb +'px', + bottom: - this.y.cb +'px', + overflow: 'auto' + }); + this.x.p1 = overlay.offsetWidth; + + } else if (/^rightpanel$/.test(p)) { + hs.setStyles(overlay, { + left: '100%', + marginLeft: this.x.cb +'px', + top: - this.y.cb +'px', + bottom: - this.y.cb +'px', + overflow: 'auto' + }); + this.x.p2 = overlay.offsetWidth; + } + var parOff = overlay.parentNode.offsetHeight; + overlay.style.height = 'auto'; + if (relToVP && overlay.offsetHeight > parOff) + overlay.style.height = hs.ieLt7 ? parOff +'px' : '100%'; + + if (/^top/.test(p)) overlay.style.top = offY +'px'; + if (/^middle/.test(p)) hs.setStyles (overlay, { + top: '50%', + marginTop: (offY - Math.round(overlay.offsetHeight / 2)) +'px' + }); + if (/^bottom/.test(p)) overlay.style.bottom = - offY +'px'; + if (/^above$/.test(p)) { + hs.setStyles(overlay, { + left: (- this.x.p1 - this.x.cb) +'px', + right: (- this.x.p2 - this.x.cb) +'px', + bottom: '100%', + marginBottom: this.y.cb +'px', + width: 'auto' + }); + this.y.p1 = overlay.offsetHeight; + + } else if (/^below$/.test(p)) { + hs.setStyles(overlay, { + position: 'relative', + left: (- this.x.p1 - this.x.cb) +'px', + right: (- this.x.p2 - this.x.cb) +'px', + top: '100%', + marginTop: this.y.cb +'px', + width: 'auto' + }); + this.y.p2 = overlay.offsetHeight; + overlay.style.position = 'absolute'; + } +}, + +getOverlays : function() { + this.getInline(['heading', 'caption'], true); + this.getNumber(); + if (this.heading && this.dragByHeading) this.heading.className += ' highslide-move'; + if (hs.showCredits) this.writeCredits(); + for (var i = 0; i < hs.overlays.length; i++) { + var o = hs.overlays[i], tId = o.thumbnailId, sg = o.slideshowGroup; + if ((!tId && !sg) || (tId && tId == this.thumbsUserSetId) + || (sg && sg === this.slideshowGroup)) { + this.createOverlay(o); + } + } + var os = []; + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + if (/panel$/.test(o.position)) this.positionOverlay(o); + else hs.push(os, o); + } + for (var i = 0; i < os.length; i++) this.positionOverlay(os[i]); + this.gotOverlays = true; +}, +genOverlayBox : function() { + if (!this.overlayBox) this.overlayBox = hs.createElement ( + 'div', { + className: this.wrapperClassName + }, { + position : 'absolute', + width: (this.x.size || (this.useBox ? this.width : null) + || this.x.full) +'px', + height: (this.y.size || this.y.full) +'px', + visibility : 'hidden', + overflow : 'hidden', + zIndex : hs.ie ? 4 : 'auto' + }, + hs.container, + true + ); +}, +sizeOverlayBox : function(doWrapper, doPanels) { + var overlayBox = this.overlayBox, + x = this.x, + y = this.y; + hs.setStyles( overlayBox, { + width: x.size +'px', + height: y.size +'px' + }); + if (doWrapper || doPanels) { + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + var ie6 = (hs.ieLt7 || document.compatMode == 'BackCompat'); + if (o && /^(above|below)$/.test(o.position)) { + if (ie6) { + o.style.width = (overlayBox.offsetWidth + 2 * x.cb + + x.p1 + x.p2) +'px'; + } + y[o.position == 'above' ? 'p1' : 'p2'] = o.offsetHeight; + } + if (o && ie6 && /^(left|right)panel$/.test(o.position)) { + o.style.height = (overlayBox.offsetHeight + 2* y.cb) +'px'; + } + } + } + if (doWrapper) { + hs.setStyles(this.content, { + top: y.p1 +'px' + }); + hs.setStyles(overlayBox, { + top: (y.p1 + y.cb) +'px' + }); + } +}, + +showOverlays : function() { + var b = this.overlayBox; + b.className = ''; + hs.setStyles(b, { + top: (this.y.p1 + this.y.cb) +'px', + left: (this.x.p1 + this.x.cb) +'px', + overflow : 'visible' + }); + if (hs.safari) b.style.visibility = 'visible'; + this.wrapper.appendChild (b); + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + o.style.zIndex = o.zIndex || 4; + if (!o.hideOnMouseOut || this.mouseIsOver) { + o.style.visibility = 'visible'; + hs.setStyles(o, { visibility: 'visible', display: '' }); + hs.animate(o, { opacity: o.opacity }, o.dur); + } + } +}, + +destroyOverlays : function() { + if (!this.overlays.length) return; + if (this.slideshow) { + var c = this.slideshow.controls; + if (c && hs.getExpander(c) == this) c.parentNode.removeChild(c); + } + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + if (o && o.parentNode == hs.viewport && hs.getExpander(o) == this) hs.discardElement(o); + } + hs.discardElement(this.overlayBox); +}, + + + +createFullExpand : function () { + if (this.slideshow && this.slideshow.controls) { + this.slideshow.enable('full-expand'); + return; + } + this.fullExpandLabel = hs.createElement( + 'a', { + href: 'javascript:hs.expanders['+ this.key +'].doFullExpand();', + title: hs.lang.fullExpandTitle, + className: 'highslide-full-expand' + } + ); + + this.createOverlay({ + overlayId: this.fullExpandLabel, + position: hs.fullExpandPosition, + hideOnMouseOut: true, + opacity: hs.fullExpandOpacity + }); +}, + +doFullExpand : function () { + try { + if (this.fullExpandLabel) hs.discardElement(this.fullExpandLabel); + + this.focus(); + var xSize = this.x.size, + ySize = this.y.size; + this.resizeTo(this.x.full, this.y.full); + + var xpos = this.x.pos - (this.x.size - xSize) / 2; + if (xpos < hs.marginLeft) xpos = hs.marginLeft; + + var ypos = this.y.pos - (this.y.size - ySize) / 2; + if (ypos < hs.marginTop) ypos = hs.marginTop; + + this.moveTo(xpos, ypos); + this.doShowHide('hidden'); + + } catch (e) { + this.error(e); + } +}, + + +afterClose : function () { + this.a.className = this.a.className.replace('highslide-active-anchor', ''); + + this.doShowHide('visible'); + if (this.outline && this.outlineWhileAnimating) this.outline.destroy(); + + hs.discardElement(this.wrapper); + this.destroyOverlays(); + if (!hs.viewport.childNodes.length) hs.viewport.style.display = 'none'; + + if (this.dimmingOpacity) hs.undim(this.key); + hs.expanders[this.key] = null; + hs.reOrder(); +} + +}; + + +hs.Slideshow = function (expKey, options) { + if (hs.dynamicallyUpdateAnchors !== false) hs.updateAnchors(); + this.expKey = expKey; + for (var x in options) this[x] = options[x]; + if (this.useControls) this.getControls(); + if (this.thumbstrip) this.thumbstrip = hs.Thumbstrip(this); +}; +hs.Slideshow.prototype = { +getControls: function() { + this.controls = hs.createElement('div', { innerHTML: hs.replaceLang(hs.skin.controls) }, + null, hs.container); + + var buttons = ['play', 'pause', 'previous', 'next', 'move', 'full-expand', 'close']; + this.btn = {}; + var pThis = this; + for (var i = 0; i < buttons.length; i++) { + this.btn[buttons[i]] = hs.getElementByClass(this.controls, 'li', 'highslide-'+ buttons[i]); + this.enable(buttons[i]); + } + this.btn.pause.style.display = 'none'; + //this.disable('full-expand'); +}, +checkFirstAndLast: function() { + if (this.repeat || !this.controls) return; + var exp = hs.expanders[this.expKey], + cur = exp.getAnchorIndex(), + re = /disabled$/; + if (cur == 0) + this.disable('previous'); + else if (re.test(this.btn.previous.getElementsByTagName('a')[0].className)) + this.enable('previous'); + if (cur + 1 == hs.anchors.groups[exp.slideshowGroup || 'none'].length) { + this.disable('next'); + this.disable('play'); + } else if (re.test(this.btn.next.getElementsByTagName('a')[0].className)) { + this.enable('next'); + this.enable('play'); + } +}, +enable: function(btn) { + if (!this.btn) return; + var sls = this, a = this.btn[btn].getElementsByTagName('a')[0], re = /disabled$/; + a.onclick = function() { + sls[btn](); + return false; + }; + if (re.test(a.className)) a.className = a.className.replace(re, ''); +}, +disable: function(btn) { + if (!this.btn) return; + var a = this.btn[btn].getElementsByTagName('a')[0]; + a.onclick = function() { return false; }; + if (!/disabled$/.test(a.className)) a.className += ' disabled'; +}, +hitSpace: function() { + if (this.autoplay) this.pause(); + else this.play(); +}, +play: function(wait) { + if (this.btn) { + this.btn.play.style.display = 'none'; + this.btn.pause.style.display = ''; + } + + this.autoplay = true; + if (!wait) hs.next(this.expKey); +}, +pause: function() { + if (this.btn) { + this.btn.pause.style.display = 'none'; + this.btn.play.style.display = ''; + } + + clearTimeout(this.autoplay); + this.autoplay = null; +}, +previous: function() { + this.pause(); + hs.previous(this.btn.previous); +}, +next: function() { + this.pause(); + hs.next(this.btn.next); +}, +move: function() {}, +'full-expand': function() { + hs.getExpander().doFullExpand(); +}, +close: function() { + hs.close(this.btn.close); +} +}; +hs.Thumbstrip = function(slideshow) { + function add (exp) { + hs.extend(options || {}, { + overlayId: dom, + hsId: 'thumbstrip', + className: 'highslide-thumbstrip-'+ mode +'-overlay ' + (options.className || '') + }); + if (hs.ieLt7) options.fade = 0; + exp.createOverlay(options); + hs.setStyles(dom.parentNode, { overflow: 'hidden' }); + }; + + function scroll (delta) { + selectThumb(undefined, Math.round(delta * dom[isX ? 'offsetWidth' : 'offsetHeight'] * 0.7)); + }; + + function selectThumb (i, scrollBy) { + if (i === undefined) for (var j = 0; j < group.length; j++) { + if (group[j] == hs.expanders[slideshow.expKey].a) { + i = j; + break; + } + } + if (i === undefined) return; + var as = dom.getElementsByTagName('a'), + active = as[i], + cell = active.parentNode, + left = isX ? 'Left' : 'Top', + right = isX ? 'Right' : 'Bottom', + width = isX ? 'Width' : 'Height', + offsetLeft = 'offset' + left, + offsetWidth = 'offset' + width, + overlayWidth = div.parentNode.parentNode[offsetWidth], + minTblPos = overlayWidth - table[offsetWidth], + curTblPos = parseInt(table.style[isX ? 'left' : 'top']) || 0, + tblPos = curTblPos, + mgnRight = 20; + if (scrollBy !== undefined) { + tblPos = curTblPos - scrollBy; + + if (minTblPos > 0) minTblPos = 0; + if (tblPos > 0) tblPos = 0; + if (tblPos < minTblPos) tblPos = minTblPos; + + + } else { + for (var j = 0; j < as.length; j++) as[j].className = ''; + active.className = 'highslide-active-anchor'; + var activeLeft = i > 0 ? as[i - 1].parentNode[offsetLeft] : cell[offsetLeft], + activeRight = cell[offsetLeft] + cell[offsetWidth] + + (as[i + 1] ? as[i + 1].parentNode[offsetWidth] : 0); + if (activeRight > overlayWidth - curTblPos) tblPos = overlayWidth - activeRight; + else if (activeLeft < -curTblPos) tblPos = -activeLeft; + } + var markerPos = cell[offsetLeft] + (cell[offsetWidth] - marker[offsetWidth]) / 2 + tblPos; + hs.animate(table, isX ? { left: tblPos } : { top: tblPos }, null, 'easeOutQuad'); + hs.animate(marker, isX ? { left: markerPos } : { top: markerPos }, null, 'easeOutQuad'); + scrollUp.style.display = tblPos < 0 ? 'block' : 'none'; + scrollDown.style.display = (tblPos > minTblPos) ? 'block' : 'none'; + + }; + + + // initialize + var group = hs.anchors.groups[hs.expanders[slideshow.expKey].slideshowGroup || 'none'], + options = slideshow.thumbstrip, + mode = options.mode || 'horizontal', + floatMode = (mode == 'float'), + tree = floatMode ? ['div', 'ul', 'li', 'span'] : ['table', 'tbody', 'tr', 'td'], + isX = (mode == 'horizontal'), + dom = hs.createElement('div', { + className: 'highslide-thumbstrip highslide-thumbstrip-'+ mode, + innerHTML: + '
      '+ + '<'+ tree[0] +'><'+ tree[1] +'>
      '+ + '
      '+ + '
      '+ + '
      ' + }, { + display: 'none' + }, hs.container), + domCh = dom.childNodes, + div = domCh[0], + scrollUp = domCh[1], + scrollDown = domCh[2], + marker = domCh[3], + table = div.firstChild, + tbody = dom.getElementsByTagName(tree[1])[0], + tr; + for (var i = 0; i < group.length; i++) { + if (i == 0 || !isX) tr = hs.createElement(tree[2], null, null, tbody); + (function(){ + var a = group[i], + cell = hs.createElement(tree[3], null, null, tr), + pI = i; + hs.createElement('a', { + href: a.href, + title: a.title, + onclick: function() { + if (/highslide-active-anchor/.test(this.className)) return false; + hs.getExpander(this).focus(); + return hs.transit(a); + }, + innerHTML: hs.stripItemFormatter ? hs.stripItemFormatter(a) : a.innerHTML + }, null, cell); + })(); + } + if (!floatMode) { + scrollUp.onclick = function () { scroll(-1); }; + scrollDown.onclick = function() { scroll(1); }; + hs.addEventListener(tbody, document.onmousewheel !== undefined ? + 'mousewheel' : 'DOMMouseScroll', function(e) { + var delta = 0; + e = e || window.event; + if (e.wheelDelta) { + delta = e.wheelDelta/120; + if (hs.opera) delta = -delta; + } else if (e.detail) { + delta = -e.detail/3; + } + if (delta) scroll(-delta * 0.2); + if (e.preventDefault) e.preventDefault(); + e.returnValue = false; + }); + } + + return { + add: add, + selectThumb: selectThumb + } +}; +hs.langDefaults = hs.lang; +// history +var HsExpander = hs.Expander; +if (hs.ie && window == window.top) { + (function () { + try { + document.documentElement.doScroll('left'); + } catch (e) { + setTimeout(arguments.callee, 50); + return; + } + hs.ready(); + })(); +} +hs.addEventListener(document, 'DOMContentLoaded', hs.ready); +hs.addEventListener(window, 'load', hs.ready); + +// set handlers +hs.addEventListener(document, 'ready', function() { + if (hs.expandCursor || hs.dimmingOpacity) { + var style = hs.createElement('style', { type: 'text/css' }, null, + document.getElementsByTagName('HEAD')[0]), + backCompat = document.compatMode == 'BackCompat'; + + + function addRule(sel, dec) { + if (hs.ie && (hs.uaVersion < 9 || backCompat)) { + var last = document.styleSheets[document.styleSheets.length - 1]; + if (typeof(last.addRule) == "object") last.addRule(sel, dec); + } else { + style.appendChild(document.createTextNode(sel + " {" + dec + "}")); + } + } + function fix(prop) { + return 'expression( ( ( ignoreMe = document.documentElement.'+ prop + + ' ? document.documentElement.'+ prop +' : document.body.'+ prop +' ) ) + \'px\' );'; + } + if (hs.expandCursor) addRule ('.highslide img', + 'cursor: url('+ hs.graphicsDir + hs.expandCursor +'), pointer !important;'); + addRule ('.highslide-viewport-size', + hs.ie && (hs.uaVersion < 7 || backCompat) ? + 'position: absolute; '+ + 'left:'+ fix('scrollLeft') + + 'top:'+ fix('scrollTop') + + 'width:'+ fix('clientWidth') + + 'height:'+ fix('clientHeight') : + 'position: fixed; width: 100%; height: 100%; left: 0; top: 0'); + } +}); +hs.addEventListener(window, 'resize', function() { + hs.getPageSize(); + if (hs.viewport) for (var i = 0; i < hs.viewport.childNodes.length; i++) { + var node = hs.viewport.childNodes[i], + exp = hs.getExpander(node); + exp.positionOverlay(node); + if (node.hsId == 'thumbstrip') exp.slideshow.thumbstrip.selectThumb(); + } +}); +hs.addEventListener(document, 'mousemove', function(e) { + hs.mouse = { x: e.clientX, y: e.clientY }; +}); +hs.addEventListener(document, 'mousedown', hs.mouseClickHandler); +hs.addEventListener(document, 'mouseup', hs.mouseClickHandler); + +hs.addEventListener(document, 'ready', hs.getAnchors); +hs.addEventListener(window, 'load', hs.preloadImages); +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-gallery.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-gallery.min.js new file mode 100644 index 0000000..5f86699 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-gallery.min.js @@ -0,0 +1,9 @@ +/** + * Name: Highslide JS + * Version: 4.1.13 (2011-10-06) + * Config: default +slideshow +positioning +transitions +viewport +thumbstrip + * Author: Torstein Hønsi + * Support: www.highslide.com/support + * License: www.highslide.com/#license + */ +if(!hs){var hs={lang:{cssDirection:"ltr",loadingText:"Loading...",loadingTitle:"Click to cancel",focusTitle:"Click to bring to front",fullExpandTitle:"Expand to actual size (f)",creditsText:"Powered by Highslide JS",creditsTitle:"Go to the Highslide JS homepage",previousText:"Previous",nextText:"Next",moveText:"Move",closeText:"Close",closeTitle:"Close (esc)",resizeTitle:"Resize",playText:"Play",playTitle:"Play slideshow (spacebar)",pauseText:"Pause",pauseTitle:"Pause slideshow (spacebar)",previousTitle:"Previous (arrow left)",nextTitle:"Next (arrow right)",moveTitle:"Move",fullExpandText:"1:1",number:"Image %1 of %2",restoreTitle:"Click to close image, click and drag to move. Use arrow keys for next and previous."},graphicsDir:"highslide/graphics/",expandCursor:"zoomin.cur",restoreCursor:"zoomout.cur",expandDuration:250,restoreDuration:250,marginLeft:15,marginRight:15,marginTop:15,marginBottom:15,zIndexCounter:1001,loadingOpacity:0.75,allowMultipleInstances:true,numberOfImagesToPreload:5,outlineWhileAnimating:2,outlineStartOffset:3,padToMinWidth:false,fullExpandPosition:"bottom right",fullExpandOpacity:1,showCredits:true,creditsHref:"http://highslide.com/",creditsTarget:"_self",enableKeyListener:true,openerTagNames:["a"],transitions:[],transitionDuration:250,dimmingOpacity:0,dimmingDuration:50,anchor:"auto",align:"auto",targetX:null,targetY:null,dragByHeading:true,minWidth:200,minHeight:200,allowSizeReduction:true,outlineType:"drop-shadow",skin:{controls:''},preloadTheseImages:[],continuePreloading:true,expanders:[],overrides:["allowSizeReduction","useBox","anchor","align","targetX","targetY","outlineType","outlineWhileAnimating","captionId","captionText","captionEval","captionOverlay","headingId","headingText","headingEval","headingOverlay","creditsPosition","dragByHeading","autoplay","numberPosition","transitions","dimmingOpacity","width","height","wrapperClassName","minWidth","minHeight","maxWidth","maxHeight","pageOrigin","slideshowGroup","easing","easingClose","fadeInOut","src"],overlays:[],idCounter:0,oPos:{x:["leftpanel","left","center","right","rightpanel"],y:["above","top","middle","bottom","below"]},mouse:{},headingOverlay:{},captionOverlay:{},timers:[],slideshows:[],pendingOutlines:{},clones:{},onReady:[],uaVersion:/Trident\/4\.0/.test(navigator.userAgent)?8:parseFloat((navigator.userAgent.toLowerCase().match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1]),ie:(document.all&&!window.opera),safari:/Safari/.test(navigator.userAgent),geckoMac:/Macintosh.+rv:1\.[0-8].+Gecko/.test(navigator.userAgent),$:function(a){if(a){return document.getElementById(a)}},push:function(a,b){a[a.length]=b},createElement:function(a,f,e,d,c){var b=document.createElement(a);if(f){hs.extend(b,f)}if(c){hs.setStyles(b,{padding:0,border:"none",margin:0})}if(e){hs.setStyles(b,e)}if(d){d.appendChild(b)}return b},extend:function(b,c){for(var a in c){b[a]=c[a]}return b},setStyles:function(b,c){for(var a in c){if(hs.ieLt9&&a=="opacity"){if(c[a]>0.99){b.style.removeAttribute("filter")}else{b.style.filter="alpha(opacity="+(c[a]*100)+")"}}else{b.style[a]=c[a]}}},animate:function(f,a,d){var c,g,j;if(typeof d!="object"||d===null){var i=arguments;d={duration:i[2],easing:i[3],complete:i[4]}}if(typeof d.duration!="number"){d.duration=250}d.easing=Math[d.easing]||Math.easeInQuad;d.curAnim=hs.extend({},a);for(var b in a){var h=new hs.fx(f,d,b);c=parseFloat(hs.css(f,b))||0;g=parseFloat(a[b]);j=b!="opacity"?"px":"";h.custom(c,g,j)}},css:function(a,c){if(a.style[c]){return a.style[c]}else{if(document.defaultView){return document.defaultView.getComputedStyle(a,null).getPropertyValue(c)}else{if(c=="opacity"){c="filter"}var b=a.currentStyle[c.replace(/\-(\w)/g,function(e,d){return d.toUpperCase()})];if(c=="filter"){b=b.replace(/alpha\(opacity=([0-9]+)\)/,function(e,d){return d/100})}return b===""?1:b}}},getPageSize:function(){var f=document,b=window,e=f.compatMode&&f.compatMode!="BackCompat"?f.documentElement:f.body,g=hs.ie&&(hs.uaVersion<9||typeof pageXOffset=="undefined");var c=g?e.clientWidth:(f.documentElement.clientWidth||self.innerWidth),a=g?e.clientHeight:self.innerHeight;hs.page={width:c,height:a,scrollLeft:g?e.scrollLeft:pageXOffset,scrollTop:g?e.scrollTop:pageYOffset};return hs.page},getPosition:function(a){var b={x:a.offsetLeft,y:a.offsetTop};while(a.offsetParent){a=a.offsetParent;b.x+=a.offsetLeft;b.y+=a.offsetTop;if(a!=document.body&&a!=document.documentElement){b.x-=a.scrollLeft;b.y-=a.scrollTop}}return b},expand:function(b,g,d,c){if(!b){b=hs.createElement("a",null,{display:"none"},hs.container)}if(typeof b.getParams=="function"){return g}try{new hs.Expander(b,g,d);return false}catch(f){return true}},getElementByClass:function(e,c,d){var b=e.getElementsByTagName(c);for(var a=0;ac){c=f;b=d}}}if(b==-1){hs.focusKey=-1}else{a[b].focus()}},getParam:function(b,d){b.getParams=b.onclick;var c=b.getParams?b.getParams():null;b.getParams=null;return(c&&typeof c[d]!="undefined")?c[d]:(typeof hs[d]!="undefined"?hs[d]:null)},getSrc:function(b){var c=hs.getParam(b,"src");if(c){return c}return b.href},getNode:function(e){var c=hs.$(e),d=hs.clones[e],b={};if(!c&&!d){return null}if(!d){d=c.cloneNode(true);d.id="";hs.clones[e]=d;return c}else{return d.cloneNode(true)}},discardElement:function(a){if(a){hs.garbageBin.appendChild(a)}hs.garbageBin.innerHTML=""},dim:function(d){if(!hs.dimmer){a=true;hs.dimmer=hs.createElement("div",{className:"highslide-dimming highslide-viewport-size",owner:"",onclick:function(){hs.close()}},{visibility:"visible",opacity:0},hs.container,true);if(/(Android|iPad|iPhone|iPod)/.test(navigator.userAgent)){var b=document.body;function c(){hs.setStyles(hs.dimmer,{width:b.scrollWidth+"px",height:b.scrollHeight+"px"})}c();hs.addEventListener(window,"resize",c)}}hs.dimmer.style.display="";var a=hs.dimmer.owner=="";hs.dimmer.owner+="|"+d.key;if(a){if(hs.geckoMac&&hs.dimmingGeckoFix){hs.setStyles(hs.dimmer,{background:"url("+hs.graphicsDir+"geckodimmer.png)",opacity:1})}else{hs.animate(hs.dimmer,{opacity:d.dimmingOpacity},hs.dimmingDuration)}}},undim:function(a){if(!hs.dimmer){return}if(typeof a!="undefined"){hs.dimmer.owner=hs.dimmer.owner.replace("|"+a,"")}if((typeof a!="undefined"&&hs.dimmer.owner!="")||(hs.upcoming&&hs.getParam(hs.upcoming,"dimmingOpacity"))){return}if(hs.geckoMac&&hs.dimmingGeckoFix){hs.dimmer.style.display="none"}else{hs.animate(hs.dimmer,{opacity:0},hs.dimmingDuration,null,function(){hs.dimmer.style.display="none"})}},transit:function(a,d){var b=d||hs.getExpander();d=b;if(hs.upcoming){return false}else{hs.last=b}hs.removeEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler);try{hs.upcoming=a;a.onclick()}catch(c){hs.last=hs.upcoming=null}try{if(!a||d.transitions[1]!="crossfade"){d.close()}}catch(c){}return false},previousOrNext:function(a,c){var b=hs.getExpander(a);if(b){return hs.transit(b.getAdjacentAnchor(c),b)}else{return false}},previous:function(a){return hs.previousOrNext(a,-1)},next:function(a){return hs.previousOrNext(a,1)},keyHandler:function(a){if(!a){a=window.event}if(!a.target){a.target=a.srcElement}if(typeof a.target.form!="undefined"){return true}var b=hs.getExpander();var c=null;switch(a.keyCode){case 70:if(b){b.doFullExpand()}return true;case 32:c=2;break;case 34:case 39:case 40:c=1;break;case 8:case 33:case 37:case 38:c=-1;break;case 27:case 13:c=0}if(c!==null){if(c!=2){hs.removeEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler)}if(!hs.enableKeyListener){return true}if(a.preventDefault){a.preventDefault()}else{a.returnValue=false}if(b){if(c==0){b.close()}else{if(c==2){if(b.slideshow){b.slideshow.hitSpace()}}else{if(b.slideshow){b.slideshow.pause()}hs.previousOrNext(b.key,c)}}return false}}return true},registerOverlay:function(a){hs.push(hs.overlays,hs.extend(a,{hsId:"hsId"+hs.idCounter++}))},addSlideshow:function(b){var d=b.slideshowGroup;if(typeof d=="object"){for(var c=0;c1){return true}if(!d.target){d.target=d.srcElement}var b=d.target;while(b.parentNode&&!(/highslide-(image|move|html|resize)/.test(b.className))){b=b.parentNode}var f=hs.getExpander(b);if(f&&(f.isClosing||!f.isExpanded)){return true}if(f&&d.type=="mousedown"){if(d.target.form){return true}var a=b.className.match(/highslide-(image|move|resize)/);if(a){hs.dragArgs={exp:f,type:a[1],left:f.x.pos,width:f.x.size,top:f.y.pos,height:f.y.size,clickX:d.clientX,clickY:d.clientY};hs.addEventListener(document,"mousemove",hs.dragHandler);if(d.preventDefault){d.preventDefault()}if(/highslide-(image|html)-blur/.test(f.content.className)){f.focus();hs.hasFocused=true}return false}}else{if(d.type=="mouseup"){hs.removeEventListener(document,"mousemove",hs.dragHandler);if(hs.dragArgs){if(hs.styleRestoreCursor&&hs.dragArgs.type=="image"){hs.dragArgs.exp.content.style.cursor=hs.styleRestoreCursor}var c=hs.dragArgs.hasDragged;if(!c&&!hs.hasFocused&&!/(move|resize)/.test(hs.dragArgs.type)){f.close()}else{if(c||(!c&&hs.hasHtmlExpanders)){hs.dragArgs.exp.doShowHide("hidden")}}hs.hasFocused=false;hs.dragArgs=null}else{if(/highslide-image-blur/.test(b.className)){b.style.cursor=hs.styleRestoreCursor}}}}return false},dragHandler:function(c){if(!hs.dragArgs){return true}if(!c){c=window.event}var b=hs.dragArgs,d=b.exp;b.dX=c.clientX-b.clickX;b.dY=c.clientY-b.clickY;var f=Math.sqrt(Math.pow(b.dX,2)+Math.pow(b.dY,2));if(!b.hasDragged){b.hasDragged=(b.type!="image"&&f>0)||(f>(hs.dragSensitivity||5))}if(b.hasDragged&&c.clientX>5&&c.clientY>5){if(b.type=="resize"){d.resize(b)}else{d.moveTo(b.left+b.dX,b.top+b.dY);if(b.type=="image"){d.content.style.cursor="move"}}}return false},wrapperMouseHandler:function(c){try{if(!c){c=window.event}var b=/mouseover/i.test(c.type);if(!c.target){c.target=c.srcElement}if(!c.relatedTarget){c.relatedTarget=b?c.fromElement:c.toElement}var d=hs.getExpander(c.target);if(!d.isExpanded){return}if(!d||!c.relatedTarget||hs.getExpander(c.relatedTarget,true)==d||hs.dragArgs){return}for(var a=0;a=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var a=true;for(var b in this.options.curAnim){if(this.options.curAnim[b]!==true){a=false}}if(a){if(this.options.complete){this.options.complete.call(this.elem)}}return false}else{var e=c-this.startTime;this.state=e/this.options.duration;this.pos=this.options.easing(e,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};hs.extend(hs.fx,{step:{opacity:function(a){hs.setStyles(a.elem,{opacity:a.now})},_default:function(a){try{if(a.elem.style&&a.elem.style[a.prop]!=null){a.elem.style[a.prop]=a.now+a.unit}else{a.elem[a.prop]=a.now}}catch(b){}}}});hs.Outline=function(g,e){this.onLoad=e;this.outlineType=g;var a=hs.uaVersion,f;this.hasAlphaImageLoader=hs.ie&&hs.uaVersion<7;if(!g){if(e){e()}return}hs.init();this.table=hs.createElement("table",{cellSpacing:0},{visibility:"hidden",position:"absolute",borderCollapse:"collapse",width:0},hs.container,true);var b=hs.createElement("tbody",null,null,this.table,1);this.td=[];for(var c=0;c<=8;c++){if(c%3==0){f=hs.createElement("tr",null,{height:"auto"},b,true)}this.td[c]=hs.createElement("td",null,null,f,true);var d=c!=4?{lineHeight:0,fontSize:0}:{position:"relative"};hs.setStyles(this.td[c],d)}this.td[4].className=g+" highslide-outline";this.preloadGraphic()};hs.Outline.prototype={preloadGraphic:function(){var b=hs.graphicsDir+(hs.outlinesDir||"outlines/")+this.outlineType+".png";var a=hs.safari&&hs.uaVersion<525?hs.container:null;this.graphic=hs.createElement("img",null,{position:"absolute",top:"-9999px"},a,true);var c=this;this.graphic.onload=function(){c.onGraphicLoad()};this.graphic.src=b},onGraphicLoad:function(){var d=this.offset=this.graphic.width/4,f=[[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]],c={height:(2*d)+"px",width:(2*d)+"px"};for(var b=0;b<=8;b++){if(f[b]){if(this.hasAlphaImageLoader){var a=(b==1||b==7)?"100%":this.graphic.width+"px";var e=hs.createElement("div",null,{width:"100%",height:"100%",position:"relative",overflow:"hidden"},this.td[b],true);hs.createElement("div",null,{filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale, src='"+this.graphic.src+"')",position:"absolute",width:a,height:this.graphic.height+"px",left:(f[b][0]*d)+"px",top:(f[b][1]*d)+"px"},e,true)}else{hs.setStyles(this.td[b],{background:"url("+this.graphic.src+") "+(f[b][0]*d)+"px "+(f[b][1]*d)+"px"})}if(window.opera&&(b==3||b==5)){hs.createElement("div",null,c,this.td[b],true)}hs.setStyles(this.td[b],c)}}this.graphic=null;if(hs.pendingOutlines[this.outlineType]){hs.pendingOutlines[this.outlineType].destroy()}hs.pendingOutlines[this.outlineType]=this;if(this.onLoad){this.onLoad()}},setPosition:function(g,e,c,b,f){var d=this.exp,a=d.wrapper.style,e=e||0,g=g||{x:d.x.pos+e,y:d.y.pos+e,w:d.x.get("wsize")-2*e,h:d.y.get("wsize")-2*e};if(c){this.table.style.visibility=(g.h>=4*this.offset)?"visible":"hidden"}hs.setStyles(this.table,{left:(g.x-this.offset)+"px",top:(g.y-this.offset)+"px",width:(g.w+2*this.offset)+"px"});g.w-=2*this.offset;g.h-=2*this.offset;hs.setStyles(this.td[4],{width:g.w>=0?g.w+"px":0,height:g.h>=0?g.h+"px":0});if(this.hasAlphaImageLoader){this.td[3].style.height=this.td[5].style.height=this.td[4].style.height}},destroy:function(a){if(a){this.table.style.visibility="hidden"}else{hs.discardElement(this.table)}}};hs.Dimension=function(b,a){this.exp=b;this.dim=a;this.ucwh=a=="x"?"Width":"Height";this.wh=this.ucwh.toLowerCase();this.uclt=a=="x"?"Left":"Top";this.lt=this.uclt.toLowerCase();this.ucrb=a=="x"?"Right":"Bottom";this.rb=this.ucrb.toLowerCase();this.p1=this.p2=0};hs.Dimension.prototype={get:function(a){switch(a){case"loadingPos":return this.tpos+this.tb+(this.t-hs.loading["offset"+this.ucwh])/2;case"loadingPosXfade":return this.pos+this.cb+this.p1+(this.size-hs.loading["offset"+this.ucwh])/2;case"wsize":return this.size+2*this.cb+this.p1+this.p2;case"fitsize":return this.clientSize-this.marginMin-this.marginMax;case"maxsize":return this.get("fitsize")-2*this.cb-this.p1-this.p2;case"opos":return this.pos-(this.exp.outline?this.exp.outline.offset:0);case"osize":return this.get("wsize")+(this.exp.outline?2*this.exp.outline.offset:0);case"imgPad":return this.imgSize?Math.round((this.size-this.imgSize)/2):0}},calcBorders:function(){this.cb=(this.exp.content["offset"+this.ucwh]-this.t)/2;this.marginMax=hs["margin"+this.ucrb]},calcThumb:function(){this.t=this.exp.el[this.wh]?parseInt(this.exp.el[this.wh]):this.exp.el["offset"+this.ucwh];this.tpos=this.exp.tpos[this.dim];this.tb=(this.exp.el["offset"+this.ucwh]-this.t)/2;if(this.tpos==0||this.tpos==-1){this.tpos=(hs.page[this.wh]/2)+hs.page["scroll"+this.uclt]}},calcExpanded:function(){var a=this.exp;this.justify="auto";if(a.align=="center"){this.justify="center"}else{if(new RegExp(this.lt).test(a.anchor)){this.justify=null}else{if(new RegExp(this.rb).test(a.anchor)){this.justify="max"}}}this.pos=this.tpos-this.cb+this.tb;if(this.maxHeight&&this.dim=="x"){a.maxWidth=Math.min(a.maxWidth||this.full,a.maxHeight*this.full/a.y.full)}this.size=Math.min(this.full,a["max"+this.ucwh]||this.full);this.minSize=a.allowSizeReduction?Math.min(a["min"+this.ucwh],this.full):this.full;if(a.isImage&&a.useBox){this.size=a[this.wh];this.imgSize=this.full}if(this.dim=="x"&&hs.padToMinWidth){this.minSize=a.minWidth}this.target=a["target"+this.dim.toUpperCase()];this.marginMin=hs["margin"+this.uclt];this.scroll=hs.page["scroll"+this.uclt];this.clientSize=hs.page[this.wh]},setSize:function(a){var b=this.exp;if(b.isImage&&(b.useBox||hs.padToMinWidth)){this.imgSize=a;this.size=Math.max(this.size,this.imgSize);b.content.style[this.lt]=this.get("imgPad")+"px"}else{this.size=a}b.content.style[this.wh]=a+"px";b.wrapper.style[this.wh]=this.get("wsize")+"px";if(b.outline){b.outline.setPosition()}if(this.dim=="x"&&b.overlayBox){b.sizeOverlayBox(true)}if(this.dim=="x"&&b.slideshow&&b.isImage){if(a==this.full){b.slideshow.disable("full-expand")}else{b.slideshow.enable("full-expand")}}},setPos:function(a){this.pos=a;this.exp.wrapper.style[this.lt]=a+"px";if(this.exp.outline){this.exp.outline.setPosition()}}};hs.Expander=function(k,f,b,l){if(document.readyState&&hs.ie&&!hs.isReady){hs.addEventListener(document,"ready",function(){new hs.Expander(k,f,b,l)});return}this.a=k;this.custom=b;this.contentType=l||"image";this.isImage=!this.isHtml;hs.continuePreloading=false;this.overlays=[];this.last=hs.last;hs.last=null;hs.init();var m=this.key=hs.expanders.length;for(var g=0;ga.scroll+a.clientSize-a.marginMax){a.pos=a.scroll+a.clientSize-a.size-a.marginMin-a.marginMax-a.p1-a.p2}if(a.pos(this.x.imgSize||this.x.size)){this.createFullExpand();if(this.overlays.length==1){this.sizeOverlayBox()}}}this.show()}catch(d){this.error(d)}},justify:function(f,b){var g,h=f.target,e=f==this.x?"x":"y";if(h&&h.match(/ /)){g=h.split(" ");h=g[0]}if(h&&hs.$(h)){f.pos=hs.getPosition(hs.$(h))[e];if(g&&g[1]&&g[1].match(/^[-]?[0-9]+px$/)){f.pos+=parseInt(g[1])}if(f.sizef.scroll+f.clientSize-f.marginMax){if(!b&&d&&a){f.size=Math.min(f.size,f.get(e=="y"?"fitsize":"maxsize"))}else{if(f.get("wsize")c){d=b*c;if(dthis.minHeight&&a.size>this.minWidth&&d.get("wsize")>d.get("fitsize")){d.size-=10;if(b){a.size=d.size*b}this.sizeOverlayBox(0,1);c=true}}return c},show:function(){var a=this.x,b=this.y;this.doShowHide("hidden");if(this.slideshow&&this.slideshow.thumbstrip){this.slideshow.thumbstrip.selectThumb()}this.changeSize(1,{wrapper:{width:a.get("wsize"),height:b.get("wsize"),left:a.pos,top:b.pos},content:{left:a.p1+a.get("imgPad"),top:b.p1+b.get("imgPad"),width:a.imgSize||a.size,height:b.imgSize||b.size}},hs.expandDuration)},changeSize:function(d,i,b){var k=this.transitions,e=d?(this.last?this.last.a:null):hs.upcoming,j=(k[1]&&e&&hs.getParam(e,"transitions")[1]==k[1])?k[1]:k[0];if(this[j]&&j!="expand"){this[j](d,i);return}if(this.outline&&!this.outlineWhileAnimating){if(d){this.outline.setPosition()}else{this.outline.destroy()}}if(!d){this.destroyOverlays()}var c=this,h=c.x,g=c.y,f=this.easing;if(!d){f=this.easingClose||f}var a=d?function(){if(c.outline){c.outline.table.style.visibility="visible"}setTimeout(function(){c.afterExpand()},50)}:function(){c.afterClose()};if(d){hs.setStyles(this.wrapper,{width:h.t+"px",height:g.t+"px"})}if(this.fadeInOut){hs.setStyles(this.wrapper,{opacity:d?0:1});hs.extend(i.wrapper,{opacity:d})}hs.animate(this.wrapper,i.wrapper,{duration:b,easing:f,step:function(n,l){if(c.outline&&c.outlineWhileAnimating&&l.prop=="top"){var m=d?l.pos:1-l.pos;var o={w:h.t+(h.get("wsize")-h.t)*m,h:g.t+(g.get("wsize")-g.t)*m,x:h.tpos+(h.pos-h.tpos)*m,y:g.tpos+(g.pos-g.tpos)*m};c.outline.setPosition(o,0,1)}}});hs.animate(this.content,i.content,b,f,a);if(d){this.wrapper.style.visibility="visible";this.content.style.visibility="visible";this.a.className+=" highslide-active-anchor"}},fade:function(f,h){this.outlineWhileAnimating=false;var c=this,j=f?hs.expandDuration:0;if(f){hs.animate(this.wrapper,h.wrapper,0);hs.setStyles(this.wrapper,{opacity:0,visibility:"visible"});hs.animate(this.content,h.content,0);this.content.style.visibility="visible";hs.animate(this.wrapper,{opacity:1},j,null,function(){c.afterExpand()})}if(this.outline){this.outline.table.style.zIndex=this.wrapper.style.zIndex;var b=f||-1,d=this.outline.offset,a=f?3:d,g=f?d:3;for(var e=a;b*e<=b*g;e+=b,j+=25){(function(){var i=f?g-e:a-e;setTimeout(function(){c.outline.setPosition(0,i,1)},j)})()}}if(f){}else{setTimeout(function(){if(c.outline){c.outline.destroy(c.preserveContent)}c.destroyOverlays();hs.animate(c.wrapper,{opacity:0},hs.restoreDuration,null,function(){c.afterClose()})},j)}},crossfade:function(g,m,o){if(!g){return}var f=this,p=this.last,l=this.x,k=this.y,d=p.x,b=p.y,a=this.wrapper,i=this.content,c=this.overlayBox;hs.removeEventListener(document,"mousemove",hs.dragHandler);hs.setStyles(i,{width:(l.imgSize||l.size)+"px",height:(k.imgSize||k.size)+"px"});if(c){c.style.overflow="visible"}this.outline=p.outline;if(this.outline){this.outline.exp=f}p.outline=null;var h=hs.createElement("div",{className:"highslide-"+this.contentType},{position:"absolute",zIndex:4,overflow:"hidden",display:"none"});var j={oldImg:p,newImg:this};for(var e in j){this[e]=j[e].content.cloneNode(1);hs.setStyles(this[e],{position:"absolute",border:0,visibility:"visible"});h.appendChild(this[e])}a.appendChild(h);if(c){c.className="";a.appendChild(c)}h.style.display="";p.content.style.display="none";if(hs.safari&&hs.uaVersion<525){this.wrapper.style.visibility="visible"}hs.animate(a,{width:l.size},{duration:hs.transitionDuration,step:function(u,r){var x=r.pos,q=1-x;var w,s={},t=["pos","size","p1","p2"];for(var v in t){w=t[v];s["x"+w]=Math.round(q*d[w]+x*l[w]);s["y"+w]=Math.round(q*b[w]+x*k[w]);s.ximgSize=Math.round(q*(d.imgSize||d.size)+x*(l.imgSize||l.size));s.ximgPad=Math.round(q*d.get("imgPad")+x*l.get("imgPad"));s.yimgSize=Math.round(q*(b.imgSize||b.size)+x*(k.imgSize||k.size));s.yimgPad=Math.round(q*b.get("imgPad")+x*k.get("imgPad"))}if(f.outline){f.outline.setPosition({x:s.xpos,y:s.ypos,w:s.xsize+s.xp1+s.xp2+2*l.cb,h:s.ysize+s.yp1+s.yp2+2*k.cb})}p.wrapper.style.clip="rect("+(s.ypos-b.pos)+"px, "+(s.xsize+s.xp1+s.xp2+s.xpos+2*d.cb-d.pos)+"px, "+(s.ysize+s.yp1+s.yp2+s.ypos+2*b.cb-b.pos)+"px, "+(s.xpos-d.pos)+"px)";hs.setStyles(i,{top:(s.yp1+k.get("imgPad"))+"px",left:(s.xp1+l.get("imgPad"))+"px",marginTop:(k.pos-s.ypos)+"px",marginLeft:(l.pos-s.xpos)+"px"});hs.setStyles(a,{top:s.ypos+"px",left:s.xpos+"px",width:(s.xp1+s.xp2+s.xsize+2*l.cb)+"px",height:(s.yp1+s.yp2+s.ysize+2*k.cb)+"px"});hs.setStyles(h,{width:(s.ximgSize||s.xsize)+"px",height:(s.yimgSize||s.ysize)+"px",left:(s.xp1+s.ximgPad)+"px",top:(s.yp1+s.yimgPad)+"px",visibility:"visible"});hs.setStyles(f.oldImg,{top:(b.pos-s.ypos+b.p1-s.yp1+b.get("imgPad")-s.yimgPad)+"px",left:(d.pos-s.xpos+d.p1-s.xp1+d.get("imgPad")-s.ximgPad)+"px"});hs.setStyles(f.newImg,{opacity:x,top:(k.pos-s.ypos+k.p1-s.yp1+k.get("imgPad")-s.yimgPad)+"px",left:(l.pos-s.xpos+l.p1-s.xp1+l.get("imgPad")-s.ximgPad)+"px"});if(c){hs.setStyles(c,{width:s.xsize+"px",height:s.ysize+"px",left:(s.xp1+l.cb)+"px",top:(s.yp1+k.cb)+"px"})}},complete:function(){a.style.visibility=i.style.visibility="visible";i.style.display="block";hs.discardElement(h);f.afterExpand();p.afterClose();f.last=null}})},reuseOverlay:function(d,c){if(!this.last){return false}for(var b=0;b'+b+"
      "+this[this.numberPosition].innerHTML}}},initSlideshow:function(){if(!this.last){for(var c=0;cthis.x.get("opos")+this.x.get("osize"));var g=(k.y+k.hthis.y.get("opos")+this.y.get("osize"))}var d=hs.getWrapperKey(e[f]);if(!j&&!g&&d!=this.key){if(!h){e[f].setAttribute("hidden-by","["+this.key+"]");e[f].origProp=e[f].style[a];e[f].style[a]="hidden"}else{if(h.indexOf("["+this.key+"]")==-1){e[f].setAttribute("hidden-by",h+"["+this.key+"]")}}}else{if((h=="["+this.key+"]"||hs.focusKey==d)&&d!=this.key){e[f].setAttribute("hidden-by","");e[f].style[a]=e[f].origProp||""}else{if(h&&h.indexOf("["+this.key+"]")>-1){e[f].setAttribute("hidden-by",h.replace("["+this.key+"]",""))}}}}}}}},focus:function(){this.wrapper.style.zIndex=hs.zIndexCounter+=2;for(var a=0;ae.parentNode.offsetWidth){e.style.width="100%"}}else{if(e.parentNode!=this.overlayBox){this.overlayBox.appendChild(e)}}if(/left$/.test(f)){e.style.left=b+"px"}if(/center$/.test(f)){hs.setStyles(e,{left:"50%",marginLeft:(b-Math.round(e.offsetWidth/2))+"px"})}if(/right$/.test(f)){e.style.right=-b+"px"}if(/^leftpanel$/.test(f)){hs.setStyles(e,{right:"100%",marginRight:this.x.cb+"px",top:-this.y.cb+"px",bottom:-this.y.cb+"px",overflow:"auto"});this.x.p1=e.offsetWidth}else{if(/^rightpanel$/.test(f)){hs.setStyles(e,{left:"100%",marginLeft:this.x.cb+"px",top:-this.y.cb+"px",bottom:-this.y.cb+"px",overflow:"auto"});this.x.p2=e.offsetWidth}}var d=e.parentNode.offsetHeight;e.style.height="auto";if(c&&e.offsetHeight>d){e.style.height=hs.ieLt7?d+"px":"100%"}if(/^top/.test(f)){e.style.top=a+"px"}if(/^middle/.test(f)){hs.setStyles(e,{top:"50%",marginTop:(a-Math.round(e.offsetHeight/2))+"px"})}if(/^bottom/.test(f)){e.style.bottom=-a+"px"}if(/^above$/.test(f)){hs.setStyles(e,{left:(-this.x.p1-this.x.cb)+"px",right:(-this.x.p2-this.x.cb)+"px",bottom:"100%",marginBottom:this.y.cb+"px",width:"auto"});this.y.p1=e.offsetHeight}else{if(/^below$/.test(f)){hs.setStyles(e,{position:"relative",left:(-this.x.p1-this.x.cb)+"px",right:(-this.x.p2-this.x.cb)+"px",top:"100%",marginTop:this.y.cb+"px",width:"auto"});this.y.p2=e.offsetHeight;e.style.position="absolute"}}},getOverlays:function(){this.getInline(["heading","caption"],true);this.getNumber();if(this.heading&&this.dragByHeading){this.heading.className+=" highslide-move"}if(hs.showCredits){this.writeCredits()}for(var a=0;a0){F=0}if(C>0){C=0}if(C0?G[L-1].parentNode[B]:w[B],A=w[B]+w[H]+(G[L+1]?G[L+1].parentNode[H]:0);if(A>x-v){C=x-A}else{if(J<-v){C=-J}}}var E=w[B]+(w[H]-g[H])/2+C;hs.animate(s,h?{left:C}:{top:C},null,"easeOutQuad");hs.animate(g,h?{left:E}:{top:E},null,"easeOutQuad");l.style.display=C<0?"block":"none";t.style.display=(C>F)?"block":"none"}var j=hs.anchors.groups[hs.expanders[k.expKey].slideshowGroup||"none"],f=k.thumbstrip,m=f.mode||"horizontal",u=(m=="float"),o=u?["div","ul","li","span"]:["table","tbody","tr","td"],h=(m=="horizontal"),r=hs.createElement("div",{className:"highslide-thumbstrip highslide-thumbstrip-"+m,innerHTML:'
      <'+o[0]+"><"+o[1]+">
      '},{display:"none"},hs.container),e=r.childNodes,n=e[0],l=e[1],t=e[2],g=e[3],s=n.firstChild,a=r.getElementsByTagName(o[1])[0],b;for(var q=0;q35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('q(!m){u m={18:{9C:\'9t\',9f:\'bb...\',9g:\'8o 1L ba\',9Y:\'8o 1L bd 1L bw\',7p:\'bx 1L bl B (f)\',aS:\'bp by 8H 8I\',b0:\'bn 1L bj 8H 8I bz\',8T:\'8C\',8U:\'8D\',8w:\'8E\',8v:\'8J\',8t:\'8J (bv)\',bu:\'bg\',8P:\'8G\',8A:\'8G 1g (8B)\',8N:\'8F\',8M:\'8F 1g (8B)\',8S:\'8C (8l 14)\',8O:\'8D (8l 2V)\',8s:\'8E\',8r:\'1:1\',3n:\'b9 %1 bq %2\',84:\'8o 1L 26 2M, c4 8L c6 1L 3i. c0 8l c1 K 1p 8L 3c.\'},4p:\'L/bX/\',5M:\'bI.4y\',5m:\'bK.4y\',7f:53,8p:53,4L:15,9M:15,4j:15,9K:15,4z:bE,91:0.75,9j:J,7A:5,3B:2,bP:3,4R:1f,at:\'4g 2V\',aq:1,an:J,aF:\'bQ://L.c2/\',aE:\'bO\',8V:J,8e:[\'a\'],2Z:[],aL:53,3I:0,7G:50,3Q:\'2n\',6H:\'2n\',8y:H,8x:H,7v:J,5c:8R,5w:8R,5q:J,1B:\'bR-bS\',a6:{2B:\'<7V>\'+\'<1R 2s="L-3c">\'+\'\'+\'<23>{m.18.8T}\'+\'\'+\'<1R 2s="L-3r">\'+\'\'+\'<23>{m.18.8P}\'+\'\'+\'<1R 2s="L-2S">\'+\'\'+\'<23>{m.18.8N}\'+\'\'+\'<1R 2s="L-1p">\'+\'\'+\'<23>{m.18.8U}\'+\'\'+\'<1R 2s="L-3i">\'+\'\'+\'<23>{m.18.8w}\'+\'\'+\'<1R 2s="L-1a-2D">\'+\'\'+\'<23>{m.18.8r}\'+\'\'+\'<1R 2s="L-26">\'+\'\'+\'<23>{m.18.8v}\'+\'\'+\'\'},4X:[],6Z:J,W:[],6V:[\'5q\',\'30\',\'3Q\',\'6H\',\'8y\',\'8x\',\'1B\',\'3B\',\'bG\',\'bH\',\'bJ\',\'8u\',\'bW\',\'cd\',\'cc\',\'8z\',\'aW\',\'7v\',\'3D\',\'5b\',\'2Z\',\'3I\',\'M\',\'1b\',\'7B\',\'5c\',\'5w\',\'6F\',\'6R\',\'9i\',\'2t\',\'2r\',\'aT\',\'aD\',\'1G\'],1x:[],4V:0,7q:{x:[\'9H\',\'14\',\'4i\',\'2V\',\'9L\'],y:[\'4T\',\'11\',\'8h\',\'4g\',\'6D\']},66:{},8z:{},8u:{},3u:[],4U:[],48:{},7I:{},5G:[],21:/ca\\/4\\.0/.19(4B.5r)?8:8n((4B.5r.5Y().2H(/.+(?:9y|c9|ce|2m)[\\/: ]([\\d.]+)/)||[0,\'0\'])[1]),2m:(R.52&&!1A.3q),4u:/cf/.19(4B.5r),5Z:/ci.+9y:1\\.[0-8].+cg/.19(4B.5r),$:z(1M){q(1M)D R.c7(1M)},2p:z(2o,3j){2o[2o.S]=3j},1c:z(9m,4k,3P,8b,9n){u C=R.1c(9m);q(4k)m.3b(C,4k);q(9n)m.V(C,{bY:0,aM:\'1F\',6S:0});q(3P)m.V(C,3P);q(8b)8b.2E(C);D C},3b:z(C,4k){K(u x 2T 4k)C[x]=4k[x];D C},V:z(C,3P){K(u x 2T 3P){q(m.4d&&x==\'1n\'){q(3P[x]>0.99)C.G.c5(\'5j\');I C.G.5j=\'9o(1n=\'+(3P[x]*28)+\')\'}I C.G[x]=3P[x]}},2b:z(C,Z,31){u 41,4v,47;q(1q 31!=\'6q\'||31===H){u 36=9V;31={3J:36[2],2r:36[3],63:36[4]}}q(1q 31.3J!=\'3n\')31.3J=53;31.2r=1d[31.2r]||1d.93;31.5S=m.3b({},Z);K(u 35 2T Z){u e=24 m.1E(C,31,35);41=8n(m.7U(C,35))||0;4v=8n(Z[35]);47=35!=\'1n\'?\'F\':\'\';e.3F(41,4v,47)}},7U:z(C,Z){q(C.G[Z]){D C.G[Z]}I q(R.6T){D R.6T.9P(C,H).9Q(Z)}I{q(Z==\'1n\')Z=\'5j\';u 3j=C.bf[Z.2j(/\\-(\\w)/g,z(a,b){D b.92()})];q(Z==\'5j\')3j=3j.2j(/9o\\(1n=([0-9]+)\\)/,z(a,b){D b/28});D 3j===\'\'?1:3j}},6v:z(){u d=R,w=1A,5d=d.6i&&d.6i!=\'7P\'?d.4l:d.3x,4d=m.2m&&(m.21<9||1q 9l==\'1C\');u M=4d?5d.8m:(d.4l.8m||5J.b2),1b=4d?5d.aK:5J.b3;m.3S={M:M,1b:1b,5l:4d?5d.5l:9l,5i:4d?5d.5i:be};D m.3S},6g:z(C){u p={x:C.4f,y:C.9h};4o(C.9k){C=C.9k;p.x+=C.4f;p.y+=C.9h;q(C!=R.3x&&C!=R.4l){p.x-=C.5l;p.y-=C.5i}}D p},2D:z(a,2O,3F,T){q(!a)a=m.1c(\'a\',H,{1u:\'1F\'},m.22);q(1q a.5u==\'z\')D 2O;2d{24 m.4Z(a,2O,3F);D 1f}1W(e){D J}},a4:z(C,4F,U){u 1i=C.2L(4F);K(u i=0;i<1i.S;i++){q((24 5X(U)).19(1i[i].U)){D 1i[i]}}D H},a7:z(s){s=s.2j(/\\s/g,\' \');u 1T=/{m\\.18\\.([^}]+)\\}/g,4S=s.2H(1T),18;q(4S)K(u i=0;i<4S.S;i++){18=4S[i].2j(1T,"$1");q(1q m.18[18]!=\'1C\')s=s.2j(4S[i],m.18[18])}D s},9w:z(){u 7J=0,6j=-1,W=m.W,A,1r;K(u i=0;i7J){7J=1r;6j=i}}}q(6j==-1)m.3v=-1;I W[6j].43()},5h:z(a,5p){a.5u=a.2G;u p=a.5u?a.5u():H;a.5u=H;D(p&&1q p[5p]!=\'1C\')?p[5p]:(1q m[5p]!=\'1C\'?m[5p]:H)},73:z(a){u 1G=m.5h(a,\'1G\');q(1G)D 1G;D a.1Y},4W:z(1M){u 3w=m.$(1M),45=m.7I[1M],a={};q(!3w&&!45)D H;q(!45){45=3w.7j(J);45.1M=\'\';m.7I[1M]=45;D 3w}I{D 45.7j(J)}},3H:z(d){q(d)m.8j.2E(d);m.8j.2R=\'\'},1m:z(A){q(!m.2a){7E=J;m.2a=m.1c(\'X\',{U:\'L-bk L-1Z-B\',4x:\'\',2G:z(){m.26()}},{1e:\'1D\',1n:0},m.22,J);q(/(bm|bt|bo|br)/.19(4B.5r)){u 3x=R.3x;z 7H(){m.V(m.2a,{M:3x.bA+\'F\',1b:3x.b5+\'F\'})}7H();m.1Q(1A,\'3O\',7H)}}m.2a.G.1u=\'\';u 7E=m.2a.4x==\'\';m.2a.4x+=\'|\'+A.P;q(7E){q(m.5Z&&m.9q)m.V(m.2a,{9e:\'5O(\'+m.4p+\'bh.97)\',1n:1});I m.2b(m.2a,{1n:A.3I},m.7G)}},7Q:z(P){q(!m.2a)D;q(1q P!=\'1C\')m.2a.4x=m.2a.4x.2j(\'|\'+P,\'\');q((1q P!=\'1C\'&&m.2a.4x!=\'\')||(m.1U&&m.5h(m.1U,\'3I\')))D;q(m.5Z&&m.9q)m.2a.G.1u=\'1F\';I m.2b(m.2a,{1n:0},m.7G,H,z(){m.2a.G.1u=\'1F\'})},83:z(6n,A){u Y=A||m.2h();A=Y;q(m.1U)D 1f;I m.Y=Y;m.49(R,1A.3q?\'5P\':\'5Q\',m.4N);2d{m.1U=6n;6n.2G()}1W(e){m.Y=m.1U=H}2d{q(!6n||A.2Z[1]!=\'3Y\')A.26()}1W(e){}D 1f},6d:z(C,1P){u A=m.2h(C);q(A)D m.83(A.7b(1P),A);I D 1f},3c:z(C){D m.6d(C,-1)},1p:z(C){D m.6d(C,1)},4N:z(e){q(!e)e=1A.29;q(!e.2i)e.2i=e.7l;q(1q e.2i.9x!=\'1C\')D J;u A=m.2h();u 1P=H;8Y(e.cq){1I 70:q(A)A.6k();D J;1I 32:1P=2;5B;1I 34:1I 39:1I 40:1P=1;5B;1I 8:1I 33:1I 37:1I 38:1P=-1;5B;1I 27:1I 13:1P=0}q(1P!==H){q(1P!=2)m.49(R,1A.3q?\'5P\':\'5Q\',m.4N);q(!m.8V)D J;q(e.4D)e.4D();I e.9W=1f;q(A){q(1P==0){A.26()}I q(1P==2){q(A.1g)A.1g.ad()}I{q(A.1g)A.1g.2S();m.6d(A.P,1P)}D 1f}}D J},d5:z(O){m.2p(m.1x,m.3b(O,{1H:\'1H\'+m.4V++}))},d4:z(1h){u 2C=1h.2t;q(1q 2C==\'6q\'){K(u i=0;i<2C.S;i++){u o={};K(u x 2T 1h)o[x]=1h[x];o.2t=2C[i];m.2p(m.4U,o)}}I{m.2p(m.4U,1h)}},86:z(7N,65){u C,1T=/^L-Q-([0-9]+)$/;C=7N;4o(C.1O){q(C.5F!==1C)D C.5F;q(C.1M&&1T.19(C.1M))D C.1M.2j(1T,"$1");C=C.1O}q(!65){C=7N;4o(C.1O){q(C.4F&&m.5L(C)){K(u P=0;P1)D J;q(!e.2i)e.2i=e.7l;u C=e.2i;4o(C.1O&&!(/L-(2M|3i|5W|3O)/.19(C.U))){C=C.1O}u A=m.2h(C);q(A&&(A.8c||!A.55))D J;q(A&&e.T==\'aH\'){q(e.2i.9x)D J;u 2H=C.U.2H(/L-(2M|3i|3O)/);q(2H){m.2I={A:A,T:2H[1],14:A.x.E,M:A.x.B,11:A.y.E,1b:A.y.B,9v:e.6c,9u:e.68};m.1Q(R,\'6o\',m.5V);q(e.4D)e.4D();q(/L-(2M|5W)-89/.19(A.17.U)){A.43();m.7R=J}D 1f}}I q(e.T==\'aA\'){m.49(R,\'6o\',m.5V);q(m.2I){q(m.4I&&m.2I.T==\'2M\')m.2I.A.17.G.46=m.4I;u 3y=m.2I.3y;q(!3y&&!m.7R&&!/(3i|3O)/.19(m.2I.T)){A.26()}I q(3y||(!3y&&m.d8)){m.2I.A.5s(\'1s\')}m.7R=1f;m.2I=H}I q(/L-2M-89/.19(C.U)){C.G.46=m.4I}}D 1f},5V:z(e){q(!m.2I)D J;q(!e)e=1A.29;u a=m.2I,A=a.A;a.5T=e.6c-a.9v;a.7o=e.68-a.9u;u 7s=1d.ck(1d.9r(a.5T,2)+1d.9r(a.7o,2));q(!a.3y)a.3y=(a.T!=\'2M\'&&7s>0)||(7s>(m.cX||5));q(a.3y&&e.6c>5&&e.68>5){q(a.T==\'3O\')A.3O(a);I{A.7C(a.14+a.5T,a.11+a.7o);q(a.T==\'2M\')A.17.G.46=\'3i\'}}D 1f},8Q:z(e){2d{q(!e)e=1A.29;u 6C=/cW/i.19(e.T);q(!e.2i)e.2i=e.7l;q(!e.6E)e.6E=6C?e.db:e.di;u A=m.2h(e.2i);q(!A.55)D;q(!A||!e.6E||m.2h(e.6E,J)==A||m.2I)D;K(u i=0;i=k.1h.3J+k.80){k.4c=k.4v;k.E=k.7X=1;k.8a();k.1h.5S[k.Z]=J;u 8d=J;K(u i 2T k.1h.5S)q(k.1h.5S[i]!==J)8d=1f;q(8d){q(k.1h.63)k.1h.63.95(k.2F)}D 1f}I{u n=t-k.80;k.7X=n/k.1h.3J;k.E=k.1h.2r(n,0,1,k.1h.3J);k.4c=k.41+((k.4v-k.41)*k.E);k.8a()}D J}};m.3b(m.1E,{3k:{1n:z(1E){m.V(1E.2F,{1n:1E.4c})},96:z(1E){2d{q(1E.2F.G&&1E.2F.G[1E.Z]!=H)1E.2F.G[1E.Z]=1E.4c+1E.47;I 1E.2F[1E.Z]=1E.4c}1W(e){}}}});m.4O=z(1B,3V){k.3V=3V;k.1B=1B;u v=m.21,3L;k.7h=m.2m&&m.21<7;q(!1B){q(3V)3V();D}m.71();k.1V=m.1c(\'1V\',{cr:0},{1e:\'1s\',1j:\'2v\',cC:\'cD\',M:0},m.22,J);u 4a=m.1c(\'4a\',H,H,k.1V,1);k.2e=[];K(u i=0;i<=8;i++){q(i%3==0)3L=m.1c(\'3L\',H,{1b:\'2n\'},4a,J);k.2e[i]=m.1c(\'2e\',H,H,3L,J);u G=i!=4?{cP:0,cO:0}:{1j:\'8i\'};m.V(k.2e[i],G)}k.2e[4].U=1B+\' L-16\';k.98()};m.4O.5o={98:z(){u 1G=m.4p+(m.cN||"cQ/")+k.1B+".97";u 9a=m.4u&&m.21<6t?m.22:H;k.3d=m.1c(\'1y\',H,{1j:\'2v\',11:\'-4P\'},9a,J);u 7T=k;k.3d.64=z(){7T.9b()};k.3d.1G=1G},9b:z(){u o=k.1k=k.3d.M/4,E=[[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]],1m={1b:(2*o)+\'F\',M:(2*o)+\'F\'};K(u i=0;i<=8;i++){q(E[i]){q(k.7h){u w=(i==1||i==7)?\'28%\':k.3d.M+\'F\';u X=m.1c(\'X\',H,{M:\'28%\',1b:\'28%\',1j:\'8i\',3a:\'1s\'},k.2e[i],J);m.1c(\'X\',H,{5j:"cL:cG.cF.cE(cH=cI, 1G=\'"+k.3d.1G+"\')",1j:\'2v\',M:w,1b:k.3d.1b+\'F\',14:(E[i][0]*o)+\'F\',11:(E[i][1]*o)+\'F\'},X,J)}I{m.V(k.2e[i],{9e:\'5O(\'+k.3d.1G+\') \'+(E[i][0]*o)+\'F \'+(E[i][1]*o)+\'F\'})}q(1A.3q&&(i==3||i==5))m.1c(\'X\',H,1m,k.2e[i],J);m.V(k.2e[i],1m)}}k.3d=H;q(m.48[k.1B])m.48[k.1B].5x();m.48[k.1B]=k;q(k.3V)k.3V()},3Z:z(E,1k,9d,3t,2r){u A=k.A,cK=A.Q.G,1k=1k||0,E=E||{x:A.x.E+1k,y:A.y.E+1k,w:A.x.N(\'1N\')-2*1k,h:A.y.N(\'1N\')-2*1k};q(9d)k.1V.G.1e=(E.h>=4*k.1k)?\'1D\':\'1s\';m.V(k.1V,{14:(E.x-k.1k)+\'F\',11:(E.y-k.1k)+\'F\',M:(E.w+2*k.1k)+\'F\'});E.w-=2*k.1k;E.h-=2*k.1k;m.V(k.2e[4],{M:E.w>=0?E.w+\'F\':0,1b:E.h>=0?E.h+\'F\':0});q(k.7h)k.2e[3].G.1b=k.2e[5].G.1b=k.2e[4].G.1b},5x:z(9c){q(9c)k.1V.G.1e=\'1s\';I m.3H(k.1V)}};m.6r=z(A,1m){k.A=A;k.1m=1m;k.3m=1m==\'x\'?\'ah\':\'au\';k.3G=k.3m.5Y();k.4M=1m==\'x\'?\'af\':\'ag\';k.6B=k.4M.5Y();k.7d=1m==\'x\'?\'a5\':\'a8\';k.90=k.7d.5Y();k.1o=k.2z=0};m.6r.5o={N:z(P){8Y(P){1I\'78\':D k.1K+k.3o+(k.t-m.1S[\'1k\'+k.3m])/2;1I\'6Q\':D k.E+k.cb+k.1o+(k.B-m.1S[\'1k\'+k.3m])/2;1I\'1N\':D k.B+2*k.cb+k.1o+k.2z;1I\'4n\':D k.3W-k.2P-k.3X;1I\'7a\':D k.N(\'4n\')-2*k.cb-k.1o-k.2z;1I\'5t\':D k.E-(k.A.16?k.A.16.1k:0);1I\'7M\':D k.N(\'1N\')+(k.A.16?2*k.A.16.1k:0);1I\'2f\':D k.1z?1d.2y((k.B-k.1z)/2):0}},74:z(){k.cb=(k.A.17[\'1k\'+k.3m]-k.t)/2;k.3X=m[\'6S\'+k.7d]},6X:z(){k.t=k.A.C[k.3G]?7L(k.A.C[k.3G]):k.A.C[\'1k\'+k.3m];k.1K=k.A.1K[k.1m];k.3o=(k.A.C[\'1k\'+k.3m]-k.t)/2;q(k.1K==0||k.1K==-1){k.1K=(m.3S[k.3G]/2)+m.3S[\'1J\'+k.4M]}},6P:z(){u A=k.A;k.2k=\'2n\';q(A.6H==\'4i\')k.2k=\'4i\';I q(24 5X(k.6B).19(A.3Q))k.2k=H;I q(24 5X(k.90).19(A.3Q))k.2k=\'56\';k.E=k.1K-k.cb+k.3o;q(k.6R&&k.1m==\'x\')A.6F=1d.2X(A.6F||k.1a,A.6R*k.1a/A.y.1a);k.B=1d.2X(k.1a,A[\'56\'+k.3m]||k.1a);k.2q=A.5q?1d.2X(A[\'2X\'+k.3m],k.1a):k.1a;q(A.3A&&A.30){k.B=A[k.3G];k.1z=k.1a}q(k.1m==\'x\'&&m.4R)k.2q=A.5c;k.2i=A[\'2i\'+k.1m.92()];k.2P=m[\'6S\'+k.4M];k.1J=m.3S[\'1J\'+k.4M];k.3W=m.3S[k.3G]},82:z(i){u A=k.A;q(A.3A&&(A.30||m.4R)){k.1z=i;k.B=1d.56(k.B,k.1z);A.17.G[k.6B]=k.N(\'2f\')+\'F\'}I k.B=i;A.17.G[k.3G]=i+\'F\';A.Q.G[k.3G]=k.N(\'1N\')+\'F\';q(A.16)A.16.3Z();q(k.1m==\'x\'&&A.1l)A.4K(J);q(k.1m==\'x\'&&A.1g&&A.3A){q(i==k.1a)A.1g.4J(\'1a-2D\');I A.1g.3T(\'1a-2D\')}},7Z:z(i){k.E=i;k.A.Q.G[k.6B]=i+\'F\';q(k.A.16)k.A.16.3Z()}};m.4Z=z(a,2O,3F,2Q){q(R.cs&&m.2m&&!m.6I){m.1Q(R,\'3s\',z(){24 m.4Z(a,2O,3F,2Q)});D}k.a=a;k.3F=3F;k.2Q=2Q||\'2M\';k.3A=!k.cp;m.6Z=1f;k.1x=[];k.Y=m.Y;m.Y=H;m.71();u P=k.P=m.W.S;K(u i=0;ip.1J+p.3W-p.3X)p.E=p.1J+p.3W-p.B-p.2P-p.3X-p.1o-p.2z;q(p.E(k.x.1z||k.x.B)){k.ap();q(k.1x.S==1)k.4K()}}k.aG()}1W(e){k.7D(e)}},2k:z(p,4C){u 4b,2l=p.2i,1m=p==k.x?\'x\':\'y\';q(2l&&2l.2H(/ /)){4b=2l.dh(\' \');2l=4b[0]}q(2l&&m.$(2l)){p.E=m.6g(m.$(2l))[1m];q(4b&&4b[1]&&4b[1].2H(/^[-]?[0-9]+F$/))p.E+=7L(4b[1]);q(p.Bp.1J+p.3W-p.3X){q(!4C&&79&&4q){p.B=1d.2X(p.B,p.N(1m==\'y\'?\'4n\':\'7a\'))}I q(p.N(\'1N\')2x){ 2A=2Y*2x;q(2Ak.5w&&x.B>k.5c&&y.N(\'1N\')>y.N(\'4n\')){y.B-=10;q(2x)x.B=y.B*2x;k.4K(0,1);3e=J}}D 3e},aG:z(){u x=k.x,y=k.y;k.5s(\'1s\');q(k.1g&&k.1g.2g)k.1g.2g.4G();k.8f(1,{Q:{M:x.N(\'1N\'),1b:y.N(\'1N\'),14:x.E,11:y.E},17:{14:x.1o+x.N(\'2f\'),11:y.1o+y.N(\'2f\'),M:x.1z||x.B,1b:y.1z||y.B}},m.7f)},8f:z(1t,1L,3t){u 5k=k.2Z,6M=1t?(k.Y?k.Y.a:H):m.1U,t=(5k[1]&&6M&&m.5h(6M,\'2Z\')[1]==5k[1])?5k[1]:5k[0];q(k[t]&&t!=\'2D\'){k[t](1t,1L);D}q(k.16&&!k.3B){q(1t)k.16.3Z();I k.16.5x()}q(!1t)k.67();u A=k,x=A.x,y=A.y,2r=k.2r;q(!1t)2r=k.aT||2r;u ay=1t?z(){q(A.16)A.16.1V.G.1e="1D";4r(z(){A.62()},50)}:z(){A.5v()};q(1t)m.V(k.Q,{M:x.t+\'F\',1b:y.t+\'F\'});q(k.aD){m.V(k.Q,{1n:1t?0:1});m.3b(1L.Q,{1n:1t})}m.2b(k.Q,1L.Q,{3J:3t,2r:2r,3k:z(3j,36){q(A.16&&A.3B&&36.Z==\'11\'){u 4Q=1t?36.E:1-36.E;u E={w:x.t+(x.N(\'1N\')-x.t)*4Q,h:y.t+(y.N(\'1N\')-y.t)*4Q,x:x.1K+(x.E-x.1K)*4Q,y:y.1K+(y.E-y.1K)*4Q};A.16.3Z(E,0,1)}}});m.2b(k.17,1L.17,3t,2r,ay);q(1t){k.Q.G.1e=\'1D\';k.17.G.1e=\'1D\';k.a.U+=\' L-42-3Q\'}},5n:z(1t,1L){k.3B=1f;u A=k,t=1t?m.7f:0;q(1t){m.2b(k.Q,1L.Q,0);m.V(k.Q,{1n:0,1e:\'1D\'});m.2b(k.17,1L.17,0);k.17.G.1e=\'1D\';m.2b(k.Q,{1n:1},t,H,z(){A.62()})}q(k.16){k.16.1V.G.1r=k.Q.G.1r;u 5D=1t||-1,1k=k.16.1k,7c=1t?3:1k,6Y=1t?1k:3;K(u i=7c;5D*i<=5D*6Y;i+=5D,t+=25){(z(){u o=1t?6Y-i:7c-i;4r(z(){A.16.3Z(0,o,1)},t)})()}}q(1t){}I{4r(z(){q(A.16)A.16.5x(A.cz);A.67();m.2b(A.Q,{1n:0},m.8p,H,z(){A.5v()})},t)}},3Y:z(1t,1L,72){q(!1t)D;u A=k,Y=k.Y,x=k.x,y=k.y,2W=Y.x,2U=Y.y,Q=k.Q,17=k.17,1l=k.1l;m.49(R,\'6o\',m.5V);m.V(17,{M:(x.1z||x.B)+\'F\',1b:(y.1z||y.B)+\'F\'});q(1l)1l.G.3a=\'1D\';k.16=Y.16;q(k.16)k.16.A=A;Y.16=H;u 4s=m.1c(\'X\',{U:\'L-\'+k.2Q},{1j:\'2v\',1r:4,3a:\'1s\',1u:\'1F\'});u 77={aO:Y,aR:k};K(u n 2T 77){k[n]=77[n].17.7j(1);m.V(k[n],{1j:\'2v\',aM:0,1e:\'1D\'});4s.2E(k[n])}Q.2E(4s);q(1l){1l.U=\'\';Q.2E(1l)}4s.G.1u=\'\';Y.17.G.1u=\'1F\';q(m.4u&&m.21<6t){k.Q.G.1e=\'1D\'}m.2b(Q,{M:x.B},{3J:m.aL,3k:z(3j,36){u E=36.E,3U=1-E;u Z,B={},6N=[\'E\',\'B\',\'1o\',\'2z\'];K(u n 2T 6N){Z=6N[n];B[\'x\'+Z]=1d.2y(3U*2W[Z]+E*x[Z]);B[\'y\'+Z]=1d.2y(3U*2U[Z]+E*y[Z]);B.aJ=1d.2y(3U*(2W.1z||2W.B)+E*(x.1z||x.B));B.6p=1d.2y(3U*2W.N(\'2f\')+E*x.N(\'2f\'));B.aN=1d.2y(3U*(2U.1z||2U.B)+E*(y.1z||y.B));B.6f=1d.2y(3U*2U.N(\'2f\')+E*y.N(\'2f\'))}q(A.16)A.16.3Z({x:B.2K,y:B.2J,w:B.58+B.3C+B.6O+2*x.cb,h:B.5a+B.3z+B.6W+2*y.cb});Y.Q.G.ct=\'cn(\'+(B.2J-2U.E)+\'F, \'+(B.58+B.3C+B.6O+B.2K+2*2W.cb-2W.E)+\'F, \'+(B.5a+B.3z+B.6W+B.2J+2*2U.cb-2U.E)+\'F, \'+(B.2K-2W.E)+\'F)\';m.V(17,{11:(B.3z+y.N(\'2f\'))+\'F\',14:(B.3C+x.N(\'2f\'))+\'F\',4j:(y.E-B.2J)+\'F\',4L:(x.E-B.2K)+\'F\'});m.V(Q,{11:B.2J+\'F\',14:B.2K+\'F\',M:(B.3C+B.6O+B.58+2*x.cb)+\'F\',1b:(B.3z+B.6W+B.5a+2*y.cb)+\'F\'});m.V(4s,{M:(B.aJ||B.58)+\'F\',1b:(B.aN||B.5a)+\'F\',14:(B.3C+B.6p)+\'F\',11:(B.3z+B.6f)+\'F\',1e:\'1D\'});m.V(A.aO,{11:(2U.E-B.2J+2U.1o-B.3z+2U.N(\'2f\')-B.6f)+\'F\',14:(2W.E-B.2K+2W.1o-B.3C+2W.N(\'2f\')-B.6p)+\'F\'});m.V(A.aR,{1n:E,11:(y.E-B.2J+y.1o-B.3z+y.N(\'2f\')-B.6f)+\'F\',14:(x.E-B.2K+x.1o-B.3C+x.N(\'2f\')-B.6p)+\'F\'});q(1l)m.V(1l,{M:B.58+\'F\',1b:B.5a+\'F\',14:(B.3C+x.cb)+\'F\',11:(B.3z+y.cb)+\'F\'})},63:z(){Q.G.1e=17.G.1e=\'1D\';17.G.1u=\'4H\';m.3H(4s);A.62();Y.5v();A.Y=H}})},9E:z(o,C){q(!k.Y)D 1f;K(u i=0;i\'+s+\'\'+k[k.5b].2R}}},aB:z(){q(!k.Y){K(u i=0;ik.x.N(\'5t\')+k.x.N(\'7M\'));u 9Z=(3g.y+3g.hk.y.N(\'5t\')+k.y.N(\'7M\'))}u 5H=m.86(1i[i]);q(!ax&&!9Z&&5H!=k.P){q(!2u){1i[i].5A(\'1s-by\',\'[\'+k.P+\']\');1i[i].88=1i[i].G[Z];1i[i].G[Z]=\'1s\'}I q(2u.9X(\'[\'+k.P+\']\')==-1){1i[i].5A(\'1s-by\',2u+\'[\'+k.P+\']\')}}I q((2u==\'[\'+k.P+\']\'||m.3v==5H)&&5H!=k.P){1i[i].5A(\'1s-by\',\'\');1i[i].G[Z]=1i[i].88||\'\'}I q(2u&&2u.9X(\'[\'+k.P+\']\')>-1){1i[i].5A(\'1s-by\',2u.2j(\'[\'+k.P+\']\',\'\'))}}}}},43:z(){k.Q.G.1r=m.4z+=2;K(u i=0;iO.1O.2c)O.G.M=\'28%\'}I q(O.1O!=k.1l)k.1l.2E(O);q(/14$/.19(p))O.G.14=5E+\'F\';q(/4i$/.19(p))m.V(O,{14:\'50%\',4L:(5E-1d.2y(O.2c/2))+\'F\'});q(/2V$/.19(p))O.G.2V=-5E+\'F\';q(/^9H$/.19(p)){m.V(O,{2V:\'28%\',9M:k.x.cb+\'F\',11:-k.y.cb+\'F\',4g:-k.y.cb+\'F\',3a:\'2n\'});k.x.1o=O.2c}I q(/^9L$/.19(p)){m.V(O,{14:\'28%\',4L:k.x.cb+\'F\',11:-k.y.cb+\'F\',4g:-k.y.cb+\'F\',3a:\'2n\'});k.x.2z=O.2c}u 8g=O.1O.3f;O.G.1b=\'2n\';q(4E&&O.3f>8g)O.G.1b=m.3E?8g+\'F\':\'28%\';q(/^11/.19(p))O.G.11=5C+\'F\';q(/^8h/.19(p))m.V(O,{11:\'50%\',4j:(5C-1d.2y(O.3f/2))+\'F\'});q(/^4g/.19(p))O.G.4g=-5C+\'F\';q(/^4T$/.19(p)){m.V(O,{14:(-k.x.1o-k.x.cb)+\'F\',2V:(-k.x.2z-k.x.cb)+\'F\',4g:\'28%\',9K:k.y.cb+\'F\',M:\'2n\'});k.y.1o=O.3f}I q(/^6D$/.19(p)){m.V(O,{1j:\'8i\',14:(-k.x.1o-k.x.cb)+\'F\',2V:(-k.x.2z-k.x.cb)+\'F\',11:\'28%\',4j:k.y.cb+\'F\',M:\'2n\'});k.y.2z=O.3f;O.G.1j=\'2v\'}},9J:z(){k.a2([\'6z\',\'dd\'],J);k.a3();q(k.6z&&k.7v)k.6z.U+=\' L-3i\';q(m.an)k.am();K(u i=0;i0)4w=0;q(2w>0)2w=0;q(2w<4w)2w=4w}I{K(u j=0;j0?as[i-1].1O[4f]:3M[4f],7x=3M[4f]+3M[2c]+(as[i+1]?as[i+1].1O[2c]:0);q(7x>6h-5z)2w=6h-7x;I q(7F<-5z)2w=-7F}u 7r=3M[4f]+(3M[2c]-6b[2c])/2+2w;m.2b(1V,3p?{14:2w}:{11:2w},H,\'7n\');m.2b(6b,3p?{14:7r}:{11:7r},H,\'7n\');7Y.G.1u=2w<0?\'4H\':\'1F\';85.G.1u=(2w>4w)?\'4H\':\'1F\'};u 51=m.3R.2N[m.W[1g.3N].2t||\'1F\'],1h=1g.2g,4m=1h.4m||\'ao\',81=(4m==\'bi\'),3K=81?[\'X\',\'7V\',\'1R\',\'23\']:[\'1V\',\'4a\',\'3L\',\'2e\'],3p=(4m==\'ao\'),4e=m.1c(\'X\',{U:\'L-2g L-2g-\'+4m,2R:\'\'+\'<\'+3K[0]+\'><\'+3K[1]+\'>\'+\'\'+\'\'+\'\'},{1u:\'1F\'},m.22),57=4e.6l,X=57[0],7Y=57[1],85=57[2],6b=57[3],1V=X.b7,4a=4e.2L(3K[1])[0],3L;K(u i=0;i<51.S;i++){q(i==0||!3p)3L=m.1c(3K[2],H,H,4a);(z(){u a=51[i],3M=m.1c(3K[3],H,H,3L),cj=i;m.1c(\'a\',{1Y:a.1Y,1X:a.1X,2G:z(){q(/L-42-3Q/.19(k.U))D 1f;m.2h(k).43();D m.83(a)},2R:m.9I?m.9I(a):a.2R},H,3M)})()}q(!81){7Y.2G=z(){1J(-1)};85.2G=z(){1J(1)};m.1Q(4a,R.c3!==1C?\'bB\':\'bZ\',z(e){u 3h=0;e=e||1A.29;q(e.9D){3h=e.9D/ch;q(m.3q)3h=-3h}I q(e.9N){3h=-e.9N/3}q(3h)1J(-3h*0.2);q(e.4D)e.4D();e.9W=1f})}D{6s:6s,4G:4G}};m.5U=m.18;u bC=m.4Z;q(m.2m&&1A==1A.11){(z(){2d{R.4l.bD(\'14\')}1W(e){4r(9V.bF,50);D}m.3s()})()}m.1Q(R,\'bL\',m.3s);m.1Q(1A,\'az\',m.3s);m.1Q(R,\'3s\',z(){q(m.5M||m.3I){u G=m.1c(\'G\',{T:\'bM/7U\'},H,R.2L(\'bT\')[0]),8k=R.6i==\'7P\';z 5e(7w,7W){q(m.2m&&(m.21<9||8k)){u Y=R.9S[R.9S.S-1];q(1q(Y.5e)=="6q")Y.5e(7w,7W)}I{G.2E(R.bU(7w+" {"+7W+"}"))}}z 5f(Z){D\'bV( ( ( bN = R.4l.\'+Z+\' ? R.4l.\'+Z+\' : R.3x.\'+Z+\' ) ) + \\\'F\\\' );\'}q(m.5M)5e(\'.L 1y\',\'46: 5O(\'+m.4p+m.5M+\'), 5R !c8;\');5e(\'.L-1Z-B\',m.2m&&(m.21<7||8k)?\'1j: 2v; \'+\'14:\'+5f(\'5l\')+\'11:\'+5f(\'5i\')+\'M:\'+5f(\'8m\')+\'1b:\'+5f(\'aK\'):\'1j: bc; M: 28%; 1b: 28%; 14: 0; 11: 0\')}});m.1Q(1A,\'3O\',z(){m.6v();q(m.1Z)K(u i=0;iHighslide JS', + creditsTitle : 'Go to the Highslide JS homepage', + previousText : 'Previous', + nextText : 'Next', + moveText : 'Move', + closeText : 'Close', + closeTitle : 'Close (esc)', + resizeTitle : 'Resize', + playText : 'Play', + playTitle : 'Play slideshow (spacebar)', + pauseText : 'Pause', + pauseTitle : 'Pause slideshow (spacebar)', + previousTitle : 'Previous (arrow left)', + nextTitle : 'Next (arrow right)', + moveTitle : 'Move', + fullExpandText : '1:1', + restoreTitle : 'Click to close image, click and drag to move. Use arrow keys for next and previous.' +}, +// See http://highslide.com/ref for examples of settings +graphicsDir : 'highslide/graphics/', +expandCursor : 'zoomin.cur', // null disables +restoreCursor : 'zoomout.cur', // null disables +expandDuration : 250, // milliseconds +restoreDuration : 250, +marginLeft : 15, +marginRight : 15, +marginTop : 15, +marginBottom : 15, +zIndexCounter : 1001, // adjust to other absolutely positioned elements +loadingOpacity : 0.75, +allowMultipleInstances: true, +numberOfImagesToPreload : 5, +outlineWhileAnimating : 2, // 0 = never, 1 = always, 2 = HTML only +outlineStartOffset : 3, // ends at 10 +padToMinWidth : false, // pad the popup width to make room for wide caption +fullExpandPosition : 'bottom right', +fullExpandOpacity : 1, +showCredits : true, // you can set this to false if you want +creditsHref : 'http://highslide.com/', +creditsTarget : '_self', +enableKeyListener : true, +openerTagNames : ['a'], // Add more to allow slideshow indexing + +allowWidthReduction : false, +allowHeightReduction : true, +preserveContent : true, // Preserve changes made to the content and position of HTML popups. +objectLoadTime : 'before', // Load iframes 'before' or 'after' expansion. +cacheAjax : true, // Cache ajax popups for instant display. Can be overridden for each popup. +dragByHeading: true, +minWidth: 200, +minHeight: 200, +allowSizeReduction: true, // allow the image to reduce to fit client size. If false, this overrides minWidth and minHeight +outlineType : 'drop-shadow', // set null to disable outlines +skin : { + contentWrapper: + '
      '+ + '
      '+ + '' +}, +// END OF YOUR SETTINGS + + +// declare internal properties +preloadTheseImages : [], +continuePreloading: true, +expanders : [], +overrides : [ + 'allowSizeReduction', + 'useBox', + 'outlineType', + 'outlineWhileAnimating', + 'captionId', + 'captionText', + 'captionEval', + 'captionOverlay', + 'headingId', + 'headingText', + 'headingEval', + 'headingOverlay', + 'creditsPosition', + 'dragByHeading', + + 'width', + 'height', + + 'contentId', + 'allowWidthReduction', + 'allowHeightReduction', + 'preserveContent', + 'maincontentId', + 'maincontentText', + 'maincontentEval', + 'objectType', + 'cacheAjax', + 'objectWidth', + 'objectHeight', + 'objectLoadTime', + 'swfOptions', + 'wrapperClassName', + 'minWidth', + 'minHeight', + 'maxWidth', + 'maxHeight', + 'pageOrigin', + 'slideshowGroup', + 'easing', + 'easingClose', + 'fadeInOut', + 'src' +], +overlays : [], +idCounter : 0, +oPos : { + x: ['leftpanel', 'left', 'center', 'right', 'rightpanel'], + y: ['above', 'top', 'middle', 'bottom', 'below'] +}, +mouse: {}, +headingOverlay: {}, +captionOverlay: {}, +swfOptions: { flashvars: {}, params: {}, attributes: {} }, +timers : [], + +pendingOutlines : {}, +sleeping : [], +preloadTheseAjax : [], +cacheBindings : [], +cachedGets : {}, +clones : {}, +onReady: [], +uaVersion: /Trident\/4\.0/.test(navigator.userAgent) ? 8 : + parseFloat((navigator.userAgent.toLowerCase().match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1]), +ie : (document.all && !window.opera), +//ie : navigator && /MSIE [678]/.test(navigator.userAgent), // ie9 compliant? +safari : /Safari/.test(navigator.userAgent), +geckoMac : /Macintosh.+rv:1\.[0-8].+Gecko/.test(navigator.userAgent), + +$ : function (id) { + if (id) return document.getElementById(id); +}, + +push : function (arr, val) { + arr[arr.length] = val; +}, + +createElement : function (tag, attribs, styles, parent, nopad) { + var el = document.createElement(tag); + if (attribs) hs.extend(el, attribs); + if (nopad) hs.setStyles(el, {padding: 0, border: 'none', margin: 0}); + if (styles) hs.setStyles(el, styles); + if (parent) parent.appendChild(el); + return el; +}, + +extend : function (el, attribs) { + for (var x in attribs) el[x] = attribs[x]; + return el; +}, + +setStyles : function (el, styles) { + for (var x in styles) { + if (hs.ieLt9 && x == 'opacity') { + if (styles[x] > 0.99) el.style.removeAttribute('filter'); + else el.style.filter = 'alpha(opacity='+ (styles[x] * 100) +')'; + } + else el.style[x] = styles[x]; + } +}, +animate: function(el, prop, opt) { + var start, + end, + unit; + if (typeof opt != 'object' || opt === null) { + var args = arguments; + opt = { + duration: args[2], + easing: args[3], + complete: args[4] + }; + } + if (typeof opt.duration != 'number') opt.duration = 250; + opt.easing = Math[opt.easing] || Math.easeInQuad; + opt.curAnim = hs.extend({}, prop); + for (var name in prop) { + var e = new hs.fx(el, opt , name ); + + start = parseFloat(hs.css(el, name)) || 0; + end = parseFloat(prop[name]); + unit = name != 'opacity' ? 'px' : ''; + + e.custom( start, end, unit ); + } +}, +css: function(el, prop) { + if (el.style[prop]) { + return el.style[prop]; + } else if (document.defaultView) { + return document.defaultView.getComputedStyle(el, null).getPropertyValue(prop); + + } else { + if (prop == 'opacity') prop = 'filter'; + var val = el.currentStyle[prop.replace(/\-(\w)/g, function (a, b){ return b.toUpperCase(); })]; + if (prop == 'filter') + val = val.replace(/alpha\(opacity=([0-9]+)\)/, + function (a, b) { return b / 100 }); + return val === '' ? 1 : val; + } +}, + +getPageSize : function () { + var d = document, w = window, iebody = d.compatMode && d.compatMode != 'BackCompat' + ? d.documentElement : d.body, + ieLt9 = hs.ie && (hs.uaVersion < 9 || typeof pageXOffset == 'undefined'); + + var width = ieLt9 ? iebody.clientWidth : + (d.documentElement.clientWidth || self.innerWidth), + height = ieLt9 ? iebody.clientHeight : self.innerHeight; + hs.page = { + width: width, + height: height, + scrollLeft: ieLt9 ? iebody.scrollLeft : pageXOffset, + scrollTop: ieLt9 ? iebody.scrollTop : pageYOffset + }; + return hs.page; +}, + +getPosition : function(el) { + var p = { x: el.offsetLeft, y: el.offsetTop }; + while (el.offsetParent) { + el = el.offsetParent; + p.x += el.offsetLeft; + p.y += el.offsetTop; + if (el != document.body && el != document.documentElement) { + p.x -= el.scrollLeft; + p.y -= el.scrollTop; + } + } + return p; +}, + +expand : function(a, params, custom, type) { + if (!a) a = hs.createElement('a', null, { display: 'none' }, hs.container); + if (typeof a.getParams == 'function') return params; + if (type == 'html') { + for (var i = 0; i < hs.sleeping.length; i++) { + if (hs.sleeping[i] && hs.sleeping[i].a == a) { + hs.sleeping[i].awake(); + hs.sleeping[i] = null; + return false; + } + } + hs.hasHtmlExpanders = true; + } + try { + new hs.Expander(a, params, custom, type); + return false; + } catch (e) { return true; } +}, + +htmlExpand : function(a, params, custom) { + return hs.expand(a, params, custom, 'html'); +}, + +getSelfRendered : function() { + return hs.createElement('div', { + className: 'highslide-html-content', + innerHTML: hs.replaceLang(hs.skin.contentWrapper) + }); +}, +getElementByClass : function (el, tagName, className) { + var els = el.getElementsByTagName(tagName); + for (var i = 0; i < els.length; i++) { + if ((new RegExp(className)).test(els[i].className)) { + return els[i]; + } + } + return null; +}, +replaceLang : function(s) { + s = s.replace(/\s/g, ' '); + var re = /{hs\.lang\.([^}]+)\}/g, + matches = s.match(re), + lang; + if (matches) for (var i = 0; i < matches.length; i++) { + lang = matches[i].replace(re, "$1"); + if (typeof hs.lang[lang] != 'undefined') s = s.replace(matches[i], hs.lang[lang]); + } + return s; +}, + + +getCacheBinding : function (a) { + for (var i = 0; i < hs.cacheBindings.length; i++) { + if (hs.cacheBindings[i][0] == a) { + var c = hs.cacheBindings[i][1]; + hs.cacheBindings[i][1] = c.cloneNode(1); + return c; + } + } + return null; +}, + +preloadAjax : function (e) { + var arr = hs.getAnchors(); + for (var i = 0; i < arr.htmls.length; i++) { + var a = arr.htmls[i]; + if (hs.getParam(a, 'objectType') == 'ajax' && hs.getParam(a, 'cacheAjax')) + hs.push(hs.preloadTheseAjax, a); + } + + hs.preloadAjaxElement(0); +}, + +preloadAjaxElement : function (i) { + if (!hs.preloadTheseAjax[i]) return; + var a = hs.preloadTheseAjax[i]; + var cache = hs.getNode(hs.getParam(a, 'contentId')); + if (!cache) cache = hs.getSelfRendered(); + var ajax = new hs.Ajax(a, cache, 1); + ajax.onError = function () { }; + ajax.onLoad = function () { + hs.push(hs.cacheBindings, [a, cache]); + hs.preloadAjaxElement(i + 1); + }; + ajax.run(); +}, + +focusTopmost : function() { + var topZ = 0, + topmostKey = -1, + expanders = hs.expanders, + exp, + zIndex; + for (var i = 0; i < expanders.length; i++) { + exp = expanders[i]; + if (exp) { + zIndex = exp.wrapper.style.zIndex; + if (zIndex && zIndex > topZ) { + topZ = zIndex; + topmostKey = i; + } + } + } + if (topmostKey == -1) hs.focusKey = -1; + else expanders[topmostKey].focus(); +}, + +getParam : function (a, param) { + a.getParams = a.onclick; + var p = a.getParams ? a.getParams() : null; + a.getParams = null; + + return (p && typeof p[param] != 'undefined') ? p[param] : + (typeof hs[param] != 'undefined' ? hs[param] : null); +}, + +getSrc : function (a) { + var src = hs.getParam(a, 'src'); + if (src) return src; + return a.href; +}, + +getNode : function (id) { + var node = hs.$(id), clone = hs.clones[id], a = {}; + if (!node && !clone) return null; + if (!clone) { + clone = node.cloneNode(true); + clone.id = ''; + hs.clones[id] = clone; + return node; + } else { + return clone.cloneNode(true); + } +}, + +discardElement : function(d) { + if (d) hs.garbageBin.appendChild(d); + hs.garbageBin.innerHTML = ''; +}, +transit : function (adj, exp) { + var last = exp || hs.getExpander(); + exp = last; + if (hs.upcoming) return false; + else hs.last = last; + hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); + try { + hs.upcoming = adj; + adj.onclick(); + } catch (e){ + hs.last = hs.upcoming = null; + } + try { + exp.close(); + } catch (e) {} + return false; +}, + +previousOrNext : function (el, op) { + var exp = hs.getExpander(el); + if (exp) return hs.transit(exp.getAdjacentAnchor(op), exp); + else return false; +}, + +previous : function (el) { + return hs.previousOrNext(el, -1); +}, + +next : function (el) { + return hs.previousOrNext(el, 1); +}, + +keyHandler : function(e) { + if (!e) e = window.event; + if (!e.target) e.target = e.srcElement; // ie + if (typeof e.target.form != 'undefined') return true; // form element has focus + var exp = hs.getExpander(); + + var op = null; + switch (e.keyCode) { + case 70: // f + if (exp) exp.doFullExpand(); + return true; + case 32: // Space + case 34: // Page Down + case 39: // Arrow right + case 40: // Arrow down + op = 1; + break; + case 8: // Backspace + case 33: // Page Up + case 37: // Arrow left + case 38: // Arrow up + op = -1; + break; + case 27: // Escape + case 13: // Enter + op = 0; + } + if (op !== null) {hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); + if (!hs.enableKeyListener) return true; + + if (e.preventDefault) e.preventDefault(); + else e.returnValue = false; + if (exp) { + if (op == 0) { + exp.close(); + } else { + hs.previousOrNext(exp.key, op); + } + return false; + } + } + return true; +}, + + +registerOverlay : function (overlay) { + hs.push(hs.overlays, hs.extend(overlay, { hsId: 'hsId'+ hs.idCounter++ } )); +}, + + +getWrapperKey : function (element, expOnly) { + var el, re = /^highslide-wrapper-([0-9]+)$/; + // 1. look in open expanders + el = element; + while (el.parentNode) { + if (el.id && re.test(el.id)) return el.id.replace(re, "$1"); + el = el.parentNode; + } + // 2. look in thumbnail + if (!expOnly) { + el = element; + while (el.parentNode) { + if (el.tagName && hs.isHsAnchor(el)) { + for (var key = 0; key < hs.expanders.length; key++) { + var exp = hs.expanders[key]; + if (exp && exp.a == el) return key; + } + } + el = el.parentNode; + } + } + return null; +}, + +getExpander : function (el, expOnly) { + if (typeof el == 'undefined') return hs.expanders[hs.focusKey] || null; + if (typeof el == 'number') return hs.expanders[el] || null; + if (typeof el == 'string') el = hs.$(el); + return hs.expanders[hs.getWrapperKey(el, expOnly)] || null; +}, + +isHsAnchor : function (a) { + return (a.onclick && a.onclick.toString().replace(/\s/g, ' ').match(/hs.(htmlE|e)xpand/)); +}, + +reOrder : function () { + for (var i = 0; i < hs.expanders.length; i++) + if (hs.expanders[i] && hs.expanders[i].isExpanded) hs.focusTopmost(); +}, + +mouseClickHandler : function(e) +{ + if (!e) e = window.event; + if (e.button > 1) return true; + if (!e.target) e.target = e.srcElement; + + var el = e.target; + while (el.parentNode + && !(/highslide-(image|move|html|resize)/.test(el.className))) + { + el = el.parentNode; + } + var exp = hs.getExpander(el); + if (exp && (exp.isClosing || !exp.isExpanded)) return true; + + if (exp && e.type == 'mousedown') { + if (e.target.form) return true; + var match = el.className.match(/highslide-(image|move|resize)/); + if (match) { + hs.dragArgs = { + exp: exp , + type: match[1], + left: exp.x.pos, + width: exp.x.size, + top: exp.y.pos, + height: exp.y.size, + clickX: e.clientX, + clickY: e.clientY + }; + + + hs.addEventListener(document, 'mousemove', hs.dragHandler); + if (e.preventDefault) e.preventDefault(); // FF + + if (/highslide-(image|html)-blur/.test(exp.content.className)) { + exp.focus(); + hs.hasFocused = true; + } + return false; + } + else if (/highslide-html/.test(el.className) && hs.focusKey != exp.key) { + exp.focus(); + exp.doShowHide('hidden'); + } + } else if (e.type == 'mouseup') { + + hs.removeEventListener(document, 'mousemove', hs.dragHandler); + + if (hs.dragArgs) { + if (hs.styleRestoreCursor && hs.dragArgs.type == 'image') + hs.dragArgs.exp.content.style.cursor = hs.styleRestoreCursor; + var hasDragged = hs.dragArgs.hasDragged; + + if (!hasDragged &&!hs.hasFocused && !/(move|resize)/.test(hs.dragArgs.type)) { + exp.close(); + } + else if (hasDragged || (!hasDragged && hs.hasHtmlExpanders)) { + hs.dragArgs.exp.doShowHide('hidden'); + } + + if (hs.dragArgs.exp.releaseMask) + hs.dragArgs.exp.releaseMask.style.display = 'none'; + hs.hasFocused = false; + hs.dragArgs = null; + + } else if (/highslide-image-blur/.test(el.className)) { + el.style.cursor = hs.styleRestoreCursor; + } + } + return false; +}, + +dragHandler : function(e) +{ + if (!hs.dragArgs) return true; + if (!e) e = window.event; + var a = hs.dragArgs, exp = a.exp; + if (exp.iframe) { + if (!exp.releaseMask) exp.releaseMask = hs.createElement('div', null, + { position: 'absolute', width: exp.x.size+'px', height: exp.y.size+'px', + left: exp.x.cb+'px', top: exp.y.cb+'px', zIndex: 4, background: (hs.ieLt9 ? 'white' : 'none'), + opacity: 0.01 }, + exp.wrapper, true); + if (exp.releaseMask.style.display == 'none') + exp.releaseMask.style.display = ''; + } + + a.dX = e.clientX - a.clickX; + a.dY = e.clientY - a.clickY; + + var distance = Math.sqrt(Math.pow(a.dX, 2) + Math.pow(a.dY, 2)); + if (!a.hasDragged) a.hasDragged = (a.type != 'image' && distance > 0) + || (distance > (hs.dragSensitivity || 5)); + + if (a.hasDragged && e.clientX > 5 && e.clientY > 5) { + + if (a.type == 'resize') exp.resize(a); + else { + exp.moveTo(a.left + a.dX, a.top + a.dY); + if (a.type == 'image') exp.content.style.cursor = 'move'; + } + } + return false; +}, + +wrapperMouseHandler : function (e) { + try { + if (!e) e = window.event; + var over = /mouseover/i.test(e.type); + if (!e.target) e.target = e.srcElement; // ie + if (!e.relatedTarget) e.relatedTarget = + over ? e.fromElement : e.toElement; // ie + var exp = hs.getExpander(e.target); + if (!exp.isExpanded) return; + if (!exp || !e.relatedTarget || hs.getExpander(e.relatedTarget, true) == exp + || hs.dragArgs) return; + for (var i = 0; i < exp.overlays.length; i++) (function() { + var o = hs.$('hsId'+ exp.overlays[i]); + if (o && o.hideOnMouseOut) { + if (over) hs.setStyles(o, { visibility: 'visible', display: '' }); + hs.animate(o, { opacity: over ? o.opacity : 0 }, o.dur); + } + })(); + } catch (e) {} +}, +addEventListener : function (el, event, func) { + if (el == document && event == 'ready') { + hs.push(hs.onReady, func); + } + try { + el.addEventListener(event, func, false); + } catch (e) { + try { + el.detachEvent('on'+ event, func); + el.attachEvent('on'+ event, func); + } catch (e) { + el['on'+ event] = func; + } + } +}, + +removeEventListener : function (el, event, func) { + try { + el.removeEventListener(event, func, false); + } catch (e) { + try { + el.detachEvent('on'+ event, func); + } catch (e) { + el['on'+ event] = null; + } + } +}, + +preloadFullImage : function (i) { + if (hs.continuePreloading && hs.preloadTheseImages[i] && hs.preloadTheseImages[i] != 'undefined') { + var img = document.createElement('img'); + img.onload = function() { + img = null; + hs.preloadFullImage(i + 1); + }; + img.src = hs.preloadTheseImages[i]; + } +}, +preloadImages : function (number) { + if (number && typeof number != 'object') hs.numberOfImagesToPreload = number; + + var arr = hs.getAnchors(); + for (var i = 0; i < arr.images.length && i < hs.numberOfImagesToPreload; i++) { + hs.push(hs.preloadTheseImages, hs.getSrc(arr.images[i])); + } + + // preload outlines + if (hs.outlineType) new hs.Outline(hs.outlineType, function () { hs.preloadFullImage(0)} ); + else + + hs.preloadFullImage(0); + + // preload cursor + if (hs.restoreCursor) var cur = hs.createElement('img', { src: hs.graphicsDir + hs.restoreCursor }); +}, + + +init : function () { + if (!hs.container) { + + hs.ieLt7 = hs.ie && hs.uaVersion < 7; + hs.ieLt9 = hs.ie && hs.uaVersion < 9; + + hs.getPageSize(); + hs.ie6SSL = hs.ieLt7 && location.protocol == 'https:'; + for (var x in hs.langDefaults) { + if (typeof hs[x] != 'undefined') hs.lang[x] = hs[x]; + else if (typeof hs.lang[x] == 'undefined' && typeof hs.langDefaults[x] != 'undefined') + hs.lang[x] = hs.langDefaults[x]; + } + + hs.container = hs.createElement('div', { + className: 'highslide-container' + }, { + position: 'absolute', + left: 0, + top: 0, + width: '100%', + zIndex: hs.zIndexCounter, + direction: 'ltr' + }, + document.body, + true + ); + hs.loading = hs.createElement('a', { + className: 'highslide-loading', + title: hs.lang.loadingTitle, + innerHTML: hs.lang.loadingText, + href: 'javascript:;' + }, { + position: 'absolute', + top: '-9999px', + opacity: hs.loadingOpacity, + zIndex: 1 + }, hs.container + ); + hs.garbageBin = hs.createElement('div', null, { display: 'none' }, hs.container); + hs.clearing = hs.createElement('div', null, + { clear: 'both', paddingTop: '1px' }, null, true); + + // http://www.robertpenner.com/easing/ + Math.linearTween = function (t, b, c, d) { + return c*t/d + b; + }; + Math.easeInQuad = function (t, b, c, d) { + return c*(t/=d)*t + b; + }; + + hs.hideSelects = hs.ieLt7; + hs.hideIframes = ((window.opera && hs.uaVersion < 9) || navigator.vendor == 'KDE' + || (hs.ieLt7 && hs.uaVersion < 5.5)); + } +}, +ready : function() { + if (hs.isReady) return; + hs.isReady = true; + for (var i = 0; i < hs.onReady.length; i++) hs.onReady[i](); +}, + +updateAnchors : function() { + var el, els, all = [], images = [], htmls = [],groups = {}, re; + + for (var i = 0; i < hs.openerTagNames.length; i++) { + els = document.getElementsByTagName(hs.openerTagNames[i]); + for (var j = 0; j < els.length; j++) { + el = els[j]; + re = hs.isHsAnchor(el); + if (re) { + hs.push(all, el); + if (re[0] == 'hs.expand') hs.push(images, el); + else if (re[0] == 'hs.htmlExpand') hs.push(htmls, el); + var g = hs.getParam(el, 'slideshowGroup') || 'none'; + if (!groups[g]) groups[g] = []; + hs.push(groups[g], el); + } + } + } + hs.anchors = { all: all, groups: groups, images: images, htmls: htmls }; + return hs.anchors; + +}, + +getAnchors : function() { + return hs.anchors || hs.updateAnchors(); +}, + + +close : function(el) { + var exp = hs.getExpander(el); + if (exp) exp.close(); + return false; +} +}; // end hs object +hs.fx = function( elem, options, prop ){ + this.options = options; + this.elem = elem; + this.prop = prop; + + if (!options.orig) options.orig = {}; +}; +hs.fx.prototype = { + update: function(){ + (hs.fx.step[this.prop] || hs.fx.step._default)(this); + + if (this.options.step) + this.options.step.call(this.elem, this.now, this); + + }, + custom: function(from, to, unit){ + this.startTime = (new Date()).getTime(); + this.start = from; + this.end = to; + this.unit = unit;// || this.unit || "px"; + this.now = this.start; + this.pos = this.state = 0; + + var self = this; + function t(gotoEnd){ + return self.step(gotoEnd); + } + + t.elem = this.elem; + + if ( t() && hs.timers.push(t) == 1 ) { + hs.timerId = setInterval(function(){ + var timers = hs.timers; + + for ( var i = 0; i < timers.length; i++ ) + if ( !timers[i]() ) + timers.splice(i--, 1); + + if ( !timers.length ) { + clearInterval(hs.timerId); + } + }, 13); + } + }, + step: function(gotoEnd){ + var t = (new Date()).getTime(); + if ( gotoEnd || t >= this.options.duration + this.startTime ) { + this.now = this.end; + this.pos = this.state = 1; + this.update(); + + this.options.curAnim[ this.prop ] = true; + + var done = true; + for ( var i in this.options.curAnim ) + if ( this.options.curAnim[i] !== true ) + done = false; + + if ( done ) { + if (this.options.complete) this.options.complete.call(this.elem); + } + return false; + } else { + var n = t - this.startTime; + this.state = n / this.options.duration; + this.pos = this.options.easing(n, 0, 1, this.options.duration); + this.now = this.start + ((this.end - this.start) * this.pos); + this.update(); + } + return true; + } + +}; + +hs.extend( hs.fx, { + step: { + + opacity: function(fx){ + hs.setStyles(fx.elem, { opacity: fx.now }); + }, + + _default: function(fx){ + try { + if ( fx.elem.style && fx.elem.style[ fx.prop ] != null ) + fx.elem.style[ fx.prop ] = fx.now + fx.unit; + else + fx.elem[ fx.prop ] = fx.now; + } catch (e) {} + } + } +}); + +hs.Outline = function (outlineType, onLoad) { + this.onLoad = onLoad; + this.outlineType = outlineType; + var v = hs.uaVersion, tr; + + this.hasAlphaImageLoader = hs.ie && hs.uaVersion < 7; + if (!outlineType) { + if (onLoad) onLoad(); + return; + } + + hs.init(); + this.table = hs.createElement( + 'table', { + cellSpacing: 0 + }, { + visibility: 'hidden', + position: 'absolute', + borderCollapse: 'collapse', + width: 0 + }, + hs.container, + true + ); + var tbody = hs.createElement('tbody', null, null, this.table, 1); + + this.td = []; + for (var i = 0; i <= 8; i++) { + if (i % 3 == 0) tr = hs.createElement('tr', null, { height: 'auto' }, tbody, true); + this.td[i] = hs.createElement('td', null, null, tr, true); + var style = i != 4 ? { lineHeight: 0, fontSize: 0} : { position : 'relative' }; + hs.setStyles(this.td[i], style); + } + this.td[4].className = outlineType +' highslide-outline'; + + this.preloadGraphic(); +}; + +hs.Outline.prototype = { +preloadGraphic : function () { + var src = hs.graphicsDir + (hs.outlinesDir || "outlines/")+ this.outlineType +".png"; + + var appendTo = hs.safari && hs.uaVersion < 525 ? hs.container : null; + this.graphic = hs.createElement('img', null, { position: 'absolute', + top: '-9999px' }, appendTo, true); // for onload trigger + + var pThis = this; + this.graphic.onload = function() { pThis.onGraphicLoad(); }; + + this.graphic.src = src; +}, + +onGraphicLoad : function () { + var o = this.offset = this.graphic.width / 4, + pos = [[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]], + dim = { height: (2*o) +'px', width: (2*o) +'px' }; + for (var i = 0; i <= 8; i++) { + if (pos[i]) { + if (this.hasAlphaImageLoader) { + var w = (i == 1 || i == 7) ? '100%' : this.graphic.width +'px'; + var div = hs.createElement('div', null, { width: '100%', height: '100%', position: 'relative', overflow: 'hidden'}, this.td[i], true); + hs.createElement ('div', null, { + filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale, src='"+ this.graphic.src + "')", + position: 'absolute', + width: w, + height: this.graphic.height +'px', + left: (pos[i][0]*o)+'px', + top: (pos[i][1]*o)+'px' + }, + div, + true); + } else { + hs.setStyles(this.td[i], { background: 'url('+ this.graphic.src +') '+ (pos[i][0]*o)+'px '+(pos[i][1]*o)+'px'}); + } + + if (window.opera && (i == 3 || i ==5)) + hs.createElement('div', null, dim, this.td[i], true); + + hs.setStyles (this.td[i], dim); + } + } + this.graphic = null; + if (hs.pendingOutlines[this.outlineType]) hs.pendingOutlines[this.outlineType].destroy(); + hs.pendingOutlines[this.outlineType] = this; + if (this.onLoad) this.onLoad(); +}, + +setPosition : function (pos, offset, vis, dur, easing) { + var exp = this.exp, + stl = exp.wrapper.style, + offset = offset || 0, + pos = pos || { + x: exp.x.pos + offset, + y: exp.y.pos + offset, + w: exp.x.get('wsize') - 2 * offset, + h: exp.y.get('wsize') - 2 * offset + }; + if (vis) this.table.style.visibility = (pos.h >= 4 * this.offset) + ? 'visible' : 'hidden'; + hs.setStyles(this.table, { + left: (pos.x - this.offset) +'px', + top: (pos.y - this.offset) +'px', + width: (pos.w + 2 * this.offset) +'px' + }); + + pos.w -= 2 * this.offset; + pos.h -= 2 * this.offset; + hs.setStyles (this.td[4], { + width: pos.w >= 0 ? pos.w +'px' : 0, + height: pos.h >= 0 ? pos.h +'px' : 0 + }); + if (this.hasAlphaImageLoader) this.td[3].style.height + = this.td[5].style.height = this.td[4].style.height; + +}, + +destroy : function(hide) { + if (hide) this.table.style.visibility = 'hidden'; + else hs.discardElement(this.table); +} +}; + +hs.Dimension = function(exp, dim) { + this.exp = exp; + this.dim = dim; + this.ucwh = dim == 'x' ? 'Width' : 'Height'; + this.wh = this.ucwh.toLowerCase(); + this.uclt = dim == 'x' ? 'Left' : 'Top'; + this.lt = this.uclt.toLowerCase(); + this.ucrb = dim == 'x' ? 'Right' : 'Bottom'; + this.rb = this.ucrb.toLowerCase(); + this.p1 = this.p2 = 0; +}; +hs.Dimension.prototype = { +get : function(key) { + switch (key) { + case 'loadingPos': + return this.tpos + this.tb + (this.t - hs.loading['offset'+ this.ucwh]) / 2; + case 'wsize': + return this.size + 2 * this.cb + this.p1 + this.p2; + case 'fitsize': + return this.clientSize - this.marginMin - this.marginMax; + case 'maxsize': + return this.get('fitsize') - 2 * this.cb - this.p1 - this.p2 ; + case 'opos': + return this.pos - (this.exp.outline ? this.exp.outline.offset : 0); + case 'osize': + return this.get('wsize') + (this.exp.outline ? 2*this.exp.outline.offset : 0); + case 'imgPad': + return this.imgSize ? Math.round((this.size - this.imgSize) / 2) : 0; + + } +}, +calcBorders: function() { + // correct for borders + this.cb = (this.exp.content['offset'+ this.ucwh] - this.t) / 2; + + this.marginMax = hs['margin'+ this.ucrb]; +}, +calcThumb: function() { + this.t = this.exp.el[this.wh] ? parseInt(this.exp.el[this.wh]) : + this.exp.el['offset'+ this.ucwh]; + this.tpos = this.exp.tpos[this.dim]; + this.tb = (this.exp.el['offset'+ this.ucwh] - this.t) / 2; + if (this.tpos == 0 || this.tpos == -1) { + this.tpos = (hs.page[this.wh] / 2) + hs.page['scroll'+ this.uclt]; + }; +}, +calcExpanded: function() { + var exp = this.exp; + this.justify = 'auto'; + + + // size and position + this.pos = this.tpos - this.cb + this.tb; + + if (this.maxHeight && this.dim == 'x') + exp.maxWidth = Math.min(exp.maxWidth || this.full, exp.maxHeight * this.full / exp.y.full); + + this.size = Math.min(this.full, exp['max'+ this.ucwh] || this.full); + this.minSize = exp.allowSizeReduction ? + Math.min(exp['min'+ this.ucwh], this.full) :this.full; + if (exp.isImage && exp.useBox) { + this.size = exp[this.wh]; + this.imgSize = this.full; + } + if (this.dim == 'x' && hs.padToMinWidth) this.minSize = exp.minWidth; + this.marginMin = hs['margin'+ this.uclt]; + this.scroll = hs.page['scroll'+ this.uclt]; + this.clientSize = hs.page[this.wh]; +}, +setSize: function(i) { + var exp = this.exp; + if (exp.isImage && (exp.useBox || hs.padToMinWidth)) { + this.imgSize = i; + this.size = Math.max(this.size, this.imgSize); + exp.content.style[this.lt] = this.get('imgPad')+'px'; + } else + this.size = i; + + exp.content.style[this.wh] = i +'px'; + exp.wrapper.style[this.wh] = this.get('wsize') +'px'; + if (exp.outline) exp.outline.setPosition(); + if (exp.releaseMask) exp.releaseMask.style[this.wh] = i +'px'; + if (this.dim == 'y' && exp.iDoc && exp.body.style.height != 'auto') try { + exp.iDoc.body.style.overflow = 'auto'; + } catch (e) {} + if (exp.isHtml) { + var d = exp.scrollerDiv; + if (this.sizeDiff === undefined) + this.sizeDiff = exp.innerContent['offset'+ this.ucwh] - d['offset'+ this.ucwh]; + d.style[this.wh] = (this.size - this.sizeDiff) +'px'; + + if (this.dim == 'x') exp.mediumContent.style.width = 'auto'; + if (exp.body) exp.body.style[this.wh] = 'auto'; + } + if (this.dim == 'x' && exp.overlayBox) exp.sizeOverlayBox(true); +}, +setPos: function(i) { + this.pos = i; + this.exp.wrapper.style[this.lt] = i +'px'; + + if (this.exp.outline) this.exp.outline.setPosition(); + +} +}; + +hs.Expander = function(a, params, custom, contentType) { + if (document.readyState && hs.ie && !hs.isReady) { + hs.addEventListener(document, 'ready', function() { + new hs.Expander(a, params, custom, contentType); + }); + return; + } + this.a = a; + this.custom = custom; + this.contentType = contentType || 'image'; + this.isHtml = (contentType == 'html'); + this.isImage = !this.isHtml; + + hs.continuePreloading = false; + this.overlays = []; + hs.init(); + var key = this.key = hs.expanders.length; + // override inline parameters + for (var i = 0; i < hs.overrides.length; i++) { + var name = hs.overrides[i]; + this[name] = params && typeof params[name] != 'undefined' ? + params[name] : hs[name]; + } + if (!this.src) this.src = a.href; + + // get thumb + var el = (params && params.thumbnailId) ? hs.$(params.thumbnailId) : a; + el = this.thumb = el.getElementsByTagName('img')[0] || el; + this.thumbsUserSetId = el.id || a.id; + + // check if already open + for (var i = 0; i < hs.expanders.length; i++) { + if (hs.expanders[i] && hs.expanders[i].a == a) { + hs.expanders[i].focus(); + return false; + } + } + + // cancel other + if (!hs.allowSimultaneousLoading) for (var i = 0; i < hs.expanders.length; i++) { + if (hs.expanders[i] && hs.expanders[i].thumb != el && !hs.expanders[i].onLoadStarted) { + hs.expanders[i].cancelLoading(); + } + } + hs.expanders[key] = this; + if (!hs.allowMultipleInstances && !hs.upcoming) { + if (hs.expanders[key-1]) hs.expanders[key-1].close(); + if (typeof hs.focusKey != 'undefined' && hs.expanders[hs.focusKey]) + hs.expanders[hs.focusKey].close(); + } + + // initiate metrics + this.el = el; + this.tpos = this.pageOrigin || hs.getPosition(el); + hs.getPageSize(); + var x = this.x = new hs.Dimension(this, 'x'); + x.calcThumb(); + var y = this.y = new hs.Dimension(this, 'y'); + y.calcThumb(); + this.wrapper = hs.createElement( + 'div', { + id: 'highslide-wrapper-'+ this.key, + className: 'highslide-wrapper '+ this.wrapperClassName + }, { + visibility: 'hidden', + position: 'absolute', + zIndex: hs.zIndexCounter += 2 + }, null, true ); + + this.wrapper.onmouseover = this.wrapper.onmouseout = hs.wrapperMouseHandler; + if (this.contentType == 'image' && this.outlineWhileAnimating == 2) + this.outlineWhileAnimating = 0; + + // get the outline + if (!this.outlineType) { + this[this.contentType +'Create'](); + + } else if (hs.pendingOutlines[this.outlineType]) { + this.connectOutline(); + this[this.contentType +'Create'](); + + } else { + this.showLoading(); + var exp = this; + new hs.Outline(this.outlineType, + function () { + exp.connectOutline(); + exp[exp.contentType +'Create'](); + } + ); + } + return true; +}; + +hs.Expander.prototype = { +error : function(e) { + if (hs.debug) alert ('Line '+ e.lineNumber +': '+ e.message); + else window.location.href = this.src; +}, + +connectOutline : function() { + var outline = this.outline = hs.pendingOutlines[this.outlineType]; + outline.exp = this; + outline.table.style.zIndex = this.wrapper.style.zIndex - 1; + hs.pendingOutlines[this.outlineType] = null; +}, + +showLoading : function() { + if (this.onLoadStarted || this.loading) return; + + this.loading = hs.loading; + var exp = this; + this.loading.onclick = function() { + exp.cancelLoading(); + }; + var exp = this, + l = this.x.get('loadingPos') +'px', + t = this.y.get('loadingPos') +'px'; + setTimeout(function () { + if (exp.loading) hs.setStyles(exp.loading, { left: l, top: t, zIndex: hs.zIndexCounter++ })} + , 100); +}, + +imageCreate : function() { + var exp = this; + + var img = document.createElement('img'); + this.content = img; + img.onload = function () { + if (hs.expanders[exp.key]) exp.contentLoaded(); + }; + if (hs.blockRightClick) img.oncontextmenu = function() { return false; }; + img.className = 'highslide-image'; + hs.setStyles(img, { + visibility: 'hidden', + display: 'block', + position: 'absolute', + maxWidth: '9999px', + zIndex: 3 + }); + img.title = hs.lang.restoreTitle; + if (hs.safari && hs.uaVersion < 525) hs.container.appendChild(img); + if (hs.ie && hs.flushImgSize) img.src = null; + img.src = this.src; + + this.showLoading(); +}, + +htmlCreate : function () { + + this.content = hs.getCacheBinding(this.a); + if (!this.content) + this.content = hs.getNode(this.contentId); + if (!this.content) + this.content = hs.getSelfRendered(); + this.getInline(['maincontent']); + if (this.maincontent) { + var body = hs.getElementByClass(this.content, 'div', 'highslide-body'); + if (body) body.appendChild(this.maincontent); + this.maincontent.style.display = 'block'; + } + + var innerContent = this.innerContent = this.content; + + if (/(swf|iframe)/.test(this.objectType)) this.setObjContainerSize(innerContent); + + // the content tree + hs.container.appendChild(this.wrapper); + hs.setStyles( this.wrapper, { + position: 'static', + padding: '0 '+ hs.marginRight +'px 0 '+ hs.marginLeft +'px' + }); + this.content = hs.createElement( + 'div', { + className: 'highslide-html' + }, { + position: 'relative', + zIndex: 3, + height: 0, + overflow: 'hidden' + }, + this.wrapper + ); + this.mediumContent = hs.createElement('div', null, null, this.content, 1); + this.mediumContent.appendChild(innerContent); + + hs.setStyles (innerContent, { + position: 'relative', + display: 'block', + direction: hs.lang.cssDirection || '' + }); + if (this.width) innerContent.style.width = this.width +'px'; + if (this.height) hs.setStyles(innerContent, { + height: this.height +'px', + overflow: 'hidden' + }); + if (innerContent.offsetWidth < this.minWidth) + innerContent.style.width = this.minWidth +'px'; + + + + if (this.objectType == 'ajax' && !hs.getCacheBinding(this.a)) { + this.showLoading(); + var exp = this; + var ajax = new hs.Ajax(this.a, innerContent); + ajax.src = this.src; + ajax.onLoad = function () { if (hs.expanders[exp.key]) exp.contentLoaded(); }; + ajax.onError = function () { location.href = exp.src; }; + ajax.run(); + } + else + + if (this.objectType == 'iframe' && this.objectLoadTime == 'before') { + this.writeExtendedContent(); + } + else + this.contentLoaded(); +}, + +contentLoaded : function() { + try { + if (!this.content) return; + this.content.onload = null; + if (this.onLoadStarted) return; + else this.onLoadStarted = true; + + var x = this.x, y = this.y; + + if (this.loading) { + hs.setStyles(this.loading, { top: '-9999px' }); + this.loading = null; + } + if (this.isImage) { + x.full = this.content.width; + y.full = this.content.height; + + hs.setStyles(this.content, { + width: x.t +'px', + height: y.t +'px' + }); + this.wrapper.appendChild(this.content); + hs.container.appendChild(this.wrapper); + } else if (this.htmlGetSize) this.htmlGetSize(); + + x.calcBorders(); + y.calcBorders(); + + hs.setStyles (this.wrapper, { + left: (x.tpos + x.tb - x.cb) +'px', + top: (y.tpos + x.tb - y.cb) +'px' + }); + this.getOverlays(); + + var ratio = x.full / y.full; + x.calcExpanded(); + this.justify(x); + + y.calcExpanded(); + this.justify(y); + if (this.isHtml) this.htmlSizeOperations(); + if (this.overlayBox) this.sizeOverlayBox(0, 1); + + + if (this.allowSizeReduction) { + if (this.isImage) + this.correctRatio(ratio); + else this.fitOverlayBox(); + if (this.isImage && this.x.full > (this.x.imgSize || this.x.size)) { + this.createFullExpand(); + if (this.overlays.length == 1) this.sizeOverlayBox(); + } + } + this.show(); + + } catch (e) { + this.error(e); + } +}, + + +setObjContainerSize : function(parent, auto) { + var c = hs.getElementByClass(parent, 'DIV', 'highslide-body'); + if (/(iframe|swf)/.test(this.objectType)) { + if (this.objectWidth) c.style.width = this.objectWidth +'px'; + if (this.objectHeight) c.style.height = this.objectHeight +'px'; + } +}, + +writeExtendedContent : function () { + if (this.hasExtendedContent) return; + var exp = this; + this.body = hs.getElementByClass(this.innerContent, 'DIV', 'highslide-body'); + if (this.objectType == 'iframe') { + this.showLoading(); + var ruler = hs.clearing.cloneNode(1); + this.body.appendChild(ruler); + this.newWidth = this.innerContent.offsetWidth; + if (!this.objectWidth) this.objectWidth = ruler.offsetWidth; + var hDiff = this.innerContent.offsetHeight - this.body.offsetHeight, + h = this.objectHeight || hs.page.height - hDiff - hs.marginTop - hs.marginBottom, + onload = this.objectLoadTime == 'before' ? + ' onload="if (hs.expanders['+ this.key +']) hs.expanders['+ this.key +'].contentLoaded()" ' : ''; + this.body.innerHTML += ''; + this.ruler = this.body.getElementsByTagName('div')[0]; + this.iframe = this.body.getElementsByTagName('iframe')[0]; + + if (this.objectLoadTime == 'after') this.correctIframeSize(); + + } + if (this.objectType == 'swf') { + this.body.id = this.body.id || 'hs-flash-id-' + this.key; + var a = this.swfOptions; + if (!a.params) a.params = {}; + if (typeof a.params.wmode == 'undefined') a.params.wmode = 'transparent'; + if (swfobject) swfobject.embedSWF(this.src, this.body.id, this.objectWidth, this.objectHeight, + a.version || '7', a.expressInstallSwfurl, a.flashvars, a.params, a.attributes); + } + this.hasExtendedContent = true; +}, +htmlGetSize : function() { + if (this.iframe && !this.objectHeight) { // loadtime before + this.iframe.style.height = this.body.style.height = this.getIframePageHeight() +'px'; + } + this.innerContent.appendChild(hs.clearing); + if (!this.x.full) this.x.full = this.innerContent.offsetWidth; + this.y.full = this.innerContent.offsetHeight; + this.innerContent.removeChild(hs.clearing); + if (hs.ie && this.newHeight > parseInt(this.innerContent.currentStyle.height)) { // ie css bug + this.newHeight = parseInt(this.innerContent.currentStyle.height); + } + hs.setStyles( this.wrapper, { position: 'absolute', padding: '0'}); + hs.setStyles( this.content, { width: this.x.t +'px', height: this.y.t +'px'}); + +}, + +getIframePageHeight : function() { + var h; + try { + var doc = this.iDoc = this.iframe.contentDocument || this.iframe.contentWindow.document; + var clearing = doc.createElement('div'); + clearing.style.clear = 'both'; + doc.body.appendChild(clearing); + h = clearing.offsetTop; + if (hs.ie) h += parseInt(doc.body.currentStyle.marginTop) + + parseInt(doc.body.currentStyle.marginBottom) - 1; + } catch (e) { // other domain + h = 300; + } + return h; +}, +correctIframeSize : function () { + var wDiff = this.innerContent.offsetWidth - this.ruler.offsetWidth; + hs.discardElement(this.ruler); + if (wDiff < 0) wDiff = 0; + + var hDiff = this.innerContent.offsetHeight - this.iframe.offsetHeight; + if (this.iDoc && !this.objectHeight && !this.height && this.y.size == this.y.full) try { + this.iDoc.body.style.overflow = 'hidden'; + } catch (e) {} + hs.setStyles(this.iframe, { + width: Math.abs(this.x.size - wDiff) +'px', + height: Math.abs(this.y.size - hDiff) +'px' + }); + hs.setStyles(this.body, { + width: this.iframe.style.width, + height: this.iframe.style.height + }); + + this.scrollingContent = this.iframe; + this.scrollerDiv = this.scrollingContent; + +}, +htmlSizeOperations : function () { + + this.setObjContainerSize(this.innerContent); + + + if (this.objectType == 'swf' && this.objectLoadTime == 'before') this.writeExtendedContent(); + + // handle minimum size + if (this.x.size < this.x.full && !this.allowWidthReduction) this.x.size = this.x.full; + if (this.y.size < this.y.full && !this.allowHeightReduction) this.y.size = this.y.full; + this.scrollerDiv = this.innerContent; + hs.setStyles(this.mediumContent, { + position: 'relative', + width: this.x.size +'px' + }); + hs.setStyles(this.innerContent, { + border: 'none', + width: 'auto', + height: 'auto' + }); + var node = hs.getElementByClass(this.innerContent, 'DIV', 'highslide-body'); + if (node && !/(iframe|swf)/.test(this.objectType)) { + var cNode = node; // wrap to get true size + node = hs.createElement(cNode.nodeName, null, {overflow: 'hidden'}, null, true); + cNode.parentNode.insertBefore(node, cNode); + node.appendChild(hs.clearing); // IE6 + node.appendChild(cNode); + + var wDiff = this.innerContent.offsetWidth - node.offsetWidth; + var hDiff = this.innerContent.offsetHeight - node.offsetHeight; + node.removeChild(hs.clearing); + + var kdeBugCorr = hs.safari || navigator.vendor == 'KDE' ? 1 : 0; // KDE repainting bug + hs.setStyles(node, { + width: (this.x.size - wDiff - kdeBugCorr) +'px', + height: (this.y.size - hDiff) +'px', + overflow: 'auto', + position: 'relative' + } + ); + if (kdeBugCorr && cNode.offsetHeight > node.offsetHeight) { + node.style.width = (parseInt(node.style.width) + kdeBugCorr) + 'px'; + } + this.scrollingContent = node; + this.scrollerDiv = this.scrollingContent; + } + if (this.iframe && this.objectLoadTime == 'before') this.correctIframeSize(); + if (!this.scrollingContent && this.y.size < this.mediumContent.offsetHeight) this.scrollerDiv = this.content; + + if (this.scrollerDiv == this.content && !this.allowWidthReduction && !/(iframe|swf)/.test(this.objectType)) { + this.x.size += 17; // room for scrollbars + } + if (this.scrollerDiv && this.scrollerDiv.offsetHeight > this.scrollerDiv.parentNode.offsetHeight) { + setTimeout("try { hs.expanders["+ this.key +"].scrollerDiv.style.overflow = 'auto'; } catch(e) {}", + hs.expandDuration); + } +}, + +justify : function (p, moveOnly) { + var tgtArr, tgt = p.target, dim = p == this.x ? 'x' : 'y'; + + var hasMovedMin = false; + + var allowReduce = p.exp.allowSizeReduction; + p.pos = Math.round(p.pos - ((p.get('wsize') - p.t) / 2)); + if (p.pos < p.scroll + p.marginMin) { + p.pos = p.scroll + p.marginMin; + hasMovedMin = true; + } + if (!moveOnly && p.size < p.minSize) { + p.size = p.minSize; + allowReduce = false; + } + if (p.pos + p.get('wsize') > p.scroll + p.clientSize - p.marginMax) { + if (!moveOnly && hasMovedMin && allowReduce) { + p.size = Math.min(p.size, p.get(dim == 'y' ? 'fitsize' : 'maxsize')); + } else if (p.get('wsize') < p.get('fitsize')) { + p.pos = p.scroll + p.clientSize - p.marginMax - p.get('wsize'); + } else { // image larger than viewport + p.pos = p.scroll + p.marginMin; + if (!moveOnly && allowReduce) p.size = p.get(dim == 'y' ? 'fitsize' : 'maxsize'); + } + } + + if (!moveOnly && p.size < p.minSize) { + p.size = p.minSize; + allowReduce = false; + } + + + + if (p.pos < p.marginMin) { + var tmpMin = p.pos; + p.pos = p.marginMin; + + if (allowReduce && !moveOnly) p.size = p.size - (p.pos - tmpMin); + + } +}, + +correctRatio : function(ratio) { + var x = this.x, + y = this.y, + changed = false, + xSize = Math.min(x.full, x.size), + ySize = Math.min(y.full, y.size), + useBox = (this.useBox || hs.padToMinWidth); + + if (xSize / ySize > ratio) { // width greater + xSize = ySize * ratio; + if (xSize < x.minSize) { // below minWidth + xSize = x.minSize; + ySize = xSize / ratio; + } + changed = true; + + } else if (xSize / ySize < ratio) { // height greater + ySize = xSize / ratio; + changed = true; + } + + if (hs.padToMinWidth && x.full < x.minSize) { + x.imgSize = x.full; + y.size = y.imgSize = y.full; + } else if (this.useBox) { + x.imgSize = xSize; + y.imgSize = ySize; + } else { + x.size = xSize; + y.size = ySize; + } + changed = this.fitOverlayBox(this.useBox ? null : ratio, changed); + if (useBox && y.size < y.imgSize) { + y.imgSize = y.size; + x.imgSize = y.size * ratio; + } + if (changed || useBox) { + x.pos = x.tpos - x.cb + x.tb; + x.minSize = x.size; + this.justify(x, true); + + y.pos = y.tpos - y.cb + y.tb; + y.minSize = y.size; + this.justify(y, true); + if (this.overlayBox) this.sizeOverlayBox(); + } + + +}, +fitOverlayBox : function(ratio, changed) { + var x = this.x, y = this.y; + if (this.overlayBox && (this.isImage || this.allowHeightReduction)) { + while (y.size > this.minHeight && x.size > this.minWidth + && y.get('wsize') > y.get('fitsize')) { + y.size -= 10; + if (ratio) x.size = y.size * ratio; + this.sizeOverlayBox(0, 1); + changed = true; + } + } + return changed; +}, + +show : function () { + var x = this.x, y = this.y; + this.doShowHide('hidden'); + + // Apply size change + this.changeSize( + 1, { + wrapper: { + width : x.get('wsize'), + height : y.get('wsize'), + left: x.pos, + top: y.pos + }, + content: { + left: x.p1 + x.get('imgPad'), + top: y.p1 + y.get('imgPad'), + width:x.imgSize ||x.size, + height:y.imgSize ||y.size + } + }, + hs.expandDuration + ); +}, + +changeSize : function(up, to, dur) { + + if (this.outline && !this.outlineWhileAnimating) { + if (up) this.outline.setPosition(); + else this.outline.destroy( + (this.isHtml && this.preserveContent)); + } + + + if (!up) this.destroyOverlays(); + + var exp = this, + x = exp.x, + y = exp.y, + easing = this.easing; + if (!up) easing = this.easingClose || easing; + var after = up ? + function() { + + if (exp.outline) exp.outline.table.style.visibility = "visible"; + setTimeout(function() { + exp.afterExpand(); + }, 50); + } : + function() { + exp.afterClose(); + }; + if (up) hs.setStyles( this.wrapper, { + width: x.t +'px', + height: y.t +'px' + }); + if (up && this.isHtml) { + hs.setStyles(this.wrapper, { + left: (x.tpos - x.cb + x.tb) +'px', + top: (y.tpos - y.cb + y.tb) +'px' + }); + } + if (this.fadeInOut) { + hs.setStyles(this.wrapper, { opacity: up ? 0 : 1 }); + hs.extend(to.wrapper, { opacity: up }); + } + hs.animate( this.wrapper, to.wrapper, { + duration: dur, + easing: easing, + step: function(val, args) { + if (exp.outline && exp.outlineWhileAnimating && args.prop == 'top') { + var fac = up ? args.pos : 1 - args.pos; + var pos = { + w: x.t + (x.get('wsize') - x.t) * fac, + h: y.t + (y.get('wsize') - y.t) * fac, + x: x.tpos + (x.pos - x.tpos) * fac, + y: y.tpos + (y.pos - y.tpos) * fac + }; + exp.outline.setPosition(pos, 0, 1); + } + if (exp.isHtml) { + if (args.prop == 'left') + exp.mediumContent.style.left = (x.pos - val) +'px'; + if (args.prop == 'top') + exp.mediumContent.style.top = (y.pos - val) +'px'; + } + } + }); + hs.animate( this.content, to.content, dur, easing, after); + if (up) { + this.wrapper.style.visibility = 'visible'; + this.content.style.visibility = 'visible'; + if (this.isHtml) this.innerContent.style.visibility = 'visible'; + this.a.className += ' highslide-active-anchor'; + } +}, + + + + +afterExpand : function() { + this.isExpanded = true; + this.focus(); + + if (this.isHtml && this.objectLoadTime == 'after') this.writeExtendedContent(); + if (this.iframe) { + try { + var exp = this, + doc = this.iframe.contentDocument || this.iframe.contentWindow.document; + hs.addEventListener(doc, 'mousedown', function () { + if (hs.focusKey != exp.key) exp.focus(); + }); + } catch(e) {} + if (hs.ie && typeof this.isClosing != 'boolean') // first open + this.iframe.style.width = (this.objectWidth - 1) +'px'; // hasLayout + } + if (hs.upcoming && hs.upcoming == this.a) hs.upcoming = null; + this.prepareNextOutline(); + var p = hs.page, mX = hs.mouse.x + p.scrollLeft, mY = hs.mouse.y + p.scrollTop; + this.mouseIsOver = this.x.pos < mX && mX < this.x.pos + this.x.get('wsize') + && this.y.pos < mY && mY < this.y.pos + this.y.get('wsize'); + if (this.overlayBox) this.showOverlays(); + +}, + + +prepareNextOutline : function() { + var key = this.key; + var outlineType = this.outlineType; + new hs.Outline(outlineType, + function () { try { hs.expanders[key].preloadNext(); } catch (e) {} }); +}, + + +preloadNext : function() { + var next = this.getAdjacentAnchor(1); + if (next && next.onclick.toString().match(/hs\.expand/)) + var img = hs.createElement('img', { src: hs.getSrc(next) }); +}, + + +getAdjacentAnchor : function(op) { + var current = this.getAnchorIndex(), as = hs.anchors.groups[this.slideshowGroup || 'none']; + return (as && as[current + op]) || null; +}, + +getAnchorIndex : function() { + var arr = hs.getAnchors().groups[this.slideshowGroup || 'none']; + if (arr) for (var i = 0; i < arr.length; i++) { + if (arr[i] == this.a) return i; + } + return null; +}, + + +cancelLoading : function() { + hs.discardElement (this.wrapper); + hs.expanders[this.key] = null; + if (this.loading) hs.loading.style.left = '-9999px'; +}, + +writeCredits : function () { + this.credits = hs.createElement('a', { + href: hs.creditsHref, + target: hs.creditsTarget, + className: 'highslide-credits', + innerHTML: hs.lang.creditsText, + title: hs.lang.creditsTitle + }); + this.createOverlay({ + overlayId: this.credits, + position: this.creditsPosition || 'top left' + }); +}, + +getInline : function(types, addOverlay) { + for (var i = 0; i < types.length; i++) { + var type = types[i], s = null; + if (!this[type +'Id'] && this.thumbsUserSetId) + this[type +'Id'] = type +'-for-'+ this.thumbsUserSetId; + if (this[type +'Id']) this[type] = hs.getNode(this[type +'Id']); + if (!this[type] && !this[type +'Text'] && this[type +'Eval']) try { + s = eval(this[type +'Eval']); + } catch (e) {} + if (!this[type] && this[type +'Text']) { + s = this[type +'Text']; + } + if (!this[type] && !s) { + this[type] = hs.getNode(this.a['_'+ type + 'Id']); + if (!this[type]) { + var next = this.a.nextSibling; + while (next && !hs.isHsAnchor(next)) { + if ((new RegExp('highslide-'+ type)).test(next.className || null)) { + if (!next.id) this.a['_'+ type + 'Id'] = next.id = 'hsId'+ hs.idCounter++; + this[type] = hs.getNode(next.id); + break; + } + next = next.nextSibling; + } + } + } + + if (!this[type] && s) this[type] = hs.createElement('div', + { className: 'highslide-'+ type, innerHTML: s } ); + + if (addOverlay && this[type]) { + var o = { position: (type == 'heading') ? 'above' : 'below' }; + for (var x in this[type+'Overlay']) o[x] = this[type+'Overlay'][x]; + o.overlayId = this[type]; + this.createOverlay(o); + } + } +}, + + +// on end move and resize +doShowHide : function(visibility) { + if (hs.hideSelects) this.showHideElements('SELECT', visibility); + if (hs.hideIframes) this.showHideElements('IFRAME', visibility); + if (hs.geckoMac) this.showHideElements('*', visibility); +}, +showHideElements : function (tagName, visibility) { + var els = document.getElementsByTagName(tagName); + var prop = tagName == '*' ? 'overflow' : 'visibility'; + for (var i = 0; i < els.length; i++) { + if (prop == 'visibility' || (document.defaultView.getComputedStyle( + els[i], "").getPropertyValue('overflow') == 'auto' + || els[i].getAttribute('hidden-by') != null)) { + var hiddenBy = els[i].getAttribute('hidden-by'); + if (visibility == 'visible' && hiddenBy) { + hiddenBy = hiddenBy.replace('['+ this.key +']', ''); + els[i].setAttribute('hidden-by', hiddenBy); + if (!hiddenBy) els[i].style[prop] = els[i].origProp; + } else if (visibility == 'hidden') { // hide if behind + var elPos = hs.getPosition(els[i]); + elPos.w = els[i].offsetWidth; + elPos.h = els[i].offsetHeight; + + + var clearsX = (elPos.x + elPos.w < this.x.get('opos') + || elPos.x > this.x.get('opos') + this.x.get('osize')); + var clearsY = (elPos.y + elPos.h < this.y.get('opos') + || elPos.y > this.y.get('opos') + this.y.get('osize')); + var wrapperKey = hs.getWrapperKey(els[i]); + if (!clearsX && !clearsY && wrapperKey != this.key) { // element falls behind image + if (!hiddenBy) { + els[i].setAttribute('hidden-by', '['+ this.key +']'); + els[i].origProp = els[i].style[prop]; + els[i].style[prop] = 'hidden'; + + } else if (hiddenBy.indexOf('['+ this.key +']') == -1) { + els[i].setAttribute('hidden-by', hiddenBy + '['+ this.key +']'); + } + } else if ((hiddenBy == '['+ this.key +']' || hs.focusKey == wrapperKey) + && wrapperKey != this.key) { // on move + els[i].setAttribute('hidden-by', ''); + els[i].style[prop] = els[i].origProp || ''; + } else if (hiddenBy && hiddenBy.indexOf('['+ this.key +']') > -1) { + els[i].setAttribute('hidden-by', hiddenBy.replace('['+ this.key +']', '')); + } + + } + } + } +}, + +focus : function() { + this.wrapper.style.zIndex = hs.zIndexCounter += 2; + // blur others + for (var i = 0; i < hs.expanders.length; i++) { + if (hs.expanders[i] && i == hs.focusKey) { + var blurExp = hs.expanders[i]; + blurExp.content.className += ' highslide-'+ blurExp.contentType +'-blur'; + if (blurExp.isImage) { + blurExp.content.style.cursor = hs.ieLt7 ? 'hand' : 'pointer'; + blurExp.content.title = hs.lang.focusTitle; + } + } + } + + // focus this + if (this.outline) this.outline.table.style.zIndex + = this.wrapper.style.zIndex - 1; + this.content.className = 'highslide-'+ this.contentType; + if (this.isImage) { + this.content.title = hs.lang.restoreTitle; + + if (hs.restoreCursor) { + hs.styleRestoreCursor = window.opera ? 'pointer' : 'url('+ hs.graphicsDir + hs.restoreCursor +'), pointer'; + if (hs.ieLt7 && hs.uaVersion < 6) hs.styleRestoreCursor = 'hand'; + this.content.style.cursor = hs.styleRestoreCursor; + } + } + hs.focusKey = this.key; + hs.addEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); +}, +moveTo: function(x, y) { + this.x.setPos(x); + this.y.setPos(y); +}, +resize : function (e) { + var w, h, r = e.width / e.height; + w = Math.max(e.width + e.dX, Math.min(this.minWidth, this.x.full)); + if (this.isImage && Math.abs(w - this.x.full) < 12) w = this.x.full; + h = this.isHtml ? e.height + e.dY : w / r; + if (h < Math.min(this.minHeight, this.y.full)) { + h = Math.min(this.minHeight, this.y.full); + if (this.isImage) w = h * r; + } + this.resizeTo(w, h); +}, +resizeTo: function(w, h) { + this.y.setSize(h); + this.x.setSize(w); + this.wrapper.style.height = this.y.get('wsize') +'px'; +}, + +close : function() { + if (this.isClosing || !this.isExpanded) return; + this.isClosing = true; + + hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); + + try { + if (this.isHtml) this.htmlPrepareClose(); + this.content.style.cursor = 'default'; + this.changeSize( + 0, { + wrapper: { + width : this.x.t, + height : this.y.t, + left: this.x.tpos - this.x.cb + this.x.tb, + top: this.y.tpos - this.y.cb + this.y.tb + }, + content: { + left: 0, + top: 0, + width: this.x.t, + height: this.y.t + } + }, hs.restoreDuration + ); + } catch (e) { this.afterClose(); } +}, + +htmlPrepareClose : function() { + if (hs.geckoMac) { // bad redraws + if (!hs.mask) hs.mask = hs.createElement('div', null, + { position: 'absolute' }, hs.container); + hs.setStyles(hs.mask, { width: this.x.size +'px', height: this.y.size +'px', + left: this.x.pos +'px', top: this.y.pos +'px', display: 'block' }); + } + if (this.objectType == 'swf') try { hs.$(this.body.id).StopPlay(); } catch (e) {} + + if (this.objectLoadTime == 'after' && !this.preserveContent) this.destroyObject(); + if (this.scrollerDiv && this.scrollerDiv != this.scrollingContent) + this.scrollerDiv.style.overflow = 'hidden'; +}, + +destroyObject : function () { + if (hs.ie && this.iframe) + try { this.iframe.contentWindow.document.body.innerHTML = ''; } catch (e) {} + if (this.objectType == 'swf') swfobject.removeSWF(this.body.id); + this.body.innerHTML = ''; +}, + +sleep : function() { + if (this.outline) this.outline.table.style.display = 'none'; + this.releaseMask = null; + this.wrapper.style.display = 'none'; + this.isExpanded = false; + hs.push(hs.sleeping, this); +}, + +awake : function() {try { + + hs.expanders[this.key] = this; + + if (!hs.allowMultipleInstances &&hs.focusKey != this.key) { + try { hs.expanders[hs.focusKey].close(); } catch (e){} + } + + var z = hs.zIndexCounter++, stl = { display: '', zIndex: z }; + hs.setStyles (this.wrapper, stl); + this.isClosing = false; + + var o = this.outline || 0; + if (o) { + if (!this.outlineWhileAnimating) stl.visibility = 'hidden'; + hs.setStyles (o.table, stl); + } + + this.show(); +} catch (e) {} + + +}, + +createOverlay : function (o) { + var el = o.overlayId; + if (typeof el == 'string') el = hs.getNode(el); + if (o.html) el = hs.createElement('div', { innerHTML: o.html }); + if (!el || typeof el == 'string') return; + el.style.display = 'block'; + this.genOverlayBox(); + var width = o.width && /^[0-9]+(px|%)$/.test(o.width) ? o.width : 'auto'; + if (/^(left|right)panel$/.test(o.position) && !/^[0-9]+px$/.test(o.width)) width = '200px'; + var overlay = hs.createElement( + 'div', { + id: 'hsId'+ hs.idCounter++, + hsId: o.hsId + }, { + position: 'absolute', + visibility: 'hidden', + width: width, + direction: hs.lang.cssDirection || '', + opacity: 0 + },this.overlayBox, + true + ); + + overlay.appendChild(el); + hs.extend(overlay, { + opacity: 1, + offsetX: 0, + offsetY: 0, + dur: (o.fade === 0 || o.fade === false || (o.fade == 2 && hs.ie)) ? 0 : 250 + }); + hs.extend(overlay, o); + + + if (this.gotOverlays) { + this.positionOverlay(overlay); + if (!overlay.hideOnMouseOut || this.mouseIsOver) + hs.animate(overlay, { opacity: overlay.opacity }, overlay.dur); + } + hs.push(this.overlays, hs.idCounter - 1); +}, +positionOverlay : function(overlay) { + var p = overlay.position || 'middle center', + offX = overlay.offsetX, + offY = overlay.offsetY; + if (overlay.parentNode != this.overlayBox) this.overlayBox.appendChild(overlay); + if (/left$/.test(p)) overlay.style.left = offX +'px'; + + if (/center$/.test(p)) hs.setStyles (overlay, { + left: '50%', + marginLeft: (offX - Math.round(overlay.offsetWidth / 2)) +'px' + }); + + if (/right$/.test(p)) overlay.style.right = - offX +'px'; + + if (/^leftpanel$/.test(p)) { + hs.setStyles(overlay, { + right: '100%', + marginRight: this.x.cb +'px', + top: - this.y.cb +'px', + bottom: - this.y.cb +'px', + overflow: 'auto' + }); + this.x.p1 = overlay.offsetWidth; + + } else if (/^rightpanel$/.test(p)) { + hs.setStyles(overlay, { + left: '100%', + marginLeft: this.x.cb +'px', + top: - this.y.cb +'px', + bottom: - this.y.cb +'px', + overflow: 'auto' + }); + this.x.p2 = overlay.offsetWidth; + } + + if (/^top/.test(p)) overlay.style.top = offY +'px'; + if (/^middle/.test(p)) hs.setStyles (overlay, { + top: '50%', + marginTop: (offY - Math.round(overlay.offsetHeight / 2)) +'px' + }); + if (/^bottom/.test(p)) overlay.style.bottom = - offY +'px'; + if (/^above$/.test(p)) { + hs.setStyles(overlay, { + left: (- this.x.p1 - this.x.cb) +'px', + right: (- this.x.p2 - this.x.cb) +'px', + bottom: '100%', + marginBottom: this.y.cb +'px', + width: 'auto' + }); + this.y.p1 = overlay.offsetHeight; + + } else if (/^below$/.test(p)) { + hs.setStyles(overlay, { + position: 'relative', + left: (- this.x.p1 - this.x.cb) +'px', + right: (- this.x.p2 - this.x.cb) +'px', + top: '100%', + marginTop: this.y.cb +'px', + width: 'auto' + }); + this.y.p2 = overlay.offsetHeight; + overlay.style.position = 'absolute'; + } +}, + +getOverlays : function() { + this.getInline(['heading', 'caption'], true); + if (this.heading && this.dragByHeading) this.heading.className += ' highslide-move'; + if (hs.showCredits) this.writeCredits(); + for (var i = 0; i < hs.overlays.length; i++) { + var o = hs.overlays[i], tId = o.thumbnailId, sg = o.slideshowGroup; + if ((!tId && !sg) || (tId && tId == this.thumbsUserSetId) + || (sg && sg === this.slideshowGroup)) { + if (this.isImage || (this.isHtml && o.useOnHtml)) + this.createOverlay(o); + } + } + var os = []; + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + if (/panel$/.test(o.position)) this.positionOverlay(o); + else hs.push(os, o); + } + for (var i = 0; i < os.length; i++) this.positionOverlay(os[i]); + this.gotOverlays = true; +}, +genOverlayBox : function() { + if (!this.overlayBox) this.overlayBox = hs.createElement ( + 'div', { + className: this.wrapperClassName + }, { + position : 'absolute', + width: (this.x.size || (this.useBox ? this.width : null) + || this.x.full) +'px', + height: (this.y.size || this.y.full) +'px', + visibility : 'hidden', + overflow : 'hidden', + zIndex : hs.ie ? 4 : 'auto' + }, + hs.container, + true + ); +}, +sizeOverlayBox : function(doWrapper, doPanels) { + var overlayBox = this.overlayBox, + x = this.x, + y = this.y; + hs.setStyles( overlayBox, { + width: x.size +'px', + height: y.size +'px' + }); + if (doWrapper || doPanels) { + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + var ie6 = (hs.ieLt7 || document.compatMode == 'BackCompat'); + if (o && /^(above|below)$/.test(o.position)) { + if (ie6) { + o.style.width = (overlayBox.offsetWidth + 2 * x.cb + + x.p1 + x.p2) +'px'; + } + y[o.position == 'above' ? 'p1' : 'p2'] = o.offsetHeight; + } + if (o && ie6 && /^(left|right)panel$/.test(o.position)) { + o.style.height = (overlayBox.offsetHeight + 2* y.cb) +'px'; + } + } + } + if (doWrapper) { + hs.setStyles(this.content, { + top: y.p1 +'px' + }); + hs.setStyles(overlayBox, { + top: (y.p1 + y.cb) +'px' + }); + } +}, + +showOverlays : function() { + var b = this.overlayBox; + b.className = ''; + hs.setStyles(b, { + top: (this.y.p1 + this.y.cb) +'px', + left: (this.x.p1 + this.x.cb) +'px', + overflow : 'visible' + }); + if (hs.safari) b.style.visibility = 'visible'; + this.wrapper.appendChild (b); + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + o.style.zIndex = o.zIndex || 4; + if (!o.hideOnMouseOut || this.mouseIsOver) { + o.style.visibility = 'visible'; + hs.setStyles(o, { visibility: 'visible', display: '' }); + hs.animate(o, { opacity: o.opacity }, o.dur); + } + } +}, + +destroyOverlays : function() { + if (!this.overlays.length) return; + if (this.isHtml && this.preserveContent) { + this.overlayBox.style.top = '-9999px'; + hs.container.appendChild(this.overlayBox); + } else + hs.discardElement(this.overlayBox); +}, + + + +createFullExpand : function () { + this.fullExpandLabel = hs.createElement( + 'a', { + href: 'javascript:hs.expanders['+ this.key +'].doFullExpand();', + title: hs.lang.fullExpandTitle, + className: 'highslide-full-expand' + } + ); + + this.createOverlay({ + overlayId: this.fullExpandLabel, + position: hs.fullExpandPosition, + hideOnMouseOut: true, + opacity: hs.fullExpandOpacity + }); +}, + +doFullExpand : function () { + try { + if (this.fullExpandLabel) hs.discardElement(this.fullExpandLabel); + + this.focus(); + var xSize = this.x.size, + ySize = this.y.size; + this.resizeTo(this.x.full, this.y.full); + + var xpos = this.x.pos - (this.x.size - xSize) / 2; + if (xpos < hs.marginLeft) xpos = hs.marginLeft; + + var ypos = this.y.pos - (this.y.size - ySize) / 2; + if (ypos < hs.marginTop) ypos = hs.marginTop; + + this.moveTo(xpos, ypos); + this.doShowHide('hidden'); + + } catch (e) { + this.error(e); + } +}, + + +afterClose : function () { + this.a.className = this.a.className.replace('highslide-active-anchor', ''); + + this.doShowHide('visible'); + + if (this.isHtml && this.preserveContent) { + this.sleep(); + } else { + if (this.outline && this.outlineWhileAnimating) this.outline.destroy(); + + hs.discardElement(this.wrapper); + } + if (hs.mask) hs.mask.style.display = 'none'; + + hs.expanders[this.key] = null; + hs.reOrder(); +} + +}; + + +// hs.Ajax object prototype +hs.Ajax = function (a, content, pre) { + this.a = a; + this.content = content; + this.pre = pre; +}; + +hs.Ajax.prototype = { +run : function () { + var xhr; + if (!this.src) this.src = hs.getSrc(this.a); + if (this.src.match('#')) { + var arr = this.src.split('#'); + this.src = arr[0]; + this.id = arr[1]; + } + if (hs.cachedGets[this.src]) { + this.cachedGet = hs.cachedGets[this.src]; + if (this.id) this.getElementContent(); + else this.loadHTML(); + return; + } + try { xhr = new XMLHttpRequest(); } + catch (e) { + try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } + catch (e) { + try { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } + catch (e) { this.onError(); } + } + } + var pThis = this; + xhr.onreadystatechange = function() { + if(pThis.xhr.readyState == 4) { + if (pThis.id) pThis.getElementContent(); + else pThis.loadHTML(); + } + }; + var src = this.src; + this.xhr = xhr; + if (hs.forceAjaxReload) + src = src.replace(/$/, (/\?/.test(src) ? '&' : '?') +'dummy='+ (new Date()).getTime()); + xhr.open('GET', src, true); + xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); + xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); + xhr.send(null); +}, + +getElementContent : function() { + hs.init(); + var attribs = window.opera || hs.ie6SSL ? { src: 'about:blank' } : null; + + this.iframe = hs.createElement('iframe', attribs, + { position: 'absolute', top: '-9999px' }, hs.container); + + this.loadHTML(); +}, + +loadHTML : function() { + var s = this.cachedGet || this.xhr.responseText, + regBody; + if (this.pre) hs.cachedGets[this.src] = s; + if (!hs.ie || hs.uaVersion >= 5.5) { + s = s.replace(new RegExp(']*>', 'gi'), '') + .replace(new RegExp(']*>.*?', 'gi'), ''); + if (this.iframe) { + var doc = this.iframe.contentDocument; + if (!doc && this.iframe.contentWindow) doc = this.iframe.contentWindow.document; + if (!doc) { // Opera + var pThis = this; + setTimeout(function() { pThis.loadHTML(); }, 25); + return; + } + doc.open(); + doc.write(s); + doc.close(); + try { s = doc.getElementById(this.id).innerHTML; } catch (e) { + try { s = this.iframe.document.getElementById(this.id).innerHTML; } catch (e) {} // opera + } + hs.discardElement(this.iframe); + } else { + regBody = /(]*>|<\/body>)/ig; + if (regBody.test(s)) s = s.split(regBody)[hs.ieLt9 ? 1 : 2]; + + } + } + hs.getElementByClass(this.content, 'DIV', 'highslide-body').innerHTML = s; + this.onLoad(); + for (var x in this) this[x] = null; +} +}; +hs.langDefaults = hs.lang; +// history +var HsExpander = hs.Expander; +if (hs.ie && window == window.top) { + (function () { + try { + document.documentElement.doScroll('left'); + } catch (e) { + setTimeout(arguments.callee, 50); + return; + } + hs.ready(); + })(); +} +hs.addEventListener(document, 'DOMContentLoaded', hs.ready); +hs.addEventListener(window, 'load', hs.ready); + +// set handlers +hs.addEventListener(document, 'ready', function() { + if (hs.expandCursor) { + var style = hs.createElement('style', { type: 'text/css' }, null, + document.getElementsByTagName('HEAD')[0]), + backCompat = document.compatMode == 'BackCompat'; + + + function addRule(sel, dec) { + if (hs.ie && (hs.uaVersion < 9 || backCompat)) { + var last = document.styleSheets[document.styleSheets.length - 1]; + if (typeof(last.addRule) == "object") last.addRule(sel, dec); + } else { + style.appendChild(document.createTextNode(sel + " {" + dec + "}")); + } + } + function fix(prop) { + return 'expression( ( ( ignoreMe = document.documentElement.'+ prop + + ' ? document.documentElement.'+ prop +' : document.body.'+ prop +' ) ) + \'px\' );'; + } + if (hs.expandCursor) addRule ('.highslide img', + 'cursor: url('+ hs.graphicsDir + hs.expandCursor +'), pointer !important;'); + } +}); +hs.addEventListener(window, 'resize', function() { + hs.getPageSize(); +}); +hs.addEventListener(document, 'mousemove', function(e) { + hs.mouse = { x: e.clientX, y: e.clientY }; +}); +hs.addEventListener(document, 'mousedown', hs.mouseClickHandler); +hs.addEventListener(document, 'mouseup', hs.mouseClickHandler); + +hs.addEventListener(document, 'ready', hs.getAnchors); +hs.addEventListener(window, 'load', hs.preloadImages); +hs.addEventListener(window, 'load', hs.preloadAjax); +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-html.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-html.min.js new file mode 100644 index 0000000..7b4a3b8 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-html.min.js @@ -0,0 +1,9 @@ +/** + * Name: Highslide JS + * Version: 4.1.13 (2011-10-06) + * Config: default +inline +ajax +iframe +flash + * Author: Torstein Hønsi + * Support: www.highslide.com/support + * License: www.highslide.com/#license + */ +if(!hs){var hs={lang:{cssDirection:"ltr",loadingText:"Loading...",loadingTitle:"Click to cancel",focusTitle:"Click to bring to front",fullExpandTitle:"Expand to actual size (f)",creditsText:"Powered by Highslide JS",creditsTitle:"Go to the Highslide JS homepage",previousText:"Previous",nextText:"Next",moveText:"Move",closeText:"Close",closeTitle:"Close (esc)",resizeTitle:"Resize",playText:"Play",playTitle:"Play slideshow (spacebar)",pauseText:"Pause",pauseTitle:"Pause slideshow (spacebar)",previousTitle:"Previous (arrow left)",nextTitle:"Next (arrow right)",moveTitle:"Move",fullExpandText:"1:1",restoreTitle:"Click to close image, click and drag to move. Use arrow keys for next and previous."},graphicsDir:"highslide/graphics/",expandCursor:"zoomin.cur",restoreCursor:"zoomout.cur",expandDuration:250,restoreDuration:250,marginLeft:15,marginRight:15,marginTop:15,marginBottom:15,zIndexCounter:1001,loadingOpacity:0.75,allowMultipleInstances:true,numberOfImagesToPreload:5,outlineWhileAnimating:2,outlineStartOffset:3,padToMinWidth:false,fullExpandPosition:"bottom right",fullExpandOpacity:1,showCredits:true,creditsHref:"http://highslide.com/",creditsTarget:"_self",enableKeyListener:true,openerTagNames:["a"],allowWidthReduction:false,allowHeightReduction:true,preserveContent:true,objectLoadTime:"before",cacheAjax:true,dragByHeading:true,minWidth:200,minHeight:200,allowSizeReduction:true,outlineType:"drop-shadow",skin:{contentWrapper:'
      '},preloadTheseImages:[],continuePreloading:true,expanders:[],overrides:["allowSizeReduction","useBox","outlineType","outlineWhileAnimating","captionId","captionText","captionEval","captionOverlay","headingId","headingText","headingEval","headingOverlay","creditsPosition","dragByHeading","width","height","contentId","allowWidthReduction","allowHeightReduction","preserveContent","maincontentId","maincontentText","maincontentEval","objectType","cacheAjax","objectWidth","objectHeight","objectLoadTime","swfOptions","wrapperClassName","minWidth","minHeight","maxWidth","maxHeight","pageOrigin","slideshowGroup","easing","easingClose","fadeInOut","src"],overlays:[],idCounter:0,oPos:{x:["leftpanel","left","center","right","rightpanel"],y:["above","top","middle","bottom","below"]},mouse:{},headingOverlay:{},captionOverlay:{},swfOptions:{flashvars:{},params:{},attributes:{}},timers:[],pendingOutlines:{},sleeping:[],preloadTheseAjax:[],cacheBindings:[],cachedGets:{},clones:{},onReady:[],uaVersion:/Trident\/4\.0/.test(navigator.userAgent)?8:parseFloat((navigator.userAgent.toLowerCase().match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1]),ie:(document.all&&!window.opera),safari:/Safari/.test(navigator.userAgent),geckoMac:/Macintosh.+rv:1\.[0-8].+Gecko/.test(navigator.userAgent),$:function(a){if(a){return document.getElementById(a)}},push:function(a,b){a[a.length]=b},createElement:function(a,f,e,d,c){var b=document.createElement(a);if(f){hs.extend(b,f)}if(c){hs.setStyles(b,{padding:0,border:"none",margin:0})}if(e){hs.setStyles(b,e)}if(d){d.appendChild(b)}return b},extend:function(b,c){for(var a in c){b[a]=c[a]}return b},setStyles:function(b,c){for(var a in c){if(hs.ieLt9&&a=="opacity"){if(c[a]>0.99){b.style.removeAttribute("filter")}else{b.style.filter="alpha(opacity="+(c[a]*100)+")"}}else{b.style[a]=c[a]}}},animate:function(f,a,d){var c,g,j;if(typeof d!="object"||d===null){var i=arguments;d={duration:i[2],easing:i[3],complete:i[4]}}if(typeof d.duration!="number"){d.duration=250}d.easing=Math[d.easing]||Math.easeInQuad;d.curAnim=hs.extend({},a);for(var b in a){var h=new hs.fx(f,d,b);c=parseFloat(hs.css(f,b))||0;g=parseFloat(a[b]);j=b!="opacity"?"px":"";h.custom(c,g,j)}},css:function(a,c){if(a.style[c]){return a.style[c]}else{if(document.defaultView){return document.defaultView.getComputedStyle(a,null).getPropertyValue(c)}else{if(c=="opacity"){c="filter"}var b=a.currentStyle[c.replace(/\-(\w)/g,function(e,d){return d.toUpperCase()})];if(c=="filter"){b=b.replace(/alpha\(opacity=([0-9]+)\)/,function(e,d){return d/100})}return b===""?1:b}}},getPageSize:function(){var f=document,b=window,e=f.compatMode&&f.compatMode!="BackCompat"?f.documentElement:f.body,g=hs.ie&&(hs.uaVersion<9||typeof pageXOffset=="undefined");var c=g?e.clientWidth:(f.documentElement.clientWidth||self.innerWidth),a=g?e.clientHeight:self.innerHeight;hs.page={width:c,height:a,scrollLeft:g?e.scrollLeft:pageXOffset,scrollTop:g?e.scrollTop:pageYOffset};return hs.page},getPosition:function(a){var b={x:a.offsetLeft,y:a.offsetTop};while(a.offsetParent){a=a.offsetParent;b.x+=a.offsetLeft;b.y+=a.offsetTop;if(a!=document.body&&a!=document.documentElement){b.x-=a.scrollLeft;b.y-=a.scrollTop}}return b},expand:function(b,h,f,d){if(!b){b=hs.createElement("a",null,{display:"none"},hs.container)}if(typeof b.getParams=="function"){return h}if(d=="html"){for(var c=0;cc){c=f;b=d}}}if(b==-1){hs.focusKey=-1}else{a[b].focus()}},getParam:function(b,d){b.getParams=b.onclick;var c=b.getParams?b.getParams():null;b.getParams=null;return(c&&typeof c[d]!="undefined")?c[d]:(typeof hs[d]!="undefined"?hs[d]:null)},getSrc:function(b){var c=hs.getParam(b,"src");if(c){return c}return b.href},getNode:function(e){var c=hs.$(e),d=hs.clones[e],b={};if(!c&&!d){return null}if(!d){d=c.cloneNode(true);d.id="";hs.clones[e]=d;return c}else{return d.cloneNode(true)}},discardElement:function(a){if(a){hs.garbageBin.appendChild(a)}hs.garbageBin.innerHTML=""},transit:function(a,d){var b=d||hs.getExpander();d=b;if(hs.upcoming){return false}else{hs.last=b}hs.removeEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler);try{hs.upcoming=a;a.onclick()}catch(c){hs.last=hs.upcoming=null}try{d.close()}catch(c){}return false},previousOrNext:function(a,c){var b=hs.getExpander(a);if(b){return hs.transit(b.getAdjacentAnchor(c),b)}else{return false}},previous:function(a){return hs.previousOrNext(a,-1)},next:function(a){return hs.previousOrNext(a,1)},keyHandler:function(a){if(!a){a=window.event}if(!a.target){a.target=a.srcElement}if(typeof a.target.form!="undefined"){return true}var b=hs.getExpander();var c=null;switch(a.keyCode){case 70:if(b){b.doFullExpand()}return true;case 32:case 34:case 39:case 40:c=1;break;case 8:case 33:case 37:case 38:c=-1;break;case 27:case 13:c=0}if(c!==null){hs.removeEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler);if(!hs.enableKeyListener){return true}if(a.preventDefault){a.preventDefault()}else{a.returnValue=false}if(b){if(c==0){b.close()}else{hs.previousOrNext(b.key,c)}return false}}return true},registerOverlay:function(a){hs.push(hs.overlays,hs.extend(a,{hsId:"hsId"+hs.idCounter++}))},getWrapperKey:function(c,b){var e,d=/^highslide-wrapper-([0-9]+)$/;e=c;while(e.parentNode){if(e.id&&d.test(e.id)){return e.id.replace(d,"$1")}e=e.parentNode}if(!b){e=c;while(e.parentNode){if(e.tagName&&hs.isHsAnchor(e)){for(var a=0;a1){return true}if(!d.target){d.target=d.srcElement}var b=d.target;while(b.parentNode&&!(/highslide-(image|move|html|resize)/.test(b.className))){b=b.parentNode}var f=hs.getExpander(b);if(f&&(f.isClosing||!f.isExpanded)){return true}if(f&&d.type=="mousedown"){if(d.target.form){return true}var a=b.className.match(/highslide-(image|move|resize)/);if(a){hs.dragArgs={exp:f,type:a[1],left:f.x.pos,width:f.x.size,top:f.y.pos,height:f.y.size,clickX:d.clientX,clickY:d.clientY};hs.addEventListener(document,"mousemove",hs.dragHandler);if(d.preventDefault){d.preventDefault()}if(/highslide-(image|html)-blur/.test(f.content.className)){f.focus();hs.hasFocused=true}return false}else{if(/highslide-html/.test(b.className)&&hs.focusKey!=f.key){f.focus();f.doShowHide("hidden")}}}else{if(d.type=="mouseup"){hs.removeEventListener(document,"mousemove",hs.dragHandler);if(hs.dragArgs){if(hs.styleRestoreCursor&&hs.dragArgs.type=="image"){hs.dragArgs.exp.content.style.cursor=hs.styleRestoreCursor}var c=hs.dragArgs.hasDragged;if(!c&&!hs.hasFocused&&!/(move|resize)/.test(hs.dragArgs.type)){f.close()}else{if(c||(!c&&hs.hasHtmlExpanders)){hs.dragArgs.exp.doShowHide("hidden")}}if(hs.dragArgs.exp.releaseMask){hs.dragArgs.exp.releaseMask.style.display="none"}hs.hasFocused=false;hs.dragArgs=null}else{if(/highslide-image-blur/.test(b.className)){b.style.cursor=hs.styleRestoreCursor}}}}return false},dragHandler:function(c){if(!hs.dragArgs){return true}if(!c){c=window.event}var b=hs.dragArgs,d=b.exp;if(d.iframe){if(!d.releaseMask){d.releaseMask=hs.createElement("div",null,{position:"absolute",width:d.x.size+"px",height:d.y.size+"px",left:d.x.cb+"px",top:d.y.cb+"px",zIndex:4,background:(hs.ieLt9?"white":"none"),opacity:0.01},d.wrapper,true)}if(d.releaseMask.style.display=="none"){d.releaseMask.style.display=""}}b.dX=c.clientX-b.clickX;b.dY=c.clientY-b.clickY;var f=Math.sqrt(Math.pow(b.dX,2)+Math.pow(b.dY,2));if(!b.hasDragged){b.hasDragged=(b.type!="image"&&f>0)||(f>(hs.dragSensitivity||5))}if(b.hasDragged&&c.clientX>5&&c.clientY>5){if(b.type=="resize"){d.resize(b)}else{d.moveTo(b.left+b.dX,b.top+b.dY);if(b.type=="image"){d.content.style.cursor="move"}}}return false},wrapperMouseHandler:function(c){try{if(!c){c=window.event}var b=/mouseover/i.test(c.type);if(!c.target){c.target=c.srcElement}if(!c.relatedTarget){c.relatedTarget=b?c.fromElement:c.toElement}var d=hs.getExpander(c.target);if(!d.isExpanded){return}if(!d||!c.relatedTarget||hs.getExpander(c.relatedTarget,true)==d||hs.dragArgs){return}for(var a=0;a=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var a=true;for(var b in this.options.curAnim){if(this.options.curAnim[b]!==true){a=false}}if(a){if(this.options.complete){this.options.complete.call(this.elem)}}return false}else{var e=c-this.startTime;this.state=e/this.options.duration;this.pos=this.options.easing(e,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};hs.extend(hs.fx,{step:{opacity:function(a){hs.setStyles(a.elem,{opacity:a.now})},_default:function(a){try{if(a.elem.style&&a.elem.style[a.prop]!=null){a.elem.style[a.prop]=a.now+a.unit}else{a.elem[a.prop]=a.now}}catch(b){}}}});hs.Outline=function(g,e){this.onLoad=e;this.outlineType=g;var a=hs.uaVersion,f;this.hasAlphaImageLoader=hs.ie&&hs.uaVersion<7;if(!g){if(e){e()}return}hs.init();this.table=hs.createElement("table",{cellSpacing:0},{visibility:"hidden",position:"absolute",borderCollapse:"collapse",width:0},hs.container,true);var b=hs.createElement("tbody",null,null,this.table,1);this.td=[];for(var c=0;c<=8;c++){if(c%3==0){f=hs.createElement("tr",null,{height:"auto"},b,true)}this.td[c]=hs.createElement("td",null,null,f,true);var d=c!=4?{lineHeight:0,fontSize:0}:{position:"relative"};hs.setStyles(this.td[c],d)}this.td[4].className=g+" highslide-outline";this.preloadGraphic()};hs.Outline.prototype={preloadGraphic:function(){var b=hs.graphicsDir+(hs.outlinesDir||"outlines/")+this.outlineType+".png";var a=hs.safari&&hs.uaVersion<525?hs.container:null;this.graphic=hs.createElement("img",null,{position:"absolute",top:"-9999px"},a,true);var c=this;this.graphic.onload=function(){c.onGraphicLoad()};this.graphic.src=b},onGraphicLoad:function(){var d=this.offset=this.graphic.width/4,f=[[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]],c={height:(2*d)+"px",width:(2*d)+"px"};for(var b=0;b<=8;b++){if(f[b]){if(this.hasAlphaImageLoader){var a=(b==1||b==7)?"100%":this.graphic.width+"px";var e=hs.createElement("div",null,{width:"100%",height:"100%",position:"relative",overflow:"hidden"},this.td[b],true);hs.createElement("div",null,{filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale, src='"+this.graphic.src+"')",position:"absolute",width:a,height:this.graphic.height+"px",left:(f[b][0]*d)+"px",top:(f[b][1]*d)+"px"},e,true)}else{hs.setStyles(this.td[b],{background:"url("+this.graphic.src+") "+(f[b][0]*d)+"px "+(f[b][1]*d)+"px"})}if(window.opera&&(b==3||b==5)){hs.createElement("div",null,c,this.td[b],true)}hs.setStyles(this.td[b],c)}}this.graphic=null;if(hs.pendingOutlines[this.outlineType]){hs.pendingOutlines[this.outlineType].destroy()}hs.pendingOutlines[this.outlineType]=this;if(this.onLoad){this.onLoad()}},setPosition:function(g,e,c,b,f){var d=this.exp,a=d.wrapper.style,e=e||0,g=g||{x:d.x.pos+e,y:d.y.pos+e,w:d.x.get("wsize")-2*e,h:d.y.get("wsize")-2*e};if(c){this.table.style.visibility=(g.h>=4*this.offset)?"visible":"hidden"}hs.setStyles(this.table,{left:(g.x-this.offset)+"px",top:(g.y-this.offset)+"px",width:(g.w+2*this.offset)+"px"});g.w-=2*this.offset;g.h-=2*this.offset;hs.setStyles(this.td[4],{width:g.w>=0?g.w+"px":0,height:g.h>=0?g.h+"px":0});if(this.hasAlphaImageLoader){this.td[3].style.height=this.td[5].style.height=this.td[4].style.height}},destroy:function(a){if(a){this.table.style.visibility="hidden"}else{hs.discardElement(this.table)}}};hs.Dimension=function(b,a){this.exp=b;this.dim=a;this.ucwh=a=="x"?"Width":"Height";this.wh=this.ucwh.toLowerCase();this.uclt=a=="x"?"Left":"Top";this.lt=this.uclt.toLowerCase();this.ucrb=a=="x"?"Right":"Bottom";this.rb=this.ucrb.toLowerCase();this.p1=this.p2=0};hs.Dimension.prototype={get:function(a){switch(a){case"loadingPos":return this.tpos+this.tb+(this.t-hs.loading["offset"+this.ucwh])/2;case"wsize":return this.size+2*this.cb+this.p1+this.p2;case"fitsize":return this.clientSize-this.marginMin-this.marginMax;case"maxsize":return this.get("fitsize")-2*this.cb-this.p1-this.p2;case"opos":return this.pos-(this.exp.outline?this.exp.outline.offset:0);case"osize":return this.get("wsize")+(this.exp.outline?2*this.exp.outline.offset:0);case"imgPad":return this.imgSize?Math.round((this.size-this.imgSize)/2):0}},calcBorders:function(){this.cb=(this.exp.content["offset"+this.ucwh]-this.t)/2;this.marginMax=hs["margin"+this.ucrb]},calcThumb:function(){this.t=this.exp.el[this.wh]?parseInt(this.exp.el[this.wh]):this.exp.el["offset"+this.ucwh];this.tpos=this.exp.tpos[this.dim];this.tb=(this.exp.el["offset"+this.ucwh]-this.t)/2;if(this.tpos==0||this.tpos==-1){this.tpos=(hs.page[this.wh]/2)+hs.page["scroll"+this.uclt]}},calcExpanded:function(){var a=this.exp;this.justify="auto";this.pos=this.tpos-this.cb+this.tb;if(this.maxHeight&&this.dim=="x"){a.maxWidth=Math.min(a.maxWidth||this.full,a.maxHeight*this.full/a.y.full)}this.size=Math.min(this.full,a["max"+this.ucwh]||this.full);this.minSize=a.allowSizeReduction?Math.min(a["min"+this.ucwh],this.full):this.full;if(a.isImage&&a.useBox){this.size=a[this.wh];this.imgSize=this.full}if(this.dim=="x"&&hs.padToMinWidth){this.minSize=a.minWidth}this.marginMin=hs["margin"+this.uclt];this.scroll=hs.page["scroll"+this.uclt];this.clientSize=hs.page[this.wh]},setSize:function(a){var f=this.exp;if(f.isImage&&(f.useBox||hs.padToMinWidth)){this.imgSize=a;this.size=Math.max(this.size,this.imgSize);f.content.style[this.lt]=this.get("imgPad")+"px"}else{this.size=a}f.content.style[this.wh]=a+"px";f.wrapper.style[this.wh]=this.get("wsize")+"px";if(f.outline){f.outline.setPosition()}if(f.releaseMask){f.releaseMask.style[this.wh]=a+"px"}if(this.dim=="y"&&f.iDoc&&f.body.style.height!="auto"){try{f.iDoc.body.style.overflow="auto"}catch(b){}}if(f.isHtml){var c=f.scrollerDiv;if(this.sizeDiff===undefined){this.sizeDiff=f.innerContent["offset"+this.ucwh]-c["offset"+this.ucwh]}c.style[this.wh]=(this.size-this.sizeDiff)+"px";if(this.dim=="x"){f.mediumContent.style.width="auto"}if(f.body){f.body.style[this.wh]="auto"}}if(this.dim=="x"&&f.overlayBox){f.sizeOverlayBox(true)}},setPos:function(a){this.pos=a;this.exp.wrapper.style[this.lt]=a+"px";if(this.exp.outline){this.exp.outline.setPosition()}}};hs.Expander=function(k,f,b,l){if(document.readyState&&hs.ie&&!hs.isReady){hs.addEventListener(document,"ready",function(){new hs.Expander(k,f,b,l)});return}this.a=k;this.custom=b;this.contentType=l||"image";this.isHtml=(l=="html");this.isImage=!this.isHtml;hs.continuePreloading=false;this.overlays=[];hs.init();var m=this.key=hs.expanders.length;for(var g=0;g(this.x.imgSize||this.x.size)){this.createFullExpand();if(this.overlays.length==1){this.sizeOverlayBox()}}}this.show()}catch(c){this.error(c)}},setObjContainerSize:function(a,d){var b=hs.getElementByClass(a,"DIV","highslide-body");if(/(iframe|swf)/.test(this.objectType)){if(this.objectWidth){b.style.width=this.objectWidth+"px"}if(this.objectHeight){b.style.height=this.objectHeight+"px"}}},writeExtendedContent:function(){if(this.hasExtendedContent){return}var f=this;this.body=hs.getElementByClass(this.innerContent,"DIV","highslide-body");if(this.objectType=="iframe"){this.showLoading();var g=hs.clearing.cloneNode(1);this.body.appendChild(g);this.newWidth=this.innerContent.offsetWidth;if(!this.objectWidth){this.objectWidth=g.offsetWidth}var c=this.innerContent.offsetHeight-this.body.offsetHeight,d=this.objectHeight||hs.page.height-c-hs.marginTop-hs.marginBottom,e=this.objectLoadTime=="before"?' onload="if (hs.expanders['+this.key+"]) hs.expanders["+this.key+'].contentLoaded()" ':"";this.body.innerHTML+='';this.ruler=this.body.getElementsByTagName("div")[0];this.iframe=this.body.getElementsByTagName("iframe")[0];if(this.objectLoadTime=="after"){this.correctIframeSize()}}if(this.objectType=="swf"){this.body.id=this.body.id||"hs-flash-id-"+this.key;var b=this.swfOptions;if(!b.params){b.params={}}if(typeof b.params.wmode=="undefined"){b.params.wmode="transparent"}if(swfobject){swfobject.embedSWF(this.src,this.body.id,this.objectWidth,this.objectHeight,b.version||"7",b.expressInstallSwfurl,b.flashvars,b.params,b.attributes)}}this.hasExtendedContent=true},htmlGetSize:function(){if(this.iframe&&!this.objectHeight){this.iframe.style.height=this.body.style.height=this.getIframePageHeight()+"px"}this.innerContent.appendChild(hs.clearing);if(!this.x.full){this.x.full=this.innerContent.offsetWidth}this.y.full=this.innerContent.offsetHeight;this.innerContent.removeChild(hs.clearing);if(hs.ie&&this.newHeight>parseInt(this.innerContent.currentStyle.height)){this.newHeight=parseInt(this.innerContent.currentStyle.height)}hs.setStyles(this.wrapper,{position:"absolute",padding:"0"});hs.setStyles(this.content,{width:this.x.t+"px",height:this.y.t+"px"})},getIframePageHeight:function(){var a;try{var d=this.iDoc=this.iframe.contentDocument||this.iframe.contentWindow.document;var b=d.createElement("div");b.style.clear="both";d.body.appendChild(b);a=b.offsetTop;if(hs.ie){a+=parseInt(d.body.currentStyle.marginTop)+parseInt(d.body.currentStyle.marginBottom)-1}}catch(c){a=300}return a},correctIframeSize:function(){var b=this.innerContent.offsetWidth-this.ruler.offsetWidth;hs.discardElement(this.ruler);if(b<0){b=0}var a=this.innerContent.offsetHeight-this.iframe.offsetHeight;if(this.iDoc&&!this.objectHeight&&!this.height&&this.y.size==this.y.full){try{this.iDoc.body.style.overflow="hidden"}catch(c){}}hs.setStyles(this.iframe,{width:Math.abs(this.x.size-b)+"px",height:Math.abs(this.y.size-a)+"px"});hs.setStyles(this.body,{width:this.iframe.style.width,height:this.iframe.style.height});this.scrollingContent=this.iframe;this.scrollerDiv=this.scrollingContent},htmlSizeOperations:function(){this.setObjContainerSize(this.innerContent);if(this.objectType=="swf"&&this.objectLoadTime=="before"){this.writeExtendedContent()}if(this.x.sizee.offsetHeight){e.style.width=(parseInt(e.style.width)+d)+"px"}this.scrollingContent=e;this.scrollerDiv=this.scrollingContent}if(this.iframe&&this.objectLoadTime=="before"){this.correctIframeSize()}if(!this.scrollingContent&&this.y.sizethis.scrollerDiv.parentNode.offsetHeight){setTimeout("try { hs.expanders["+this.key+"].scrollerDiv.style.overflow = 'auto'; } catch(e) {}",hs.expandDuration)}},justify:function(f,b){var g,h=f.target,e=f==this.x?"x":"y";var d=false;var a=f.exp.allowSizeReduction;f.pos=Math.round(f.pos-((f.get("wsize")-f.t)/2));if(f.posf.scroll+f.clientSize-f.marginMax){if(!b&&d&&a){f.size=Math.min(f.size,f.get(e=="y"?"fitsize":"maxsize"))}else{if(f.get("wsize")c){d=b*c;if(dthis.minHeight&&a.size>this.minWidth&&d.get("wsize")>d.get("fitsize")){d.size-=10;if(b){a.size=d.size*b}this.sizeOverlayBox(0,1);c=true}}return c},show:function(){var a=this.x,b=this.y;this.doShowHide("hidden");this.changeSize(1,{wrapper:{width:a.get("wsize"),height:b.get("wsize"),left:a.pos,top:b.pos},content:{left:a.p1+a.get("imgPad"),top:b.p1+b.get("imgPad"),width:a.imgSize||a.size,height:b.imgSize||b.size}},hs.expandDuration)},changeSize:function(b,h,c){if(this.outline&&!this.outlineWhileAnimating){if(b){this.outline.setPosition()}else{this.outline.destroy((this.isHtml&&this.preserveContent))}}if(!b){this.destroyOverlays()}var e=this,a=e.x,g=e.y,f=this.easing;if(!b){f=this.easingClose||f}var d=b?function(){if(e.outline){e.outline.table.style.visibility="visible"}setTimeout(function(){e.afterExpand()},50)}:function(){e.afterClose()};if(b){hs.setStyles(this.wrapper,{width:a.t+"px",height:g.t+"px"})}if(b&&this.isHtml){hs.setStyles(this.wrapper,{left:(a.tpos-a.cb+a.tb)+"px",top:(g.tpos-g.cb+g.tb)+"px"})}if(this.fadeInOut){hs.setStyles(this.wrapper,{opacity:b?0:1});hs.extend(h.wrapper,{opacity:b})}hs.animate(this.wrapper,h.wrapper,{duration:c,easing:f,step:function(k,i){if(e.outline&&e.outlineWhileAnimating&&i.prop=="top"){var j=b?i.pos:1-i.pos;var l={w:a.t+(a.get("wsize")-a.t)*j,h:g.t+(g.get("wsize")-g.t)*j,x:a.tpos+(a.pos-a.tpos)*j,y:g.tpos+(g.pos-g.tpos)*j};e.outline.setPosition(l,0,1)}if(e.isHtml){if(i.prop=="left"){e.mediumContent.style.left=(a.pos-k)+"px"}if(i.prop=="top"){e.mediumContent.style.top=(g.pos-k)+"px"}}}});hs.animate(this.content,h.content,c,f,d);if(b){this.wrapper.style.visibility="visible";this.content.style.visibility="visible";if(this.isHtml){this.innerContent.style.visibility="visible"}this.a.className+=" highslide-active-anchor"}},afterExpand:function(){this.isExpanded=true;this.focus();if(this.isHtml&&this.objectLoadTime=="after"){this.writeExtendedContent()}if(this.iframe){try{var g=this,f=this.iframe.contentDocument||this.iframe.contentWindow.document;hs.addEventListener(f,"mousedown",function(){if(hs.focusKey!=g.key){g.focus()}})}catch(d){}if(hs.ie&&typeof this.isClosing!="boolean"){this.iframe.style.width=(this.objectWidth-1)+"px"}}if(hs.upcoming&&hs.upcoming==this.a){hs.upcoming=null}this.prepareNextOutline();var c=hs.page,b=hs.mouse.x+c.scrollLeft,a=hs.mouse.y+c.scrollTop;this.mouseIsOver=this.x.posthis.x.get("opos")+this.x.get("osize"));var g=(k.y+k.hthis.y.get("opos")+this.y.get("osize"));var d=hs.getWrapperKey(e[f]);if(!j&&!g&&d!=this.key){if(!h){e[f].setAttribute("hidden-by","["+this.key+"]");e[f].origProp=e[f].style[a];e[f].style[a]="hidden"}else{if(h.indexOf("["+this.key+"]")==-1){e[f].setAttribute("hidden-by",h+"["+this.key+"]")}}}else{if((h=="["+this.key+"]"||hs.focusKey==d)&&d!=this.key){e[f].setAttribute("hidden-by","");e[f].style[a]=e[f].origProp||""}else{if(h&&h.indexOf("["+this.key+"]")>-1){e[f].setAttribute("hidden-by",h.replace("["+this.key+"]",""))}}}}}}}},focus:function(){this.wrapper.style.zIndex=hs.zIndexCounter+=2;for(var a=0;a=5.5){c=c.replace(new RegExp("]*>","gi"),"").replace(new RegExp("]*>.*?<\/script>","gi"),"");if(this.iframe){var f=this.iframe.contentDocument;if(!f&&this.iframe.contentWindow){f=this.iframe.contentWindow.document}if(!f){var g=this;setTimeout(function(){g.loadHTML()},25);return}f.open();f.write(c);f.close();try{c=f.getElementById(this.id).innerHTML}catch(d){try{c=this.iframe.document.getElementById(this.id).innerHTML}catch(d){}}hs.discardElement(this.iframe)}else{b=/(]*>|<\/body>)/ig;if(b.test(c)){c=c.split(b)[hs.ieLt9?1:2]}}}hs.getElementByClass(this.content,"DIV","highslide-body").innerHTML=c;this.onLoad();for(var a in this){this[a]=null}}};hs.langDefaults=hs.lang;var HsExpander=hs.Expander;if(hs.ie&&window==window.top){(function(){try{document.documentElement.doScroll("left")}catch(a){setTimeout(arguments.callee,50);return}hs.ready()})()}hs.addEventListener(document,"DOMContentLoaded",hs.ready);hs.addEventListener(window,"load",hs.ready);hs.addEventListener(document,"ready",function(){if(hs.expandCursor){var d=hs.createElement("style",{type:"text/css"},null,document.getElementsByTagName("HEAD")[0]),c=document.compatMode=="BackCompat";function b(f,g){if(hs.ie&&(hs.uaVersion<9||c)){var e=document.styleSheets[document.styleSheets.length-1];if(typeof(e.addRule)=="object"){e.addRule(f,g)}}else{d.appendChild(document.createTextNode(f+" {"+g+"}"))}}function a(e){return"expression( ( ( ignoreMe = document.documentElement."+e+" ? document.documentElement."+e+" : document.body."+e+" ) ) + 'px' );"}if(hs.expandCursor){b(".highslide img","cursor: url("+hs.graphicsDir+hs.expandCursor+"), pointer !important;")}}});hs.addEventListener(window,"resize",function(){hs.getPageSize()});hs.addEventListener(document,"mousemove",function(a){hs.mouse={x:a.clientX,y:a.clientY}});hs.addEventListener(document,"mousedown",hs.mouseClickHandler);hs.addEventListener(document,"mouseup",hs.mouseClickHandler);hs.addEventListener(document,"ready",hs.getAnchors);hs.addEventListener(window,"load",hs.preloadImages);hs.addEventListener(window,"load",hs.preloadAjax)}; \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-html.packed.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-html.packed.js new file mode 100644 index 0000000..401c8e4 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-html.packed.js @@ -0,0 +1,9 @@ +/** + * Name: Highslide JS + * Version: 4.1.13 (2011-10-06) + * Config: default +inline +ajax +iframe +flash +packed + * Author: Torstein Hønsi + * Support: www.highslide.com/support + * License: www.highslide.com/#license + */ +eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('q(!m){u m={1e:{89:\'8H\',8K:\'co...\',8G:\'6Q 2h cA\',9s:\'6Q 2h cB 2h c1\',9Y:\'bX 2h bT G (f)\',ag:\'c7 by 8g 8f\',9F:\'d3 2h d6 8g 8f dg\',91:\'8n\',8W:\'8e\',8R:\'9g\',8V:\'8j\',8U:\'8j (di)\',93:\'dj\',dd:\'8h\',d2:\'8h 8m (8l)\',cM:\'8k\',bR:\'8k 8m (8l)\',90:\'8n (6L 1f)\',8X:\'8e (6L 2G)\',8S:\'9g\',b8:\'1:1\',7h:\'6Q 2h 28 2D, aR 8Y aL 2h 3I. aH 6L aT W 1M 8Y 5n.\'},56:\'U/aN/\',5v:\'bG.6E\',4E:\'bB.6E\',7c:6j,a7:6j,4j:15,6m:15,3N:15,6f:15,4l:bt,8N:0.75,7m:J,71:5,3g:2,aZ:3,4M:1h,9Z:\'3E 2G\',9U:1,a1:J,9y:\'b2://U.b4/\',9E:\'aO\',8C:J,7B:[\'a\'],5D:1h,5A:J,48:J,31:\'4K\',82:J,7b:J,3O:8Z,4s:8Z,4I:J,1x:\'aS-aP\',8A:{8B:\'<1i 3n="U-aU"><92>\'+\'<3u 3n="U-5n">\'+\'\'+\'<2p>{m.1e.91}\'+\'\'+\'<3u 3n="U-1M">\'+\'\'+\'<2p>{m.1e.8W}\'+\'\'+\'<3u 3n="U-3I">\'+\'\'+\'<2p>{m.1e.8R}\'+\'\'+\'<3u 3n="U-28">\'+\'\'+\'<2p>{m.1e.8V}\'+\'\'+\'\'+\'<1i 3n="U-V">\'+\'<1i 3n="U-b0"><1i>\'+\'<2p 3n="U-3q" 2u="{m.1e.93}"><2p>\'+\'\'},4P:[],6n:J,P:[],6s:[\'4I\',\'2K\',\'1x\',\'3g\',\'b5\',\'bc\',\'aG\',\'9e\',\'aM\',\'b3\',\'bQ\',\'9c\',\'9K\',\'7b\',\'K\',\'M\',\'7f\',\'5D\',\'5A\',\'48\',\'bD\',\'bC\',\'bH\',\'2f\',\'82\',\'3i\',\'3J\',\'31\',\'7I\',\'78\',\'3O\',\'4s\',\'5X\',\'6N\',\'8d\',\'4h\',\'2g\',\'an\',\'am\',\'T\'],1Q:[],4y:0,bI:{x:[\'ad\',\'1f\',\'6H\',\'2G\',\'ac\'],y:[\'4U\',\'18\',\'6q\',\'3E\',\'6a\']},5R:{},9c:{},9e:{},7I:{al:{},1E:{},ay:{}},3t:[],3G:{},3C:[],5b:[],4o:[],5J:{},7k:{},6h:[],26:/bM\\/4\\.0/.16(46.5V)?8:6t((46.5V.5x().2Z(/.+(?:9f|bJ|bK|1L)[\\/: ]([\\d.]+)/)||[0,\'0\'])[1]),1L:(N.4F&&!1y.30),4X:/bL/.16(46.5V),7V:/bx.+9f:1\\.[0-8].+bi/.16(46.5V),$:B(1j){q(1j)D N.6F(1j)},20:B(1P,2R){1P[1P.1c]=2R},14:B(9b,3h,3l,4r,95){u C=N.14(9b);q(3h)m.3e(C,3h);q(95)m.Q(C,{6z:0,ap:\'24\',6V:0});q(3l)m.Q(C,3l);q(4r)4r.1G(C);D C},3e:B(C,3h){W(u x 3A 3h)C[x]=3h[x];D C},Q:B(C,3l){W(u x 3A 3l){q(m.2Y&&x==\'1B\'){q(3l[x]>0.99)C.F.bp(\'4C\');L C.F.4C=\'97(1B=\'+(3l[x]*2A)+\')\'}L C.F[x]=3l[x]}},41:B(C,1a,2P){u 3S,3Y,3P;q(1t 2P!=\'6W\'||2P===I){u 2S=aE;2P={3w:2S[2],2g:2S[3],83:2S[4]}}q(1t 2P.3w!=\'42\')2P.3w=6j;2P.2g=1r[2P.2g]||1r.8M;2P.5d=m.3e({},1a);W(u 2z 3A 1a){u e=1w m.1C(C,2P,2z);3S=6t(m.79(C,2z))||0;3Y=6t(1a[2z]);3P=2z!=\'1B\'?\'E\':\'\';e.2O(3S,3Y,3P)}},79:B(C,1a){q(C.F[1a]){D C.F[1a]}L q(N.87){D N.87.9k(C,I).9i(1a)}L{q(1a==\'1B\')1a=\'4C\';u 2R=C.4u[1a.2i(/\\-(\\w)/g,B(a,b){D b.bo()})];q(1a==\'4C\')2R=2R.2i(/97\\(1B=([0-9]+)\\)/,B(a,b){D b/2A});D 2R===\'\'?1:2R}},5y:B(){u d=N,w=1y,58=d.5G&&d.5G!=\'6M\'?d.44:d.V,2Y=m.1L&&(m.26<9||1t 8y==\'1X\');u K=2Y?58.8Q:(d.44.8Q||5o.bv),M=2Y?58.bu:5o.bm;m.3k={K:K,M:M,5T:2Y?58.5T:8y,5U:2Y?58.5U:bf};D m.3k},85:B(C){u p={x:C.8x,y:C.6G};3T(C.8p){C=C.8p;p.x+=C.8x;p.y+=C.6G;q(C!=N.V&&C!=N.44){p.x-=C.5T;p.y-=C.5U}}D p},53:B(a,1E,2O,R){q(!a)a=m.14(\'a\',I,{1O:\'24\'},m.1S);q(1t a.4V==\'B\')D 1E;q(R==\'2Q\'){W(u i=0;i7n){7n=1u;5g=i}}}q(5g==-1)m.2q=-1;L P[5g].3d()},3U:B(a,4R){a.4V=a.2M;u p=a.4V?a.4V():I;a.4V=I;D(p&&1t p[4R]!=\'1X\')?p[4R]:(1t m[4R]!=\'1X\'?m[4R]:I)},5m:B(a){u T=m.3U(a,\'T\');q(T)D T;D a.2v},3z:B(1j){u 1D=m.$(1j),3M=m.7k[1j],a={};q(!1D&&!3M)D I;q(!3M){3M=1D.61(J);3M.1j=\'\';m.7k[1j]=3M;D 1D}L{D 3M.61(J)}},3j:B(d){q(d)m.7g.1G(d);m.7g.2n=\'\'},8t:B(7F,A){u 3r=A||m.3v();A=3r;q(m.3B)D 1h;L m.3r=3r;m.4g(N,1y.30?\'5i\':\'5h\',m.4D);1m{m.3B=7F;7F.2M()}1l(e){m.3r=m.3B=I}1m{A.28()}1l(e){}D 1h},5k:B(C,2w){u A=m.3v(C);q(A)D m.8t(A.6B(2w),A);L D 1h},5n:B(C){D m.5k(C,-1)},1M:B(C){D m.5k(C,1)},4D:B(e){q(!e)e=1y.1Y;q(!e.2j)e.2j=e.6p;q(1t e.2j.7O!=\'1X\')D J;u A=m.3v();u 2w=I;8T(e.aI){1J 70:q(A)A.7i();D J;1J 32:1J 34:1J 39:1J 40:2w=1;7N;1J 8:1J 33:1J 37:1J 38:2w=-1;7N;1J 27:1J 13:2w=0}q(2w!==I){m.4g(N,1y.30?\'5i\':\'5h\',m.4D);q(!m.8C)D J;q(e.65)e.65();L e.aY=1h;q(A){q(2w==0){A.28()}L{m.5k(A.S,2w)}D 1h}}D J},b1:B(19){m.20(m.1Q,m.3e(19,{2F:\'2F\'+m.4y++}))},7S:B(7C,5M){u C,2t=/^U-Y-([0-9]+)$/;C=7C;3T(C.3a){q(C.1j&&2t.16(C.1j))D C.1j.2i(2t,"$1");C=C.3a}q(!5M){C=7C;3T(C.3a){q(C.4c&&m.5W(C)){W(u S=0;S1)D J;q(!e.2j)e.2j=e.6p;u C=e.2j;3T(C.3a&&!(/U-(2D|3I|2Q|3q)/.16(C.1p))){C=C.3a}u A=m.3v(C);q(A&&(A.4z||!A.4e))D J;q(A&&e.R==\'7H\'){q(e.2j.7O)D J;u 2Z=C.1p.2Z(/U-(2D|3I|3q)/);q(2Z){m.2a={A:A,R:2Z[1],1f:A.x.H,K:A.x.G,18:A.y.H,M:A.y.G,8J:e.5Q,8F:e.5f};m.1R(N,\'6o\',m.8a);q(e.65)e.65();q(/U-(2D|2Q)-7s/.16(A.O.1p)){A.3d();m.7p=J}D 1h}L q(/U-2Q/.16(C.1p)&&m.2q!=A.S){A.3d();A.4a(\'1n\')}}L q(e.R==\'9t\'){m.4g(N,\'6o\',m.8a);q(m.2a){q(m.4i&&m.2a.R==\'2D\')m.2a.A.O.F.3L=m.4i;u 3f=m.2a.3f;q(!3f&&!m.7p&&!/(3I|3q)/.16(m.2a.R)){A.28()}L q(3f||(!3f&&m.8O)){m.2a.A.4a(\'1n\')}q(m.2a.A.2W)m.2a.A.2W.F.1O=\'24\';m.7p=1h;m.2a=I}L q(/U-2D-7s/.16(C.1p)){C.F.3L=m.4i}}D 1h},8a:B(e){q(!m.2a)D J;q(!e)e=1y.1Y;u a=m.2a,A=a.A;q(A.11){q(!A.2W)A.2W=m.14(\'1i\',I,{1d:\'22\',K:A.x.G+\'E\',M:A.y.G+\'E\',1f:A.x.cb+\'E\',18:A.y.cb+\'E\',1u:4,94:(m.2Y?\'bh\':\'24\'),1B:0.cD},A.Y,J);q(A.2W.F.1O==\'24\')A.2W.F.1O=\'\'}a.5q=e.5Q-a.8J;a.5r=e.5f-a.8F;u 6A=1r.cU(1r.8E(a.5q,2)+1r.8E(a.5r,2));q(!a.3f)a.3f=(a.R!=\'2D\'&&6A>0)||(6A>(m.cR||5));q(a.3f&&e.5Q>5&&e.5f>5){q(a.R==\'3q\')A.3q(a);L{A.7x(a.1f+a.5q,a.18+a.5r);q(a.R==\'2D\')A.O.F.3L=\'3I\'}}D 1h},8c:B(e){1m{q(!e)e=1y.1Y;u 67=/cW/i.16(e.R);q(!e.2j)e.2j=e.6p;q(!e.6l)e.6l=67?e.cZ:e.cY;u A=m.3v(e.2j);q(!A.4e)D;q(!A||!e.6l||m.3v(e.6l,J)==A||m.2a)D;W(u i=0;i=k.1N.3w+k.84){k.3Q=k.3Y;k.H=k.80=1;k.7Q();k.1N.5d[k.1a]=J;u 86=J;W(u i 3A k.1N.5d)q(k.1N.5d[i]!==J)86=1h;q(86){q(k.1N.83)k.1N.83.8v(k.2k)}D 1h}L{u n=t-k.84;k.80=n/k.1N.3w;k.H=k.1N.2g(n,0,1,k.1N.3w);k.3Q=k.3S+((k.3Y-k.3S)*k.H);k.7Q()}D J}};m.3e(m.1C,{3o:{1B:B(1C){m.Q(1C.2k,{1B:1C.3Q})},8z:B(1C){1m{q(1C.2k.F&&1C.2k.F[1C.1a]!=I)1C.2k.F[1C.1a]=1C.3Q+1C.3P;L 1C.2k[1C.1a]=1C.3Q}1l(e){}}}});m.4L=B(1x,2J){k.2J=2J;k.1x=1x;u v=m.26,5O;k.6C=m.1L&&m.26<7;q(!1x){q(2J)2J();D}m.5N();k.2m=m.14(\'2m\',{d7:0},{1q:\'1n\',1d:\'22\',d8:\'dc\',K:0},m.1S,J);u 7W=m.14(\'7W\',I,I,k.2m,1);k.29=[];W(u i=0;i<=8;i++){q(i%3==0)5O=m.14(\'5O\',I,{M:\'1H\'},7W,J);k.29[i]=m.14(\'29\',I,I,5O,J);u F=i!=4?{db:0,da:0}:{1d:\'3K\'};m.Q(k.29[i],F)}k.29[4].1p=1x+\' U-1o\';k.8P()};m.4L.54={8P:B(){u T=m.56+(m.d9||"cL/")+k.1x+".cE";u 98=m.4X&&m.26<8i?m.1S:I;k.2X=m.14(\'1v\',I,{1d:\'22\',18:\'-3R\'},98,J);u 36=k;k.2X.3H=B(){36.96()};k.2X.T=T},96:B(){u o=k.1s=k.2X.K/4,H=[[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]],1F={M:(2*o)+\'E\',K:(2*o)+\'E\'};W(u i=0;i<=8;i++){q(H[i]){q(k.6C){u w=(i==1||i==7)?\'2A%\':k.2X.K+\'E\';u 1i=m.14(\'1i\',I,{K:\'2A%\',M:\'2A%\',1d:\'3K\',1W:\'1n\'},k.29[i],J);m.14(\'1i\',I,{4C:"c6:c5.9M.c4(c8=c9, T=\'"+k.2X.T+"\')",1d:\'22\',K:w,M:k.2X.M+\'E\',1f:(H[i][0]*o)+\'E\',18:(H[i][1]*o)+\'E\'},1i,J)}L{m.Q(k.29[i],{94:\'6X(\'+k.2X.T+\') \'+(H[i][0]*o)+\'E \'+(H[i][1]*o)+\'E\'})}q(1y.30&&(i==3||i==5))m.14(\'1i\',I,1F,k.29[i],J);m.Q(k.29[i],1F)}}k.2X=I;q(m.3G[k.1x])m.3G[k.1x].5l();m.3G[k.1x]=k;q(k.2J)k.2J()},4B:B(H,1s,9a,3b,2g){u A=k.A,4A=A.Y.F,1s=1s||0,H=H||{x:A.x.H+1s,y:A.y.H+1s,w:A.x.1b(\'1K\')-2*1s,h:A.y.1b(\'1K\')-2*1s};q(9a)k.2m.F.1q=(H.h>=4*k.1s)?\'2l\':\'1n\';m.Q(k.2m,{1f:(H.x-k.1s)+\'E\',18:(H.y-k.1s)+\'E\',K:(H.w+2*k.1s)+\'E\'});H.w-=2*k.1s;H.h-=2*k.1s;m.Q(k.29[4],{K:H.w>=0?H.w+\'E\':0,M:H.h>=0?H.h+\'E\':0});q(k.6C)k.29[3].F.M=k.29[5].F.M=k.29[4].F.M},5l:B(9d){q(9d)k.2m.F.1q=\'1n\';L m.3j(k.2m)}};m.5t=B(A,1F){k.A=A;k.1F=1F;k.2H=1F==\'x\'?\'cd\':\'cc\';k.2C=k.2H.5x();k.4J=1F==\'x\'?\'ca\':\'c3\';k.6J=k.4J.5x();k.6P=1F==\'x\'?\'c2\':\'bV\';k.bU=k.6P.5x();k.1V=k.2U=0};m.5t.54={1b:B(S){8T(S){1J\'7R\':D k.1A+k.2s+(k.t-m.21[\'1s\'+k.2H])/2;1J\'1K\':D k.G+2*k.cb+k.1V+k.2U;1J\'4b\':D k.5E-k.3y-k.5F;1J\'6K\':D k.1b(\'4b\')-2*k.cb-k.1V-k.2U;1J\'4w\':D k.H-(k.A.1o?k.A.1o.1s:0);1J\'88\':D k.1b(\'1K\')+(k.A.1o?2*k.A.1o.1s:0);1J\'5u\':D k.1T?1r.5Y((k.G-k.1T)/2):0}},6v:B(){k.cb=(k.A.O[\'1s\'+k.2H]-k.t)/2;k.5F=m[\'6V\'+k.6P]},6y:B(){k.t=k.A.C[k.2C]?49(k.A.C[k.2C]):k.A.C[\'1s\'+k.2H];k.1A=k.A.1A[k.1F];k.2s=(k.A.C[\'1s\'+k.2H]-k.t)/2;q(k.1A==0||k.1A==-1){k.1A=(m.3k[k.2C]/2)+m.3k[\'3s\'+k.4J]}},6u:B(){u A=k.A;k.3X=\'1H\';k.H=k.1A-k.cb+k.2s;q(k.6N&&k.1F==\'x\')A.5X=1r.2L(A.5X||k.Z,A.6N*k.Z/A.y.Z);k.G=1r.2L(k.Z,A[\'7l\'+k.2H]||k.Z);k.2E=A.4I?1r.2L(A[\'2L\'+k.2H],k.Z):k.Z;q(A.2o&&A.2K){k.G=A[k.2C];k.1T=k.Z}q(k.1F==\'x\'&&m.4M)k.2E=A.3O;k.3y=m[\'6V\'+k.4J];k.3s=m.3k[\'3s\'+k.4J];k.5E=m.3k[k.2C]},7J:B(i){u A=k.A;q(A.2o&&(A.2K||m.4M)){k.1T=i;k.G=1r.7l(k.G,k.1T);A.O.F[k.6J]=k.1b(\'5u\')+\'E\'}L k.G=i;A.O.F[k.2C]=i+\'E\';A.Y.F[k.2C]=k.1b(\'1K\')+\'E\';q(A.1o)A.1o.4B();q(A.2W)A.2W.F[k.2C]=i+\'E\';q(k.1F==\'y\'&&A.4v&&A.V.F.M!=\'1H\')1m{A.4v.V.F.1W=\'1H\'}1l(e){}q(A.1Z){u d=A.2c;q(k.7a===1X)k.7a=A.1g[\'1s\'+k.2H]-d[\'1s\'+k.2H];d.F[k.2C]=(k.G-k.7a)+\'E\';q(k.1F==\'x\')A.3D.F.K=\'1H\';q(A.V)A.V.F[k.2C]=\'1H\'}q(k.1F==\'x\'&&A.1z)A.4m(J)},7j:B(i){k.H=i;k.A.Y.F[k.6J]=i+\'E\';q(k.A.1o)k.A.1o.4B()}};m.4S=B(a,1E,2O,2B){q(N.9r&&m.1L&&!m.6Z){m.1R(N,\'3p\',B(){1w m.4S(a,1E,2O,2B)});D}k.a=a;k.2O=2O;k.2B=2B||\'2D\';k.1Z=(2B==\'2Q\');k.2o=!k.1Z;m.6n=1h;k.1Q=[];m.5N();u S=k.S=m.P.1c;W(u i=0;i(k.x.1T||k.x.G)){k.9W();q(k.1Q.1c==1)k.4m()}}k.7M()}1l(e){k.7w(e)}},7d:B(4r,1H){u c=m.4d(4r,\'5H\',\'U-V\');q(/(11|3c)/.16(k.2f)){q(k.3i)c.F.K=k.3i+\'E\';q(k.3J)c.F.M=k.3J+\'E\'}},5S:B(){q(k.av)D;u A=k;k.V=m.4d(k.1g,\'5H\',\'U-V\');q(k.2f==\'11\'){k.4t();u 4n=m.2I.61(1);k.V.1G(4n);k.cn=k.1g.2e;q(!k.3i)k.3i=4n.2e;u 45=k.1g.1I-k.V.1I,h=k.3J||m.3k.M-45-m.3N-m.6f,3H=k.31==\'4K\'?\' 3H="q (m.P[\'+k.S+\']) m.P[\'+k.S+\'].4x()" \':\'\';k.V.2n+=\'<11 2z="m\'+(1w 5s()).59()+\'" cq="0" S="\'+k.S+\'" \'+\' F="K:\'+k.3i+\'E; M:\'+h+\'E" \'+3H+\' T="\'+k.T+\'" >\';k.4n=k.V.3x(\'1i\')[0];k.11=k.V.3x(\'11\')[0];q(k.31==\'4O\')k.6S()}q(k.2f==\'3c\'){k.V.1j=k.V.1j||\'m-cm-1j-\'+k.S;u a=k.7I;q(!a.1E)a.1E={};q(1t a.1E.aF==\'1X\')a.1E.aF=\'ci\';q(7D)7D.cj(k.T,k.V.1j,k.3i,k.3J,a.ck||\'7\',a.cC,a.al,a.1E,a.ay)}k.av=J},76:B(){q(k.11&&!k.3J){k.11.F.M=k.V.F.M=k.at()+\'E\'}k.1g.1G(m.2I);q(!k.x.Z)k.x.Z=k.1g.2e;k.y.Z=k.1g.1I;k.1g.aj(m.2I);q(m.1L&&k.au>49(k.1g.4u.M)){k.au=49(k.1g.4u.M)}m.Q(k.Y,{1d:\'22\',6z:\'0\'});m.Q(k.O,{K:k.x.t+\'E\',M:k.y.t+\'E\'})},at:B(){u h;1m{u 1U=k.4v=k.11.6r||k.11.52.N;u 2I=1U.14(\'1i\');2I.F.ar=\'aw\';1U.V.1G(2I);h=2I.6G;q(m.1L)h+=49(1U.V.4u.3N)+49(1U.V.4u.6f)-1}1l(e){h=bY}D h},6S:B(){u 4k=k.1g.2e-k.4n.2e;m.3j(k.4n);q(4k<0)4k=0;u 45=k.1g.1I-k.11.1I;q(k.4v&&!k.3J&&!k.M&&k.y.G==k.y.Z)1m{k.4v.V.F.1W=\'1n\'}1l(e){}m.Q(k.11,{K:1r.7u(k.x.G-4k)+\'E\',M:1r.7u(k.y.G-45)+\'E\'});m.Q(k.V,{K:k.11.F.K,M:k.11.F.M});k.4p=k.11;k.2c=k.4p},aq:B(){k.7d(k.1g);q(k.2f==\'3c\'&&k.31==\'4K\')k.5S();q(k.x.G1D.1I){1D.F.K=(49(1D.F.K)+5C)+\'E\'}k.4p=1D;k.2c=k.4p}q(k.11&&k.31==\'4K\')k.6S();q(!k.4p&&k.y.Gk.2c.3a.1I){4T("1m { m.P["+k.S+"].2c.F.1W = \'1H\'; } 1l(e) {}",m.7c)}},3X:B(p,3W){u bW,bS=p.2j,1F=p==k.x?\'x\':\'y\';u 6R=1h;u 3V=p.A.4I;p.H=1r.5Y(p.H-((p.1b(\'1K\')-p.t)/2));q(p.Hp.3s+p.5E-p.5F){q(!3W&&6R&&3V){p.G=1r.2L(p.G,p.1b(1F==\'y\'?\'4b\':\'6K\'))}L q(p.1b(\'1K\')2d){ 2r=2N*2d;q(2rk.4s&&x.G>k.3O&&y.1b(\'1K\')>y.1b(\'4b\')){y.G-=10;q(2d)x.G=y.G*2d;k.4m(0,1);2V=J}}D 2V},7M:B(){u x=k.x,y=k.y;k.4a(\'1n\');k.7z(1,{Y:{K:x.1b(\'1K\'),M:y.1b(\'1K\'),1f:x.H,18:y.H},O:{1f:x.1V+x.1b(\'5u\'),18:y.1V+y.1b(\'5u\'),K:x.1T||x.G,M:y.1T||y.G}},m.7c)},7z:B(2y,2h,3b){q(k.1o&&!k.3g){q(2y)k.1o.4B();L k.1o.5l((k.1Z&&k.48))}q(!2y)k.9V();u A=k,x=A.x,y=A.y,2g=k.2g;q(!2y)2g=k.an||2g;u 4O=2y?B(){q(A.1o)A.1o.2m.F.1q="2l";4T(B(){A.aC()},50)}:B(){A.7A()};q(2y)m.Q(k.Y,{K:x.t+\'E\',M:y.t+\'E\'});q(2y&&k.1Z){m.Q(k.Y,{1f:(x.1A-x.cb+x.2s)+\'E\',18:(y.1A-y.cb+y.2s)+\'E\'})}q(k.am){m.Q(k.Y,{1B:2y?0:1});m.3e(2h.Y,{1B:2y})}m.41(k.Y,2h.Y,{3w:3b,2g:2g,3o:B(2R,2S){q(A.1o&&A.3g&&2S.1a==\'18\'){u 4G=2y?2S.H:1-2S.H;u H={w:x.t+(x.1b(\'1K\')-x.t)*4G,h:y.t+(y.1b(\'1K\')-y.t)*4G,x:x.1A+(x.H-x.1A)*4G,y:y.1A+(y.H-y.1A)*4G};A.1o.4B(H,0,1)}q(A.1Z){q(2S.1a==\'1f\')A.3D.F.1f=(x.H-2R)+\'E\';q(2S.1a==\'18\')A.3D.F.18=(y.H-2R)+\'E\'}}});m.41(k.O,2h.O,3b,2g,4O);q(2y){k.Y.F.1q=\'2l\';k.O.F.1q=\'2l\';q(k.1Z)k.1g.F.1q=\'2l\';k.a.1p+=\' U-9T-9O\'}},aC:B(){k.4e=J;k.3d();q(k.1Z&&k.31==\'4O\')k.5S();q(k.11){1m{u A=k,1U=k.11.6r||k.11.52.N;m.1R(1U,\'7H\',B(){q(m.2q!=A.S)A.3d()})}1l(e){}q(m.1L&&1t k.4z!=\'ce\')k.11.F.K=(k.3i-1)+\'E\'}q(m.3B&&m.3B==k.a)m.3B=I;k.ax();u p=m.3k,6I=m.5R.x+p.5T,6D=m.5R.y+p.5U;k.6x=k.x.H<6I&&6Ik.x.1b(\'4w\')+k.x.1b(\'88\'));u 9p=(2T.y+2T.hk.y.1b(\'4w\')+k.y.1b(\'88\'));u 5c=m.7S(1k[i]);q(!9o&&!9p&&5c!=k.S){q(!23){1k[i].4N(\'1n-by\',\'[\'+k.S+\']\');1k[i].7q=1k[i].F[1a];1k[i].F[1a]=\'1n\'}L q(23.9v(\'[\'+k.S+\']\')==-1){1k[i].4N(\'1n-by\',23+\'[\'+k.S+\']\')}}L q((23==\'[\'+k.S+\']\'||m.2q==5c)&&5c!=k.S){1k[i].4N(\'1n-by\',\'\');1k[i].F[1a]=1k[i].7q||\'\'}L q(23&&23.9v(\'[\'+k.S+\']\')>-1){1k[i].4N(\'1n-by\',23.2i(\'[\'+k.S+\']\',\'\'))}}}}},3d:B(){k.Y.F.1u=m.4l+=2;W(u i=0;i=5.5){s=s.2i(1w 5P(\']*>\',\'aB\'),\'\').2i(1w 5P(\']*>.*?\',\'aB\'),\'\');q(k.11){u 1U=k.11.6r;q(!1U&&k.11.52)1U=k.11.52.N;q(!1U){u 36=k;4T(B(){36.4Y()},25);D}1U.ak();1U.bO(s);1U.28();1m{s=1U.6F(k.1j).2n}1l(e){1m{s=k.11.N.6F(k.1j).2n}1l(e){}}m.3j(k.11)}L{5I=/(]*>|<\\/V>)/ba;q(5I.16(s))s=s.az(5I)[m.2Y?1:2]}}m.4d(k.O,\'5H\',\'U-V\').2n=s;k.2J();W(u x 3A k)k[x]=I}};m.5z=m.1e;u b6=m.4S;q(m.1L&&1y==1y.18){(B(){1m{N.44.aW(\'1f\')}1l(e){4T(aE.aX,50);D}m.3p()})()}m.1R(N,\'b9\',m.3p);m.1R(1y,\'7o\',m.3p);m.1R(N,\'3p\',B(){q(m.5v){u F=m.14(\'F\',{R:\'aK/79\'},I,N.3x(\'aQ\')[0]),a2=N.5G==\'6M\';B 5B(6U,6T){q(m.1L&&(m.26<9||a2)){u 3r=N.a3[N.a3.1c-1];q(1t(3r.5B)=="6W")3r.5B(6U,6T)}L{F.1G(N.bb(6U+" {"+6T+"}"))}}B cT(1a){D\'cS( ( ( cV = N.44.\'+1a+\' ? N.44.\'+1a+\' : N.V.\'+1a+\' ) ) + \\\'E\\\' );\'}q(m.5v)5B(\'.U 1v\',\'3L: 6X(\'+m.56+m.5v+\'), 5w !d0;\')}});m.1R(1y,\'3q\',B(){m.5y()});m.1R(N,\'6o\',B(e){m.5R={x:e.5Q,y:e.5f}});m.1R(N,\'7H\',m.7K);m.1R(N,\'9t\',m.7K);m.1R(N,\'3p\',m.4Z);m.1R(1y,\'7o\',m.9u);m.1R(1y,\'7o\',m.af)}',62,827,'||||||||||||||||||||this||hs||||if||||var||||||exp|function|el|return|px|style|size|pos|null|true|width|else|height|document|content|expanders|setStyles|type|key|src|highslide|body|for||wrapper|full||iframe|||createElement||test||top|overlay|prop|get|length|position|lang|left|innerContent|false|div|id|els|catch|try|hidden|outline|className|visibility|Math|offset|typeof|zIndex|img|new|outlineType|window|overlayBox|tpos|opacity|fx|node|params|dim|appendChild|auto|offsetHeight|case|wsize|ie|next|options|display|arr|overlays|addEventListener|container|imgSize|doc|p1|overflow|undefined|event|isHtml|push|loading|absolute|hiddenBy|none||uaVersion||close|td|dragArgs|xhr|scrollerDiv|ratio|offsetWidth|objectType|easing|to|replace|target|elem|visible|table|innerHTML|isImage|span|focusKey|xSize|tb|re|title|href|op|ajax|up|name|100|contentType|wh|image|minSize|hsId|right|ucwh|clearing|onLoad|useBox|min|onclick|ySize|custom|opt|html|val|args|elPos|p2|changed|releaseMask|graphic|ieLt9|match|opera|objectLoadTime||||func|pThis||||parentNode|dur|swf|focus|extend|hasDragged|outlineWhileAnimating|attribs|objectWidth|discardElement|page|styles|groups|class|step|ready|resize|last|scroll|timers|li|getExpander|duration|getElementsByTagName|marginMin|getNode|in|upcoming|sleeping|mediumContent|bottom|ieLt7|pendingOutlines|onload|move|objectHeight|relative|cursor|clone|marginTop|minWidth|unit|now|9999px|start|while|getParam|allowReduce|moveOnly|justify|end|images||animate|number|Id|documentElement|hDiff|navigator|cNode|preserveContent|parseInt|doShowHide|fitsize|tagName|getElementByClass|isExpanded|blurExp|removeEventListener|slideshowGroup|styleRestoreCursor|marginLeft|wDiff|zIndexCounter|sizeOverlayBox|ruler|cacheBindings|scrollingContent|htmls|parent|minHeight|showLoading|currentStyle|iDoc|opos|contentLoaded|idCounter|isClosing|stl|setPosition|filter|keyHandler|restoreCursor|all|fac|block|allowSizeReduction|uclt|before|Outline|padToMinWidth|setAttribute|after|preloadTheseImages|on|param|Expander|setTimeout|above|getParams|createOverlay|safari|loadHTML|getAnchors||cache|contentWindow|expand|prototype|matches|graphicsDir|mask|iebody|getTime|showHideElements|preloadTheseAjax|wrapperKey|curAnim|gotoEnd|clientY|topmostKey|keydown|keypress|Ajax|previousOrNext|destroy|getSrc|previous|self|positionOverlay|dX|dY|Date|Dimension|imgPad|expandCursor|pointer|toLowerCase|getPageSize|langDefaults|allowHeightReduction|addRule|kdeBugCorr|allowWidthReduction|clientSize|marginMax|compatMode|DIV|regBody|cachedGets|anchors|pre|expOnly|init|tr|RegExp|clientX|mouse|writeExtendedContent|scrollLeft|scrollTop|userAgent|isHsAnchor|maxWidth|round|hideOnMouseOut|overlayId|cloneNode|offY|tId|offX|preventDefault|heading|over|preloadFullImage|fullExpandLabel|below|thumbsUserSetId|ypos|sg|onLoadStarted|marginBottom|os|onReady|maincontent|250|xpos|relatedTarget|marginRight|continuePreloading|mousemove|srcElement|middle|contentDocument|overrides|parseFloat|calcExpanded|calcBorders|cancelLoading|mouseIsOver|calcThumb|padding|distance|getAdjacentAnchor|hasAlphaImageLoader|mY|cur|getElementById|offsetTop|center|mX|lt|maxsize|arrow|BackCompat|maxHeight|thumbnailId|ucrb|Click|hasMovedMin|correctIframeSize|dec|sel|margin|object|url|fitOverlayBox|isReady||numberOfImagesToPreload|ie6|panel|doWrapper||htmlGetSize|getInline|wrapperClassName|css|sizeDiff|dragByHeading|expandDuration|setObjContainerSize|credits|contentId|garbageBin|restoreTitle|doFullExpand|setPos|clones|max|allowMultipleInstances|topZ|load|hasFocused|origProp|preloadAjaxElement|blur|getCacheBinding|abs|onError|error|moveTo|run|changeSize|afterClose|openerTagNames|element|swfobject|getSelfRendered|adj|resizeTo|mousedown|swfOptions|setSize|mouseClickHandler|string|show|break|form|Create|update|loadingPos|getWrapperKey|location|fade|geckoMac|tbody|types|getElementContent|Text|state|connectOutline|cacheAjax|complete|startTime|getPosition|done|defaultView|osize|cssDirection|dragHandler|direction|wrapperMouseHandler|pageOrigin|Next|JS|Highslide|Play|525|Close|Pause|spacebar|slideshow|Previous|thumb|offsetParent|from|timerId|orig|transit|updateAnchors|call|replaceLang|offsetLeft|pageXOffset|_default|skin|contentWrapper|enableKeyListener|htmlExpand|pow|clickY|loadingTitle|ltr|detachEvent|clickX|loadingText|focusTopmost|easeInQuad|loadingOpacity|hasHtmlExpanders|preloadGraphic|clientWidth|moveText|moveTitle|switch|closeTitle|closeText|nextText|nextTitle|and|200|previousTitle|previousText|ul|resizeTitle|background|nopad|onGraphicLoad|alpha|appendTo||vis|tag|headingOverlay|hide|captionOverlay|rv|Move|preloadNext|getPropertyValue|getAttribute|getComputedStyle|hideIframes|hideSelects|XMLHttpRequest|clearsX|clearsY|hand|readyState|focusTitle|mouseup|preloadImages|indexOf|Overlay|addOverlay|creditsHref|ie6SSL|getAnchorIndex|current|toString|cachedGet|creditsTarget|creditsTitle|_|nextSibling|Eval|setRequestHeader|creditsPosition|XMLHTTP|Microsoft|showOverlays|anchor|doPanels|genOverlayBox|gotOverlays|sleep|active|fullExpandOpacity|destroyOverlays|createFullExpand|javascript|fullExpandTitle|fullExpandPosition|writeCredits|showCredits|backCompat|styleSheets|destroyObject|htmlPrepareClose|ActiveXObject|restoreDuration|awake|offsetX|getOverlays|reOrder|rightpanel|leftpanel|offsetY|preloadAjax|creditsText|KDE|vendor|removeChild|open|flashvars|fadeInOut|easingClose|tmpMin|border|htmlSizeOperations|clear||getIframePageHeight|newHeight|hasExtendedContent|both|prepareNextOutline|attributes|split|correctRatio|gi|afterExpand|script|arguments|wmode|captionEval|Use|keyCode|button|text|drag|headingId|graphics|_self|shadow|HEAD|click|drop|keys|header|htmlE|doScroll|callee|returnValue|outlineStartOffset|footer|registerOverlay|http|headingText|com|captionId|HsExpander|xpand|fullExpandText|DOMContentLoaded|ig|createTextNode|captionText|forceAjaxReload|urlencoded|pageYOffset|send|white|Gecko|Type|application|www|innerHeight|link|toUpperCase|removeAttribute|responseText|blank|about|1001|clientHeight|innerWidth|Content|Macintosh||dummy|GET|zoomout|maincontentText|maincontentId|Msxml2|onreadystatechange|zoomin|maincontentEval|oPos|it|ra|Safari|Trident|With|write|Requested|headingEval|pauseTitle|tgt|actual|rb|Bottom|tgtArr|Expand|300|nodeName|insertBefore|front|Right|Top|AlphaImageLoader|DXImageTransform|progid|Powered|sizingMethod|scale|Left||Height|Width|boolean|allowSimultaneousLoading|onmouseover|flushImgSize|transparent|embedSWF|version|htmlCreate|flash|newWidth|Loading|static|frameborder|oncontextmenu|blockRightClick|Line|alert|debug|onmouseout|lineNumber|message|imageCreate|cancel|bring|expressInstallSwfurl|01|png|paddingTop|200px|https|protocol|1px|linearTween|outlines|pauseText|StopPlay|removeSWF|caption|useOnHtml|dragSensitivity|expression|fix|sqrt|ignoreMe|mouseover|attachEvent|toElement|fromElement|important|default|playTitle|Go|eval|SELECT|the|cellSpacing|borderCollapse|outlinesDir|fontSize|lineHeight|collapse|playText|IFRAME|clearInterval|homepage|splice|esc|Resize|setInterval'.split('|'),0,{})) diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.css new file mode 100644 index 0000000..171a23e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.css @@ -0,0 +1,889 @@ +/** +* @file: highslide.css +* @version: 4.1.13 +*/ +.highslide-container div { + font-family: Verdana, Helvetica; + font-size: 10pt; +} +.highslide-container table { + background: none; +} +.highslide { + outline: none; + text-decoration: none; +} +.highslide img { + border: 2px solid silver; +} +.highslide:hover img { + border-color: gray; +} +.highslide-active-anchor img { + visibility: hidden; +} +.highslide-gallery .highslide-active-anchor img { + border-color: black; + visibility: visible; + cursor: default; +} +.highslide-image { + border-width: 2px; + border-style: solid; + border-color: white; +} +.highslide-wrapper, .highslide-outline { + background: white; +} +.glossy-dark { + background: #111; +} + +.highslide-image-blur { +} +.highslide-number { + font-weight: bold; + color: gray; + font-size: .9em; +} +.highslide-caption { + display: none; + font-size: 1em; + padding: 5px; + /*background: white;*/ +} +.highslide-heading { + display: none; + font-weight: bold; + margin: 0.4em; +} +.highslide-dimming { + /*position: absolute;*/ + background: black; +} +a.highslide-full-expand { + background: url(graphics/fullexpand.gif) no-repeat; + display: block; + margin: 0 10px 10px 0; + width: 34px; + height: 34px; +} +.highslide-loading { + display: block; + color: black; + font-size: 9px; + font-weight: bold; + text-transform: uppercase; + text-decoration: none; + padding: 3px; + border: 1px solid white; + background-color: white; + padding-left: 22px; + background-image: url(graphics/loader.white.gif); + background-repeat: no-repeat; + background-position: 3px 1px; +} +a.highslide-credits, +a.highslide-credits i { + padding: 2px; + color: silver; + text-decoration: none; + font-size: 10px; +} +a.highslide-credits:hover, +a.highslide-credits:hover i { + color: white; + background-color: gray; +} +.highslide-move, .highslide-move * { + cursor: move; +} + +.highslide-viewport { + display: none; + position: fixed; + width: 100%; + height: 100%; + z-index: 10001; + background: none; + left: 0; + top: 0; +} +.highslide-overlay { + display: none; +} +.hidden-container { + display: none; +} +/* Example of a semitransparent, offset closebutton */ +.closebutton { + position: relative; + top: -15px; + left: 15px; + width: 30px; + height: 30px; + cursor: pointer; + background: url(graphics/close.png); + /* NOTE! For IE6, you also need to update the highslide-ie6.css file. */ +} + +/*****************************************************************************/ +/* Thumbnail boxes for the galleries. */ +/* Remove these if you are not using a gallery. */ +/*****************************************************************************/ +.highslide-gallery ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.highslide-gallery ul li { + display: block; + position: relative; + float: left; + width: 106px; + height: 106px; + border: 1px solid silver; + background: #ededed; + margin: 2px; + padding: 0; + line-height: 0; + overflow: hidden; +} +.highslide-gallery ul a { + position: absolute; + top: 50%; + left: 50%; +} +.highslide-gallery ul img { + position: relative; + top: -50%; + left: -50%; +} +html>/**/body .highslide-gallery ul li { + display: table; + text-align: center; +} +html>/**/body .highslide-gallery ul li { + text-align: center; +} +html>/**/body .highslide-gallery ul a { + position: static; + display: table-cell; + vertical-align: middle; +} +html>/**/body .highslide-gallery ul img { + position: static; +} + +/*****************************************************************************/ +/* Controls for the galleries. */ +/* Remove these if you are not using a gallery */ +/*****************************************************************************/ +.highslide-controls { + width: 195px; + height: 40px; + background: url(graphics/controlbar-white.gif) 0 -90px no-repeat; + margin: 20px 15px 10px 0; +} +.highslide-controls ul { + position: relative; + left: 15px; + height: 40px; + list-style: none; + margin: 0; + padding: 0; + background: url(graphics/controlbar-white.gif) right -90px no-repeat; + +} +.highslide-controls li { + float: left; + padding: 5px 0; + margin:0; + list-style: none; +} +.highslide-controls a { + background-image: url(graphics/controlbar-white.gif); + display: block; + float: left; + height: 30px; + width: 30px; + outline: none; +} +.highslide-controls a.disabled { + cursor: default; +} +.highslide-controls a.disabled span { + cursor: default; +} +.highslide-controls a span { + /* hide the text for these graphic buttons */ + display: none; + cursor: pointer; +} + + +/* The CSS sprites for the controlbar - see http://www.google.com/search?q=css+sprites */ +.highslide-controls .highslide-previous a { + background-position: 0 0; +} +.highslide-controls .highslide-previous a:hover { + background-position: 0 -30px; +} +.highslide-controls .highslide-previous a.disabled { + background-position: 0 -60px !important; +} +.highslide-controls .highslide-play a { + background-position: -30px 0; +} +.highslide-controls .highslide-play a:hover { + background-position: -30px -30px; +} +.highslide-controls .highslide-play a.disabled { + background-position: -30px -60px !important; +} +.highslide-controls .highslide-pause a { + background-position: -60px 0; +} +.highslide-controls .highslide-pause a:hover { + background-position: -60px -30px; +} +.highslide-controls .highslide-next a { + background-position: -90px 0; +} +.highslide-controls .highslide-next a:hover { + background-position: -90px -30px; +} +.highslide-controls .highslide-next a.disabled { + background-position: -90px -60px !important; +} +.highslide-controls .highslide-move a { + background-position: -120px 0; +} +.highslide-controls .highslide-move a:hover { + background-position: -120px -30px; +} +.highslide-controls .highslide-full-expand a { + background-position: -150px 0; +} +.highslide-controls .highslide-full-expand a:hover { + background-position: -150px -30px; +} +.highslide-controls .highslide-full-expand a.disabled { + background-position: -150px -60px !important; +} +.highslide-controls .highslide-close a { + background-position: -180px 0; +} +.highslide-controls .highslide-close a:hover { + background-position: -180px -30px; +} + +/*****************************************************************************/ +/* Styles for the HTML popups */ +/* Remove these if you are not using Highslide HTML */ +/*****************************************************************************/ +.highslide-maincontent { + display: none; +} +.highslide-html { + background-color: white; +} +.mobile .highslide-html { + border: 1px solid silver; +} +.highslide-html-content { + display: none; + width: 400px; + padding: 0 5px 5px 5px; +} +.highslide-header { + padding-bottom: 5px; +} +.highslide-header ul { + margin: 0; + padding: 0; + text-align: right; +} +.highslide-header ul li { + display: inline; + padding-left: 1em; +} +.highslide-header ul li.highslide-previous, .highslide-header ul li.highslide-next { + display: none; +} +.highslide-header a { + font-weight: bold; + color: gray; + text-transform: uppercase; + text-decoration: none; +} +.highslide-header a:hover { + color: black; +} +.highslide-header .highslide-move a { + cursor: move; +} +.highslide-footer { + height: 16px; +} +.highslide-footer .highslide-resize { + display: block; + float: right; + margin-top: 5px; + height: 11px; + width: 11px; + background: url(graphics/resize.gif) no-repeat; +} +.highslide-footer .highslide-resize span { + display: none; +} +.highslide-body { +} +.highslide-resize { + cursor: nw-resize; +} + +/*****************************************************************************/ +/* Styles for the Individual wrapper class names. */ +/* See www.highslide.com/ref/hs.wrapperClassName */ +/* You can safely remove the class name themes you don't use */ +/*****************************************************************************/ + +/* hs.wrapperClassName = 'draggable-header' */ +.draggable-header .highslide-header { + height: 18px; + border-bottom: 1px solid #dddddd; +} +.draggable-header .highslide-heading { + position: absolute; + margin: 2px 0.4em; +} + +.draggable-header .highslide-header .highslide-move { + cursor: move; + display: block; + height: 16px; + position: absolute; + right: 24px; + top: 0; + width: 100%; + z-index: 10001; +} +.draggable-header .highslide-header .highslide-move * { + display: none; +} +.draggable-header .highslide-header .highslide-close { + position: absolute; + right: 2px; + top: 2px; + z-index: 10005; + padding: 0; +} +.draggable-header .highslide-header .highslide-close a { + display: block; + height: 16px; + width: 16px; + background-image: url(graphics/closeX.png); +} +.draggable-header .highslide-header .highslide-close a:hover { + background-position: 0 16px; +} +.draggable-header .highslide-header .highslide-close span { + display: none; +} +.draggable-header .highslide-maincontent { + padding-top: 1em; +} + +/* hs.wrapperClassName = 'titlebar' */ +.titlebar .highslide-header { + height: 18px; + border-bottom: 1px solid #dddddd; +} +.titlebar .highslide-heading { + position: absolute; + width: 90%; + margin: 1px 0 1px 5px; + color: #666666; +} + +.titlebar .highslide-header .highslide-move { + cursor: move; + display: block; + height: 16px; + position: absolute; + right: 24px; + top: 0; + width: 100%; + z-index: 10001; +} +.titlebar .highslide-header .highslide-move * { + display: none; +} +.titlebar .highslide-header li { + position: relative; + top: 3px; + z-index: 10002; + padding: 0 0 0 1em; +} +.titlebar .highslide-maincontent { + padding-top: 1em; +} + +/* hs.wrapperClassName = 'no-footer' */ +.no-footer .highslide-footer { + display: none; +} + +/* hs.wrapperClassName = 'wide-border' */ +.wide-border { + background: white; +} +.wide-border .highslide-image { + border-width: 10px; +} +.wide-border .highslide-caption { + padding: 0 10px 10px 10px; +} + +/* hs.wrapperClassName = 'borderless' */ +.borderless .highslide-image { + border: none; +} +.borderless .highslide-caption { + border-bottom: 1px solid white; + border-top: 1px solid white; + background: silver; +} + +/* hs.wrapperClassName = 'outer-glow' */ +.outer-glow { + background: #444; +} +.outer-glow .highslide-image { + border: 5px solid #444444; +} +.outer-glow .highslide-caption { + border: 5px solid #444444; + border-top: none; + padding: 5px; + background-color: gray; +} + +/* hs.wrapperClassName = 'colored-border' */ +.colored-border { + background: white; +} +.colored-border .highslide-image { + border: 2px solid green; +} +.colored-border .highslide-caption { + border: 2px solid green; + border-top: none; +} + +/* hs.wrapperClassName = 'dark' */ +.dark { + background: #111; +} +.dark .highslide-image { + border-color: black black #202020 black; + background: gray; +} +.dark .highslide-caption { + color: white; + background: #111; +} +.dark .highslide-controls, +.dark .highslide-controls ul, +.dark .highslide-controls a { + background-image: url(graphics/controlbar-black-border.gif); +} + +/* hs.wrapperClassName = 'floating-caption' */ +.floating-caption .highslide-caption { + position: absolute; + padding: 1em 0 0 0; + background: none; + color: white; + border: none; + font-weight: bold; +} + +/* hs.wrapperClassName = 'controls-in-heading' */ +.controls-in-heading .highslide-heading { + color: gray; + font-weight: bold; + height: 20px; + overflow: hidden; + cursor: default; + padding: 0 0 0 22px; + margin: 0; + background: url(graphics/icon.gif) no-repeat 0 1px; +} +.controls-in-heading .highslide-controls { + width: 105px; + height: 20px; + position: relative; + margin: 0; + top: -23px; + left: 7px; + background: none; +} +.controls-in-heading .highslide-controls ul { + position: static; + height: 20px; + background: none; +} +.controls-in-heading .highslide-controls li { + padding: 0; +} +.controls-in-heading .highslide-controls a { + background-image: url(graphics/controlbar-white-small.gif); + height: 20px; + width: 20px; +} + +.controls-in-heading .highslide-controls .highslide-move { + display: none; +} + +.controls-in-heading .highslide-controls .highslide-previous a { + background-position: 0 0; +} +.controls-in-heading .highslide-controls .highslide-previous a:hover { + background-position: 0 -20px; +} +.controls-in-heading .highslide-controls .highslide-previous a.disabled { + background-position: 0 -40px !important; +} +.controls-in-heading .highslide-controls .highslide-play a { + background-position: -20px 0; +} +.controls-in-heading .highslide-controls .highslide-play a:hover { + background-position: -20px -20px; +} +.controls-in-heading .highslide-controls .highslide-play a.disabled { + background-position: -20px -40px !important; +} +.controls-in-heading .highslide-controls .highslide-pause a { + background-position: -40px 0; +} +.controls-in-heading .highslide-controls .highslide-pause a:hover { + background-position: -40px -20px; +} +.controls-in-heading .highslide-controls .highslide-next a { + background-position: -60px 0; +} +.controls-in-heading .highslide-controls .highslide-next a:hover { + background-position: -60px -20px; +} +.controls-in-heading .highslide-controls .highslide-next a.disabled { + background-position: -60px -40px !important; +} +.controls-in-heading .highslide-controls .highslide-full-expand a { + background-position: -100px 0; +} +.controls-in-heading .highslide-controls .highslide-full-expand a:hover { + background-position: -100px -20px; +} +.controls-in-heading .highslide-controls .highslide-full-expand a.disabled { + background-position: -100px -40px !important; +} +.controls-in-heading .highslide-controls .highslide-close a { + background-position: -120px 0; +} +.controls-in-heading .highslide-controls .highslide-close a:hover { + background-position: -120px -20px; +} + +/*****************************************************************************/ +/* Styles for text based controls. */ +/* You can safely remove this if you don't use text based controls */ +/*****************************************************************************/ + +.text-controls .highslide-controls { + width: auto; + height: auto; + margin: 0; + text-align: center; + background: none; +} +.text-controls ul { + position: static; + background: none; + height: auto; + left: 0; +} +.text-controls .highslide-move { + display: none; +} +.text-controls li { + background-image: url(graphics/controlbar-text-buttons.png); + background-position: right top !important; + padding: 0; + margin-left: 15px; + display: block; + width: auto; +} +.text-controls a { + background: url(graphics/controlbar-text-buttons.png) no-repeat; + background-position: left top !important; + position: relative; + left: -10px; + display: block; + width: auto; + height: auto; + text-decoration: none !important; +} +.text-controls a span { + background: url(graphics/controlbar-text-buttons.png) no-repeat; + margin: 1px 2px 1px 10px; + display: block; + min-width: 4em; + height: 18px; + line-height: 18px; + padding: 1px 0 1px 18px; + color: #333; + font-family: "Trebuchet MS", Arial, sans-serif; + font-size: 12px; + font-weight: bold; + white-space: nowrap; +} +.text-controls .highslide-next { + margin-right: 1em; +} +.text-controls .highslide-full-expand a span { + min-width: 0; + margin: 1px 0; + padding: 1px 0 1px 10px; +} +.text-controls .highslide-close a span { + min-width: 0; +} +.text-controls a:hover span { + color: black; +} +.text-controls a.disabled span { + color: #999; +} + +.text-controls .highslide-previous span { + background-position: 0 -40px; +} +.text-controls .highslide-previous a.disabled { + background-position: left top !important; +} +.text-controls .highslide-previous a.disabled span { + background-position: 0 -140px; +} +.text-controls .highslide-play span { + background-position: 0 -60px; +} +.text-controls .highslide-play a.disabled { + background-position: left top !important; +} +.text-controls .highslide-play a.disabled span { + background-position: 0 -160px; +} +.text-controls .highslide-pause span { + background-position: 0 -80px; +} +.text-controls .highslide-next span { + background-position: 0 -100px; +} +.text-controls .highslide-next a.disabled { + background-position: left top !important; +} +.text-controls .highslide-next a.disabled span { + background-position: 0 -200px; +} +.text-controls .highslide-full-expand span { + background: none; +} +.text-controls .highslide-full-expand a.disabled { + background-position: left top !important; +} +.text-controls .highslide-close span { + background-position: 0 -120px; +} + + +/*****************************************************************************/ +/* Styles for the thumbstrip. */ +/* See www.highslide.com/ref/hs.addSlideshow */ +/* You can safely remove this if you don't use a thumbstrip */ +/*****************************************************************************/ + +.highslide-thumbstrip { + height: 100%; + direction: ltr; +} +.highslide-thumbstrip div { + overflow: hidden; +} +.highslide-thumbstrip table { + position: relative; + padding: 0; + border-collapse: collapse; +} +.highslide-thumbstrip td { + padding: 1px; + /*text-align: center;*/ +} +.highslide-thumbstrip a { + outline: none; +} +.highslide-thumbstrip img { + display: block; + border: 1px solid gray; + margin: 0 auto; +} +.highslide-thumbstrip .highslide-active-anchor img { + visibility: visible; +} +.highslide-thumbstrip .highslide-marker { + position: absolute; + width: 0; + height: 0; + border-width: 0; + border-style: solid; + border-color: transparent; /* change this to actual background color in highslide-ie6.css */ +} +.highslide-thumbstrip-horizontal div { + width: auto; + /* width: 100% breaks in small strips in IE */ +} +.highslide-thumbstrip-horizontal .highslide-scroll-up { + display: none; + position: absolute; + top: 3px; + left: 3px; + width: 25px; + height: 42px; +} +.highslide-thumbstrip-horizontal .highslide-scroll-up div { + margin-bottom: 10px; + cursor: pointer; + background: url(graphics/scrollarrows.png) left center no-repeat; + height: 42px; +} +.highslide-thumbstrip-horizontal .highslide-scroll-down { + display: none; + position: absolute; + top: 3px; + right: 3px; + width: 25px; + height: 42px; +} +.highslide-thumbstrip-horizontal .highslide-scroll-down div { + margin-bottom: 10px; + cursor: pointer; + background: url(graphics/scrollarrows.png) center right no-repeat; + height: 42px; +} +.highslide-thumbstrip-horizontal table { + margin: 2px 0 10px 0; +} +.highslide-viewport .highslide-thumbstrip-horizontal table { + margin-left: 10px; +} +.highslide-thumbstrip-horizontal img { + width: auto; + height: 40px; +} +.highslide-thumbstrip-horizontal .highslide-marker { + top: 47px; + border-left-width: 6px; + border-right-width: 6px; + border-bottom: 6px solid gray; +} +.highslide-viewport .highslide-thumbstrip-horizontal .highslide-marker { + margin-left: 10px; +} +.dark .highslide-thumbstrip-horizontal .highslide-marker, .highslide-viewport .highslide-thumbstrip-horizontal .highslide-marker { + border-bottom-color: white !important; +} + +.highslide-thumbstrip-vertical-overlay { + overflow: hidden !important; +} +.highslide-thumbstrip-vertical div { + height: 100%; +} +.highslide-thumbstrip-vertical a { + display: block; +} +.highslide-thumbstrip-vertical .highslide-scroll-up { + display: none; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 25px; +} +.highslide-thumbstrip-vertical .highslide-scroll-up div { + margin-left: 10px; + cursor: pointer; + background: url(graphics/scrollarrows.png) top center no-repeat; + height: 25px; +} +.highslide-thumbstrip-vertical .highslide-scroll-down { + display: none; + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 25px; +} +.highslide-thumbstrip-vertical .highslide-scroll-down div { + margin-left: 10px; + cursor: pointer; + background: url(graphics/scrollarrows.png) bottom center no-repeat; + height: 25px; +} +.highslide-thumbstrip-vertical table { + margin: 10px 0 0 10px; +} +.highslide-thumbstrip-vertical img { + width: 60px; /* t=5481 */ +} +.highslide-thumbstrip-vertical .highslide-marker { + left: 0; + margin-top: 8px; + border-top-width: 6px; + border-bottom-width: 6px; + border-left: 6px solid gray; +} +.dark .highslide-thumbstrip-vertical .highslide-marker, .highslide-viewport .highslide-thumbstrip-vertical .highslide-marker { + border-left-color: white; +} + +.highslide-viewport .highslide-thumbstrip-float { + overflow: auto; +} +.highslide-thumbstrip-float ul { + margin: 2px 0; + padding: 0; +} +.highslide-thumbstrip-float li { + display: block; + height: 60px; + margin: 0 2px; + list-style: none; + float: left; +} +.highslide-thumbstrip-float img { + display: inline; + border-color: silver; + max-height: 56px; +} +.highslide-thumbstrip-float .highslide-active-anchor img { + border-color: black; +} +.highslide-thumbstrip-float .highslide-scroll-up div, .highslide-thumbstrip-float .highslide-scroll-down div { + display: none; +} +.highslide-thumbstrip-float .highslide-marker { + display: none; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.js new file mode 100644 index 0000000..f1d645b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.js @@ -0,0 +1,1891 @@ +/** + * Name: Highslide JS + * Version: 4.1.13 (2011-10-06) + * Config: default + * Author: Torstein Hønsi + * Support: www.highslide.com/support + * License: www.highslide.com/#license + */ +if (!hs) { var hs = { +// Language strings +lang : { + cssDirection: 'ltr', + loadingText : 'Loading...', + loadingTitle : 'Click to cancel', + focusTitle : 'Click to bring to front', + fullExpandTitle : 'Expand to actual size (f)', + creditsText : 'Powered by Highslide JS', + creditsTitle : 'Go to the Highslide JS homepage', + restoreTitle : 'Click to close image, click and drag to move. Use arrow keys for next and previous.' +}, +// See http://highslide.com/ref for examples of settings +graphicsDir : 'highslide/graphics/', +expandCursor : 'zoomin.cur', // null disables +restoreCursor : 'zoomout.cur', // null disables +expandDuration : 250, // milliseconds +restoreDuration : 250, +marginLeft : 15, +marginRight : 15, +marginTop : 15, +marginBottom : 15, +zIndexCounter : 1001, // adjust to other absolutely positioned elements +loadingOpacity : 0.75, +allowMultipleInstances: true, +numberOfImagesToPreload : 5, +outlineWhileAnimating : 2, // 0 = never, 1 = always, 2 = HTML only +outlineStartOffset : 3, // ends at 10 +padToMinWidth : false, // pad the popup width to make room for wide caption +fullExpandPosition : 'bottom right', +fullExpandOpacity : 1, +showCredits : true, // you can set this to false if you want +creditsHref : 'http://highslide.com/', +creditsTarget : '_self', +enableKeyListener : true, +openerTagNames : ['a'], // Add more to allow slideshow indexing + +dragByHeading: true, +minWidth: 200, +minHeight: 200, +allowSizeReduction: true, // allow the image to reduce to fit client size. If false, this overrides minWidth and minHeight +outlineType : 'drop-shadow', // set null to disable outlines +// END OF YOUR SETTINGS + + +// declare internal properties +preloadTheseImages : [], +continuePreloading: true, +expanders : [], +overrides : [ + 'allowSizeReduction', + 'useBox', + 'outlineType', + 'outlineWhileAnimating', + 'captionId', + 'captionText', + 'captionEval', + 'captionOverlay', + 'headingId', + 'headingText', + 'headingEval', + 'headingOverlay', + 'creditsPosition', + 'dragByHeading', + + 'width', + 'height', + + 'wrapperClassName', + 'minWidth', + 'minHeight', + 'maxWidth', + 'maxHeight', + 'pageOrigin', + 'slideshowGroup', + 'easing', + 'easingClose', + 'fadeInOut', + 'src' +], +overlays : [], +idCounter : 0, +oPos : { + x: ['leftpanel', 'left', 'center', 'right', 'rightpanel'], + y: ['above', 'top', 'middle', 'bottom', 'below'] +}, +mouse: {}, +headingOverlay: {}, +captionOverlay: {}, +timers : [], + +pendingOutlines : {}, +clones : {}, +onReady: [], +uaVersion: /Trident\/4\.0/.test(navigator.userAgent) ? 8 : + parseFloat((navigator.userAgent.toLowerCase().match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1]), +ie : (document.all && !window.opera), +//ie : navigator && /MSIE [678]/.test(navigator.userAgent), // ie9 compliant? +safari : /Safari/.test(navigator.userAgent), +geckoMac : /Macintosh.+rv:1\.[0-8].+Gecko/.test(navigator.userAgent), + +$ : function (id) { + if (id) return document.getElementById(id); +}, + +push : function (arr, val) { + arr[arr.length] = val; +}, + +createElement : function (tag, attribs, styles, parent, nopad) { + var el = document.createElement(tag); + if (attribs) hs.extend(el, attribs); + if (nopad) hs.setStyles(el, {padding: 0, border: 'none', margin: 0}); + if (styles) hs.setStyles(el, styles); + if (parent) parent.appendChild(el); + return el; +}, + +extend : function (el, attribs) { + for (var x in attribs) el[x] = attribs[x]; + return el; +}, + +setStyles : function (el, styles) { + for (var x in styles) { + if (hs.ieLt9 && x == 'opacity') { + if (styles[x] > 0.99) el.style.removeAttribute('filter'); + else el.style.filter = 'alpha(opacity='+ (styles[x] * 100) +')'; + } + else el.style[x] = styles[x]; + } +}, +animate: function(el, prop, opt) { + var start, + end, + unit; + if (typeof opt != 'object' || opt === null) { + var args = arguments; + opt = { + duration: args[2], + easing: args[3], + complete: args[4] + }; + } + if (typeof opt.duration != 'number') opt.duration = 250; + opt.easing = Math[opt.easing] || Math.easeInQuad; + opt.curAnim = hs.extend({}, prop); + for (var name in prop) { + var e = new hs.fx(el, opt , name ); + + start = parseFloat(hs.css(el, name)) || 0; + end = parseFloat(prop[name]); + unit = name != 'opacity' ? 'px' : ''; + + e.custom( start, end, unit ); + } +}, +css: function(el, prop) { + if (el.style[prop]) { + return el.style[prop]; + } else if (document.defaultView) { + return document.defaultView.getComputedStyle(el, null).getPropertyValue(prop); + + } else { + if (prop == 'opacity') prop = 'filter'; + var val = el.currentStyle[prop.replace(/\-(\w)/g, function (a, b){ return b.toUpperCase(); })]; + if (prop == 'filter') + val = val.replace(/alpha\(opacity=([0-9]+)\)/, + function (a, b) { return b / 100 }); + return val === '' ? 1 : val; + } +}, + +getPageSize : function () { + var d = document, w = window, iebody = d.compatMode && d.compatMode != 'BackCompat' + ? d.documentElement : d.body, + ieLt9 = hs.ie && (hs.uaVersion < 9 || typeof pageXOffset == 'undefined'); + + var width = ieLt9 ? iebody.clientWidth : + (d.documentElement.clientWidth || self.innerWidth), + height = ieLt9 ? iebody.clientHeight : self.innerHeight; + hs.page = { + width: width, + height: height, + scrollLeft: ieLt9 ? iebody.scrollLeft : pageXOffset, + scrollTop: ieLt9 ? iebody.scrollTop : pageYOffset + }; + return hs.page; +}, + +getPosition : function(el) { + var p = { x: el.offsetLeft, y: el.offsetTop }; + while (el.offsetParent) { + el = el.offsetParent; + p.x += el.offsetLeft; + p.y += el.offsetTop; + if (el != document.body && el != document.documentElement) { + p.x -= el.scrollLeft; + p.y -= el.scrollTop; + } + } + return p; +}, + +expand : function(a, params, custom, type) { + if (!a) a = hs.createElement('a', null, { display: 'none' }, hs.container); + if (typeof a.getParams == 'function') return params; + try { + new hs.Expander(a, params, custom); + return false; + } catch (e) { return true; } +}, + + +focusTopmost : function() { + var topZ = 0, + topmostKey = -1, + expanders = hs.expanders, + exp, + zIndex; + for (var i = 0; i < expanders.length; i++) { + exp = expanders[i]; + if (exp) { + zIndex = exp.wrapper.style.zIndex; + if (zIndex && zIndex > topZ) { + topZ = zIndex; + topmostKey = i; + } + } + } + if (topmostKey == -1) hs.focusKey = -1; + else expanders[topmostKey].focus(); +}, + +getParam : function (a, param) { + a.getParams = a.onclick; + var p = a.getParams ? a.getParams() : null; + a.getParams = null; + + return (p && typeof p[param] != 'undefined') ? p[param] : + (typeof hs[param] != 'undefined' ? hs[param] : null); +}, + +getSrc : function (a) { + var src = hs.getParam(a, 'src'); + if (src) return src; + return a.href; +}, + +getNode : function (id) { + var node = hs.$(id), clone = hs.clones[id], a = {}; + if (!node && !clone) return null; + if (!clone) { + clone = node.cloneNode(true); + clone.id = ''; + hs.clones[id] = clone; + return node; + } else { + return clone.cloneNode(true); + } +}, + +discardElement : function(d) { + if (d) hs.garbageBin.appendChild(d); + hs.garbageBin.innerHTML = ''; +}, +transit : function (adj, exp) { + var last = exp || hs.getExpander(); + exp = last; + if (hs.upcoming) return false; + else hs.last = last; + hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); + try { + hs.upcoming = adj; + adj.onclick(); + } catch (e){ + hs.last = hs.upcoming = null; + } + try { + exp.close(); + } catch (e) {} + return false; +}, + +previousOrNext : function (el, op) { + var exp = hs.getExpander(el); + if (exp) return hs.transit(exp.getAdjacentAnchor(op), exp); + else return false; +}, + +previous : function (el) { + return hs.previousOrNext(el, -1); +}, + +next : function (el) { + return hs.previousOrNext(el, 1); +}, + +keyHandler : function(e) { + if (!e) e = window.event; + if (!e.target) e.target = e.srcElement; // ie + if (typeof e.target.form != 'undefined') return true; // form element has focus + var exp = hs.getExpander(); + + var op = null; + switch (e.keyCode) { + case 70: // f + if (exp) exp.doFullExpand(); + return true; + case 32: // Space + case 34: // Page Down + case 39: // Arrow right + case 40: // Arrow down + op = 1; + break; + case 8: // Backspace + case 33: // Page Up + case 37: // Arrow left + case 38: // Arrow up + op = -1; + break; + case 27: // Escape + case 13: // Enter + op = 0; + } + if (op !== null) {hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); + if (!hs.enableKeyListener) return true; + + if (e.preventDefault) e.preventDefault(); + else e.returnValue = false; + if (exp) { + if (op == 0) { + exp.close(); + } else { + hs.previousOrNext(exp.key, op); + } + return false; + } + } + return true; +}, + + +registerOverlay : function (overlay) { + hs.push(hs.overlays, hs.extend(overlay, { hsId: 'hsId'+ hs.idCounter++ } )); +}, + + +getWrapperKey : function (element, expOnly) { + var el, re = /^highslide-wrapper-([0-9]+)$/; + // 1. look in open expanders + el = element; + while (el.parentNode) { + if (el.id && re.test(el.id)) return el.id.replace(re, "$1"); + el = el.parentNode; + } + // 2. look in thumbnail + if (!expOnly) { + el = element; + while (el.parentNode) { + if (el.tagName && hs.isHsAnchor(el)) { + for (var key = 0; key < hs.expanders.length; key++) { + var exp = hs.expanders[key]; + if (exp && exp.a == el) return key; + } + } + el = el.parentNode; + } + } + return null; +}, + +getExpander : function (el, expOnly) { + if (typeof el == 'undefined') return hs.expanders[hs.focusKey] || null; + if (typeof el == 'number') return hs.expanders[el] || null; + if (typeof el == 'string') el = hs.$(el); + return hs.expanders[hs.getWrapperKey(el, expOnly)] || null; +}, + +isHsAnchor : function (a) { + return (a.onclick && a.onclick.toString().replace(/\s/g, ' ').match(/hs.(htmlE|e)xpand/)); +}, + +reOrder : function () { + for (var i = 0; i < hs.expanders.length; i++) + if (hs.expanders[i] && hs.expanders[i].isExpanded) hs.focusTopmost(); +}, + +mouseClickHandler : function(e) +{ + if (!e) e = window.event; + if (e.button > 1) return true; + if (!e.target) e.target = e.srcElement; + + var el = e.target; + while (el.parentNode + && !(/highslide-(image|move|html|resize)/.test(el.className))) + { + el = el.parentNode; + } + var exp = hs.getExpander(el); + if (exp && (exp.isClosing || !exp.isExpanded)) return true; + + if (exp && e.type == 'mousedown') { + if (e.target.form) return true; + var match = el.className.match(/highslide-(image|move|resize)/); + if (match) { + hs.dragArgs = { + exp: exp , + type: match[1], + left: exp.x.pos, + width: exp.x.size, + top: exp.y.pos, + height: exp.y.size, + clickX: e.clientX, + clickY: e.clientY + }; + + + hs.addEventListener(document, 'mousemove', hs.dragHandler); + if (e.preventDefault) e.preventDefault(); // FF + + if (/highslide-(image|html)-blur/.test(exp.content.className)) { + exp.focus(); + hs.hasFocused = true; + } + return false; + } + } else if (e.type == 'mouseup') { + + hs.removeEventListener(document, 'mousemove', hs.dragHandler); + + if (hs.dragArgs) { + if (hs.styleRestoreCursor && hs.dragArgs.type == 'image') + hs.dragArgs.exp.content.style.cursor = hs.styleRestoreCursor; + var hasDragged = hs.dragArgs.hasDragged; + + if (!hasDragged &&!hs.hasFocused && !/(move|resize)/.test(hs.dragArgs.type)) { + exp.close(); + } + else if (hasDragged || (!hasDragged && hs.hasHtmlExpanders)) { + hs.dragArgs.exp.doShowHide('hidden'); + } + hs.hasFocused = false; + hs.dragArgs = null; + + } else if (/highslide-image-blur/.test(el.className)) { + el.style.cursor = hs.styleRestoreCursor; + } + } + return false; +}, + +dragHandler : function(e) +{ + if (!hs.dragArgs) return true; + if (!e) e = window.event; + var a = hs.dragArgs, exp = a.exp; + + a.dX = e.clientX - a.clickX; + a.dY = e.clientY - a.clickY; + + var distance = Math.sqrt(Math.pow(a.dX, 2) + Math.pow(a.dY, 2)); + if (!a.hasDragged) a.hasDragged = (a.type != 'image' && distance > 0) + || (distance > (hs.dragSensitivity || 5)); + + if (a.hasDragged && e.clientX > 5 && e.clientY > 5) { + + if (a.type == 'resize') exp.resize(a); + else { + exp.moveTo(a.left + a.dX, a.top + a.dY); + if (a.type == 'image') exp.content.style.cursor = 'move'; + } + } + return false; +}, + +wrapperMouseHandler : function (e) { + try { + if (!e) e = window.event; + var over = /mouseover/i.test(e.type); + if (!e.target) e.target = e.srcElement; // ie + if (!e.relatedTarget) e.relatedTarget = + over ? e.fromElement : e.toElement; // ie + var exp = hs.getExpander(e.target); + if (!exp.isExpanded) return; + if (!exp || !e.relatedTarget || hs.getExpander(e.relatedTarget, true) == exp + || hs.dragArgs) return; + for (var i = 0; i < exp.overlays.length; i++) (function() { + var o = hs.$('hsId'+ exp.overlays[i]); + if (o && o.hideOnMouseOut) { + if (over) hs.setStyles(o, { visibility: 'visible', display: '' }); + hs.animate(o, { opacity: over ? o.opacity : 0 }, o.dur); + } + })(); + } catch (e) {} +}, +addEventListener : function (el, event, func) { + if (el == document && event == 'ready') { + hs.push(hs.onReady, func); + } + try { + el.addEventListener(event, func, false); + } catch (e) { + try { + el.detachEvent('on'+ event, func); + el.attachEvent('on'+ event, func); + } catch (e) { + el['on'+ event] = func; + } + } +}, + +removeEventListener : function (el, event, func) { + try { + el.removeEventListener(event, func, false); + } catch (e) { + try { + el.detachEvent('on'+ event, func); + } catch (e) { + el['on'+ event] = null; + } + } +}, + +preloadFullImage : function (i) { + if (hs.continuePreloading && hs.preloadTheseImages[i] && hs.preloadTheseImages[i] != 'undefined') { + var img = document.createElement('img'); + img.onload = function() { + img = null; + hs.preloadFullImage(i + 1); + }; + img.src = hs.preloadTheseImages[i]; + } +}, +preloadImages : function (number) { + if (number && typeof number != 'object') hs.numberOfImagesToPreload = number; + + var arr = hs.getAnchors(); + for (var i = 0; i < arr.images.length && i < hs.numberOfImagesToPreload; i++) { + hs.push(hs.preloadTheseImages, hs.getSrc(arr.images[i])); + } + + // preload outlines + if (hs.outlineType) new hs.Outline(hs.outlineType, function () { hs.preloadFullImage(0)} ); + else + + hs.preloadFullImage(0); + + // preload cursor + if (hs.restoreCursor) var cur = hs.createElement('img', { src: hs.graphicsDir + hs.restoreCursor }); +}, + + +init : function () { + if (!hs.container) { + + hs.ieLt7 = hs.ie && hs.uaVersion < 7; + hs.ieLt9 = hs.ie && hs.uaVersion < 9; + + hs.getPageSize(); + for (var x in hs.langDefaults) { + if (typeof hs[x] != 'undefined') hs.lang[x] = hs[x]; + else if (typeof hs.lang[x] == 'undefined' && typeof hs.langDefaults[x] != 'undefined') + hs.lang[x] = hs.langDefaults[x]; + } + + hs.container = hs.createElement('div', { + className: 'highslide-container' + }, { + position: 'absolute', + left: 0, + top: 0, + width: '100%', + zIndex: hs.zIndexCounter, + direction: 'ltr' + }, + document.body, + true + ); + hs.loading = hs.createElement('a', { + className: 'highslide-loading', + title: hs.lang.loadingTitle, + innerHTML: hs.lang.loadingText, + href: 'javascript:;' + }, { + position: 'absolute', + top: '-9999px', + opacity: hs.loadingOpacity, + zIndex: 1 + }, hs.container + ); + hs.garbageBin = hs.createElement('div', null, { display: 'none' }, hs.container); + + // http://www.robertpenner.com/easing/ + Math.linearTween = function (t, b, c, d) { + return c*t/d + b; + }; + Math.easeInQuad = function (t, b, c, d) { + return c*(t/=d)*t + b; + }; + + hs.hideSelects = hs.ieLt7; + hs.hideIframes = ((window.opera && hs.uaVersion < 9) || navigator.vendor == 'KDE' + || (hs.ieLt7 && hs.uaVersion < 5.5)); + } +}, +ready : function() { + if (hs.isReady) return; + hs.isReady = true; + for (var i = 0; i < hs.onReady.length; i++) hs.onReady[i](); +}, + +updateAnchors : function() { + var el, els, all = [], images = [],groups = {}, re; + + for (var i = 0; i < hs.openerTagNames.length; i++) { + els = document.getElementsByTagName(hs.openerTagNames[i]); + for (var j = 0; j < els.length; j++) { + el = els[j]; + re = hs.isHsAnchor(el); + if (re) { + hs.push(all, el); + if (re[0] == 'hs.expand') hs.push(images, el); + var g = hs.getParam(el, 'slideshowGroup') || 'none'; + if (!groups[g]) groups[g] = []; + hs.push(groups[g], el); + } + } + } + hs.anchors = { all: all, groups: groups, images: images }; + return hs.anchors; + +}, + +getAnchors : function() { + return hs.anchors || hs.updateAnchors(); +}, + + +close : function(el) { + var exp = hs.getExpander(el); + if (exp) exp.close(); + return false; +} +}; // end hs object +hs.fx = function( elem, options, prop ){ + this.options = options; + this.elem = elem; + this.prop = prop; + + if (!options.orig) options.orig = {}; +}; +hs.fx.prototype = { + update: function(){ + (hs.fx.step[this.prop] || hs.fx.step._default)(this); + + if (this.options.step) + this.options.step.call(this.elem, this.now, this); + + }, + custom: function(from, to, unit){ + this.startTime = (new Date()).getTime(); + this.start = from; + this.end = to; + this.unit = unit;// || this.unit || "px"; + this.now = this.start; + this.pos = this.state = 0; + + var self = this; + function t(gotoEnd){ + return self.step(gotoEnd); + } + + t.elem = this.elem; + + if ( t() && hs.timers.push(t) == 1 ) { + hs.timerId = setInterval(function(){ + var timers = hs.timers; + + for ( var i = 0; i < timers.length; i++ ) + if ( !timers[i]() ) + timers.splice(i--, 1); + + if ( !timers.length ) { + clearInterval(hs.timerId); + } + }, 13); + } + }, + step: function(gotoEnd){ + var t = (new Date()).getTime(); + if ( gotoEnd || t >= this.options.duration + this.startTime ) { + this.now = this.end; + this.pos = this.state = 1; + this.update(); + + this.options.curAnim[ this.prop ] = true; + + var done = true; + for ( var i in this.options.curAnim ) + if ( this.options.curAnim[i] !== true ) + done = false; + + if ( done ) { + if (this.options.complete) this.options.complete.call(this.elem); + } + return false; + } else { + var n = t - this.startTime; + this.state = n / this.options.duration; + this.pos = this.options.easing(n, 0, 1, this.options.duration); + this.now = this.start + ((this.end - this.start) * this.pos); + this.update(); + } + return true; + } + +}; + +hs.extend( hs.fx, { + step: { + + opacity: function(fx){ + hs.setStyles(fx.elem, { opacity: fx.now }); + }, + + _default: function(fx){ + try { + if ( fx.elem.style && fx.elem.style[ fx.prop ] != null ) + fx.elem.style[ fx.prop ] = fx.now + fx.unit; + else + fx.elem[ fx.prop ] = fx.now; + } catch (e) {} + } + } +}); + +hs.Outline = function (outlineType, onLoad) { + this.onLoad = onLoad; + this.outlineType = outlineType; + var v = hs.uaVersion, tr; + + this.hasAlphaImageLoader = hs.ie && hs.uaVersion < 7; + if (!outlineType) { + if (onLoad) onLoad(); + return; + } + + hs.init(); + this.table = hs.createElement( + 'table', { + cellSpacing: 0 + }, { + visibility: 'hidden', + position: 'absolute', + borderCollapse: 'collapse', + width: 0 + }, + hs.container, + true + ); + var tbody = hs.createElement('tbody', null, null, this.table, 1); + + this.td = []; + for (var i = 0; i <= 8; i++) { + if (i % 3 == 0) tr = hs.createElement('tr', null, { height: 'auto' }, tbody, true); + this.td[i] = hs.createElement('td', null, null, tr, true); + var style = i != 4 ? { lineHeight: 0, fontSize: 0} : { position : 'relative' }; + hs.setStyles(this.td[i], style); + } + this.td[4].className = outlineType +' highslide-outline'; + + this.preloadGraphic(); +}; + +hs.Outline.prototype = { +preloadGraphic : function () { + var src = hs.graphicsDir + (hs.outlinesDir || "outlines/")+ this.outlineType +".png"; + + var appendTo = hs.safari && hs.uaVersion < 525 ? hs.container : null; + this.graphic = hs.createElement('img', null, { position: 'absolute', + top: '-9999px' }, appendTo, true); // for onload trigger + + var pThis = this; + this.graphic.onload = function() { pThis.onGraphicLoad(); }; + + this.graphic.src = src; +}, + +onGraphicLoad : function () { + var o = this.offset = this.graphic.width / 4, + pos = [[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]], + dim = { height: (2*o) +'px', width: (2*o) +'px' }; + for (var i = 0; i <= 8; i++) { + if (pos[i]) { + if (this.hasAlphaImageLoader) { + var w = (i == 1 || i == 7) ? '100%' : this.graphic.width +'px'; + var div = hs.createElement('div', null, { width: '100%', height: '100%', position: 'relative', overflow: 'hidden'}, this.td[i], true); + hs.createElement ('div', null, { + filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale, src='"+ this.graphic.src + "')", + position: 'absolute', + width: w, + height: this.graphic.height +'px', + left: (pos[i][0]*o)+'px', + top: (pos[i][1]*o)+'px' + }, + div, + true); + } else { + hs.setStyles(this.td[i], { background: 'url('+ this.graphic.src +') '+ (pos[i][0]*o)+'px '+(pos[i][1]*o)+'px'}); + } + + if (window.opera && (i == 3 || i ==5)) + hs.createElement('div', null, dim, this.td[i], true); + + hs.setStyles (this.td[i], dim); + } + } + this.graphic = null; + if (hs.pendingOutlines[this.outlineType]) hs.pendingOutlines[this.outlineType].destroy(); + hs.pendingOutlines[this.outlineType] = this; + if (this.onLoad) this.onLoad(); +}, + +setPosition : function (pos, offset, vis, dur, easing) { + var exp = this.exp, + stl = exp.wrapper.style, + offset = offset || 0, + pos = pos || { + x: exp.x.pos + offset, + y: exp.y.pos + offset, + w: exp.x.get('wsize') - 2 * offset, + h: exp.y.get('wsize') - 2 * offset + }; + if (vis) this.table.style.visibility = (pos.h >= 4 * this.offset) + ? 'visible' : 'hidden'; + hs.setStyles(this.table, { + left: (pos.x - this.offset) +'px', + top: (pos.y - this.offset) +'px', + width: (pos.w + 2 * this.offset) +'px' + }); + + pos.w -= 2 * this.offset; + pos.h -= 2 * this.offset; + hs.setStyles (this.td[4], { + width: pos.w >= 0 ? pos.w +'px' : 0, + height: pos.h >= 0 ? pos.h +'px' : 0 + }); + if (this.hasAlphaImageLoader) this.td[3].style.height + = this.td[5].style.height = this.td[4].style.height; + +}, + +destroy : function(hide) { + if (hide) this.table.style.visibility = 'hidden'; + else hs.discardElement(this.table); +} +}; + +hs.Dimension = function(exp, dim) { + this.exp = exp; + this.dim = dim; + this.ucwh = dim == 'x' ? 'Width' : 'Height'; + this.wh = this.ucwh.toLowerCase(); + this.uclt = dim == 'x' ? 'Left' : 'Top'; + this.lt = this.uclt.toLowerCase(); + this.ucrb = dim == 'x' ? 'Right' : 'Bottom'; + this.rb = this.ucrb.toLowerCase(); + this.p1 = this.p2 = 0; +}; +hs.Dimension.prototype = { +get : function(key) { + switch (key) { + case 'loadingPos': + return this.tpos + this.tb + (this.t - hs.loading['offset'+ this.ucwh]) / 2; + case 'wsize': + return this.size + 2 * this.cb + this.p1 + this.p2; + case 'fitsize': + return this.clientSize - this.marginMin - this.marginMax; + case 'maxsize': + return this.get('fitsize') - 2 * this.cb - this.p1 - this.p2 ; + case 'opos': + return this.pos - (this.exp.outline ? this.exp.outline.offset : 0); + case 'osize': + return this.get('wsize') + (this.exp.outline ? 2*this.exp.outline.offset : 0); + case 'imgPad': + return this.imgSize ? Math.round((this.size - this.imgSize) / 2) : 0; + + } +}, +calcBorders: function() { + // correct for borders + this.cb = (this.exp.content['offset'+ this.ucwh] - this.t) / 2; + + this.marginMax = hs['margin'+ this.ucrb]; +}, +calcThumb: function() { + this.t = this.exp.el[this.wh] ? parseInt(this.exp.el[this.wh]) : + this.exp.el['offset'+ this.ucwh]; + this.tpos = this.exp.tpos[this.dim]; + this.tb = (this.exp.el['offset'+ this.ucwh] - this.t) / 2; + if (this.tpos == 0 || this.tpos == -1) { + this.tpos = (hs.page[this.wh] / 2) + hs.page['scroll'+ this.uclt]; + }; +}, +calcExpanded: function() { + var exp = this.exp; + this.justify = 'auto'; + + + // size and position + this.pos = this.tpos - this.cb + this.tb; + + if (this.maxHeight && this.dim == 'x') + exp.maxWidth = Math.min(exp.maxWidth || this.full, exp.maxHeight * this.full / exp.y.full); + + this.size = Math.min(this.full, exp['max'+ this.ucwh] || this.full); + this.minSize = exp.allowSizeReduction ? + Math.min(exp['min'+ this.ucwh], this.full) :this.full; + if (exp.isImage && exp.useBox) { + this.size = exp[this.wh]; + this.imgSize = this.full; + } + if (this.dim == 'x' && hs.padToMinWidth) this.minSize = exp.minWidth; + this.marginMin = hs['margin'+ this.uclt]; + this.scroll = hs.page['scroll'+ this.uclt]; + this.clientSize = hs.page[this.wh]; +}, +setSize: function(i) { + var exp = this.exp; + if (exp.isImage && (exp.useBox || hs.padToMinWidth)) { + this.imgSize = i; + this.size = Math.max(this.size, this.imgSize); + exp.content.style[this.lt] = this.get('imgPad')+'px'; + } else + this.size = i; + + exp.content.style[this.wh] = i +'px'; + exp.wrapper.style[this.wh] = this.get('wsize') +'px'; + if (exp.outline) exp.outline.setPosition(); + if (this.dim == 'x' && exp.overlayBox) exp.sizeOverlayBox(true); +}, +setPos: function(i) { + this.pos = i; + this.exp.wrapper.style[this.lt] = i +'px'; + + if (this.exp.outline) this.exp.outline.setPosition(); + +} +}; + +hs.Expander = function(a, params, custom, contentType) { + if (document.readyState && hs.ie && !hs.isReady) { + hs.addEventListener(document, 'ready', function() { + new hs.Expander(a, params, custom, contentType); + }); + return; + } + this.a = a; + this.custom = custom; + this.contentType = contentType || 'image'; + this.isImage = !this.isHtml; + + hs.continuePreloading = false; + this.overlays = []; + hs.init(); + var key = this.key = hs.expanders.length; + // override inline parameters + for (var i = 0; i < hs.overrides.length; i++) { + var name = hs.overrides[i]; + this[name] = params && typeof params[name] != 'undefined' ? + params[name] : hs[name]; + } + if (!this.src) this.src = a.href; + + // get thumb + var el = (params && params.thumbnailId) ? hs.$(params.thumbnailId) : a; + el = this.thumb = el.getElementsByTagName('img')[0] || el; + this.thumbsUserSetId = el.id || a.id; + + // check if already open + for (var i = 0; i < hs.expanders.length; i++) { + if (hs.expanders[i] && hs.expanders[i].a == a) { + hs.expanders[i].focus(); + return false; + } + } + + // cancel other + if (!hs.allowSimultaneousLoading) for (var i = 0; i < hs.expanders.length; i++) { + if (hs.expanders[i] && hs.expanders[i].thumb != el && !hs.expanders[i].onLoadStarted) { + hs.expanders[i].cancelLoading(); + } + } + hs.expanders[key] = this; + if (!hs.allowMultipleInstances && !hs.upcoming) { + if (hs.expanders[key-1]) hs.expanders[key-1].close(); + if (typeof hs.focusKey != 'undefined' && hs.expanders[hs.focusKey]) + hs.expanders[hs.focusKey].close(); + } + + // initiate metrics + this.el = el; + this.tpos = this.pageOrigin || hs.getPosition(el); + hs.getPageSize(); + var x = this.x = new hs.Dimension(this, 'x'); + x.calcThumb(); + var y = this.y = new hs.Dimension(this, 'y'); + y.calcThumb(); + this.wrapper = hs.createElement( + 'div', { + id: 'highslide-wrapper-'+ this.key, + className: 'highslide-wrapper '+ this.wrapperClassName + }, { + visibility: 'hidden', + position: 'absolute', + zIndex: hs.zIndexCounter += 2 + }, null, true ); + + this.wrapper.onmouseover = this.wrapper.onmouseout = hs.wrapperMouseHandler; + if (this.contentType == 'image' && this.outlineWhileAnimating == 2) + this.outlineWhileAnimating = 0; + + // get the outline + if (!this.outlineType) { + this[this.contentType +'Create'](); + + } else if (hs.pendingOutlines[this.outlineType]) { + this.connectOutline(); + this[this.contentType +'Create'](); + + } else { + this.showLoading(); + var exp = this; + new hs.Outline(this.outlineType, + function () { + exp.connectOutline(); + exp[exp.contentType +'Create'](); + } + ); + } + return true; +}; + +hs.Expander.prototype = { +error : function(e) { + if (hs.debug) alert ('Line '+ e.lineNumber +': '+ e.message); + else window.location.href = this.src; +}, + +connectOutline : function() { + var outline = this.outline = hs.pendingOutlines[this.outlineType]; + outline.exp = this; + outline.table.style.zIndex = this.wrapper.style.zIndex - 1; + hs.pendingOutlines[this.outlineType] = null; +}, + +showLoading : function() { + if (this.onLoadStarted || this.loading) return; + + this.loading = hs.loading; + var exp = this; + this.loading.onclick = function() { + exp.cancelLoading(); + }; + var exp = this, + l = this.x.get('loadingPos') +'px', + t = this.y.get('loadingPos') +'px'; + setTimeout(function () { + if (exp.loading) hs.setStyles(exp.loading, { left: l, top: t, zIndex: hs.zIndexCounter++ })} + , 100); +}, + +imageCreate : function() { + var exp = this; + + var img = document.createElement('img'); + this.content = img; + img.onload = function () { + if (hs.expanders[exp.key]) exp.contentLoaded(); + }; + if (hs.blockRightClick) img.oncontextmenu = function() { return false; }; + img.className = 'highslide-image'; + hs.setStyles(img, { + visibility: 'hidden', + display: 'block', + position: 'absolute', + maxWidth: '9999px', + zIndex: 3 + }); + img.title = hs.lang.restoreTitle; + if (hs.safari && hs.uaVersion < 525) hs.container.appendChild(img); + if (hs.ie && hs.flushImgSize) img.src = null; + img.src = this.src; + + this.showLoading(); +}, + +contentLoaded : function() { + try { + if (!this.content) return; + this.content.onload = null; + if (this.onLoadStarted) return; + else this.onLoadStarted = true; + + var x = this.x, y = this.y; + + if (this.loading) { + hs.setStyles(this.loading, { top: '-9999px' }); + this.loading = null; + } + x.full = this.content.width; + y.full = this.content.height; + + hs.setStyles(this.content, { + width: x.t +'px', + height: y.t +'px' + }); + this.wrapper.appendChild(this.content); + hs.container.appendChild(this.wrapper); + + x.calcBorders(); + y.calcBorders(); + + hs.setStyles (this.wrapper, { + left: (x.tpos + x.tb - x.cb) +'px', + top: (y.tpos + x.tb - y.cb) +'px' + }); + this.getOverlays(); + + var ratio = x.full / y.full; + x.calcExpanded(); + this.justify(x); + + y.calcExpanded(); + this.justify(y); + if (this.overlayBox) this.sizeOverlayBox(0, 1); + + + if (this.allowSizeReduction) { + this.correctRatio(ratio); + if (this.isImage && this.x.full > (this.x.imgSize || this.x.size)) { + this.createFullExpand(); + if (this.overlays.length == 1) this.sizeOverlayBox(); + } + } + this.show(); + + } catch (e) { + this.error(e); + } +}, + +justify : function (p, moveOnly) { + var tgtArr, tgt = p.target, dim = p == this.x ? 'x' : 'y'; + + var hasMovedMin = false; + + var allowReduce = p.exp.allowSizeReduction; + p.pos = Math.round(p.pos - ((p.get('wsize') - p.t) / 2)); + if (p.pos < p.scroll + p.marginMin) { + p.pos = p.scroll + p.marginMin; + hasMovedMin = true; + } + if (!moveOnly && p.size < p.minSize) { + p.size = p.minSize; + allowReduce = false; + } + if (p.pos + p.get('wsize') > p.scroll + p.clientSize - p.marginMax) { + if (!moveOnly && hasMovedMin && allowReduce) { + p.size = Math.min(p.size, p.get(dim == 'y' ? 'fitsize' : 'maxsize')); + } else if (p.get('wsize') < p.get('fitsize')) { + p.pos = p.scroll + p.clientSize - p.marginMax - p.get('wsize'); + } else { // image larger than viewport + p.pos = p.scroll + p.marginMin; + if (!moveOnly && allowReduce) p.size = p.get(dim == 'y' ? 'fitsize' : 'maxsize'); + } + } + + if (!moveOnly && p.size < p.minSize) { + p.size = p.minSize; + allowReduce = false; + } + + + + if (p.pos < p.marginMin) { + var tmpMin = p.pos; + p.pos = p.marginMin; + + if (allowReduce && !moveOnly) p.size = p.size - (p.pos - tmpMin); + + } +}, + +correctRatio : function(ratio) { + var x = this.x, + y = this.y, + changed = false, + xSize = Math.min(x.full, x.size), + ySize = Math.min(y.full, y.size), + useBox = (this.useBox || hs.padToMinWidth); + + if (xSize / ySize > ratio) { // width greater + xSize = ySize * ratio; + if (xSize < x.minSize) { // below minWidth + xSize = x.minSize; + ySize = xSize / ratio; + } + changed = true; + + } else if (xSize / ySize < ratio) { // height greater + ySize = xSize / ratio; + changed = true; + } + + if (hs.padToMinWidth && x.full < x.minSize) { + x.imgSize = x.full; + y.size = y.imgSize = y.full; + } else if (this.useBox) { + x.imgSize = xSize; + y.imgSize = ySize; + } else { + x.size = xSize; + y.size = ySize; + } + changed = this.fitOverlayBox(this.useBox ? null : ratio, changed); + if (useBox && y.size < y.imgSize) { + y.imgSize = y.size; + x.imgSize = y.size * ratio; + } + if (changed || useBox) { + x.pos = x.tpos - x.cb + x.tb; + x.minSize = x.size; + this.justify(x, true); + + y.pos = y.tpos - y.cb + y.tb; + y.minSize = y.size; + this.justify(y, true); + if (this.overlayBox) this.sizeOverlayBox(); + } + + +}, +fitOverlayBox : function(ratio, changed) { + var x = this.x, y = this.y; + if (this.overlayBox) { + while (y.size > this.minHeight && x.size > this.minWidth + && y.get('wsize') > y.get('fitsize')) { + y.size -= 10; + if (ratio) x.size = y.size * ratio; + this.sizeOverlayBox(0, 1); + changed = true; + } + } + return changed; +}, + +show : function () { + var x = this.x, y = this.y; + this.doShowHide('hidden'); + + // Apply size change + this.changeSize( + 1, { + wrapper: { + width : x.get('wsize'), + height : y.get('wsize'), + left: x.pos, + top: y.pos + }, + content: { + left: x.p1 + x.get('imgPad'), + top: y.p1 + y.get('imgPad'), + width:x.imgSize ||x.size, + height:y.imgSize ||y.size + } + }, + hs.expandDuration + ); +}, + +changeSize : function(up, to, dur) { + + if (this.outline && !this.outlineWhileAnimating) { + if (up) this.outline.setPosition(); + else this.outline.destroy(); + } + + + if (!up) this.destroyOverlays(); + + var exp = this, + x = exp.x, + y = exp.y, + easing = this.easing; + if (!up) easing = this.easingClose || easing; + var after = up ? + function() { + + if (exp.outline) exp.outline.table.style.visibility = "visible"; + setTimeout(function() { + exp.afterExpand(); + }, 50); + } : + function() { + exp.afterClose(); + }; + if (up) hs.setStyles( this.wrapper, { + width: x.t +'px', + height: y.t +'px' + }); + if (this.fadeInOut) { + hs.setStyles(this.wrapper, { opacity: up ? 0 : 1 }); + hs.extend(to.wrapper, { opacity: up }); + } + hs.animate( this.wrapper, to.wrapper, { + duration: dur, + easing: easing, + step: function(val, args) { + if (exp.outline && exp.outlineWhileAnimating && args.prop == 'top') { + var fac = up ? args.pos : 1 - args.pos; + var pos = { + w: x.t + (x.get('wsize') - x.t) * fac, + h: y.t + (y.get('wsize') - y.t) * fac, + x: x.tpos + (x.pos - x.tpos) * fac, + y: y.tpos + (y.pos - y.tpos) * fac + }; + exp.outline.setPosition(pos, 0, 1); + } + } + }); + hs.animate( this.content, to.content, dur, easing, after); + if (up) { + this.wrapper.style.visibility = 'visible'; + this.content.style.visibility = 'visible'; + this.a.className += ' highslide-active-anchor'; + } +}, + + + + +afterExpand : function() { + this.isExpanded = true; + this.focus(); + if (hs.upcoming && hs.upcoming == this.a) hs.upcoming = null; + this.prepareNextOutline(); + var p = hs.page, mX = hs.mouse.x + p.scrollLeft, mY = hs.mouse.y + p.scrollTop; + this.mouseIsOver = this.x.pos < mX && mX < this.x.pos + this.x.get('wsize') + && this.y.pos < mY && mY < this.y.pos + this.y.get('wsize'); + if (this.overlayBox) this.showOverlays(); + +}, + + +prepareNextOutline : function() { + var key = this.key; + var outlineType = this.outlineType; + new hs.Outline(outlineType, + function () { try { hs.expanders[key].preloadNext(); } catch (e) {} }); +}, + + +preloadNext : function() { + var next = this.getAdjacentAnchor(1); + if (next && next.onclick.toString().match(/hs\.expand/)) + var img = hs.createElement('img', { src: hs.getSrc(next) }); +}, + + +getAdjacentAnchor : function(op) { + var current = this.getAnchorIndex(), as = hs.anchors.groups[this.slideshowGroup || 'none']; + return (as && as[current + op]) || null; +}, + +getAnchorIndex : function() { + var arr = hs.getAnchors().groups[this.slideshowGroup || 'none']; + if (arr) for (var i = 0; i < arr.length; i++) { + if (arr[i] == this.a) return i; + } + return null; +}, + + +cancelLoading : function() { + hs.discardElement (this.wrapper); + hs.expanders[this.key] = null; + if (this.loading) hs.loading.style.left = '-9999px'; +}, + +writeCredits : function () { + this.credits = hs.createElement('a', { + href: hs.creditsHref, + target: hs.creditsTarget, + className: 'highslide-credits', + innerHTML: hs.lang.creditsText, + title: hs.lang.creditsTitle + }); + this.createOverlay({ + overlayId: this.credits, + position: this.creditsPosition || 'top left' + }); +}, + +getInline : function(types, addOverlay) { + for (var i = 0; i < types.length; i++) { + var type = types[i], s = null; + if (!this[type +'Id'] && this.thumbsUserSetId) + this[type +'Id'] = type +'-for-'+ this.thumbsUserSetId; + if (this[type +'Id']) this[type] = hs.getNode(this[type +'Id']); + if (!this[type] && !this[type +'Text'] && this[type +'Eval']) try { + s = eval(this[type +'Eval']); + } catch (e) {} + if (!this[type] && this[type +'Text']) { + s = this[type +'Text']; + } + if (!this[type] && !s) { + this[type] = hs.getNode(this.a['_'+ type + 'Id']); + if (!this[type]) { + var next = this.a.nextSibling; + while (next && !hs.isHsAnchor(next)) { + if ((new RegExp('highslide-'+ type)).test(next.className || null)) { + if (!next.id) this.a['_'+ type + 'Id'] = next.id = 'hsId'+ hs.idCounter++; + this[type] = hs.getNode(next.id); + break; + } + next = next.nextSibling; + } + } + } + + if (!this[type] && s) this[type] = hs.createElement('div', + { className: 'highslide-'+ type, innerHTML: s } ); + + if (addOverlay && this[type]) { + var o = { position: (type == 'heading') ? 'above' : 'below' }; + for (var x in this[type+'Overlay']) o[x] = this[type+'Overlay'][x]; + o.overlayId = this[type]; + this.createOverlay(o); + } + } +}, + + +// on end move and resize +doShowHide : function(visibility) { + if (hs.hideSelects) this.showHideElements('SELECT', visibility); + if (hs.hideIframes) this.showHideElements('IFRAME', visibility); + if (hs.geckoMac) this.showHideElements('*', visibility); +}, +showHideElements : function (tagName, visibility) { + var els = document.getElementsByTagName(tagName); + var prop = tagName == '*' ? 'overflow' : 'visibility'; + for (var i = 0; i < els.length; i++) { + if (prop == 'visibility' || (document.defaultView.getComputedStyle( + els[i], "").getPropertyValue('overflow') == 'auto' + || els[i].getAttribute('hidden-by') != null)) { + var hiddenBy = els[i].getAttribute('hidden-by'); + if (visibility == 'visible' && hiddenBy) { + hiddenBy = hiddenBy.replace('['+ this.key +']', ''); + els[i].setAttribute('hidden-by', hiddenBy); + if (!hiddenBy) els[i].style[prop] = els[i].origProp; + } else if (visibility == 'hidden') { // hide if behind + var elPos = hs.getPosition(els[i]); + elPos.w = els[i].offsetWidth; + elPos.h = els[i].offsetHeight; + + + var clearsX = (elPos.x + elPos.w < this.x.get('opos') + || elPos.x > this.x.get('opos') + this.x.get('osize')); + var clearsY = (elPos.y + elPos.h < this.y.get('opos') + || elPos.y > this.y.get('opos') + this.y.get('osize')); + var wrapperKey = hs.getWrapperKey(els[i]); + if (!clearsX && !clearsY && wrapperKey != this.key) { // element falls behind image + if (!hiddenBy) { + els[i].setAttribute('hidden-by', '['+ this.key +']'); + els[i].origProp = els[i].style[prop]; + els[i].style[prop] = 'hidden'; + + } else if (hiddenBy.indexOf('['+ this.key +']') == -1) { + els[i].setAttribute('hidden-by', hiddenBy + '['+ this.key +']'); + } + } else if ((hiddenBy == '['+ this.key +']' || hs.focusKey == wrapperKey) + && wrapperKey != this.key) { // on move + els[i].setAttribute('hidden-by', ''); + els[i].style[prop] = els[i].origProp || ''; + } else if (hiddenBy && hiddenBy.indexOf('['+ this.key +']') > -1) { + els[i].setAttribute('hidden-by', hiddenBy.replace('['+ this.key +']', '')); + } + + } + } + } +}, + +focus : function() { + this.wrapper.style.zIndex = hs.zIndexCounter += 2; + // blur others + for (var i = 0; i < hs.expanders.length; i++) { + if (hs.expanders[i] && i == hs.focusKey) { + var blurExp = hs.expanders[i]; + blurExp.content.className += ' highslide-'+ blurExp.contentType +'-blur'; + blurExp.content.style.cursor = hs.ieLt7 ? 'hand' : 'pointer'; + blurExp.content.title = hs.lang.focusTitle; + } + } + + // focus this + if (this.outline) this.outline.table.style.zIndex + = this.wrapper.style.zIndex - 1; + this.content.className = 'highslide-'+ this.contentType; + this.content.title = hs.lang.restoreTitle; + + if (hs.restoreCursor) { + hs.styleRestoreCursor = window.opera ? 'pointer' : 'url('+ hs.graphicsDir + hs.restoreCursor +'), pointer'; + if (hs.ieLt7 && hs.uaVersion < 6) hs.styleRestoreCursor = 'hand'; + this.content.style.cursor = hs.styleRestoreCursor; + } + + hs.focusKey = this.key; + hs.addEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); +}, +moveTo: function(x, y) { + this.x.setPos(x); + this.y.setPos(y); +}, +resize : function (e) { + var w, h, r = e.width / e.height; + w = Math.max(e.width + e.dX, Math.min(this.minWidth, this.x.full)); + if (this.isImage && Math.abs(w - this.x.full) < 12) w = this.x.full; + h = w / r; + if (h < Math.min(this.minHeight, this.y.full)) { + h = Math.min(this.minHeight, this.y.full); + if (this.isImage) w = h * r; + } + this.resizeTo(w, h); +}, +resizeTo: function(w, h) { + this.y.setSize(h); + this.x.setSize(w); + this.wrapper.style.height = this.y.get('wsize') +'px'; +}, + +close : function() { + if (this.isClosing || !this.isExpanded) return; + this.isClosing = true; + + hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); + + try { + this.content.style.cursor = 'default'; + this.changeSize( + 0, { + wrapper: { + width : this.x.t, + height : this.y.t, + left: this.x.tpos - this.x.cb + this.x.tb, + top: this.y.tpos - this.y.cb + this.y.tb + }, + content: { + left: 0, + top: 0, + width: this.x.t, + height: this.y.t + } + }, hs.restoreDuration + ); + } catch (e) { this.afterClose(); } +}, + +createOverlay : function (o) { + var el = o.overlayId; + if (typeof el == 'string') el = hs.getNode(el); + if (o.html) el = hs.createElement('div', { innerHTML: o.html }); + if (!el || typeof el == 'string') return; + el.style.display = 'block'; + this.genOverlayBox(); + var width = o.width && /^[0-9]+(px|%)$/.test(o.width) ? o.width : 'auto'; + if (/^(left|right)panel$/.test(o.position) && !/^[0-9]+px$/.test(o.width)) width = '200px'; + var overlay = hs.createElement( + 'div', { + id: 'hsId'+ hs.idCounter++, + hsId: o.hsId + }, { + position: 'absolute', + visibility: 'hidden', + width: width, + direction: hs.lang.cssDirection || '', + opacity: 0 + },this.overlayBox, + true + ); + + overlay.appendChild(el); + hs.extend(overlay, { + opacity: 1, + offsetX: 0, + offsetY: 0, + dur: (o.fade === 0 || o.fade === false || (o.fade == 2 && hs.ie)) ? 0 : 250 + }); + hs.extend(overlay, o); + + + if (this.gotOverlays) { + this.positionOverlay(overlay); + if (!overlay.hideOnMouseOut || this.mouseIsOver) + hs.animate(overlay, { opacity: overlay.opacity }, overlay.dur); + } + hs.push(this.overlays, hs.idCounter - 1); +}, +positionOverlay : function(overlay) { + var p = overlay.position || 'middle center', + offX = overlay.offsetX, + offY = overlay.offsetY; + if (overlay.parentNode != this.overlayBox) this.overlayBox.appendChild(overlay); + if (/left$/.test(p)) overlay.style.left = offX +'px'; + + if (/center$/.test(p)) hs.setStyles (overlay, { + left: '50%', + marginLeft: (offX - Math.round(overlay.offsetWidth / 2)) +'px' + }); + + if (/right$/.test(p)) overlay.style.right = - offX +'px'; + + if (/^leftpanel$/.test(p)) { + hs.setStyles(overlay, { + right: '100%', + marginRight: this.x.cb +'px', + top: - this.y.cb +'px', + bottom: - this.y.cb +'px', + overflow: 'auto' + }); + this.x.p1 = overlay.offsetWidth; + + } else if (/^rightpanel$/.test(p)) { + hs.setStyles(overlay, { + left: '100%', + marginLeft: this.x.cb +'px', + top: - this.y.cb +'px', + bottom: - this.y.cb +'px', + overflow: 'auto' + }); + this.x.p2 = overlay.offsetWidth; + } + + if (/^top/.test(p)) overlay.style.top = offY +'px'; + if (/^middle/.test(p)) hs.setStyles (overlay, { + top: '50%', + marginTop: (offY - Math.round(overlay.offsetHeight / 2)) +'px' + }); + if (/^bottom/.test(p)) overlay.style.bottom = - offY +'px'; + if (/^above$/.test(p)) { + hs.setStyles(overlay, { + left: (- this.x.p1 - this.x.cb) +'px', + right: (- this.x.p2 - this.x.cb) +'px', + bottom: '100%', + marginBottom: this.y.cb +'px', + width: 'auto' + }); + this.y.p1 = overlay.offsetHeight; + + } else if (/^below$/.test(p)) { + hs.setStyles(overlay, { + position: 'relative', + left: (- this.x.p1 - this.x.cb) +'px', + right: (- this.x.p2 - this.x.cb) +'px', + top: '100%', + marginTop: this.y.cb +'px', + width: 'auto' + }); + this.y.p2 = overlay.offsetHeight; + overlay.style.position = 'absolute'; + } +}, + +getOverlays : function() { + this.getInline(['heading', 'caption'], true); + if (this.heading && this.dragByHeading) this.heading.className += ' highslide-move'; + if (hs.showCredits) this.writeCredits(); + for (var i = 0; i < hs.overlays.length; i++) { + var o = hs.overlays[i], tId = o.thumbnailId, sg = o.slideshowGroup; + if ((!tId && !sg) || (tId && tId == this.thumbsUserSetId) + || (sg && sg === this.slideshowGroup)) { + this.createOverlay(o); + } + } + var os = []; + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + if (/panel$/.test(o.position)) this.positionOverlay(o); + else hs.push(os, o); + } + for (var i = 0; i < os.length; i++) this.positionOverlay(os[i]); + this.gotOverlays = true; +}, +genOverlayBox : function() { + if (!this.overlayBox) this.overlayBox = hs.createElement ( + 'div', { + className: this.wrapperClassName + }, { + position : 'absolute', + width: (this.x.size || (this.useBox ? this.width : null) + || this.x.full) +'px', + height: (this.y.size || this.y.full) +'px', + visibility : 'hidden', + overflow : 'hidden', + zIndex : hs.ie ? 4 : 'auto' + }, + hs.container, + true + ); +}, +sizeOverlayBox : function(doWrapper, doPanels) { + var overlayBox = this.overlayBox, + x = this.x, + y = this.y; + hs.setStyles( overlayBox, { + width: x.size +'px', + height: y.size +'px' + }); + if (doWrapper || doPanels) { + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + var ie6 = (hs.ieLt7 || document.compatMode == 'BackCompat'); + if (o && /^(above|below)$/.test(o.position)) { + if (ie6) { + o.style.width = (overlayBox.offsetWidth + 2 * x.cb + + x.p1 + x.p2) +'px'; + } + y[o.position == 'above' ? 'p1' : 'p2'] = o.offsetHeight; + } + if (o && ie6 && /^(left|right)panel$/.test(o.position)) { + o.style.height = (overlayBox.offsetHeight + 2* y.cb) +'px'; + } + } + } + if (doWrapper) { + hs.setStyles(this.content, { + top: y.p1 +'px' + }); + hs.setStyles(overlayBox, { + top: (y.p1 + y.cb) +'px' + }); + } +}, + +showOverlays : function() { + var b = this.overlayBox; + b.className = ''; + hs.setStyles(b, { + top: (this.y.p1 + this.y.cb) +'px', + left: (this.x.p1 + this.x.cb) +'px', + overflow : 'visible' + }); + if (hs.safari) b.style.visibility = 'visible'; + this.wrapper.appendChild (b); + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + o.style.zIndex = o.zIndex || 4; + if (!o.hideOnMouseOut || this.mouseIsOver) { + o.style.visibility = 'visible'; + hs.setStyles(o, { visibility: 'visible', display: '' }); + hs.animate(o, { opacity: o.opacity }, o.dur); + } + } +}, + +destroyOverlays : function() { + if (!this.overlays.length) return; + hs.discardElement(this.overlayBox); +}, + + + +createFullExpand : function () { + this.fullExpandLabel = hs.createElement( + 'a', { + href: 'javascript:hs.expanders['+ this.key +'].doFullExpand();', + title: hs.lang.fullExpandTitle, + className: 'highslide-full-expand' + } + ); + + this.createOverlay({ + overlayId: this.fullExpandLabel, + position: hs.fullExpandPosition, + hideOnMouseOut: true, + opacity: hs.fullExpandOpacity + }); +}, + +doFullExpand : function () { + try { + if (this.fullExpandLabel) hs.discardElement(this.fullExpandLabel); + + this.focus(); + var xSize = this.x.size, + ySize = this.y.size; + this.resizeTo(this.x.full, this.y.full); + + var xpos = this.x.pos - (this.x.size - xSize) / 2; + if (xpos < hs.marginLeft) xpos = hs.marginLeft; + + var ypos = this.y.pos - (this.y.size - ySize) / 2; + if (ypos < hs.marginTop) ypos = hs.marginTop; + + this.moveTo(xpos, ypos); + this.doShowHide('hidden'); + + } catch (e) { + this.error(e); + } +}, + + +afterClose : function () { + this.a.className = this.a.className.replace('highslide-active-anchor', ''); + + this.doShowHide('visible'); + if (this.outline && this.outlineWhileAnimating) this.outline.destroy(); + + hs.discardElement(this.wrapper); + + hs.expanders[this.key] = null; + hs.reOrder(); +} + +}; +hs.langDefaults = hs.lang; +// history +var HsExpander = hs.Expander; +if (hs.ie && window == window.top) { + (function () { + try { + document.documentElement.doScroll('left'); + } catch (e) { + setTimeout(arguments.callee, 50); + return; + } + hs.ready(); + })(); +} +hs.addEventListener(document, 'DOMContentLoaded', hs.ready); +hs.addEventListener(window, 'load', hs.ready); + +// set handlers +hs.addEventListener(document, 'ready', function() { + if (hs.expandCursor) { + var style = hs.createElement('style', { type: 'text/css' }, null, + document.getElementsByTagName('HEAD')[0]), + backCompat = document.compatMode == 'BackCompat'; + + + function addRule(sel, dec) { + if (hs.ie && (hs.uaVersion < 9 || backCompat)) { + var last = document.styleSheets[document.styleSheets.length - 1]; + if (typeof(last.addRule) == "object") last.addRule(sel, dec); + } else { + style.appendChild(document.createTextNode(sel + " {" + dec + "}")); + } + } + function fix(prop) { + return 'expression( ( ( ignoreMe = document.documentElement.'+ prop + + ' ? document.documentElement.'+ prop +' : document.body.'+ prop +' ) ) + \'px\' );'; + } + if (hs.expandCursor) addRule ('.highslide img', + 'cursor: url('+ hs.graphicsDir + hs.expandCursor +'), pointer !important;'); + } +}); +hs.addEventListener(window, 'resize', function() { + hs.getPageSize(); +}); +hs.addEventListener(document, 'mousemove', function(e) { + hs.mouse = { x: e.clientX, y: e.clientY }; +}); +hs.addEventListener(document, 'mousedown', hs.mouseClickHandler); +hs.addEventListener(document, 'mouseup', hs.mouseClickHandler); + +hs.addEventListener(document, 'ready', hs.getAnchors); +hs.addEventListener(window, 'load', hs.preloadImages); +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.min.js new file mode 100644 index 0000000..44e11b9 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.min.js @@ -0,0 +1,9 @@ +/** + * Name: Highslide JS + * Version: 4.1.13 (2011-10-06) + * Config: default + * Author: Torstein Hønsi + * Support: www.highslide.com/support + * License: www.highslide.com/#license + */ +if(!hs){var hs={lang:{cssDirection:"ltr",loadingText:"Loading...",loadingTitle:"Click to cancel",focusTitle:"Click to bring to front",fullExpandTitle:"Expand to actual size (f)",creditsText:"Powered by Highslide JS",creditsTitle:"Go to the Highslide JS homepage",restoreTitle:"Click to close image, click and drag to move. Use arrow keys for next and previous."},graphicsDir:"highslide/graphics/",expandCursor:"zoomin.cur",restoreCursor:"zoomout.cur",expandDuration:250,restoreDuration:250,marginLeft:15,marginRight:15,marginTop:15,marginBottom:15,zIndexCounter:1001,loadingOpacity:0.75,allowMultipleInstances:true,numberOfImagesToPreload:5,outlineWhileAnimating:2,outlineStartOffset:3,padToMinWidth:false,fullExpandPosition:"bottom right",fullExpandOpacity:1,showCredits:true,creditsHref:"http://highslide.com/",creditsTarget:"_self",enableKeyListener:true,openerTagNames:["a"],dragByHeading:true,minWidth:200,minHeight:200,allowSizeReduction:true,outlineType:"drop-shadow",preloadTheseImages:[],continuePreloading:true,expanders:[],overrides:["allowSizeReduction","useBox","outlineType","outlineWhileAnimating","captionId","captionText","captionEval","captionOverlay","headingId","headingText","headingEval","headingOverlay","creditsPosition","dragByHeading","width","height","wrapperClassName","minWidth","minHeight","maxWidth","maxHeight","pageOrigin","slideshowGroup","easing","easingClose","fadeInOut","src"],overlays:[],idCounter:0,oPos:{x:["leftpanel","left","center","right","rightpanel"],y:["above","top","middle","bottom","below"]},mouse:{},headingOverlay:{},captionOverlay:{},timers:[],pendingOutlines:{},clones:{},onReady:[],uaVersion:/Trident\/4\.0/.test(navigator.userAgent)?8:parseFloat((navigator.userAgent.toLowerCase().match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1]),ie:(document.all&&!window.opera),safari:/Safari/.test(navigator.userAgent),geckoMac:/Macintosh.+rv:1\.[0-8].+Gecko/.test(navigator.userAgent),$:function(a){if(a){return document.getElementById(a)}},push:function(a,b){a[a.length]=b},createElement:function(a,f,e,d,c){var b=document.createElement(a);if(f){hs.extend(b,f)}if(c){hs.setStyles(b,{padding:0,border:"none",margin:0})}if(e){hs.setStyles(b,e)}if(d){d.appendChild(b)}return b},extend:function(b,c){for(var a in c){b[a]=c[a]}return b},setStyles:function(b,c){for(var a in c){if(hs.ieLt9&&a=="opacity"){if(c[a]>0.99){b.style.removeAttribute("filter")}else{b.style.filter="alpha(opacity="+(c[a]*100)+")"}}else{b.style[a]=c[a]}}},animate:function(f,a,d){var c,g,j;if(typeof d!="object"||d===null){var i=arguments;d={duration:i[2],easing:i[3],complete:i[4]}}if(typeof d.duration!="number"){d.duration=250}d.easing=Math[d.easing]||Math.easeInQuad;d.curAnim=hs.extend({},a);for(var b in a){var h=new hs.fx(f,d,b);c=parseFloat(hs.css(f,b))||0;g=parseFloat(a[b]);j=b!="opacity"?"px":"";h.custom(c,g,j)}},css:function(a,c){if(a.style[c]){return a.style[c]}else{if(document.defaultView){return document.defaultView.getComputedStyle(a,null).getPropertyValue(c)}else{if(c=="opacity"){c="filter"}var b=a.currentStyle[c.replace(/\-(\w)/g,function(e,d){return d.toUpperCase()})];if(c=="filter"){b=b.replace(/alpha\(opacity=([0-9]+)\)/,function(e,d){return d/100})}return b===""?1:b}}},getPageSize:function(){var f=document,b=window,e=f.compatMode&&f.compatMode!="BackCompat"?f.documentElement:f.body,g=hs.ie&&(hs.uaVersion<9||typeof pageXOffset=="undefined");var c=g?e.clientWidth:(f.documentElement.clientWidth||self.innerWidth),a=g?e.clientHeight:self.innerHeight;hs.page={width:c,height:a,scrollLeft:g?e.scrollLeft:pageXOffset,scrollTop:g?e.scrollTop:pageYOffset};return hs.page},getPosition:function(a){var b={x:a.offsetLeft,y:a.offsetTop};while(a.offsetParent){a=a.offsetParent;b.x+=a.offsetLeft;b.y+=a.offsetTop;if(a!=document.body&&a!=document.documentElement){b.x-=a.scrollLeft;b.y-=a.scrollTop}}return b},expand:function(b,g,d,c){if(!b){b=hs.createElement("a",null,{display:"none"},hs.container)}if(typeof b.getParams=="function"){return g}try{new hs.Expander(b,g,d);return false}catch(f){return true}},focusTopmost:function(){var c=0,b=-1,a=hs.expanders,e,f;for(var d=0;dc){c=f;b=d}}}if(b==-1){hs.focusKey=-1}else{a[b].focus()}},getParam:function(b,d){b.getParams=b.onclick;var c=b.getParams?b.getParams():null;b.getParams=null;return(c&&typeof c[d]!="undefined")?c[d]:(typeof hs[d]!="undefined"?hs[d]:null)},getSrc:function(b){var c=hs.getParam(b,"src");if(c){return c}return b.href},getNode:function(e){var c=hs.$(e),d=hs.clones[e],b={};if(!c&&!d){return null}if(!d){d=c.cloneNode(true);d.id="";hs.clones[e]=d;return c}else{return d.cloneNode(true)}},discardElement:function(a){if(a){hs.garbageBin.appendChild(a)}hs.garbageBin.innerHTML=""},transit:function(a,d){var b=d||hs.getExpander();d=b;if(hs.upcoming){return false}else{hs.last=b}hs.removeEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler);try{hs.upcoming=a;a.onclick()}catch(c){hs.last=hs.upcoming=null}try{d.close()}catch(c){}return false},previousOrNext:function(a,c){var b=hs.getExpander(a);if(b){return hs.transit(b.getAdjacentAnchor(c),b)}else{return false}},previous:function(a){return hs.previousOrNext(a,-1)},next:function(a){return hs.previousOrNext(a,1)},keyHandler:function(a){if(!a){a=window.event}if(!a.target){a.target=a.srcElement}if(typeof a.target.form!="undefined"){return true}var b=hs.getExpander();var c=null;switch(a.keyCode){case 70:if(b){b.doFullExpand()}return true;case 32:case 34:case 39:case 40:c=1;break;case 8:case 33:case 37:case 38:c=-1;break;case 27:case 13:c=0}if(c!==null){hs.removeEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler);if(!hs.enableKeyListener){return true}if(a.preventDefault){a.preventDefault()}else{a.returnValue=false}if(b){if(c==0){b.close()}else{hs.previousOrNext(b.key,c)}return false}}return true},registerOverlay:function(a){hs.push(hs.overlays,hs.extend(a,{hsId:"hsId"+hs.idCounter++}))},getWrapperKey:function(c,b){var e,d=/^highslide-wrapper-([0-9]+)$/;e=c;while(e.parentNode){if(e.id&&d.test(e.id)){return e.id.replace(d,"$1")}e=e.parentNode}if(!b){e=c;while(e.parentNode){if(e.tagName&&hs.isHsAnchor(e)){for(var a=0;a1){return true}if(!d.target){d.target=d.srcElement}var b=d.target;while(b.parentNode&&!(/highslide-(image|move|html|resize)/.test(b.className))){b=b.parentNode}var f=hs.getExpander(b);if(f&&(f.isClosing||!f.isExpanded)){return true}if(f&&d.type=="mousedown"){if(d.target.form){return true}var a=b.className.match(/highslide-(image|move|resize)/);if(a){hs.dragArgs={exp:f,type:a[1],left:f.x.pos,width:f.x.size,top:f.y.pos,height:f.y.size,clickX:d.clientX,clickY:d.clientY};hs.addEventListener(document,"mousemove",hs.dragHandler);if(d.preventDefault){d.preventDefault()}if(/highslide-(image|html)-blur/.test(f.content.className)){f.focus();hs.hasFocused=true}return false}}else{if(d.type=="mouseup"){hs.removeEventListener(document,"mousemove",hs.dragHandler);if(hs.dragArgs){if(hs.styleRestoreCursor&&hs.dragArgs.type=="image"){hs.dragArgs.exp.content.style.cursor=hs.styleRestoreCursor}var c=hs.dragArgs.hasDragged;if(!c&&!hs.hasFocused&&!/(move|resize)/.test(hs.dragArgs.type)){f.close()}else{if(c||(!c&&hs.hasHtmlExpanders)){hs.dragArgs.exp.doShowHide("hidden")}}hs.hasFocused=false;hs.dragArgs=null}else{if(/highslide-image-blur/.test(b.className)){b.style.cursor=hs.styleRestoreCursor}}}}return false},dragHandler:function(c){if(!hs.dragArgs){return true}if(!c){c=window.event}var b=hs.dragArgs,d=b.exp;b.dX=c.clientX-b.clickX;b.dY=c.clientY-b.clickY;var f=Math.sqrt(Math.pow(b.dX,2)+Math.pow(b.dY,2));if(!b.hasDragged){b.hasDragged=(b.type!="image"&&f>0)||(f>(hs.dragSensitivity||5))}if(b.hasDragged&&c.clientX>5&&c.clientY>5){if(b.type=="resize"){d.resize(b)}else{d.moveTo(b.left+b.dX,b.top+b.dY);if(b.type=="image"){d.content.style.cursor="move"}}}return false},wrapperMouseHandler:function(c){try{if(!c){c=window.event}var b=/mouseover/i.test(c.type);if(!c.target){c.target=c.srcElement}if(!c.relatedTarget){c.relatedTarget=b?c.fromElement:c.toElement}var d=hs.getExpander(c.target);if(!d.isExpanded){return}if(!d||!c.relatedTarget||hs.getExpander(c.relatedTarget,true)==d||hs.dragArgs){return}for(var a=0;a=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var a=true;for(var b in this.options.curAnim){if(this.options.curAnim[b]!==true){a=false}}if(a){if(this.options.complete){this.options.complete.call(this.elem)}}return false}else{var e=c-this.startTime;this.state=e/this.options.duration;this.pos=this.options.easing(e,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};hs.extend(hs.fx,{step:{opacity:function(a){hs.setStyles(a.elem,{opacity:a.now})},_default:function(a){try{if(a.elem.style&&a.elem.style[a.prop]!=null){a.elem.style[a.prop]=a.now+a.unit}else{a.elem[a.prop]=a.now}}catch(b){}}}});hs.Outline=function(g,e){this.onLoad=e;this.outlineType=g;var a=hs.uaVersion,f;this.hasAlphaImageLoader=hs.ie&&hs.uaVersion<7;if(!g){if(e){e()}return}hs.init();this.table=hs.createElement("table",{cellSpacing:0},{visibility:"hidden",position:"absolute",borderCollapse:"collapse",width:0},hs.container,true);var b=hs.createElement("tbody",null,null,this.table,1);this.td=[];for(var c=0;c<=8;c++){if(c%3==0){f=hs.createElement("tr",null,{height:"auto"},b,true)}this.td[c]=hs.createElement("td",null,null,f,true);var d=c!=4?{lineHeight:0,fontSize:0}:{position:"relative"};hs.setStyles(this.td[c],d)}this.td[4].className=g+" highslide-outline";this.preloadGraphic()};hs.Outline.prototype={preloadGraphic:function(){var b=hs.graphicsDir+(hs.outlinesDir||"outlines/")+this.outlineType+".png";var a=hs.safari&&hs.uaVersion<525?hs.container:null;this.graphic=hs.createElement("img",null,{position:"absolute",top:"-9999px"},a,true);var c=this;this.graphic.onload=function(){c.onGraphicLoad()};this.graphic.src=b},onGraphicLoad:function(){var d=this.offset=this.graphic.width/4,f=[[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]],c={height:(2*d)+"px",width:(2*d)+"px"};for(var b=0;b<=8;b++){if(f[b]){if(this.hasAlphaImageLoader){var a=(b==1||b==7)?"100%":this.graphic.width+"px";var e=hs.createElement("div",null,{width:"100%",height:"100%",position:"relative",overflow:"hidden"},this.td[b],true);hs.createElement("div",null,{filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale, src='"+this.graphic.src+"')",position:"absolute",width:a,height:this.graphic.height+"px",left:(f[b][0]*d)+"px",top:(f[b][1]*d)+"px"},e,true)}else{hs.setStyles(this.td[b],{background:"url("+this.graphic.src+") "+(f[b][0]*d)+"px "+(f[b][1]*d)+"px"})}if(window.opera&&(b==3||b==5)){hs.createElement("div",null,c,this.td[b],true)}hs.setStyles(this.td[b],c)}}this.graphic=null;if(hs.pendingOutlines[this.outlineType]){hs.pendingOutlines[this.outlineType].destroy()}hs.pendingOutlines[this.outlineType]=this;if(this.onLoad){this.onLoad()}},setPosition:function(g,e,c,b,f){var d=this.exp,a=d.wrapper.style,e=e||0,g=g||{x:d.x.pos+e,y:d.y.pos+e,w:d.x.get("wsize")-2*e,h:d.y.get("wsize")-2*e};if(c){this.table.style.visibility=(g.h>=4*this.offset)?"visible":"hidden"}hs.setStyles(this.table,{left:(g.x-this.offset)+"px",top:(g.y-this.offset)+"px",width:(g.w+2*this.offset)+"px"});g.w-=2*this.offset;g.h-=2*this.offset;hs.setStyles(this.td[4],{width:g.w>=0?g.w+"px":0,height:g.h>=0?g.h+"px":0});if(this.hasAlphaImageLoader){this.td[3].style.height=this.td[5].style.height=this.td[4].style.height}},destroy:function(a){if(a){this.table.style.visibility="hidden"}else{hs.discardElement(this.table)}}};hs.Dimension=function(b,a){this.exp=b;this.dim=a;this.ucwh=a=="x"?"Width":"Height";this.wh=this.ucwh.toLowerCase();this.uclt=a=="x"?"Left":"Top";this.lt=this.uclt.toLowerCase();this.ucrb=a=="x"?"Right":"Bottom";this.rb=this.ucrb.toLowerCase();this.p1=this.p2=0};hs.Dimension.prototype={get:function(a){switch(a){case"loadingPos":return this.tpos+this.tb+(this.t-hs.loading["offset"+this.ucwh])/2;case"wsize":return this.size+2*this.cb+this.p1+this.p2;case"fitsize":return this.clientSize-this.marginMin-this.marginMax;case"maxsize":return this.get("fitsize")-2*this.cb-this.p1-this.p2;case"opos":return this.pos-(this.exp.outline?this.exp.outline.offset:0);case"osize":return this.get("wsize")+(this.exp.outline?2*this.exp.outline.offset:0);case"imgPad":return this.imgSize?Math.round((this.size-this.imgSize)/2):0}},calcBorders:function(){this.cb=(this.exp.content["offset"+this.ucwh]-this.t)/2;this.marginMax=hs["margin"+this.ucrb]},calcThumb:function(){this.t=this.exp.el[this.wh]?parseInt(this.exp.el[this.wh]):this.exp.el["offset"+this.ucwh];this.tpos=this.exp.tpos[this.dim];this.tb=(this.exp.el["offset"+this.ucwh]-this.t)/2;if(this.tpos==0||this.tpos==-1){this.tpos=(hs.page[this.wh]/2)+hs.page["scroll"+this.uclt]}},calcExpanded:function(){var a=this.exp;this.justify="auto";this.pos=this.tpos-this.cb+this.tb;if(this.maxHeight&&this.dim=="x"){a.maxWidth=Math.min(a.maxWidth||this.full,a.maxHeight*this.full/a.y.full)}this.size=Math.min(this.full,a["max"+this.ucwh]||this.full);this.minSize=a.allowSizeReduction?Math.min(a["min"+this.ucwh],this.full):this.full;if(a.isImage&&a.useBox){this.size=a[this.wh];this.imgSize=this.full}if(this.dim=="x"&&hs.padToMinWidth){this.minSize=a.minWidth}this.marginMin=hs["margin"+this.uclt];this.scroll=hs.page["scroll"+this.uclt];this.clientSize=hs.page[this.wh]},setSize:function(a){var b=this.exp;if(b.isImage&&(b.useBox||hs.padToMinWidth)){this.imgSize=a;this.size=Math.max(this.size,this.imgSize);b.content.style[this.lt]=this.get("imgPad")+"px"}else{this.size=a}b.content.style[this.wh]=a+"px";b.wrapper.style[this.wh]=this.get("wsize")+"px";if(b.outline){b.outline.setPosition()}if(this.dim=="x"&&b.overlayBox){b.sizeOverlayBox(true)}},setPos:function(a){this.pos=a;this.exp.wrapper.style[this.lt]=a+"px";if(this.exp.outline){this.exp.outline.setPosition()}}};hs.Expander=function(k,f,b,l){if(document.readyState&&hs.ie&&!hs.isReady){hs.addEventListener(document,"ready",function(){new hs.Expander(k,f,b,l)});return}this.a=k;this.custom=b;this.contentType=l||"image";this.isImage=!this.isHtml;hs.continuePreloading=false;this.overlays=[];hs.init();var m=this.key=hs.expanders.length;for(var g=0;g(this.x.imgSize||this.x.size)){this.createFullExpand();if(this.overlays.length==1){this.sizeOverlayBox()}}}this.show()}catch(c){this.error(c)}},justify:function(f,b){var g,h=f.target,e=f==this.x?"x":"y";var d=false;var a=f.exp.allowSizeReduction;f.pos=Math.round(f.pos-((f.get("wsize")-f.t)/2));if(f.posf.scroll+f.clientSize-f.marginMax){if(!b&&d&&a){f.size=Math.min(f.size,f.get(e=="y"?"fitsize":"maxsize"))}else{if(f.get("wsize")c){d=b*c;if(dthis.minHeight&&a.size>this.minWidth&&d.get("wsize")>d.get("fitsize")){d.size-=10;if(b){a.size=d.size*b}this.sizeOverlayBox(0,1);c=true}}return c},show:function(){var a=this.x,b=this.y;this.doShowHide("hidden");this.changeSize(1,{wrapper:{width:a.get("wsize"),height:b.get("wsize"),left:a.pos,top:b.pos},content:{left:a.p1+a.get("imgPad"),top:b.p1+b.get("imgPad"),width:a.imgSize||a.size,height:b.imgSize||b.size}},hs.expandDuration)},changeSize:function(b,h,c){if(this.outline&&!this.outlineWhileAnimating){if(b){this.outline.setPosition()}else{this.outline.destroy()}}if(!b){this.destroyOverlays()}var e=this,a=e.x,g=e.y,f=this.easing;if(!b){f=this.easingClose||f}var d=b?function(){if(e.outline){e.outline.table.style.visibility="visible"}setTimeout(function(){e.afterExpand()},50)}:function(){e.afterClose()};if(b){hs.setStyles(this.wrapper,{width:a.t+"px",height:g.t+"px"})}if(this.fadeInOut){hs.setStyles(this.wrapper,{opacity:b?0:1});hs.extend(h.wrapper,{opacity:b})}hs.animate(this.wrapper,h.wrapper,{duration:c,easing:f,step:function(k,i){if(e.outline&&e.outlineWhileAnimating&&i.prop=="top"){var j=b?i.pos:1-i.pos;var l={w:a.t+(a.get("wsize")-a.t)*j,h:g.t+(g.get("wsize")-g.t)*j,x:a.tpos+(a.pos-a.tpos)*j,y:g.tpos+(g.pos-g.tpos)*j};e.outline.setPosition(l,0,1)}}});hs.animate(this.content,h.content,c,f,d);if(b){this.wrapper.style.visibility="visible";this.content.style.visibility="visible";this.a.className+=" highslide-active-anchor"}},afterExpand:function(){this.isExpanded=true;this.focus();if(hs.upcoming&&hs.upcoming==this.a){hs.upcoming=null}this.prepareNextOutline();var c=hs.page,b=hs.mouse.x+c.scrollLeft,a=hs.mouse.y+c.scrollTop;this.mouseIsOver=this.x.posthis.x.get("opos")+this.x.get("osize"));var g=(k.y+k.hthis.y.get("opos")+this.y.get("osize"));var d=hs.getWrapperKey(e[f]);if(!j&&!g&&d!=this.key){if(!h){e[f].setAttribute("hidden-by","["+this.key+"]");e[f].origProp=e[f].style[a];e[f].style[a]="hidden"}else{if(h.indexOf("["+this.key+"]")==-1){e[f].setAttribute("hidden-by",h+"["+this.key+"]")}}}else{if((h=="["+this.key+"]"||hs.focusKey==d)&&d!=this.key){e[f].setAttribute("hidden-by","");e[f].style[a]=e[f].origProp||""}else{if(h&&h.indexOf("["+this.key+"]")>-1){e[f].setAttribute("hidden-by",h.replace("["+this.key+"]",""))}}}}}}}},focus:function(){this.wrapper.style.zIndex=hs.zIndexCounter+=2;for(var a=0;a35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('q(!m){u m={1F:{8l:\'6P\',6K:\'93...\',6L:\'6b 1L 92\',7T:\'6b 1L 91 1L 8Z\',88:\'90 1L 94 I (f)\',8e:\'95 2t 6I 6F\',8b:\'9a 1L 98 6I 6F 97\',5V:\'6b 1L 2h 1Y, 96 6O 8Y 1L 3c. 8X 8Q 8P S 1A 6O 79.\'},47:\'1c/8O/\',4l:\'8M.6A\',3S:\'8N.6A\',84:5c,7y:5c,43:15,7J:15,48:15,7N:15,3L:8R,7g:0.75,8j:G,5U:5,2R:2,8S:3,3V:1a,7z:\'2S 2o\',7O:1,7W:G,8x:\'8W://1c.8V/\',8o:\'8U\',7e:G,5t:[\'a\'],68:G,3Y:6W,3K:6W,3N:G,1h:\'9b-9c\',3U:[],5j:G,N:[],5i:[\'3N\',\'2d\',\'1h\',\'2R\',\'9u\',\'9t\',\'9s\',\'6R\',\'9q\',\'9r\',\'9v\',\'6X\',\'89\',\'68\',\'M\',\'16\',\'60\',\'3Y\',\'3K\',\'4X\',\'5q\',\'8h\',\'3b\',\'1J\',\'85\',\'86\',\'1l\'],1v:[],3F:0,9w:{x:[\'8n\',\'18\',\'6c\',\'2o\',\'7x\'],y:[\'42\',\'W\',\'6a\',\'2S\',\'4r\']},4B:{},6X:{},6R:{},2A:[],2Q:{},6m:{},4a:[],1R:/9A\\/4\\.0/.14(3W.4V)?8:6g((3W.4V.58().2X(/.+(?:6V|9z|9y|1P)[\\/: ]([\\d.]+)/)||[0,\'0\'])[1]),1P:(L.3R&&!1n.2r),4D:/9x/.14(3W.4V),8y:/9p.+6V:1\\.[0-8].+9o/.14(3W.4V),$:A(1t){q(1t)C L.9h(1t)},2e:A(2c,2v){2c[2c.X]=2v},Z:A(6S,3a,2F,6f,6U){u B=L.Z(6S);q(3a)m.2q(B,3a);q(6U)m.T(B,{9f:0,9d:\'3r\',5h:0});q(2F)m.T(B,2F);q(6f)6f.2g(B);C B},2q:A(B,3a){S(u x 3v 3a)B[x]=3a[x];C B},T:A(B,2F){S(u x 3v 2F){q(m.2Y&&x==\'1o\'){q(2F[x]>0.99)B.F.9e(\'3P\');K B.F.3P=\'7k(1o=\'+(2F[x]*1V)+\')\'}K B.F[x]=2F[x]}},3p:A(B,Q,25){u 2O,3h,2M;q(1m 25!=\'5I\'||25===H){u 2y=87;25={2Z:2y[2],1J:2y[3],5y:2y[4]}}q(1m 25.2Z!=\'3g\')25.2Z=5c;25.1J=1d[25.1J]||1d.6Z;25.4c=m.2q({},Q);S(u 2b 3v Q){u e=1S m.1k(B,25,2b);2O=6g(m.5s(B,2b))||0;3h=6g(Q[2b]);2M=2b!=\'1o\'?\'D\':\'\';e.2z(2O,3h,2M)}},5s:A(B,Q){q(B.F[Q]){C B.F[Q]}K q(L.63){C L.63.8B(B,H).8s(Q)}K{q(Q==\'1o\')Q=\'3P\';u 2v=B.8L[Q.31(/\\-(\\w)/g,A(a,b){C b.9j()})];q(Q==\'3P\')2v=2v.31(/7k\\(1o=([0-9]+)\\)/,A(a,b){C b/1V});C 2v===\'\'?1:2v}},4N:A(){u d=L,w=1n,3D=d.5a&&d.5a!=\'5K\'?d.3i:d.4J,2Y=m.1P&&(m.1R<9||1m 71==\'1Z\');u M=2Y?3D.7j:(d.3i.7j||4H.9n),16=2Y?3D.9m:4H.9l;m.2J={M:M,16:16,4w:2Y?3D.4w:71,4y:2Y?3D.4y:9k};C m.2J},62:A(B){u p={x:B.7n,y:B.7s};3m(B.7m){B=B.7m;p.x+=B.7n;p.y+=B.7s;q(B!=L.4J&&B!=L.3i){p.x-=B.4w;p.y-=B.4y}}C p},4b:A(a,21,2z,J){q(!a)a=m.Z(\'a\',H,{3q:\'3r\'},m.20);q(1m a.3E==\'A\')C 21;1z{1S m.46(a,21,2z);C 1a}1C(e){C G}},7a:A(){u 5X=0,54=-1,N=m.N,z,1p;S(u i=0;i5X){5X=1p;54=i}}}q(54==-1)m.2u=-1;K N[54].3k()},5r:A(a,3J){a.3E=a.3x;u p=a.3E?a.3E():H;a.3E=H;C(p&&1m p[3J]!=\'1Z\')?p[3J]:(1m m[3J]!=\'1Z\'?m[3J]:H)},5l:A(a){u 1l=m.5r(a,\'1l\');q(1l)C 1l;C a.3y},3B:A(1t){u 4s=m.$(1t),2U=m.6m[1t],a={};q(!4s&&!2U)C H;q(!2U){2U=4s.7f(G);2U.1t=\'\';m.6m[1t]=2U;C 4s}K{C 2U.7f(G)}},3t:A(d){q(d)m.5k.2g(d);m.5k.3G=\'\'},74:A(66,z){u 2G=z||m.2C();z=2G;q(m.2W)C 1a;K m.2G=2G;m.3d(L,1n.2r?\'4R\':\'4T\',m.3H);1z{m.2W=66;66.3x()}1C(e){m.2G=m.2W=H}1z{z.2h()}1C(e){}C 1a},4e:A(B,1W){u z=m.2C(B);q(z)C m.74(z.5m(1W),z);K C 1a},79:A(B){C m.4e(B,-1)},1A:A(B){C m.4e(B,1)},3H:A(e){q(!e)e=1n.1G;q(!e.1M)e.1M=e.6x;q(1m e.1M.7c!=\'1Z\')C G;u z=m.2C();u 1W=H;7u(e.8F){1q 70:q(z)z.5M();C G;1q 32:1q 34:1q 39:1q 40:1W=1;6r;1q 8:1q 33:1q 37:1q 38:1W=-1;6r;1q 27:1q 13:1W=0}q(1W!==H){m.3d(L,1n.2r?\'4R\':\'4T\',m.3H);q(!m.7e)C G;q(e.4F)e.4F();K e.8E=1a;q(z){q(1W==0){z.2h()}K{m.4e(z.R,1W)}C 1a}}C G},8G:A(O){m.2e(m.1v,m.2q(O,{2a:\'2a\'+m.3F++}))},65:A(6l,4u){u B,30=/^1c-V-([0-9]+)$/;B=6l;3m(B.2V){q(B.1t&&30.14(B.1t))C B.1t.31(30,"$1");B=B.2V}q(!4u){B=6l;3m(B.2V){q(B.4g&&m.4E(B)){S(u R=0;R1)C G;q(!e.1M)e.1M=e.6x;u B=e.1M;3m(B.2V&&!(/1c-(1Y|3c|4Z|2T)/.14(B.1g))){B=B.2V}u z=m.2C(B);q(z&&(z.6k||!z.3C))C G;q(z&&e.J==\'7o\'){q(e.1M.7c)C G;u 2X=B.1g.2X(/1c-(1Y|3c|2T)/);q(2X){m.1U={z:z,J:2X[1],18:z.x.E,M:z.x.I,W:z.y.E,16:z.y.I,72:e.4z,76:e.4o};m.1D(L,\'6w\',m.6D);q(e.4F)e.4F();q(/1c-(1Y|4Z)-5W/.14(z.11.1g)){z.3k();m.6B=G}C 1a}}K q(e.J==\'7i\'){m.3d(L,\'6w\',m.6D);q(m.1U){q(m.3e&&m.1U.J==\'1Y\')m.1U.z.11.F.2N=m.3e;u 2E=m.1U.2E;q(!2E&&!m.6B&&!/(3c|2T)/.14(m.1U.J)){z.2h()}K q(2E||(!2E&&m.8C)){m.1U.z.45(\'1i\')}m.6B=1a;m.1U=H}K q(/1c-1Y-5W/.14(B.1g)){B.F.2N=m.3e}}C 1a},6D:A(e){q(!m.1U)C G;q(!e)e=1n.1G;u a=m.1U,z=a.z;a.5b=e.4z-a.72;a.6o=e.4o-a.76;u 6n=1d.a7(1d.7q(a.5b,2)+1d.7q(a.6o,2));q(!a.2E)a.2E=(a.J!=\'1Y\'&&6n>0)||(6n>(m.al||5));q(a.2E&&e.4z>5&&e.4o>5){q(a.J==\'2T\')z.2T(a);K{z.5v(a.18+a.5b,a.W+a.6o);q(a.J==\'1Y\')z.11.F.2N=\'3c\'}}C 1a},8g:A(e){1z{q(!e)e=1n.1G;u 4C=/ao/i.14(e.J);q(!e.1M)e.1M=e.6x;q(!e.4v)e.4v=4C?e.an:e.9C;u z=m.2C(e.1M);q(!z.3C)C;q(!z||!e.4v||m.2C(e.4v,G)==z||m.1U)C;S(u i=0;i=k.1w.2Z+k.5x){k.2I=k.3h;k.E=k.5E=1;k.5C();k.1w.4c[k.Q]=G;u 5z=G;S(u i 3v k.1w.4c)q(k.1w.4c[i]!==G)5z=1a;q(5z){q(k.1w.5y)k.1w.5y.77(k.1Q)}C 1a}K{u n=t-k.5x;k.5E=n/k.1w.2Z;k.E=k.1w.1J(n,0,1,k.1w.2Z);k.2I=k.2O+((k.3h-k.2O)*k.E);k.5C()}C G}};m.2q(m.1k,{2x:{1o:A(1k){m.T(1k.1Q,{1o:1k.2I})},7r:A(1k){1z{q(1k.1Q.F&&1k.1Q.F[1k.Q]!=H)1k.1Q.F[1k.Q]=1k.2I+1k.2M;K 1k.1Q[1k.Q]=1k.2I}1C(e){}}}});m.41=A(1h,2P){k.2P=2P;k.1h=1h;u v=m.1R,4Y;k.5J=m.1P&&m.1R<7;q(!1h){q(2P)2P();C}m.6y();k.28=m.Z(\'28\',{9V:0},{1b:\'1i\',1e:\'29\',9X:\'9Y\',M:0},m.20,G);u 5R=m.Z(\'5R\',H,H,k.28,1);k.1H=[];S(u i=0;i<=8;i++){q(i%3==0)4Y=m.Z(\'4Y\',H,{16:\'2l\'},5R,G);k.1H[i]=m.Z(\'1H\',H,H,4Y,G);u F=i!=4?{9Z:0,aF:0}:{1e:\'6j\'};m.T(k.1H[i],F)}k.1H[4].1g=1h+\' 1c-19\';k.7t()};m.41.53={7t:A(){u 1l=m.47+(m.9K||"9O/")+k.1h+".9N";u 6T=m.4D&&m.1R<7v?m.20:H;k.2k=m.Z(\'1f\',H,{1e:\'29\',W:\'-3X\'},6T,G);u 6E=k;k.2k.4S=A(){6E.6N()};k.2k.1l=1l},6N:A(){u o=k.1j=k.2k.M/4,E=[[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]],1x={16:(2*o)+\'D\',M:(2*o)+\'D\'};S(u i=0;i<=8;i++){q(E[i]){q(k.5J){u w=(i==1||i==7)?\'1V%\':k.2k.M+\'D\';u 1O=m.Z(\'1O\',H,{M:\'1V%\',16:\'1V%\',1e:\'6j\',2L:\'1i\'},k.1H[i],G);m.Z(\'1O\',H,{3P:"a0:9U.9W.a1(a8=9I, 1l=\'"+k.2k.1l+"\')",1e:\'29\',M:w,16:k.2k.16+\'D\',18:(E[i][0]*o)+\'D\',W:(E[i][1]*o)+\'D\'},1O,G)}K{m.T(k.1H[i],{9J:\'5T(\'+k.2k.1l+\') \'+(E[i][0]*o)+\'D \'+(E[i][1]*o)+\'D\'})}q(1n.2r&&(i==3||i==5))m.Z(\'1O\',H,1x,k.1H[i],G);m.T(k.1H[i],1x)}}k.2k=H;q(m.2Q[k.1h])m.2Q[k.1h].4q();m.2Q[k.1h]=k;q(k.2P)k.2P()},3A:A(E,1j,6H,2p,1J){u z=k.z,9E=z.V.F,1j=1j||0,E=E||{x:z.x.E+1j,y:z.y.E+1j,w:z.x.P(\'1u\')-2*1j,h:z.y.P(\'1u\')-2*1j};q(6H)k.28.F.1b=(E.h>=4*k.1j)?\'1X\':\'1i\';m.T(k.28,{18:(E.x-k.1j)+\'D\',W:(E.y-k.1j)+\'D\',M:(E.w+2*k.1j)+\'D\'});E.w-=2*k.1j;E.h-=2*k.1j;m.T(k.1H[4],{M:E.w>=0?E.w+\'D\':0,16:E.h>=0?E.h+\'D\':0});q(k.5J)k.1H[3].F.16=k.1H[5].F.16=k.1H[4].F.16},4q:A(6Y){q(6Y)k.28.F.1b=\'1i\';K m.3t(k.28)}};m.4W=A(z,1x){k.z=z;k.1x=1x;k.2D=1x==\'x\'?\'ax\':\'av\';k.2w=k.2D.58();k.3O=1x==\'x\'?\'ar\':\'au\';k.5o=k.3O.58();k.5f=1x==\'x\'?\'az\':\'aA\';k.aG=k.5f.58();k.1B=k.2f=0};m.4W.53={P:A(R){7u(R){1q\'5O\':C k.1s+k.2j+(k.t-m.1E[\'1j\'+k.2D])/2;1q\'1u\':C k.I+2*k.Y+k.1B+k.2f;1q\'3o\':C k.55-k.2K-k.4I;1q\'5G\':C k.P(\'3o\')-2*k.Y-k.1B-k.2f;1q\'3Q\':C k.E-(k.z.19?k.z.19.1j:0);1q\'64\':C k.P(\'1u\')+(k.z.19?2*k.z.19.1j:0);1q\'4h\':C k.1y?1d.56((k.I-k.1y)/2):0}},5w:A(){k.Y=(k.z.11[\'1j\'+k.2D]-k.t)/2;k.4I=m[\'5h\'+k.5f]},5g:A(){k.t=k.z.B[k.2w]?aC(k.z.B[k.2w]):k.z.B[\'1j\'+k.2D];k.1s=k.z.1s[k.1x];k.2j=(k.z.B[\'1j\'+k.2D]-k.t)/2;q(k.1s==0||k.1s==-1){k.1s=(m.2J[k.2w]/2)+m.2J[\'2B\'+k.3O]}},5B:A(){u z=k.z;k.3n=\'2l\';k.E=k.1s-k.Y+k.2j;q(k.5q&&k.1x==\'x\')z.4X=1d.22(z.4X||k.U,z.5q*k.U/z.y.U);k.I=1d.22(k.U,z[\'67\'+k.2D]||k.U);k.1T=z.3N?1d.22(z[\'22\'+k.2D],k.U):k.U;q(z.3f&&z.2d){k.I=z[k.2w];k.1y=k.U}q(k.1x==\'x\'&&m.3V)k.1T=z.3Y;k.2K=m[\'5h\'+k.3O];k.2B=m.2J[\'2B\'+k.3O];k.55=m.2J[k.2w]},6h:A(i){u z=k.z;q(z.3f&&(z.2d||m.3V)){k.1y=i;k.I=1d.67(k.I,k.1y);z.11.F[k.5o]=k.P(\'4h\')+\'D\'}K k.I=i;z.11.F[k.2w]=i+\'D\';z.V.F[k.2w]=k.P(\'1u\')+\'D\';q(z.19)z.19.3A();q(k.1x==\'x\'&&z.1r)z.35(G)},5Z:A(i){k.E=i;k.z.V.F[k.5o]=i+\'D\';q(k.z.19)k.z.19.3A()}};m.46=A(a,21,2z,26){q(L.ab&&m.1P&&!m.5n){m.1D(L,\'2H\',A(){1S m.46(a,21,2z,26)});C}k.a=a;k.2z=2z;k.26=26||\'1Y\';k.3f=!k.ak;m.5j=1a;k.1v=[];m.6y();u R=k.R=m.N.X;S(u i=0;i(k.x.1y||k.x.I)){k.8p();q(k.1v.X==1)k.35()}}k.7U()}1C(e){k.5Q(e)}},3n:A(p,3l){u a5,a3=p.1M,1x=p==k.x?\'x\':\'y\';u 5D=1a;u 3s=p.z.3N;p.E=1d.56(p.E-((p.P(\'1u\')-p.t)/2));q(p.Ep.2B+p.55-p.4I){q(!3l&&5D&&3s){p.I=1d.22(p.I,p.P(1x==\'y\'?\'3o\':\'5G\'))}K q(p.P(\'1u\')1K){ 1N=24*1K;q(1Nk.3K&&x.I>k.3Y&&y.P(\'1u\')>y.P(\'3o\')){y.I-=10;q(1K)x.I=y.I*1K;k.35(0,1);2m=G}}C 2m},7U:A(){u x=k.x,y=k.y;k.45(\'1i\');k.6e(1,{V:{M:x.P(\'1u\'),16:y.P(\'1u\'),18:x.E,W:y.E},11:{18:x.1B+x.P(\'4h\'),W:y.1B+y.P(\'4h\'),M:x.1y||x.I,16:y.1y||y.I}},m.84)},6e:A(23,1L,2p){q(k.19&&!k.2R){q(23)k.19.3A();K k.19.4q()}q(!23)k.8v();u z=k,x=z.x,y=z.y,1J=k.1J;q(!23)1J=k.85||1J;u 7A=23?A(){q(z.19)z.19.28.F.1b="1X";5S(A(){z.7B()},50)}:A(){z.5P()};q(23)m.T(k.V,{M:x.t+\'D\',16:y.t+\'D\'});q(k.86){m.T(k.V,{1o:23?0:1});m.2q(1L.V,{1o:23})}m.3p(k.V,1L.V,{2Z:2p,1J:1J,2x:A(2v,2y){q(z.19&&z.2R&&2y.Q==\'W\'){u 3I=23?2y.E:1-2y.E;u E={w:x.t+(x.P(\'1u\')-x.t)*3I,h:y.t+(y.P(\'1u\')-y.t)*3I,x:x.1s+(x.E-x.1s)*3I,y:y.1s+(y.E-y.1s)*3I};z.19.3A(E,0,1)}}});m.3p(k.11,1L.11,2p,1J,7A);q(23){k.V.F.1b=\'1X\';k.11.F.1b=\'1X\';k.a.1g+=\' 1c-7P-7Q\'}},7B:A(){k.3C=G;k.3k();q(m.2W&&m.2W==k.a)m.2W=H;k.7w();u p=m.2J,5u=m.4B.x+p.4w,5p=m.4B.y+p.4y;k.6q=k.x.E<5u&&5uk.x.P(\'3Q\')+k.x.P(\'64\'));u 7M=(2n.y+2n.hk.y.P(\'3Q\')+k.y.P(\'64\'));u 4j=m.65(17[i]);q(!7G&&!7M&&4j!=k.R){q(!1I){17[i].3T(\'1i-2t\',\'[\'+k.R+\']\');17[i].61=17[i].F[Q];17[i].F[Q]=\'1i\'}K q(1I.7L(\'[\'+k.R+\']\')==-1){17[i].3T(\'1i-2t\',1I+\'[\'+k.R+\']\')}}K q((1I==\'[\'+k.R+\']\'||m.2u==4j)&&4j!=k.R){17[i].3T(\'1i-2t\',\'\');17[i].F[Q]=17[i].61||\'\'}K q(1I&&1I.7L(\'[\'+k.R+\']\')>-1){17[i].3T(\'1i-2t\',1I.31(\'[\'+k.R+\']\',\'\'))}}}}},3k:A(){k.V.F.1p=m.3L+=2;S(u i=0;i)[^>]*$|^#(\w+)$/;var isSimple=/^.[^:#\[\.]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}else if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem)if(elem.id!=match[3])return jQuery().find(selector);else{this[0]=elem;this.length=1;return this;}else +selector=[];}}else +return new jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return new jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(selector.constructor==Array&&selector||(selector.jquery||selector.length&&selector!=window&&!selector.nodeType&&selector[0]!=undefined&&selector[0].nodeType)&&jQuery.makeArray(selector)||[selector]);},jquery:"1.2.3",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;this.each(function(i){if(this==elem)ret=i;});return ret;},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value==undefined)return this.length&&jQuery[type||"attr"](this[0],name)||undefined;else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else +return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else +selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return!selector?this:this.pushStack(jQuery.merge(this.get(),selector.constructor==String?jQuery(selector).get():selector.length!=undefined&&(!selector.nodeName||jQuery.nodeName(selector,"form"))?selector:[selector]));},is:function(selector){return selector?jQuery.multiFilter(selector,this).length>0:false;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=value.constructor==Array?value:[value];jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else +this.value=value;});},html:function(value){return value==undefined?(this.length?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value==null){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data==undefined&&this.length)data=jQuery.data(this[0],key);return data==null&&parts[1]?this.data(parts[0]):data;}else +return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script")){scripts=scripts.add(elem);}else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.prototype.init.prototype=jQuery.prototype;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else +jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==1){target=this;i=0;}for(;i-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else +jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret;function color(elem){if(!jQuery.browser.safari)return false;var ret=document.defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(elem.style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=elem.style.outline;elem.style.outline="0 solid black";elem.style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&elem.style&&elem.style[name])ret=elem.style[name];else if(document.defaultView&&document.defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var getComputedStyle=document.defaultView.getComputedStyle(elem,null);if(getComputedStyle&&!color(elem))ret=getComputedStyle.getPropertyValue(name);else{var swap=[],stack=[];for(var a=elem;a&&color(a);a=a.parentNode)stack.unshift(a);for(var i=0;i]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("",""]||!tags.indexOf("",""]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
      "]||!tags.indexOf("",""]||(!tags.indexOf("",""]||!tags.indexOf("",""]||jQuery.browser.msie&&[1,"div
      ","
      "]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf(""&&tags.indexOf("=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else +ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var fix=jQuery.isXMLDoc(elem)?{}:jQuery.props;if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(fix[name]){if(value!=undefined)elem[fix[name]]=value;return elem[fix[name]];}else if(jQuery.browser.msie&&name=="style")return jQuery.attr(elem.style,"cssText",value);else if(value==undefined&&jQuery.browser.msie&&jQuery.nodeName(elem,"form")&&(name=="action"||name=="method"))return elem.getAttributeNode(name).nodeValue;else if(elem.tagName){if(value!=undefined){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem.setAttribute(name,""+value);}if(jQuery.browser.msie&&/href|src/.test(name)&&!jQuery.isXMLDoc(elem))return elem.getAttribute(name,2);return elem.getAttribute(name);}else{if(name=="opacity"&&jQuery.browser.msie){if(value!=undefined){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseFloat(value).toString()=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100).toString():"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(value!=undefined)elem[name]=value;return elem[name];}},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(typeof array!="array")for(var i=0,length=array.length;i*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return im[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false;var re=quickChild;var m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[];var cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&(!elem||n!=elem))r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval!=undefined)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=function(){return fn.apply(this,arguments);};handler.data=data;handler.guid=fn.guid;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){var val;if(typeof jQuery=="undefined"||jQuery.event.triggered)return val;val=jQuery.event.handle.apply(arguments.callee.elem,arguments);return val;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else +for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data||[]);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event)data.unshift(this.fix({type:type,target:elem}));data[0].type=type;if(exclusive)data[0].exclusive=true;if(jQuery.isFunction(jQuery.data(elem,"handle")))val=jQuery.data(elem,"handle").apply(elem,data);if(!fn&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val;event=jQuery.event.fix(event||window.event||{});var parts=event.type.split(".");event.type=parts[0];var handlers=jQuery.data(this,"events")&&jQuery.data(this,"events")[event.type],args=Array.prototype.slice.call(arguments,1);args.unshift(event);for(var j in handlers){var handler=handlers[j];args[0].handler=handler;args[0].data=handler.data;if(!parts[1]&&!event.exclusive||handler.type==parts[1]){var ret=handler.apply(this,args);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}if(jQuery.browser.msie)event.target=event.preventDefault=event.stopPropagation=event.handler=event.data=null;return val;},fix:function(event){var originalEvent=event;event=jQuery.extend({},originalEvent);event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=originalEvent.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;arguments[0].type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;arguments[0].type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){return this.each(function(){jQuery.event.add(this,type,function(event){jQuery(this).unbind(event);return(fn||data).apply(this,arguments);},fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){if(this[0])return jQuery.event.trigger(type,data,this[0],false,fn);return undefined;},toggle:function(){var args=arguments;return this.click(function(event){this.lastToggle=0==this.lastToggle?1:0;event.preventDefault();return args[this.lastToggle].apply(this,arguments)||false;});},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)fn.call(document,jQuery);else +jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.apply(document);});jQuery.readyList=null;}jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}jQuery.ready();})();if(jQuery.browser.opera)document.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady)return;for(var i=0;i=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("
      ").append(res.responseText.replace(//g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=(new Date).getTime();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){var jsonp,jsre=/=\?(&|$)/g,status,data;s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(s.type.toLowerCase()=="get"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&s.type.toLowerCase()=="get"){var ts=(new Date()).getTime();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&s.type.toLowerCase()=="get"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");if((!s.url.indexOf("http")||!s.url.indexOf("//"))&&s.dataType=="script"&&s.type.toLowerCase()=="get"){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xml=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();xml.open(s.type,s.url,s.async,s.username,s.password);try{if(s.data)xml.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xml.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xml.setRequestHeader("X-Requested-With","XMLHttpRequest");xml.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend)s.beforeSend(xml);if(s.global)jQuery.event.trigger("ajaxSend",[xml,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xml&&(xml.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xml)&&"error"||s.ifModified&&jQuery.httpNotModified(xml,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xml,s.dataType);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xml.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else +jQuery.handleError(s,xml,status);complete();if(s.async)xml=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xml){xml.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xml.send(s.data);}catch(e){jQuery.handleError(s,xml,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xml,s]);}function complete(){if(s.complete)s.complete(xml,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xml,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xml;},handleError:function(s,xml,status,e){if(s.error)s.error(xml,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xml,s,e]);},active:0,httpSuccess:function(r){try{return!r.status&&location.protocol=="file:"||(r.status>=200&&r.status<300)||r.status==304||r.status==1223||jQuery.browser.safari&&r.status==undefined;}catch(e){}return false;},httpNotModified:function(xml,url){try{var xmlRes=xml.getResponseHeader("Last-Modified");return xml.status==304||xmlRes==jQuery.lastModified[url]||jQuery.browser.safari&&xml.status==undefined;}catch(e){}return false;},httpData:function(r,type){var ct=r.getResponseHeader("content-type");var xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0;var data=xml?r.responseXML:r.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else +for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else +s.push(encodeURIComponent(j)+"="+encodeURIComponent(a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle(fn,fn2):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall);var hidden=jQuery(this).is(":hidden"),self=this;for(var p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return jQuery.isFunction(opt.complete)&&opt.complete.apply(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else +e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.apply(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(!elem)return undefined;type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",array?jQuery.makeArray(array):[]);return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].apply(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:{slow:600,fast:200}[opt.duration])||400;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.apply(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.apply(this.elem,[this.now,this]);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=(new Date()).getTime();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;ithis.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done&&jQuery.isFunction(this.options.complete))this.options.complete.apply(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.fx.step={scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}};jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),fixed=jQuery.css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&jQuery.css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(jQuery.css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&jQuery.css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||jQuery.css(offsetChild,"position")=="absolute"))||(mozilla&&jQuery.css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l)||0;top+=parseInt(t)||0;}return results;};})(); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox-0.5.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox-0.5.css new file mode 100644 index 0000000..d1e1ff6 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox-0.5.css @@ -0,0 +1,103 @@ +/** + * jQuery lightBox plugin + * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/) + * and adapted to me for use like a plugin from jQuery. + * @name jquery-lightbox-0.5.css + * @author Leandro Vieira Pinho - http://leandrovieira.com + * @version 0.5 + * @date April 11, 2008 + * @category jQuery plugin + * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com) + * @license CCAttribution-ShareAlike 2.5 Brazil - http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US + * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin + */ +#jquery-overlay { + position: absolute; + top: 0; + left: 0; + z-index: 10090; + width: 100%; + height: 500px; +} +#jquery-lightbox { + position: absolute; + top: 0; + left: 0; + width: 100%; + z-index: 10100; + text-align: center; + line-height: 0; +} +#jquery-lightbox a img { border: none; } +#lightbox-container-image-box { + position: relative; + background-color: #fff; + width: 250px; + height: 250px; + margin: 0 auto; +} +#lightbox-container-image { padding: 10px; } +#lightbox-loading { + position: absolute; + top: 40%; + left: 0%; + height: 25%; + width: 100%; + text-align: center; + line-height: 0; +} +#lightbox-nav { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + z-index: 10010; +} +#lightbox-container-image-box > #lightbox-nav { left: 0; } +#lightbox-nav a { outline: none;} +#lightbox-nav-btnPrev, #lightbox-nav-btnNext { + width: 49%; + height: 100%; + zoom: 1; + display: block; +} +#lightbox-nav-btnPrev { + left: 0; + float: left; +} +#lightbox-nav-btnNext { + right: 0; + float: right; +} +#lightbox-container-image-data-box { + font: 10px Verdana, Helvetica, sans-serif; + background-color: #fff; + margin: 0 auto; + line-height: 1.4em; + overflow: auto; + width: 100%; + padding: 0 10px 0; + position: relative; + min-height: 32px; +} +#lightbox-container-image-data { + padding: 0 10px; + color: #666; +} +#lightbox-container-image-data #lightbox-image-details { + width: 70%; + float: left; + text-align: left; +} +#lightbox-image-details-caption { font-weight: bold; } +#lightbox-image-details-currentNumber { + display: block; + clear: left; + padding-bottom: 1.0em; +} +#lightbox-secNav-btnClose { + width: 66px; + float: right; + padding-bottom: 0.7em; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox-0.5.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox-0.5.js new file mode 100644 index 0000000..eef6425 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox-0.5.js @@ -0,0 +1,472 @@ +/** + * jQuery lightBox plugin + * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/) + * and adapted to me for use like a plugin from jQuery. + * @name jquery-lightbox-0.5.js + * @author Leandro Vieira Pinho - http://leandrovieira.com + * @version 0.5 + * @date April 11, 2008 + * @category jQuery plugin + * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com) + * @license CCAttribution-ShareAlike 2.5 Brazil - http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US + * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin + */ + +// Offering a Custom Alias suport - More info: http://docs.jquery.com/Plugins/Authoring#Custom_Alias +(function($) { + /** + * $ is an alias to jQuery object + * + */ + $.fn.lightBox = function(settings) { + // Settings to configure the jQuery lightBox plugin how you like + settings = jQuery.extend({ + // Configuration related to overlay + overlayBgColor: '#000', // (string) Background color to overlay; inform a hexadecimal value like: #RRGGBB. Where RR, GG, and BB are the hexadecimal values for the red, green, and blue values of the color. + overlayOpacity: 0.8, // (integer) Opacity value to overlay; inform: 0.X. Where X are number from 0 to 9 + // Configuration related to navigation + fixedNavigation: false, // (boolean) Boolean that informs if the navigation (next and prev button) will be fixed or not in the interface. + // Configuration related to images + imageLoading: 'images/lightbox-ico-loading.gif', // (string) Path and the name of the loading icon + imageBtnPrev: 'images/lightbox-btn-prev.gif', // (string) Path and the name of the prev button image + imageBtnNext: 'images/lightbox-btn-next.gif', // (string) Path and the name of the next button image + imageBtnClose: 'images/lightbox-btn-close.gif', // (string) Path and the name of the close btn + imageBlank: 'images/lightbox-blank.gif', // (string) Path and the name of a blank image (one pixel) + // Configuration related to container image box + containerBorderSize: 10, // (integer) If you adjust the padding in the CSS for the container, #lightbox-container-image-box, you will need to update this value + containerResizeSpeed: 400, // (integer) Specify the resize duration of container image. These number are miliseconds. 400 is default. + // Configuration related to texts in caption. For example: Image 2 of 8. You can alter either "Image" and "of" texts. + txtImage: 'Image', // (string) Specify text "Image" + txtOf: 'of', // (string) Specify text "of" + // Configuration related to keyboard navigation + keyToClose: 'c', // (string) (c = close) Letter to close the jQuery lightBox interface. Beyond this letter, the letter X and the SCAPE key is used to. + keyToPrev: 'p', // (string) (p = previous) Letter to show the previous image + keyToNext: 'n', // (string) (n = next) Letter to show the next image. + // Don´t alter these variables in any way + imageArray: [], + activeImage: 0 + },settings); + // Caching the jQuery object with all elements matched + var jQueryMatchedObj = this; // This, in this context, refer to jQuery object + /** + * Initializing the plugin calling the start function + * + * @return boolean false + */ + function _initialize() { + _start(this,jQueryMatchedObj); // This, in this context, refer to object (link) which the user have clicked + return false; // Avoid the browser following the link + } + /** + * Start the jQuery lightBox plugin + * + * @param object objClicked The object (link) whick the user have clicked + * @param object jQueryMatchedObj The jQuery object with all elements matched + */ + function _start(objClicked,jQueryMatchedObj) { + // Hime some elements to avoid conflict with overlay in IE. These elements appear above the overlay. + $('embed, object, select').css({ 'visibility' : 'hidden' }); + // Call the function to create the markup structure; style some elements; assign events in some elements. + _set_interface(); + // Unset total images in imageArray + settings.imageArray.length = 0; + // Unset image active information + settings.activeImage = 0; + // We have an image set? Or just an image? Let´s see it. + if ( jQueryMatchedObj.length == 1 ) { + settings.imageArray.push(new Array(objClicked.getAttribute('href'),objClicked.getAttribute('title'))); + } else { + // Add an Array (as many as we have), with href and title atributes, inside the Array that storage the images references + for ( var i = 0; i < jQueryMatchedObj.length; i++ ) { + settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute('href'),jQueryMatchedObj[i].getAttribute('title'))); + } + } + while ( settings.imageArray[settings.activeImage][0] != objClicked.getAttribute('href') ) { + settings.activeImage++; + } + // Call the function that prepares image exibition + _set_image_to_view(); + } + /** + * Create the jQuery lightBox plugin interface + * + * The HTML markup will be like that: +
      +
      + + +
      + * + */ + function _set_interface() { + // Apply the HTML markup into body tag + $('body').append('
      '); + // Get page sizes + var arrPageSizes = ___getPageSize(); + // Style overlay and show it + $('#jquery-overlay').css({ + backgroundColor: settings.overlayBgColor, + opacity: settings.overlayOpacity, + width: arrPageSizes[0], + height: arrPageSizes[1] + }).fadeIn(); + // Get page scroll + var arrPageScroll = ___getPageScroll(); + // Calculate top and left offset for the jquery-lightbox div object and show it + $('#jquery-lightbox').css({ + top: arrPageScroll[1] + (arrPageSizes[3] / 10), + left: arrPageScroll[0] + }).show(); + // Assigning click events in elements to close overlay + $('#jquery-overlay,#jquery-lightbox').click(function() { + _finish(); + }); + // Assign the _finish function to lightbox-loading-link and lightbox-secNav-btnClose objects + $('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function() { + _finish(); + return false; + }); + // If window was resized, calculate the new overlay dimensions + $(window).resize(function() { + // Get page sizes + var arrPageSizes = ___getPageSize(); + // Style overlay and show it + $('#jquery-overlay').css({ + width: arrPageSizes[0], + height: arrPageSizes[1] + }); + // Get page scroll + var arrPageScroll = ___getPageScroll(); + // Calculate top and left offset for the jquery-lightbox div object and show it + $('#jquery-lightbox').css({ + top: arrPageScroll[1] + (arrPageSizes[3] / 10), + left: arrPageScroll[0] + }); + }); + } + /** + * Prepares image exibition; doing a image´s preloader to calculate it´s size + * + */ + function _set_image_to_view() { // show the loading + // Show the loading + $('#lightbox-loading').show(); + if ( settings.fixedNavigation ) { + $('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide(); + } else { + // Hide some elements + $('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide(); + } + // Image preload process + var objImagePreloader = new Image(); + objImagePreloader.onload = function() { + $('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]); + // Perfomance an effect in the image container resizing it + _resize_container_image_box(objImagePreloader.width,objImagePreloader.height); + // clear onLoad, IE behaves irratically with animated gifs otherwise + objImagePreloader.onload=function(){}; + }; + objImagePreloader.src = settings.imageArray[settings.activeImage][0]; + }; + /** + * Perfomance an effect in the image container resizing it + * + * @param integer intImageWidth The image´s width that will be showed + * @param integer intImageHeight The image´s height that will be showed + */ + function _resize_container_image_box(intImageWidth,intImageHeight) { + // Get current width and height + var intCurrentWidth = $('#lightbox-container-image-box').width(); + var intCurrentHeight = $('#lightbox-container-image-box').height(); + // Get the width and height of the selected image plus the padding + var intWidth = (intImageWidth + (settings.containerBorderSize * 2)); // Plus the image´s width and the left and right padding value + var intHeight = (intImageHeight + (settings.containerBorderSize * 2)); // Plus the image´s height and the left and right padding value + // Diferences + var intDiffW = intCurrentWidth - intWidth; + var intDiffH = intCurrentHeight - intHeight; + // Perfomance the effect + $('#lightbox-container-image-box').animate({ width: intWidth, height: intHeight },settings.containerResizeSpeed,function() { _show_image(); }); + if ( ( intDiffW == 0 ) && ( intDiffH == 0 ) ) { + if ( $.browser.msie ) { + ___pause(250); + } else { + ___pause(100); + } + } + $('#lightbox-container-image-data-box').css({ width: intImageWidth }); + $('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ height: intImageHeight + (settings.containerBorderSize * 2) }); + }; + /** + * Show the prepared image + * + */ + function _show_image() { + $('#lightbox-loading').hide(); + $('#lightbox-image').fadeIn(function() { + _show_image_data(); + _set_navigation(); + }); + _preload_neighbor_images(); + }; + /** + * Show the image information + * + */ + function _show_image_data() { + $('#lightbox-container-image-data-box').slideDown('fast'); + $('#lightbox-image-details-caption').hide(); + if ( settings.imageArray[settings.activeImage][1] ) { + $('#lightbox-image-details-caption').html(settings.imageArray[settings.activeImage][1]).show(); + } + // If we have a image set, display 'Image X of X' + if ( settings.imageArray.length > 1 ) { + $('#lightbox-image-details-currentNumber').html(settings.txtImage + ' ' + ( settings.activeImage + 1 ) + ' ' + settings.txtOf + ' ' + settings.imageArray.length).show(); + } + } + /** + * Display the button navigations + * + */ + function _set_navigation() { + $('#lightbox-nav').show(); + + // Instead to define this configuration in CSS file, we define here. And it´s need to IE. Just. + $('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' }); + + // Show the prev button, if not the first image in set + if ( settings.activeImage != 0 ) { + if ( settings.fixedNavigation ) { + $('#lightbox-nav-btnPrev').css({ 'background' : 'url(' + settings.imageBtnPrev + ') left 15% no-repeat' }) + .unbind() + .bind('click',function() { + settings.activeImage = settings.activeImage - 1; + _set_image_to_view(); + return false; + }); + } else { + // Show the images button for Next buttons + $('#lightbox-nav-btnPrev').unbind().hover(function() { + $(this).css({ 'background' : 'url(' + settings.imageBtnPrev + ') left 15% no-repeat' }); + },function() { + $(this).css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' }); + }).show().bind('click',function() { + settings.activeImage = settings.activeImage - 1; + _set_image_to_view(); + return false; + }); + } + } + + // Show the next button, if not the last image in set + if ( settings.activeImage != ( settings.imageArray.length -1 ) ) { + if ( settings.fixedNavigation ) { + $('#lightbox-nav-btnNext').css({ 'background' : 'url(' + settings.imageBtnNext + ') right 15% no-repeat' }) + .unbind() + .bind('click',function() { + settings.activeImage = settings.activeImage + 1; + _set_image_to_view(); + return false; + }); + } else { + // Show the images button for Next buttons + $('#lightbox-nav-btnNext').unbind().hover(function() { + $(this).css({ 'background' : 'url(' + settings.imageBtnNext + ') right 15% no-repeat' }); + },function() { + $(this).css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' }); + }).show().bind('click',function() { + settings.activeImage = settings.activeImage + 1; + _set_image_to_view(); + return false; + }); + } + } + // Enable keyboard navigation + _enable_keyboard_navigation(); + } + /** + * Enable a support to keyboard navigation + * + */ + function _enable_keyboard_navigation() { + $(document).keydown(function(objEvent) { + _keyboard_action(objEvent); + }); + } + /** + * Disable the support to keyboard navigation + * + */ + function _disable_keyboard_navigation() { + $(document).unbind(); + } + /** + * Perform the keyboard actions + * + */ + function _keyboard_action(objEvent) { + // To ie + if ( objEvent == null ) { + keycode = event.keyCode; + escapeKey = 27; + // To Mozilla + } else { + keycode = objEvent.keyCode; + escapeKey = objEvent.DOM_VK_ESCAPE; + } + // Get the key in lower case form + key = String.fromCharCode(keycode).toLowerCase(); + // Verify the keys to close the ligthBox + if ( ( key == settings.keyToClose ) || ( key == 'x' ) || ( keycode == escapeKey ) ) { + _finish(); + } + // Verify the key to show the previous image + if ( ( key == settings.keyToPrev ) || ( keycode == 37 ) ) { + // If we´re not showing the first image, call the previous + if ( settings.activeImage != 0 ) { + settings.activeImage = settings.activeImage - 1; + _set_image_to_view(); + _disable_keyboard_navigation(); + } + } + // Verify the key to show the next image + if ( ( key == settings.keyToNext ) || ( keycode == 39 ) ) { + // If we´re not showing the last image, call the next + if ( settings.activeImage != ( settings.imageArray.length - 1 ) ) { + settings.activeImage = settings.activeImage + 1; + _set_image_to_view(); + _disable_keyboard_navigation(); + } + } + } + /** + * Preload prev and next images being showed + * + */ + function _preload_neighbor_images() { + if ( (settings.imageArray.length -1) > settings.activeImage ) { + objNext = new Image(); + objNext.src = settings.imageArray[settings.activeImage + 1][0]; + } + if ( settings.activeImage > 0 ) { + objPrev = new Image(); + objPrev.src = settings.imageArray[settings.activeImage -1][0]; + } + } + /** + * Remove jQuery lightBox plugin HTML markup + * + */ + function _finish() { + $('#jquery-lightbox').remove(); + $('#jquery-overlay').fadeOut(function() { $('#jquery-overlay').remove(); }); + // Show some elements to avoid conflict with overlay in IE. These elements appear above the overlay. + $('embed, object, select').css({ 'visibility' : 'visible' }); + } + /** + / THIRD FUNCTION + * getPageSize() by quirksmode.com + * + * @return Array Return an array with page width, height and window width, height + */ + function ___getPageSize() { + var xScroll, yScroll; + if (window.innerHeight && window.scrollMaxY) { + xScroll = window.innerWidth + window.scrollMaxX; + yScroll = window.innerHeight + window.scrollMaxY; + } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac + xScroll = document.body.scrollWidth; + yScroll = document.body.scrollHeight; + } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari + xScroll = document.body.offsetWidth; + yScroll = document.body.offsetHeight; + } + var windowWidth, windowHeight; + if (self.innerHeight) { // all except Explorer + if(document.documentElement.clientWidth){ + windowWidth = document.documentElement.clientWidth; + } else { + windowWidth = self.innerWidth; + } + windowHeight = self.innerHeight; + } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode + windowWidth = document.documentElement.clientWidth; + windowHeight = document.documentElement.clientHeight; + } else if (document.body) { // other Explorers + windowWidth = document.body.clientWidth; + windowHeight = document.body.clientHeight; + } + // for small pages with total height less then height of the viewport + if(yScroll < windowHeight){ + pageHeight = windowHeight; + } else { + pageHeight = yScroll; + } + // for small pages with total width less then width of the viewport + if(xScroll < windowWidth){ + pageWidth = xScroll; + } else { + pageWidth = windowWidth; + } + arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight); + return arrayPageSize; + }; + /** + / THIRD FUNCTION + * getPageScroll() by quirksmode.com + * + * @return Array Return an array with x,y page scroll values. + */ + function ___getPageScroll() { + var xScroll, yScroll; + if (self.pageYOffset) { + yScroll = self.pageYOffset; + xScroll = self.pageXOffset; + } else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict + yScroll = document.documentElement.scrollTop; + xScroll = document.documentElement.scrollLeft; + } else if (document.body) {// all other Explorers + yScroll = document.body.scrollTop; + xScroll = document.body.scrollLeft; + } + arrayPageScroll = new Array(xScroll,yScroll); + return arrayPageScroll; + }; + /** + * Stop the code execution from a escified time in milisecond + * + */ + function ___pause(ms) { + var date = new Date(); + curDate = null; + do { var curDate = new Date(); } + while ( curDate - date < ms); + }; + // Return the jQuery object for chaining. The unbind method is used to avoid click conflict when the plugin is called more than once + return this.unbind('click').click(_initialize); + }; +})(jQuery); // Call and execute the function immediately passing the jQuery object \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox-0.5.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox-0.5.min.js new file mode 100644 index 0000000..5f13b0b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox-0.5.min.js @@ -0,0 +1,42 @@ +/** + * jQuery lightBox plugin + * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/) + * and adapted to me for use like a plugin from jQuery. + * @name jquery-lightbox-0.5.js + * @author Leandro Vieira Pinho - http://leandrovieira.com + * @version 0.5 + * @date April 11, 2008 + * @category jQuery plugin + * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com) + * @license CCAttribution-ShareAlike 2.5 Brazil - http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US + * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin + */ +(function($){$.fn.lightBox=function(settings){settings=jQuery.extend({overlayBgColor:'#000',overlayOpacity:0.8,fixedNavigation:false,imageLoading:'images/lightbox-ico-loading.gif',imageBtnPrev:'images/lightbox-btn-prev.gif',imageBtnNext:'images/lightbox-btn-next.gif',imageBtnClose:'images/lightbox-btn-close.gif',imageBlank:'images/lightbox-blank.gif',containerBorderSize:10,containerResizeSpeed:400,txtImage:'Image',txtOf:'of',keyToClose:'c',keyToPrev:'p',keyToNext:'n',imageArray:[],activeImage:0},settings);var jQueryMatchedObj=this;function _initialize(){_start(this,jQueryMatchedObj);return false;} +function _start(objClicked,jQueryMatchedObj){$('embed, object, select').css({'visibility':'hidden'});_set_interface();settings.imageArray.length=0;settings.activeImage=0;if(jQueryMatchedObj.length==1){settings.imageArray.push(new Array(objClicked.getAttribute('href'),objClicked.getAttribute('title')));}else{for(var i=0;i
      ');var arrPageSizes=___getPageSize();$('#jquery-overlay').css({backgroundColor:settings.overlayBgColor,opacity:settings.overlayOpacity,width:arrPageSizes[0],height:arrPageSizes[1]}).fadeIn();var arrPageScroll=___getPageScroll();$('#jquery-lightbox').css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]}).show();$('#jquery-overlay,#jquery-lightbox').click(function(){_finish();});$('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function(){_finish();return false;});$(window).resize(function(){var arrPageSizes=___getPageSize();$('#jquery-overlay').css({width:arrPageSizes[0],height:arrPageSizes[1]});var arrPageScroll=___getPageScroll();$('#jquery-lightbox').css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]});});} +function _set_image_to_view(){$('#lightbox-loading').show();if(settings.fixedNavigation){$('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();}else{$('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();} +var objImagePreloader=new Image();objImagePreloader.onload=function(){$('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]);_resize_container_image_box(objImagePreloader.width,objImagePreloader.height);objImagePreloader.onload=function(){};};objImagePreloader.src=settings.imageArray[settings.activeImage][0];};function _resize_container_image_box(intImageWidth,intImageHeight){var intCurrentWidth=$('#lightbox-container-image-box').width();var intCurrentHeight=$('#lightbox-container-image-box').height();var intWidth=(intImageWidth+(settings.containerBorderSize*2));var intHeight=(intImageHeight+(settings.containerBorderSize*2));var intDiffW=intCurrentWidth-intWidth;var intDiffH=intCurrentHeight-intHeight;$('#lightbox-container-image-box').animate({width:intWidth,height:intHeight},settings.containerResizeSpeed,function(){_show_image();});if((intDiffW==0)&&(intDiffH==0)){if($.browser.msie){___pause(250);}else{___pause(100);}} +$('#lightbox-container-image-data-box').css({width:intImageWidth});$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({height:intImageHeight+(settings.containerBorderSize*2)});};function _show_image(){$('#lightbox-loading').hide();$('#lightbox-image').fadeIn(function(){_show_image_data();_set_navigation();});_preload_neighbor_images();};function _show_image_data(){$('#lightbox-container-image-data-box').slideDown('fast');$('#lightbox-image-details-caption').hide();if(settings.imageArray[settings.activeImage][1]){$('#lightbox-image-details-caption').html(settings.imageArray[settings.activeImage][1]).show();} +if(settings.imageArray.length>1){$('#lightbox-image-details-currentNumber').html(settings.txtImage+' '+(settings.activeImage+1)+' '+settings.txtOf+' '+settings.imageArray.length).show();}} +function _set_navigation(){$('#lightbox-nav').show();$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({'background':'transparent url('+settings.imageBlank+') no-repeat'});if(settings.activeImage!=0){if(settings.fixedNavigation){$('#lightbox-nav-btnPrev').css({'background':'url('+settings.imageBtnPrev+') left 15% no-repeat'}).unbind().bind('click',function(){settings.activeImage=settings.activeImage-1;_set_image_to_view();return false;});}else{$('#lightbox-nav-btnPrev').unbind().hover(function(){$(this).css({'background':'url('+settings.imageBtnPrev+') left 15% no-repeat'});},function(){$(this).css({'background':'transparent url('+settings.imageBlank+') no-repeat'});}).show().bind('click',function(){settings.activeImage=settings.activeImage-1;_set_image_to_view();return false;});}} +if(settings.activeImage!=(settings.imageArray.length-1)){if(settings.fixedNavigation){$('#lightbox-nav-btnNext').css({'background':'url('+settings.imageBtnNext+') right 15% no-repeat'}).unbind().bind('click',function(){settings.activeImage=settings.activeImage+1;_set_image_to_view();return false;});}else{$('#lightbox-nav-btnNext').unbind().hover(function(){$(this).css({'background':'url('+settings.imageBtnNext+') right 15% no-repeat'});},function(){$(this).css({'background':'transparent url('+settings.imageBlank+') no-repeat'});}).show().bind('click',function(){settings.activeImage=settings.activeImage+1;_set_image_to_view();return false;});}} +_enable_keyboard_navigation();} +function _enable_keyboard_navigation(){$(document).keydown(function(objEvent){_keyboard_action(objEvent);});} +function _disable_keyboard_navigation(){$(document).unbind();} +function _keyboard_action(objEvent){if(objEvent==null){keycode=event.keyCode;escapeKey=27;}else{keycode=objEvent.keyCode;escapeKey=objEvent.DOM_VK_ESCAPE;} +key=String.fromCharCode(keycode).toLowerCase();if((key==settings.keyToClose)||(key=='x')||(keycode==escapeKey)){_finish();} +if((key==settings.keyToPrev)||(keycode==37)){if(settings.activeImage!=0){settings.activeImage=settings.activeImage-1;_set_image_to_view();_disable_keyboard_navigation();}} +if((key==settings.keyToNext)||(keycode==39)){if(settings.activeImage!=(settings.imageArray.length-1)){settings.activeImage=settings.activeImage+1;_set_image_to_view();_disable_keyboard_navigation();}}} +function _preload_neighbor_images(){if((settings.imageArray.length-1)>settings.activeImage){objNext=new Image();objNext.src=settings.imageArray[settings.activeImage+1][0];} +if(settings.activeImage>0){objPrev=new Image();objPrev.src=settings.imageArray[settings.activeImage-1][0];}} +function _finish(){$('#jquery-lightbox').remove();$('#jquery-overlay').fadeOut(function(){$('#jquery-overlay').remove();});$('embed, object, select').css({'visibility':'visible'});} +function ___getPageSize(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=window.innerWidth+window.scrollMaxX;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;} +var windowWidth,windowHeight;if(self.innerHeight){if(document.documentElement.clientWidth){windowWidth=document.documentElement.clientWidth;}else{windowWidth=self.innerWidth;} +windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;} +if(yScroll({SezI^%Y*|R54p4`8G z|IVE|w{G3Ke*OB@t5+{wx^(*V=@TbT?Ay0*`}XZywrtt7Y18`k>sPE;v3T*~dGqGY zo;`cov}qG3PVDdR@9F7jZ*OmEYHDa`sI9FnD=RB5E-oxA%*)Hm%*;$rPftlnNlHqJ zkB^Uyjg5+m3Jnbn4h{|o2=Mds^Y-@k^z?Ldb7LR`6o0ZXurvH;&;cm~`H6w;ze7WT zhmKVLi6uoRbFAiHSg}QNM$~#2#^;SaIV^5XhYKa-WLTaw7EPSeoxUZ&W*tAf%&o4( zmMs}FnZ=U&t@`p#;`)5z0}*FgxG7?Q+eP>#}Q0kG{s^ou20;n;V<17z*6xlW|Jw?=bOR#PEpA zg=KOFx5Rw`%jtY|_3ZS` zqUjnN13nacHVT_2ml!nlJA2OW%MmP8S=ga0=sH=)An?>j$~+u1KUln%@oJ3-U|ygRY{{;{vyg#@ zVe7)XGmJPB4>%ce-gMSF@xfy;(;UM9kqL%E%RL+UjM8k(gB06(gljgeIR7Z|k07_Y Yz?%8?E)08>7@u6ee}4b|UkVJ?0I^^iLI3~& literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-btn-next.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-btn-next.gif new file mode 100644 index 0000000000000000000000000000000000000000..a0d4fcf84a784f2cf44c33084145dde5df294ccf GIT binary patch literal 812 zcmZ?wbhEHbv}aIYc*el+|NsBLfB*je{rl(7pWnZK|N8ao=g*%%e*F0U{rk6X-@bnR z`sK@)&!0bk_Uze{Cr=(ddi3DIgM0Vx-MMq;#*G`-u3fuy>C%M@7tWnKck0xs6DLj_ zJ9g~Qp+g4_9N4pG&#qm&wr$(CWy_Y$n>TOVxN-gZ^=sFzUA=ns%9SgZFJHcN>C(lE z7tftLclPYrGiT16IB{Zse}8XpZ+CZhdwY9pYio0Jb7Ny;LqkJdU0qdGRYgTbSy@?0 zNl8ILL0(>7PEJl%R#rwvMp{~0N=iynQc^-fLR?&2OiWBvR8&MnL|9l@NJvOfP*6ZX zfS;eAudlDSx3{OKr@OnmtE;QCvop}+41)kD{$ycfX9#A{0l5VfCk*WW8-jxwT3XxM zJ370%dpeqXCrq3)dCJsj(`U?_HG9t7dGi-6T(o$}(q+q6EMSyU6K`dbQDR_IP*vNm z&M%^|u7yignomt{TLh9X-vlT%qa~3Xe4)wGVP;i|rWZ3pVTZ!3`iIq!%NnqiVmI=~4yG?*UBuy@#qi_9lOv%EOFWqjwm)IFQ?j)3`1T=zfmcO{foI3W6sLtd zS4F+)nC;}rU*j;#AyW5g3x|3eXP|{qRNj;|3pfM literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-btn-prev.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-btn-prev.gif new file mode 100644 index 0000000000000000000000000000000000000000..040ee5992f7fdb9b51907cb4ba1c5570b1b5482a GIT binary patch literal 832 zcmZ?wbhEHbv}aIYc*el+|NsBLfB*je{rl(7pFe*5`1bAFmoHyFefsp_!-se8-o1MD z>gCIq&!0bk`t<4J$B!RAe0cx<{kwPX-oAbN)~#DNZrr$b?b?+qS1w$*aPHi>GiT16 zK7IP+$&<&AA3u8Z=;6bM4<0Ta{2P*ix)3mxNzb8`Sa(^n>T09oLRGG&6qJ`%9JS+CQRt>@9*vHZEbCBZf^0EX>c(&&|!v&d$!v%uG#9O-@cuN=iydNQjGz zi;0Peii(PehzJV{3keAc4h{|s4D|Q+_x1Jl_V)Jl^mKQ3cXD!aaBu(y1q0oI;!hSv zc7{j>9gxkSIALJ_-@wq++|t_C-qG3B78%*yKVf2j-=wM2rq7r;YxbPE^X4yDxM=Z` zrOTGDSUHZ{$*`cIU*V9G=mkL*$3~&B9F~NQE=O7f+$T8{d|+|! z5LB^I==tcv%)lM$(xcU&+%-wnv&x6z08`gQRsV((28G1VNlI>g4%W9mc+UCN{rKLQV#k0fcFk=e`pVK=5riUkZTAtTQ6isw#WRUmZ3z(a9R-j$e ze3FRFDrSywC%q{a3<^!By0Zf_LL_n(8yB!Rulm4I*~32ZbaR4DVcG)ssl5F2B6c2< z?&fr4Oo*`z)H=|_wuV)6!iF%%R#s*epBZ+t2Ny7lSgg8L*Lk3Uk?9ck4?hLV?=DPC dE8_S6+w=SThsUSq`|tm!>h(?3l#7MI8UW1vMEU># literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-ico-loading.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-ico-loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..4f1429c06cb2ffd2910b038d06b01a4b3ee00a21 GIT binary patch literal 3990 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 img').parent()); + } + else if (context == 'all_images_direct') { + selector = selector.add($('a[href] > img').parent() + .filter(function() { + var href = $(this).attr('href').toLowerCase(); + var ext = href.substring(href.length - 3); + var ext2 = href.substring(href.length - 4); + + return (ext == 'jpg' || ext == 'gif' || ext == 'png' || ext2 == 'tiff' || ext2 == 'jpeg'); + })); + } + else if (context == 'nextgen_and_wp_images') { + selector = selector.add($('a > img[class*="wp-image-"]').parent()); + } + + selector = selector.not('.gallery_link'); + } + + return selector; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/nextgen_shutter.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/nextgen_shutter.js new file mode 100644 index 0000000..4482972 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/nextgen_shutter.js @@ -0,0 +1,23 @@ +jQuery(function($) { + var callback = function() { + var selector = nextgen_lightbox_filter_selector($, $([])); + selector.addClass('shutterset'); + window.shutterSettings = { + imageCount: true, + msgLoading: ngg_lightbox_i18n.msgLoading, + msgClose: ngg_lightbox_i18n.msgClose + }; + shutterReloaded.init(); + }; + $(this).bind('refreshed', callback); + + var flag = 'shutter'; + + if (typeof($(window).data(flag)) == 'undefined') { + $(window).data(flag, true); + } else { + return; + } + + callback(); +}); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/shutter.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/shutter.css new file mode 100644 index 0000000..9005cf4 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/shutter.css @@ -0,0 +1,94 @@ +/* Shutter */ +#shDisplay div#shTitle { + font: normal 12px/17px 'Lucida Grande', Verdana, sans-serif; /* caption font */ + color: #ffffff; /* caption colour */ + text-align: center; + margin: 0 auto; +} + +#shDisplay div#shCount { + color: #999999; + font: normal 10px/12px 'Lucida Grande', Verdana, sans-serif; +} + +#shDisplay div#shTitle a { + text-decoration: none; + font: bold 16pt 'Courier New', Courier, fixed; + letter-spacing: -2px; + margin: 0 10px; + width: 26px; + color: #999999; +} + +#shDisplay div#shTitle a:hover { + color: #ffffff; + border: none; +} + +#shDisplay div#shNext{ + float:right; +} + +#shDisplay div#shPrev { + float:left; +} + +body { + height: 100%; +} + +#shShutter *, #shDisplay * { + padding: 0; + margin: 0; +} + +div#shShutter, div#shDisplay { + top: 0; + left: 0; + width: 100%; + position: absolute; +} + +div#shShutter { + height: 100%; + z-index: 10000; + background-color: #000000; + opacity: 0.8; + filter:alpha(opacity=80); +} + +div#shDisplay { + display: block; + background-color: transparent; + z-index: 10002; +} + +div#shDisplay img#shTopImg { + margin: 0 auto; + border: 1px solid #555; + background: transparent; + display: block; + max-width: none; + max-height: none; + float: none; + padding:2px; + cursor: pointer; +} + +div#shDisplay div#shWrap { + visibility: hidden; +} + +div#shWaitBar { + font: bold 32px 'Lucida Grande', 'Lucida Sans Unicode', Verdana, sans-serif; + height: 36px; + width: 100%; + left: 0; + cursor: default; + opacity: 0.999; + filter: alpha(opacity=100); + z-index: 10001; + margin-top: 160px; + color: #ae0a0a; + text-align: center; +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/shutter.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/shutter.js new file mode 100644 index 0000000..6a1b8d1 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/shutter.js @@ -0,0 +1,299 @@ +/* +Shutter Reloaded for NextGEN Gallery +http://www.laptoptips.ca/javascripts/shutter-reloaded/ +Version: 1.3.3 +Copyright (C) 2007-2008 Andrew Ozz (Modification by Alex Rabe) +Released under the GPL, http://www.gnu.org/copyleft/gpl.html + +Acknowledgement: some ideas are from: Shutter by Andrew Sutherland - http://code.jalenack.com, WordPress - http://wordpress.org, Lightbox by Lokesh Dhakar - http://www.huddletogether.com, the icons are from Crystal Project Icons, Everaldo Coelho, http://www.everaldo.com + +*/ + +shutterReloaded = { + + I : function (a) { + return document.getElementById(a); + }, + + settings : function() { + var t = this, s = shutterSettings; + + t.imageCount = s.imageCount || 0; + t.msgLoading = s.msgLoading || 'L O A D I N G'; + t.msgClose = s.msgClose || 'Click to Close'; + }, + + init : function (a) { + var t = this, L, T, ext, i, m, setid, inset, shfile, shMenuPre, k, img; + shutterLinks = {}, shutterSets = {}; + if ( 'object' != typeof shutterSettings ) shutterSettings = {}; + + // If the screen orientation is defined we are in a modern mobile OS + t.mobileOS = typeof orientation != 'undefined' ? true : false; + + for ( i = 0; i < document.links.length; i++ ) { + L = document.links[i]; + ext = ( L.href.indexOf('?') == -1 ) ? L.href.slice(-4).toLowerCase() : L.href.substring( 0, L.href.indexOf('?') ).slice(-4).toLowerCase(); + if ( ext != '.jpg' && ext != '.png' && ext != '.gif' && ext != 'jpeg' ) continue; + if ( a == 'sh' && L.className.toLowerCase().indexOf('shutter') == -1 ) continue; + if ( a == 'lb' && L.rel.toLowerCase().indexOf('lightbox') == -1 ) continue; + + if ( L.className.toLowerCase().indexOf('shutterset') != -1 ) + setid = L.className.replace(/\s/g, '_'); + else if ( L.rel.toLowerCase().indexOf('lightbox[') != -1 ) + setid = L.rel.replace(/\s/g, '_'); + else setid = 0, inset = -1; + + if( setid ) { + if ( ! shutterSets[setid] ) shutterSets[setid] = []; + inset = shutterSets[setid].push(i); + } + + shfile = L.href.slice(L.href.lastIndexOf('/')+1); + T = ( L.title && L.title != shfile ) ? L.title : ''; + + shutterLinks[i] = {link:L.href,num:inset,set:setid,title:T} + L.onclick = new Function('shutterReloaded.make("' + i + '");return false;'); + } + + t.settings(); + + }, + + make : function(ln,fs) { + var t = this, prev, next, prevlink = '', nextlink = '', previmg, nextimg, D, S, W, fsarg = -1, imgNum, NavBar; + + if ( ! t.Top ) { + if ( typeof window.pageYOffset != 'undefined' ) t.Top = window.pageYOffset; + else t.Top = (document.documentElement.scrollTop > 0) ? document.documentElement.scrollTop : document.body.scrollTop; + } + + if (window.parent) { + // XXX exception test attach to post tabs + var container = window.parent; + + if (typeof(container.ngg_get_measures_for_frame) != 'undefined') { + var measures = container.ngg_get_measures_for_frame(window.frameElement); + + t.Top = t.Top + measures.scrollTop; + //t.pgHeight = measures.scrollHeight; + } + } + + if ( typeof t.pgHeight == 'undefined' ) + t.pgHeight = Math.max(document.documentElement.scrollHeight,document.body.scrollHeight); + + if ( fs ) t.FS = ( fs > 0 ) ? 1 : 0; + else t.FS = shutterSettings.FS || 0; + + if ( t.resizing ) t.resizing = null; + + // resize event if window or orientation changed (i.e. iOS) + if(t.mobileOS == true) + window.onorientationchange = new Function('shutterReloaded.resize("'+ln+'");'); + else + window.onresize = new Function('shutterReloaded.resize("'+ln+'");'); + + document.documentElement.style.overflowX = 'hidden'; + if ( ! t.VP ) { + t._viewPort(); + t.VP = true; + } + + if ( ! (S = t.I('shShutter')) ) { + S = document.createElement('div'); + S.setAttribute('id','shShutter'); + document.getElementsByTagName('body')[0].appendChild(S); + t.hideTags(); + } + + if ( ! (D = t.I('shDisplay')) ) { + D = document.createElement('div'); + D.setAttribute('id','shDisplay'); + D.style.top = t.Top + 'px'; + document.getElementsByTagName('body')[0].appendChild(D); + } + + S.style.height = t.pgHeight + 'px'; + + var dv = t.textBtns ? ' | ' : ''; + if ( shutterLinks[ln].num > 1 ) { + prev = shutterSets[shutterLinks[ln].set][shutterLinks[ln].num - 2]; + prevlink = '<<'+dv; + previmg = new Image(); + previmg.src = shutterLinks[prev].link; + } else { + prevlink = ''; + } + + if ( shutterLinks[ln].num != -1 && shutterLinks[ln].num < (shutterSets[shutterLinks[ln].set].length) ) { + next = shutterSets[shutterLinks[ln].set][shutterLinks[ln].num]; + nextlink = '>>'+dv; + nextimg = new Image(); + nextimg.src = shutterLinks[next].link; + } else { + nextlink = ''; + } + + imgNum = ( (shutterLinks[ln].num > 0) && t.imageCount ) ? '
       ( ' + shutterLinks[ln].num + ' / ' + shutterSets[shutterLinks[ln].set].length + ' ) 
      ' : ''; + + NavBar = '
      ' + prevlink + '
      ' + nextlink + '
      ' + shutterLinks[ln].title + '
      ' + imgNum + '
      '; + + D.innerHTML = '
      ' + NavBar +'
      '; + + document.onkeydown = function(event){shutterReloaded.handleArrowKeys(event);}; + //Google Chrome 4.0.249.78 bug for onload attribute + document.getElementById('shTopImg').src = shutterLinks[ln].link; + + window.setTimeout(function(){shutterReloaded.loading();},1000); + }, + + loading : function() { + var t = this, S, WB, W; + if ( (W = t.I('shWrap')) && W.style.visibility == 'visible' ) return; + if ( ! (S = t.I('shShutter')) ) return; + if ( t.I('shWaitBar') ) return; + WB = document.createElement('div'); + WB.setAttribute('id','shWaitBar'); + WB.style.top = t.Top + 'px'; + WB.style.marginTop =(t.pgHeight/2) + 'px' + WB.innerHTML = t.msgLoading; + S.appendChild(WB); + }, + + hideShutter : function() { + var t = this, D, S; + if ( D = t.I('shDisplay') ) D.parentNode.removeChild(D); + if ( S = t.I('shShutter') ) S.parentNode.removeChild(S); + t.hideTags(true); + window.scrollTo(0,t.Top); + window.onresize = t.FS = t.Top = t.VP = null; + document.documentElement.style.overflowX = ''; + document.onkeydown = null; + }, + + resize : function(ln) { + var t = this; + + if ( t.resizing ) return; + if ( ! t.I('shShutter') ) return; + var W = t.I('shWrap'); + if ( W ) W.style.visibility = 'hidden'; + + window.setTimeout(function(){shutterReloaded.resizing = null},500); + window.setTimeout(new Function('shutterReloaded.VP = null;shutterReloaded.make("'+ln+'");'),100); + t.resizing = true; + }, + + _viewPort : function() { + var t = this; + var wiH = window.innerHeight ? window.innerHeight : 0; + var dbH = document.body.clientHeight ? document.body.clientHeight : 0; + var deH = document.documentElement ? document.documentElement.clientHeight : 0; + + if( wiH > 0 ) { + t.wHeight = ( (wiH - dbH) > 1 && (wiH - dbH) < 30 ) ? dbH : wiH; + t.wHeight = ( (t.wHeight - deH) > 1 && (t.wHeight - deH) < 30 ) ? deH : t.wHeight; + } else t.wHeight = ( deH > 0 ) ? deH : dbH; + + var deW = document.documentElement ? document.documentElement.clientWidth : 0; + var dbW = window.innerWidth ? window.innerWidth : document.body.clientWidth; + t.wWidth = ( deW > 1 ) ? deW : dbW; + }, + + showImg : function() { + var t = this, S = t.I('shShutter'), D = t.I('shDisplay'), TI = t.I('shTopImg'), T = t.I('shTitle'), NB = t.I('shNavBar'), W, WB, wHeight, wWidth, shHeight, maxHeight, itop, mtop, resized = 0; + + if ( ! S ) return; + if ( (W = t.I('shWrap')) && W.style.visibility == 'visible' ) return; + if ( WB = t.I('shWaitBar') ) WB.parentNode.removeChild(WB); + + S.style.width = D.style.width = ''; + T.style.width = (TI.width - 4) + 'px'; + + shHeight = t.wHeight - 50; + + if (window.parent) { + // XXX exception test attach to post tabs + var container = window.parent; + + if (typeof(container.ngg_get_measures_for_frame) != 'undefined') { + var measures = container.ngg_get_measures_for_frame(window.frameElement); + + shHeight = measures.scrollHeight - 50; + } + } + + if ( t.FS ) { + if ( TI.width > (t.wWidth - 10) ) + S.style.width = D.style.width = TI.width + 10 + 'px'; + document.documentElement.style.overflowX = ''; + } else { + window.scrollTo(0,t.Top); + if ( TI.height > shHeight ) { + TI.width = TI.width * (shHeight / TI.height); + TI.height = shHeight; + resized = 1; + } + if ( TI.width > (t.wWidth - 16) ) { + TI.height = TI.height * ((t.wWidth - 16) / TI.width); + TI.width = t.wWidth - 16; + resized = 1; + } + T.style.width = (TI.width - 4) + 'px'; + } + + maxHeight = t.Top + TI.height + 10; + if ( maxHeight > t.pgHeight ) S.style.height = maxHeight + 'px'; + window.scrollTo(0,t.Top); + + itop = (shHeight - TI.height) * 0.45; + mtop = (itop > 3) ? Math.floor(itop) : 3; + D.style.top = t.Top + mtop + 'px'; + W.style.visibility = 'visible'; + }, + + hideTags : function(arg) { + var sel = document.getElementsByTagName('select'); + var obj = document.getElementsByTagName('object'); + var emb = document.getElementsByTagName('embed'); + var ifr = document.getElementsByTagName('iframe'); + + var vis = ( arg ) ? 'visible' : 'hidden'; + + for (i = 0; i < sel.length; i++) sel[i].style.visibility = vis; + for (i = 0; i < obj.length; i++) obj[i].style.visibility = vis; + for (i = 0; i < emb.length; i++) emb[i].style.visibility = vis; + for (i = 0; i < ifr.length; i++) ifr[i].style.visibility = vis; + }, + + handleArrowKeys : function(e) { + var code = 0; + if (!e) var e = window.event + if (e.keyCode) code = e.keyCode; + else if (e.which) code = e.which; + + var nextlink = document.getElementById('prevpic'); + var prevlink = document.getElementById('nextpic'); + var closelink = document.getElementById('shTopImg'); + + switch (code) { + case 39: + if (prevlink) prevlink.onclick(); + break; + case 37: + if (nextlink) nextlink.onclick(); + break; + case 27: + if (closelink) closelink.onclick(); + break; + } + } +} +shutterOnload = function(){shutterReloaded.init('sh');} + +if (typeof shutterOnload == 'function') { + if ('undefined' != typeof jQuery) jQuery(document).ready(function(){shutterOnload();}); + else if( typeof window.onload != 'function' ) window.onload = shutterOnload; + else {oldonld = window.onload;window.onload = function(){if(oldonld){oldonld();};shutterOnload();}}; +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/close.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/close.gif new file mode 100644 index 0000000000000000000000000000000000000000..057a43f33de04cb44adb9b10d7a113d90a6ef55a GIT binary patch literal 1062 zcmZ?wbhEHb6krfw_zqYnF3yUusTb71~D=TY`rq+$_ZZBqLXBL((-@aM1vwJc# z_c1W+Q&*qL!BNV<;K9jx&BNo%moLuT+z-XYABl;@NJw07YVu)aJ$&-yJ#q0Vva%

      #A4tyEKcQdqcOOKZN8k{>&JAtU3LRjc-1xN!aM-BzH< z4GobJ693D}KCE2%KRqoka_##0_V)jWj-I@H`Tv2V z&s<$MXlfolcKp$kC%5(W^Q5KE#K&K_aPj}4Q)|@JT-n$zWMsUEh;mYz!)1-O(&jv9qoyIOS_YOy~kn6bvoVy}YBb7b5di2{QZaz{em@43~)9qzs z%c85x6)TlYm=-C72$+`kNHUwMPi9#<&*Fno;>oMJN-jui(P zg4rC6^*(-7KJ7j|iLXv}L2yzxpR~Bu1)~j1x&*aM#ALWPFnX_2lF|tIz}kJG-JP9n wR_0-4p{0VBE-cEWDh_UpjY(e_7!+9e^d*eAT#Ak|&6LWR$HAN-A;4e_01+2$fdBvi literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/loading.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..7150ca97e54868ee3f9f60070cbed460964cecaf GIT binary patch literal 10049 zcmd^^Xgnkj7#LtM7#t2~VPRoqWkn{FZEbDWty|~hlq$v?<_d+v!otFmk`jeNQB_q{TU*=I z)YR40H9kI$Kp^bx?Y+IdeSLj-Jl?*2`{Lu{4;(mVfyeSLi!8yiPQM;8~D?c29UMn>-5y*o8EH7zYIGc)t_>C;N3vbwsuxw*N!ySu-? z-_+EUKp+r_L=uU#VZ#PbPtR@Jww0Hc*VWajRI2a4|9*6I6b^@5TU*oV^sQUBvf1ps zyu6y4n)degix)56x^)W%gCUVfLqkIjhf`2cAd|_kSge_uSyWV%TrLj@3E8x1Q$|L{ znKNhp0pb70iTp)B#4lopFO%oz=1d0zzwQC~ul2#P35le*Jks{;*u%-`$=R`_ki?Yu zq{O4KB-&TdoYM})CM0JZIOLp>nBxE-{{aCazb;N{K zf;gMA$KYlRxu+VBz=J!^Yp-`X`&hcUekNGKAxCy=c~_$plqe@S0)>Eq4*TjkI6G4z zew1A{C!q-8$wV`mvx#3?1{(}-0ZZ6WI~gsEbv!)<2o*rv{fwPt7O7=yNDI8}vM-3d z-g%vYZ-Xxo*3y@#ukte(a3+g;%30ThVh-p>f25tA$!)f!Y(0i$;ov}EHMbOVAbNWL z_Oo>SNI}0x(46=1xf}WFO}Vg-28>p|5CrxIC2-q9{g6ibvIyF=i(CM@`EM&8qk`(W z6~&5($YPBE$skr>K((420C`h^Ze_$J%D?DUR_oSvlbDSTFt^{;kPR?bbYZK4&KGZSq&Y3bn&O-`@(_Trok((ZGm`p zZEr#a4T5J$v_oA2h@Qbzhyw#CkUIGLbvTN9dO%1Y*ECQ&Y)wx{?BKmFYk|H@=e~p|mTtB+h?}h}zad8QB9~EzN)NXC;^^=+f-6K2{Lu|CRN^vjyCSXIrJ%85) zv8R^H6a$wf#CzLwXDlH4br`7VgOrdnB6T;uwP~8S>ovm7s0WanX~&nin{DP?-N23? zMGzqd$voxyLK2Bn0>F%l1BQa6Ahm*Q)6qt9-Hz7GVbwz8ADj`!05Ip0;atV-T$6dh zgUSL>G(DWMSkNub#gU7+YE)fg&z`0%KZeY>t>S1H9t(GcwuCteEJfaC7s#pl13Z47ce=))R09I&Bh zSBsBTYKcDM9+-J4X5!eL;dyKPtL{gio_zQnjNpMMPO{ULhXqE&T;3f!$WsB>up*2l zK>4D{b4Fhth(^FhPwBo=03uTiGY%XQp00dZ^2$)&E4(LZ?hx|1bK=Z=V2_A~UP2u;gour@V+1wrW(MCx zqzy61UlAdO5@SLn!8fI$@y_cV!^gz9 z!~=;K>CH<~&U3pTibL544#c{iZ!JAIm-u=?WR&>MbooMO@V>dgr@uq=7DX9B8v%D1 z%D7faG#=Q6X1jF?N;Wy8fgWHIDQJi~niduy5ol{1Zy^&e?;019^ldn^U^KZ_A5{>S zmOM@AoT|0)py!$-vM;XdYebN`Y#*CLB#qIYzqhB-4#P8mDF2j z0(gA_4EAtwEGOjl(2-T>lAXieVM*JSNhH=io@2VhLUWk{jHY!OXs>^Jh!uK~-^Q@K zl{s&u^^~tt3l6{dSAYWvRN$q2{YaB=`3?;xqJ^PPd_noluPr^kfc+uk&hZcL=Q|Qk zurxzZ{dbq6lG4&Wb6(zYEqoyO-Xw`n3Fgk7v2$JCsgK*4c3GNS@6jdzy{URL3f_}B z4K>@9d5nuQ3nBX%P%6e4rqQ`tKU4j{Hxit!BWWzL$Xy74u0J|0H8q-*DeORutT|0{iz0UO+W-_EZw>%%*(y{k zvF0E@)7`u_Dq!7#SYa~4V^+;{MJxfN$zvobu4N%b{$d$B+b8u@1G@Dww zb9?n!v8u`iUE#r4X+-|3b-_VoTI0efL)fA-HeT2Fd}vbL+<^0{B;T$V0j^!qKDbC8 zySqW!)oV4xRr1v5FA0TTv(EpCF8}MQ=WX8X`ZxHQ9L}MCz~5Js`49MErsru8+e7#K^X8SWG^qF{b?4xu^HRm-TIP+(Rv<1UJ@Jm8d^5;FTEC$rFBHZD7l|`a5 z)27rzUK_*gX?Ge=k081)D``av=hSMGp3Li@w|4 ziUd@8ehYeI;a7C9kM<-7ubCf)D%&5tfEex}7ddXq!tt$!>~2F?o7hjYgz$e^k>kJo z;gI`Hl?=UZwc0IwcaY4gCw+ULd`pr*?7a77&Q&Hp>H?@KBP@^*##?A2gCFyR79_{600RU` zF^9F7+9-sQ_Rxg{6bmDjhcPs}0=)VVanQ}G%4d$D2~iY3G$C7DmJ!ugppz~?<|z*% zqF@YyYl4RjF5LJTqu2|FPy^C}_%EbHkSbv$!L9xSmFzk&T>$b!wgXP>q??a{ z^m&^B^+2B2@s0&aDjM;e1$cYEPqKuZ4n=wM%QHqXH} zRMI`t0H6V!3X^(Podzxv3eKCBvMer8qraASsH?P)DE2bc}KzB9n0YFtChR0qsB#W|*a# zavPRu8c#clXrMz0wVsQtW|7Ac)CsoB9=SCtZz7pr1==Q33{#Y1x|Ow)5HV|7vrjO~u>cKKt=g{;4?@^N(tN~l+pFnskgb{4q8R5j^Z1qT&K^jC%cF8Fkw-hGEdP#`=#7z4m~`cg69zZKo`-)|7_5mx1~tmHs0hD_Ko< zV85igMtyDke^m#Wt^IbNcfPHs2J^F%4jZcOwb7oa{PdCqW2e3Q;lwaN+>-X2`G1P_ z|62ov00f2ntwH8+D--)w1N9%67X+#c?2jjqY?W8}Z zmB^SLiO8S`EYAoC0r#eP>H|0yVsXI~(@PvWqG#7fGscT_@5Ytcf;y-6Kapa5@f2b&V24SuQ zut)*T!9%?LWvZb^#q_C(eNp=Ear32{KXSqWrw!)j%eTQOwG`tZ-hz@70%+!eB$q|h ziry7!WvFw&0wjRqps8^4B(o}c1rA-*?MR+YS*bgJUQSp=EHtpv%;t+~?j+kMWv5UX zFihpcE>M}f4)2G4n&lru)l+l9W$qvAI3Xp%iOzM9igPR=?H;$IbdzzM(8N+WLG5Vg zXo6AG)B?%1tpmFU_VH?;!90CXRs52}aO=$RSd7&erru8zcG z5Vtl$qjMj5e~Nd`dZvKBDzfq-SWI3J2Q9Xq`_ti#g0SMLlu=gRGA8w14C2sXG;TkG z)lXbt4)QC;!ypquR*G#iQmWHZfjKe1qk^Z+ZA#mmdtckOk@;SKo*ZvA=_ za^F&O;~3qb8c?LOOuMB5k<^y5e|!E&ffg@NN^r;44{||>%y&-?!yx}5@%*pj*g zpbyzs8{^6h5|R@^3W-K3!luO()(~O#vLz^`Q>y!gQ zg(oqLjr`5E#K_EVeNCznGIVTx-)50r?Nj?O;_-yxrWisb2yxtcWyQ)565T(7vJQ#x z#rW}O_XbyK`{D}fcx|nG_lGp)fe&?Wb;OiqO?-I@{s_*0hTB3vEXFrtO@*Uf_6hW6Hgt{Vz_y4S9Hq|t83 zGkRAT79O`n8AnV2hk%aBpNIABe;kvKG%W7EcfC4ouTJCs{Q~^EjF|`R#QaLyhC5J9 zpL~St9z6lBm|hB2BbOg~1$Xm1*O!ExHD_1Ac1Hh}hqR z2iX>*^-!pxmwa>uCQ0h0vaOIScE4PM{uV84Ayk?8ksP>#0H@fMDX_yBFZ*DTDNVDOh-3D=9SHMaiz zhS73B#EswZ+OoL0h`szq|@GaPySm0D1M-S zViB{&N1v8bsTIJDU>2JTD%xN2C(2EH+xx^?CAl%hxZpN%1oXRa`zVh641V|I}>LvW4FNLsogf+C%4kN$#dqagOe z_bhz_^=MshWL(gn5G};{HQHu>aem7vKEl9pT%2sXu2)Xt%p1Ko2X_z|Aejx2%`JJ>T4vx=N& zW1#|k_&DC&yp!7qD|-eaHsK5eW=-5@(%A5lFpl}Y$AoZ5pwm<6!OtJJ>l_mC{Q*bw z>cR_#8nvG?N57ytwKUt)ibU>i*=vzCRO;=@#6+hdplJbQ`A|G=$mO<69=Q+iTsW$p z4rK6j-~Blr^k^WCw0sX_or$&^H9nU!Wg7NrhF#}lJ;UzVlZ|$TM~C35zz-i@c+UU= z|BH}BzjMYu`EMt9hA7LFuTCUom5NF&?lXkhI?A{hY3dE!O)n)tkuZEj=4!l#eKI#; z&t&-Qxf&$?q$3wwct_Zhu`&x}9tahN@*QVAbqO3%N%p&|A8~4Xjy_Ih?#0s(Iv{XH zRFO^GE+M$HqBmc;4glTr@;j3xy|aXG0llab70Is*t6Q{#kd*EvLOIyn>8HFEd5pM) z<8{;FL3bBap8yuLzg<+jBWXOYWJTWfh_~qzB=8Dyn%mly3v*JN1Zvufo;K8zr4x&vP zo?KG~$S4H}U}znEb-2i>KbL(PcXAkP7M;e3FWnqd6<6%t4wz@VWso{cH@%>tZA??5 zCMqoRwP-Ms5l-@3Nxm(;mj!3^UD3ldpVyEVCm^_qjfHQae^)PXj{SLypltaPz9XHFk%vFN?53QesPOtc+EkoOSsHnAUK zy%DR6aJ&}YhCYT*IfyWzahQk-%ICF7P_)WZVQZ4RqJp0!tqFS)6Z#u%ZMoSJ3m;p~ zLjqYct4aJOuJtwCn=~MxRt#ZO3?{c+ubF0_0A;@cIN;N1ZzRvJHsY4CWX4n*UB z67K!_pf(QkJt+bf8q!C!`*&%!>FfG1C=oW1WT{?X+MDenB!xRhKYUC^oQw z9P$1k)+Tp5q7j@GE5TTxD`jvza@xV~T<*Gnt6ripL0*ra8Ll|ZA zY-ZilTqE3n(>t$V4e%}hq@=G+H0*C7!ZgBCi)~eoM^@BhCwubtZ0ha11TDgV>I+W@ikK?SvF|M}RQ?RcbH*O#T6Bh$~tUCt!RU!ZB| z_r}57e-48JKT8naL;O3Vyma}d57mKoNcsfYgxV?`N0I6(CQ+L@2g3;6X)7)4u6?$T z3J88V)`bYGSq+I=?SVj$_$za4WbftL;<&4iYZ;NVbHk+`&!S{PY+|;ioB@-Emu`Ae z+o8Y3`T0B)5BX!>nkGkxlWt zD#!uAn9J%a4h#}2L!KzeI?L}KCDUMK+*-6jI&Rp$MLMwhoT(p8T7+dq3mRC-9>(MC zj(B58V2iio-rZfjLSd_D5L3%%HeOydCn^><^6W&U8U?}3!}tM;$s_oqQ%}&e?Wzb& z127gJ#&z_OIx1{zGBSU#M}82b*dZMF63l7*(#RlZRF7e2ktSFVK$dtQzJYcz$I6cp z1_Z~T-OS-Zi`zLsN7W7c1|#ZGh6{5~srkepHNsx^or!Ik#c06R10ph?aqqpAw2X=8N_n9*X~QtSPL9 zcg=Mm{utA~0)BDlk6}Pb|xM5r5E8C4e}RLKd_T?6P2?B47~4C};k) zXrtV3)lEIa{dKkzXgRdlRkDA&b*j{>BH1c%Lxt)^z46IsT2wNnQ?NJoA`50-Q<5OC zKJ5*vXS;sZ1X2sw!_3C7hce!ND!M%|z(KXh^f4K@l8%||UqANMW zMHV4vC(wZ*s%I1J8J|D4f%7l^$%M5PC@v#a;H~YzOW+W?UtoFW69+y#k)BLtd-v}( z@NIP~3I^4A=xoiCX2-)*U-5fw5YqxAHC+p5Sg5$g%QnS6lnB`Qq}g9XkOR}>E#NzO zXhRZ1G*t+?0t8`BMO^p2ai}w;dKi214d)t(ddwL^!a391?0h(@g3n44zj4xCIMxS-73H<|vP J^)(!A`5$EPSIqzb literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/next.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/next.gif new file mode 100644 index 0000000000000000000000000000000000000000..9e289a1692f4ecb9a63bb5da100b96b1b48d421c GIT binary patch literal 549 zcmZ?wbhEHb6krfwcvi?DIq!{F|04!QCjRovtd`{r972rTqU`q7OcKV-ayE*6_c=Wp zxjdU0`6NTuz3^N5kiYi2Sl=V%y5r0;riPPl^B0|Gv#wxKG-fl;X0^$bnEzI5$y@0u zPt7-d=JapV^{=v2vOwal*jf)KJ(YAKBE_-oc`y+tJ%5>zkR<*Dhx5t!1P) zrO7T|Nn0&3X%4$|hKIYkri(;haIzG`W;Ywdv_30kLB_pVGCA2DCVBRvp03P(3L!Ba z-04vo2D#4aaiP6Drp)oGBK$&AA_4^bRTRDE6mr=*m<7I;3*&Q?d|eouVELoT>2D(g GgEauEjJ%Bi literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/prev.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/prev.gif new file mode 100644 index 0000000000000000000000000000000000000000..0978e3345f42811e4324fa806796297255d8f03d GIT binary patch literal 551 zcmZ?wbhEHb6krfwcvi?DIq!{F|04!QCjRovtd`{r972rTqU`q7OcKV-ayE*6_c=Wp zxjdU0`6NTuz3^N5kiYi2Sl=V%y5r0;riPPl^B0|Gv#wxKG-fl;X0^$bnEzI5$y@0u zPt7-d=JapV^{=v2vOwal*jf(oopc+)@}R-`d%vtHaXOl9K5w+t**HXQbtA zJ*_Y)QB7MZ->yr-Mbq5fBSV_KGtJP(jbW=)a&T*Qj!YKgenDlc=+>AJ1wUq2Pf`24 zuFyDj=UfAgsC4drA$}3ncxF?cetj=R6@P(%h`E7g4z^sWbDJFb!oDB(M`G>Lu zmG}<*-&eRaXVJ3-Azz$WIGH`N-FN)hYF42u?j@Y}GETgTCvcNz+vb*>8&MJOJ=T6* zo%B0!`Q_!Qm*Tj!IE+FJ7+4q>IT+aZSkw0@(J ztM`Ak<~9lCSoxFx53ozK@))wSN-^`9aXRPQaw&7N*)dwS7`Yy^WYb|};$ZCkTVMA- zN55PH=%Z0U{}538$->CM(9EC%vKo{p7&y8a*g0i9HY_;U%n_U5=uyBYtRI_TAo8Ql zvCBdCgutGnrUVYnFdhb@O>POiV%0p)c5GP4G1o@>(HV;$%4|~tWetZXa{)&L7IxTpXC literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/resize2.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/resize2.gif new file mode 100644 index 0000000000000000000000000000000000000000..62d03b316c6d1bfe33d10a18430d2fc13484152f GIT binary patch literal 953 zcmeH`+e?#S0LGv9{od~|H{G|nwXJQs%{*MpV;N;P>$3dGZUr=^1-u$XN1$ z0>Omn00LMA!44>u#n(c(7kQquuJC8EMn;GWuxK<6KmsB;+N0uRpj_m)3qp%lG7CaL z=F-{{mMeoNA^N|?Cm}AB_=sw+4b8BJNsb+ak47U@%I$gAqUf(~H&+9Jx z2H(zOX2KL+S~JkzGl5IGeTRM|{C4IBMKyJv81IcJ5Id4siKlP+!a8$XYDLx7gwn3| kUW1IxzZB@A0RR91 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/nextgen_shutter_reloaded.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/nextgen_shutter_reloaded.js new file mode 100644 index 0000000..4cc4b00 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/nextgen_shutter_reloaded.js @@ -0,0 +1,18 @@ +jQuery(function($){ + var callback = function(){ + var selector = nextgen_lightbox_filter_selector($, $([])); + selector.addClass('shutterset'); + if (typeof ngg_lightbox_i18n != 'undefined') { + shutterReloaded.L10n = ngg_lightbox_i18n; + } + shutterReloaded.Init(); + }; + $(this).bind('refreshed', callback); + + var flag = 'shutterReloaded'; + if (typeof($(window).data(flag)) == 'undefined') + $(window).data(flag, true); + else return; + + callback(); +}); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/shutter.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/shutter.css new file mode 100644 index 0000000..e67ce17 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/shutter.css @@ -0,0 +1,92 @@ +/* Shutter */ +#shNavBar a { +color: #aaf; /* colour for the text buttons */ +text-decoration: none; +} +#shNavBar a:hover { +color: #fff; /* highlight colour for the text buttons */ +} +#shDisplay div#shTitle { +font: normal 12px/17px 'Lucida Grande', Verdana, sans-serif; /* caption font */ +color: #ffffff; /* caption colour */ +text-align: center; +margin: 0 auto; +} +div#shNavBar { +font: normal 12px/12px 'Lucida Grande', Verdana, sans-serif; /* font for text buttons and image numbers */ +color: #999; /* colour for the image numbers */ +position: fixed; +left: 0; +bottom: 0; +background-color: #2e2e2e; +width: 100%; +padding: 4px 0 5px; +text-align: center; +cursor: pointer; +z-index: 10011; +} +body { +height: 100%; +} +#shShutter *, #shDisplay * { +padding: 0; +margin: 0; +} +div#shShutter, div#shDisplay { +top: 0; +left: 0; +width: 100%; +position: absolute; +} +div#shShutter { +height: 100%; +z-index: 10000; +background-color: #000000; +opacity: 0.8; +filter:alpha(opacity=80); +} +div#shDisplay { +display: block; +background-color: transparent; +z-index: 10002; +} +div#shDisplay img#shTopImg { +margin: 0 auto; +border: 1px solid #555; +background: transparent; +display: block; +max-width: none; +max-height: none; +} +div#shDisplay div#shWrap { +visibility: hidden; +} +div#shWaitBar { +position: absolute; +width: 100px; +left: 50%; +margin-left: -50px; +margin-top: 120px; +} +#shWaitBar img { +border: 0; +} +#fullSize { +display: none; +} +#shNavBar img { +border: 0; +vertical-align: middle; +margin: 0 2px; +opacity: 0.6; +filter: alpha(opacity=60); +} +#shNavBar img:hover { +opacity: 0.999; +filter: alpha(opacity=100); +} +* html div#shNavBar { +_position: absolute; +_top: expression(eval(document.compatMode && document.compatMode=='CSS1Compat') ? document.documentElement.scrollTop+document.documentElement.clientHeight-this.clientHeight : document.body.scrollTop+document.body.clientHeight-this.clientHeight); +_left: expression(eval(document.compatMode&&document.compatMode=='CSS1Compat') ? document.documentElement.scrollLeft : document.body.scrollLeft); +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/shutter.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/shutter.js new file mode 100644 index 0000000..4eb4691 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/shutter.js @@ -0,0 +1,287 @@ +/* +Shutter Reloaded +http://www.laptoptips.ca/javascripts/shutter-reloaded/ +Version: 2.0.1 + +Acknowledgement: some ideas are from: Shutter by Andrew Sutherland - http://code.jalenack.com, WordPress - http://wordpress.org, Lightbox by Lokesh Dhakar - http://www.huddletogether.com, the icons are from Crystal Project Icons, Everaldo Coelho, http://www.everaldo.com + +Released under the GPL, http://www.gnu.org/copyleft/gpl.html + + Copyright (C) 2007 Andrew Ozz + + 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. +*/ + +// Compute path to images +var imagePath = nextgen_lightbox_settings.static_path + '/shutter_reloaded/images/'; + +if (typeof(window.console) != 'undefined') { + console.log(imagePath); +} + +shutterReloaded = { + +// *************************************************************************** + +// edit below to change the text buttons/titles for the menu (use html entities for non-ascii characters) + L10n : ['Previous','Next','Close','Full Size','Fit to Screen','Image','of','Loading...'], + +// change to "true/false" to enable/disable showing the number of images in a set. + imageCount : true, + +// change to true/false to enable/disable text buttons instead of images + textBtns : false, + +// change the path to Shutter's image buttons directory if needed + shImgDir : imagePath, + +// *************************************************************************** + + I : function (a) { + return document.getElementById(a); + }, + + Init : function (a) { + var L, T, ext, i, setid, inset, shfile, shMenuPre, k, img; + for ( i = 0; i < document.links.length; i++ ) { + L = document.links[i]; + ext = ( L.href.indexOf('?') == -1 ) ? L.href.slice(-4).toLowerCase() : L.href.substring( 0, L.href.indexOf('?') ).slice(-4).toLowerCase(); + if ( ext != '.jpg' && ext != '.png' && ext != '.gif' && ext != 'jpeg' ) continue; + if ( a == 'sh' && L.className.toLowerCase().indexOf('shutter') == -1 ) continue; + if ( a == 'lb' && L.rel.toLowerCase().indexOf('lightbox') == -1 ) continue; + + if ( L.className.toLowerCase().indexOf('shutterset') != -1 ) + setid = ( L.className.indexOf(' ') != -1 ) ? L.className.slice(0,L.className.indexOf(' ')) : L.className; + else if ( L.rel.toLowerCase().indexOf('lightbox[') != -1 ) + setid = L.rel; + else setid = 0, inset = -1; + + if( setid ) { + if ( ! shutterSets[setid] ) shutterSets[setid] = []; + inset = shutterSets[setid].push(i); + } + + shfile = L.href.slice(L.href.lastIndexOf('/')+1); + T = ( L.title && L.title != shfile ) ? L.title : ''; + + shutterLinks[i] = {link:L.href,num:inset,set:setid,title:T} + L.onclick = new Function('shutterReloaded.Make("'+i+'");return false;'); + } + + if ( ! this.textBtns ) { + shMenuPre = ['close.gif','prev.gif','next.gif','resize1.gif','resize2.gif','loading.gif']; + for ( k = 0; k < shMenuPre.length; k++ ) { + img = new Image(); + img.src = this.shImgDir+shMenuPre[k]; + } + } + }, + + Make : function(ln,fs) { + var prev, next, prevlink = '', nextlink = '', previmg, nextimg, prevbtn, nextbtn, D, S, W, NB, fsarg = '', imgNum, closebtn, fsbtn, fsLink; + + if ( ! this.Top ) { + if ( typeof window.pageYOffset != 'undefined' ) this.Top = window.pageYOffset; + else this.Top = (document.documentElement.scrollTop > 0) ? document.documentElement.scrollTop : document.body.scrollTop; + } + + if ( typeof this.pgHeight == 'undefined' ) + this.pgHeight = Math.max(document.documentElement.scrollHeight,document.body.scrollHeight); + + if ( fs ) this.FS = true; + else this.FS = null; + + if ( this.resizing ) this.resizing = null; + window.onresize = new Function('shutterReloaded.Resize("'+ln+'");'); + + document.documentElement.style.overflowX = 'hidden'; + if ( ! this.VP ) { + this._viewPort(); + this.VP = true; + } + + if ( ! (S = this.I('shShutter')) ) { + S = document.createElement('div'); + S.setAttribute('id','shShutter'); + document.getElementsByTagName('body')[0].appendChild(S); + this.fixTags(); + } + + if ( ! (D = this.I('shDisplay')) ) { + D = document.createElement('div'); + D.setAttribute('id','shDisplay'); + D.style.top = this.Top + 'px'; + document.getElementsByTagName('body')[0].appendChild(D); + } + + S.style.height = this.pgHeight + 'px'; + + var dv = this.textBtns ? ' | ' : ''; + if ( shutterLinks[ln].num > 1 ) { + prev = shutterSets[shutterLinks[ln].set][shutterLinks[ln].num - 2]; + prevbtn = this.textBtns ? this.L10n[0] : ''; + prevlink = ''+prevbtn+''+dv; + previmg = new Image(); + previmg.src = shutterLinks[prev].link; + } + + if ( shutterLinks[ln].num != -1 && shutterLinks[ln].num < (shutterSets[shutterLinks[ln].set].length) ) { + next = shutterSets[shutterLinks[ln].set][shutterLinks[ln].num]; + nextbtn = this.textBtns ? this.L10n[1] : ''; + nextlink = ''+nextbtn+''+dv; + nextimg = new Image(); + nextimg.src = shutterLinks[next].link; + } + + closebtn = this.textBtns ? this.L10n[2] : ''; + + imgNum = ( (shutterLinks[ln].num > 0) && this.imageCount ) ? ' '+this.L10n[5]+' '+shutterLinks[ln].num+' '+this.L10n[6]+' '+shutterSets[shutterLinks[ln].set].length : ''; + if ( imgNum && this.textBtns ) imgNum += ' |'; + + if ( this.FS ) { + fsbtn = this.textBtns ? this.L10n[4] : ''; + } else { + fsbtn = this.textBtns ? this.L10n[3] : ''; + fsarg = ',1'; + } + + fsLink = ''+fsbtn+''+dv+''; + + if ( ! (NB = this.I('shNavBar')) ) { + NB = document.createElement('div'); + NB.setAttribute('id','shNavBar'); + document.getElementsByTagName('body')[0].appendChild(NB); + } + + NB.innerHTML = dv+prevlink+''+closebtn+''+dv+fsLink+nextlink+imgNum; + + D.innerHTML = '

      '+shutterLinks[ln].title+'
      '; + + window.setTimeout(function(){shutterReloaded.loading();},2000); + }, + + loading : function() { + var S, WB, W; + if ( (W = this.I('shWrap')) && W.style.visibility == 'visible' ) return; + if ( ! (S = this.I('shShutter')) ) return; + if ( this.I('shWaitBar') ) return; + WB = document.createElement('div'); + WB.setAttribute('id','shWaitBar'); + WB.style.top = this.Top + 'px'; + WB.innerHTML = ''; + S.appendChild(WB); + }, + + hideShutter : function() { + var D, S, NB; + if ( D = this.I('shDisplay') ) D.parentNode.removeChild(D); + if ( S = this.I('shShutter') ) S.parentNode.removeChild(S); + if ( NB = this.I('shNavBar') ) NB.parentNode.removeChild(NB); + this.fixTags(true); + window.scrollTo(0,this.Top); + window.onresize = this.FS = this.Top = this.VP = null; + document.documentElement.style.overflowX = ''; + }, + + Resize : function(ln) { + if ( this.resizing ) return; + if ( ! this.I('shShutter') ) return; + var W = this.I('shWrap'); + if ( W ) W.style.visibility = 'hidden'; + + window.setTimeout(function(){shutterReloaded.resizing = null},500); + window.setTimeout(new Function('shutterReloaded.VP = null;shutterReloaded.Make("'+ln+'");'),100); + this.resizing = true; + }, + + _viewPort : function() { + var wiH = window.innerHeight ? window.innerHeight : 0; + var dbH = document.body.clientHeight ? document.body.clientHeight : 0; + var deH = document.documentElement ? document.documentElement.clientHeight : 0; + + if( wiH > 0 ) { + this.wHeight = ( (wiH - dbH) > 1 && (wiH - dbH) < 30 ) ? dbH : wiH; + this.wHeight = ( (this.wHeight - deH) > 1 && (this.wHeight - deH) < 30 ) ? deH : this.wHeight; + } else this.wHeight = ( deH > 0 ) ? deH : dbH; + + var deW = document.documentElement ? document.documentElement.clientWidth : 0; + var dbW = window.innerWidth ? window.innerWidth : document.body.clientWidth; + this.wWidth = ( deW > 1 ) ? deW : dbW; + }, + + ShowImg : function() { + var S, W, WB, D, T, TI, NB, wHeight, wWidth, capH, shHeight, maxHeight, itop, mtop, resized = 0; + if ( ! (S = this.I('shShutter')) ) return; + if ( (W = this.I('shWrap')) && W.style.visibility == 'visible' ) return; + if ( WB = this.I('shWaitBar') ) WB.parentNode.removeChild(WB); + + D = this.I('shDisplay'); + TI = this.I('shTopImg'); + T = this.I('shTitle'); + NB = this.I('shNavBar'); + S.style.width = D.style.width = ''; + T.style.width = (TI.width - 4) + 'px'; + + capH = NB.offsetHeight ? T.offsetHeight + NB.offsetHeight : 30; + shHeight = this.wHeight - 7 - capH; + + if ( this.FS ) { + if ( TI.width > (this.wWidth - 10) ) + S.style.width = D.style.width = TI.width + 10 + 'px'; + document.documentElement.style.overflowX = ''; + } else { + window.scrollTo(0,this.Top); + if ( TI.height > shHeight ) { + TI.width = TI.width * (shHeight / TI.height); + TI.height = shHeight; + resized = 1; + } + if ( TI.width > (this.wWidth - 16) ) { + TI.height = TI.height * ((this.wWidth - 16) / TI.width); + TI.width = this.wWidth - 16; + resized = 1; + } + T.style.width = (TI.width - 4) + 'px'; + NB.style.bottom = '0px'; + } + + maxHeight = this.Top + TI.height + capH + 10; + if ( maxHeight > this.pgHeight ) S.style.height = maxHeight + 'px'; + window.scrollTo(0,this.Top); + if ( (this.FS && (TI.height > shHeight || TI.width > this.wWidth)) || resized ) this.I('fullSize').style.display = 'inline'; + + itop = (shHeight - TI.height) * 0.45; + mtop = (itop > 3) ? Math.floor(itop) : 3; + D.style.top = this.Top + mtop + 'px'; + NB.style.bottom = '0'; + W.style.visibility = 'visible'; + }, + + fixTags : function(arg) { + var sel = document.getElementsByTagName('select'); + var obj = document.getElementsByTagName('object'); + var emb = document.getElementsByTagName('embed'); + + if ( arg ) var vis = 'visible'; + else var vis = 'hidden'; + + for (i = 0; i < sel.length; i++) sel[i].style.visibility = vis; + for (i = 0; i < obj.length; i++) obj[i].style.visibility = vis; + for (i = 0; i < emb.length; i++) emb[i].style.visibility = vis; + } +} + +var shutterLinks = {}, shutterSets = {}; +if (typeof shutterOnload == 'function') { + oldonload = window.onload; + if( typeof window.onload != 'function' ) window.onload = shutterOnload; + else window.onload = function(){shutterOnload();if(oldonload){oldonload();}}; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/thickbox/nextgen_thickbox_init.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/thickbox/nextgen_thickbox_init.js new file mode 100644 index 0000000..5ec30c7 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/thickbox/nextgen_thickbox_init.js @@ -0,0 +1,29 @@ +jQuery(function($) { + var selector = nextgen_lightbox_filter_selector($, $([])); + selector.addClass('thickbox'); + + if (typeof ngg_lightbox_i18n == 'undefined') { + // for backwards compatibility, ngg_lightbox_i18n may not exist and we should just use the English defaults + window.thickboxL10n = { + loadingAnimation: photocrati_ajax.wp_includes_url + '/wp-includes/js/thickbox/loadingAnimation.gif', + closeImage: photocrati_ajax.wp_includes_url + '/wp-includes/js/thickbox/tb-close.png', + next: 'Next >', + prev: '< Prev', + image: 'Image', + of: 'of', + close: 'Close', + noiframes: 'This feature requires inline frames. You have iframes disabled or your browser does not support them.' + }; + } else { + window.thickboxL10n = { + loadingAnimation: photocrati_ajax.wp_includes_url + '/wp-includes/js/thickbox/loadingAnimation.gif', + closeImage: photocrati_ajax.wp_includes_url + '/wp-includes/js/thickbox/tb-close.png', + next: ngg_lightbox_i18n.next, + prev: ngg_lightbox_i18n.prev, + image: ngg_lightbox_i18n.image, + of: ngg_lightbox_i18n.of, + close: ngg_lightbox_i18n.close, + noiframes: ngg_lightbox_i18n.noiframes + }; + } +}); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lzw/class.lzw.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lzw/class.lzw.php new file mode 100644 index 0000000..8303d5e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lzw/class.lzw.php @@ -0,0 +1,119 @@ +> $bits) { + $bits++; + } + while ($rest_length > 7) { + $rest_length -= 8; + $return .= chr($rest >> $rest_length); + $rest &= (1 << $rest_length) - 1; + } + } + return $return . ($rest_length ? chr($rest << (8 - $rest_length)) : ""); + } + + + /** LZW decompression + * @param string compressed binary data + * @return string original data + */ + function decompress($binary) { + // convert binary string to codes + $dictionary_count = 256; + $bits = 8; // ceil(log($dictionary_count, 2)) + $codes = array(); + $rest = 0; + $rest_length = 0; + for ($i=0; $i < strlen($binary); $i++) { + $rest = ($rest << 8) + ord($binary[$i]); + $rest_length += 8; + if ($rest_length >= $bits) { + $rest_length -= $bits; + $codes[] = $rest >> $rest_length; + $rest &= (1 << $rest_length) - 1; + $dictionary_count++; + if ($dictionary_count >> $bits) { + $bits++; + } + } + } + + // decompression + $dictionary = range("\0", "\xFF"); + $return = ""; + foreach ($codes as $i => $code) { + $element = $dictionary[$code]; + if (!isset($element)) { + $element = $word . $word[0]; + } + $return .= $element; + if ($i) { + $dictionary[] = $word . $element[0]; + } + $word = $element; + } + return $return; + } +} + +class C_Lzw extends C_Component +{ + static $_instances = array(); + + function define($context=FALSE) + { + parent::define($context); + $this->add_mixin('Mixin_Lzo_Instance_Methods'); + $this->implement('I_Lzw'); + } + + static function &get_instance($context=FALSE) + { + if (!isset(self::$_instances[$context])) { + $klass = get_class(); + self::$_instances[$context] = new $klass($context); + } + return self::$_instances[$context]; + } +} + diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lzw/interface.lzw.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lzw/interface.lzw.php new file mode 100644 index 0000000..7b32c99 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lzw/interface.lzw.php @@ -0,0 +1,7 @@ +get_registry()->add_utility('I_Lzw', 'C_Lzw'); + } + + function get_type_list() + { + return array( + 'C_Lzw' => 'class.lzw.php', + 'I_Lzw' => 'interface.lzw.php' + ); + } +} + +new M_Lzw; diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/adapter.mediarss_routes.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/adapter.mediarss_routes.php new file mode 100644 index 0000000..b7ec245 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/adapter.mediarss_routes.php @@ -0,0 +1,27 @@ +object->add_pre_hook( + 'serve_request', + 'Adds MediaRSS routes', + get_class(), + 'add_mediarss_routes' + ); + } + + function add_mediarss_routes() + { + $app = $this->create_app('/nextgen-mediarss'); + $app->route( + '/', + array( + 'controller' => 'I_MediaRSS_Controller', + 'action' => 'index', + 'context' => FALSE + ) + ); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/class.mediarss_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/class.mediarss_controller.php new file mode 100644 index 0000000..17ed399 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/class.mediarss_controller.php @@ -0,0 +1,172 @@ +object->set_content_type('xml'); + + if ($this->object->param('source')) { + $method = 'render_'.$this->object->param('source'); + if ($this->object->has_method($method)) { + $this->object->$method(); + } + } + else $this->object->http_error("No source specified"); + } + + function render_latest_images() + { + $this->object->set_param('params', json_encode(array( + 'source' => 'recent' + ))); + + $this->object->render_displayed_gallery(); + } + + /** + * Renders a feed for a displayed gallery + */ + function render_displayed_gallery() + { + $displayed_gallery = NULL; + $mapper = $this->object->get_registry()->get_utility('I_Displayed_Gallery_Mapper'); + $template = $this->object->param('template'); + + if (!in_array($template, array('mediarss_feed', 'playlist_feed'))) { + $template = 'mediarss_feed'; + } + + $template = 'photocrati-mediarss#' . $template; + + // Find the displayed gallery by it's database id + if (($id = $this->object->param('id'))) { + $displayed_gallery = $mapper->find($id, TRUE); + } + elseif ($transient_id = $this->object->param('transient_id')) + { + // retrieve by transient id + $factory = $this->object->get_registry()->get_utility('I_Component_Factory'); + $displayed_gallery = $factory->create('displayed_gallery', NULL, $mapper); + $displayed_gallery->apply_transient($transient_id); + } + elseif (($params = $this->object->param('params'))) + { + // Create the displayed gallery based on the URL parameters + $factory = $this->object->get_registry()->get_utility('I_Component_Factory'); + $displayed_gallery = $factory->create( + 'displayed_gallery', json_decode($params), $mapper + ); + } + + // Assuming we have a displayed gallery, display it! + if ($displayed_gallery) { + $storage = $this->object->get_registry()->get_utility('I_Gallery_Storage'); + $this->render_view($template, array( + 'storage' => $storage, + 'images' => $displayed_gallery->get_included_entities(), + 'feed_title' => $this->object->_get_feed_title($displayed_gallery), + 'feed_description' => $this->object->_get_feed_description($displayed_gallery), + 'feed_link' => $this->object->_get_feed_link($displayed_gallery), + 'generator' => $this->object->_get_feed_generator($displayed_gallery), + 'copyright' => $this->object->_get_feed_copyright($displayed_gallery), + )); + } + else { + $this->object->http_error("Invalid ID", 404); + } + } + + /** + * Gets the name of the feed generator + * @param C_Displayed_Gallery $displayed_gallery + * @return string + */ + function _get_feed_generator($displayed_gallery) + { + return 'NextGEN Gallery [http://nextgen-gallery.com]'; + } + + + /** + * Gets the copyright for the feed + */ + function _get_feed_copyright($displayed_gallery) + { + $base_url = $this->object->get_base_url(); + $blog_name = get_option('blogname'); + return "Copyright (C) {$blog_name} ({$base_url})"; + } + + /** + * Gets the Site URL + * @return string + */ + function get_base_url() + { + $router = $this->get_registry()->get_utility('I_Router'); + return $router->get_base_url('home'); + } + + /** + * Gets a description for the feed + * @param C_Displayed_Gallery $displayed_gallery + * @return string + */ + function _get_feed_description($displayed_gallery) + { + return ''; + } + + /** + * Gets a link for the feed + * @param C_Displayed_Gallery $displayed_gallery + * @return string + */ + function _get_feed_link($displayed_gallery) + { + return $this->object->get_base_url(); + } + + + /** + * Gets a title for the feed + * @param C_Displayed_Gallery $displayed_gallery + * @return string + */ + function _get_feed_title($displayed_gallery) + { + // Get gallery titles + $gallery_titles = array(); + foreach ($displayed_gallery->get_galleries() as $gallery) { + $gallery_titles[] = $gallery->title; + } + + return "Images from: ".implode(', ', $gallery_titles); + } +} + +class C_MediaRSS_Controller extends C_MVC_Controller +{ + static $_instances = array(); + + function define($context=FALSE) + { + parent::define($context); + $this->add_mixin('Mixin_MediaRSS_Controller'); + $this->implement('I_MediaRSS_Controller'); + } + + static function get_instance($context=FALSE) + { + if (!isset(self::$_instances[$context])) { + $klass = get_class(); + self::$_instances[$context] = new $klass($context); + } + return self::$_instances[$context]; + } +} + diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/interface.mediarss_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/interface.mediarss_controller.php new file mode 100644 index 0000000..bb03c93 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/interface.mediarss_controller.php @@ -0,0 +1,6 @@ +get_registry()->add_adapter('I_Router', 'A_MediaRss_Routes'); + } + + function _register_utilities() + { + $this->get_registry()->add_utility( + 'I_MediaRSS_Controller', 'C_MediaRSS_Controller' + ); + } + + function get_type_list() + { + return array( + 'A_Mediarss_Routes' => 'adapter.mediarss_routes.php', + 'C_Mediarss_Controller' => 'class.mediarss_controller.php', + 'I_Mediarss_Controller' => 'interface.mediarss_controller.php' + ); + } + +} + +new M_MediaRss(); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/templates/mediarss_feed.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/templates/mediarss_feed.php new file mode 100644 index 0000000..0b0e9a3 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/templates/mediarss_feed.php @@ -0,0 +1,34 @@ +');?> + + + ]]> + <?php echo_h($feed_title) ?> + + ]]> + + get_image_url($image, 'full', TRUE); + $thumb_url = $storage->get_thumb_url($image, TRUE); + $thumb_size = $storage->get_thumb_dimensions($image); + $width = $thumb_size['width']; + $height = $thumb_size['height']; + ?> + + <![CDATA[<?php echo_h($image->alttext)?>]]> + description)?>]]> + ]]> + image-id:id_field)?> + + alttext)?>]]> + + description)?>]]> + + + + ]]> + + ]]> + + + + \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/templates/playlist_feed.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/templates/playlist_feed.php new file mode 100644 index 0000000..f87283d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/templates/playlist_feed.php @@ -0,0 +1,25 @@ + + + + get_image_url($image, 'full', TRUE); + $thumb_url = $storage->get_thumb_url($image, TRUE); + $thumb_size = $storage->get_thumb_dimensions($image); + $width = $thumb_size['width']; + $height = $thumb_size['height']; + + $image_title = $image->description; + + if ($image_title == null) + $image_title = $image->alttext; + + if (strlen($image_title) >= 25) + $image_title = substr_replace($image_title, '...', 15, -10); + ?> + + <![CDATA[<?php echo strip_tags($image_title); ?>]]> + ]]> + + + + diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/README b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/README new file mode 100644 index 0000000..082c31d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/README @@ -0,0 +1,85 @@ + +VIEW ELEMENTS + +Elements are sub-pieces of a template/view identified by a "unique" ID. The ID is unique in the sense that it uniquely defines the "origin" or creator for the element itself. + +For instance if you have a module called pro_lightbox and specific adapter for trigger buttons and you add an element for it the unique ID identifying the element could be nextgen_pro_lightbox.trigger_buttons + +The ID doesn't however need to be unique in the view itself, meaning you can have multiple elements with the same ID if for instance the element is being rendered for multiple images. We might add an extra "context" parameter to elements together to the ID if we want to uniquely identify element objects. + +Example of how elements are initiated: + +$elem = $this->start_element('flash_cont'); +echo 'cont'; +$this->start_element('flash_test'); +echo 'test'; +$this->start_element('flash_stuff'); +echo 'stuff'; +$this->end_element(); +$this->end_element(); +$this->end_element(); + +var_dump($elem); + +This would create this output: + +object(C_MVC_View_Element)#775 (3) { + ["_id"]=>string(10) "flash_cont" + ["_type"]=>string(7) "element" + ["_list"]=>array(2) { + [0]=>string(4) "cont" + [1]=>object(C_MVC_View_Element)#768 (3) { + ["_id"]=>string(10) "flash_test" + ["_type"]=>string(7) "element" + ["_list"]=>array(2) { + [0]=>string(4) "test" + [1]=>object(C_MVC_View_Element)#769 (3) { + ["_id"]=>string(11) "flash_stuff" + ["_type"]=>string(7) "element" + ["_list"]=>array(1) { + [0]=>string(5) "stuff" + } + } + } + } + } +} + +The way the MVC view will render these is by creating a root View Element that contains the entire template rendered in the view and which is then "rasterized" e.g. converted to markup/text ready for output + +The rendering from template to element will occur in the render_object() method while rasterization will occur in a method called rasterize_object() + +Elements created for templates will have ID corresponding to template name/path so for instance _id would equal 'photocrati-nextgen_basic_gallery#slideshow/index' this way adapters adapting rasterize_object() can easily distinguish between for which template rasterization is occurring and act accordingly (for instance trigger buttons being enabled only for certain display types) + +Sub-templates will also be automatically rendered to elements meaning image/before and image/after etc. will become sub-elements of the root template element. I don't think this will affect performance much but if so we could easily replace the before/after mechanism to use elements directly + +So for instance instead of: +$this->include_template('image/before'); +
      ...
      +$this->include_template('image/after'); + +We would have: +$this->start_element('nextgen_gallery.image'); +$this->include_template('image/before'); +
      ...
      +$this->include_template('image/after'); +$this->end_element(); + +Then you could have an adapter like: + + function rasterize_object($root_element) + { + if ($root_element->get_id() == 'photocrati-nextgen_basic_gallery#slideshow/index') + { + $list = $root_element->find('nextgen_gallery.image'); + + foreach ($list as $element) + { + $element->append('
      description
      '); + } + } + } + +This would reduce the amount of elements overall and improve performance and possibly readability. Then the before/after templates could be left untouched as in the example above. + + diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/adapter.mvc_factory.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/adapter.mvc_factory.php new file mode 100644 index 0000000..6a034a9 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/adapter.mvc_factory.php @@ -0,0 +1,9 @@ +object->get_registry()->get_utility('I_Fs'); + if (!$module) list($path, $module) = $fs->parse_formatted_path($path); + $mod_dir = $this->object->get_registry()->get_module_dir($module); + + // Create the absolute path to the file + $path = $fs->join_paths( + $mod_dir, + C_NextGen_Settings::get_instance()->get('mvc_static_dirname'), + $path + ); + + // Get the relative path, if asked. Skip when docroot=/ lest we generate url like + // wp-contentpluginsnextgen-galleryproducts.. + if ($relative) { + $original_length = strlen($path); + $roots = array('plugins', 'plugins_mu', 'templates', 'stylesheets'); + $found_root = FALSE; + foreach ($roots as $root) { + $path = str_replace($this->object->get_document_root($root), '', $path); + if (strlen($path) != $original_length) { + $found_root = $root; + break; + } + } + } + + return $path; + } + + /** + * Gets the relative path to a static resource. If it doesn't exist, then NULL is returned + * + * @param string $path + * @param string $module + * @return string|NULL + */ + function find_static_relpath($path, $module = FALSE) + { + return $this->object->find_static_abspath($path, $module, TRUE); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/adapter.mvc_router.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/adapter.mvc_router.php new file mode 100644 index 0000000..58d0e2a --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/adapter.mvc_router.php @@ -0,0 +1,49 @@ +object->get_base_url('plugins'); + $base_url = $this->object->remove_url_segment('/index.php', $base_url); + + // Find the module directory + $fs = $this->object->get_registry()->get_utility('I_Fs'); + $path = $fs->find_static_abspath($path, $module); + + + // Convert the path to a relative path + $original_length = strlen($path); + $roots = array('plugins', 'plugins_mu', 'templates', 'stylesheets'); + $found_root = FALSE; + foreach ($roots as $root) { + $path = str_replace($fs->get_document_root($root), '', $path); + if (strlen($path) != $original_length) { + $found_root = $root; + break; + } + } + + if ($found_root) { + $retval = $this->object->join_paths( + $this->object->get_base_url($found_root), + str_replace("\\", '/', $path) + ); + } + + else { + //TODO: What do we do here? + } + + return $retval; + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_controller.php new file mode 100644 index 0000000..af948de --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_controller.php @@ -0,0 +1,272 @@ +render_view('photocrati-mvc#index', array(), $return); + } +} + + +/** + * Provides actions that are executed based on the requested url + */ +abstract class C_MVC_Controller extends C_Component +{ + var $_content_type = 'text/html'; + var $message = ''; + var $debug = FALSE; + + + function define($context=FALSE) + { + parent::define($context); + $this->add_mixin('Mixin_MVC_Controller_Defaults'); + $this->add_mixin('Mixin_MVC_Controller_Instance_Methods'); + $this->implement('I_MVC_Controller'); + } +} + +/** + * Adds methods for MVC Controller + */ +class Mixin_MVC_Controller_Instance_Methods extends Mixin +{ + function set_content_type($type) + { + switch ($type) { + case 'html': + case 'xhtml': + $type = 'text/html'; + break; + case 'xml': + $type = 'text/xml'; + break; + case 'rss': + case 'rss2': + $type = 'application/rss+xml'; + break; + case 'css': + $type = 'text/css'; + break; + case 'javascript': + case 'jscript': + case 'emcascript': + $type = 'text/javascript'; + break; + case 'json': + $type = 'application/json'; + break; + case 'jpeg': + case 'jpg': + case 'jpe': + $type = 'image/jpeg'; + break; + case 'gif': + $type = 'image/gif'; + break; + case 'png': + $type = 'image/x-png'; + break; + case 'tiff': + case 'tif': + $type = 'image/tiff'; + break; + case 'pdf': + $type = 'application/pdf'; + break; + } + $this->object->_content_type = $type; + return $type; + } + + function do_not_cache() + { + if (!headers_sent()) { + header('Cache-Control: no-cache'); + header('Pragma: no-cache'); + } + } + + function expires($time) + { + $time = strtotime($time); + if (!headers_sent()) { + header('Expires: '.strftime("%a, %d %b %Y %H:%M:%S %Z", $time)); + } + } + + function http_error($message, $code=500) + { + $this->message = $message; + $method = "http_{$code}_action"; + $this->$method(); + } + + function is_valid_request($method) + { + return TRUE; + } + + + function is_post_request() + { + return "POST" == $this->object->get_router()->get_request_method(); + } + + + function is_get_request() + { + return "GET" == $this->object->get_router()->get_request_method(); + } + + + function is_delete_request() + { + return "DELETE" == $this->object->get_router()->get_request_method(); + } + + + function is_put_request() + { + return "PUT" == $this->object->get_router()->get_request_method(); + } + + + function is_custom_request($type) + { + return strtolower($type) == strtolower($this->object->get_router()->get_request_method()); + } + + + function get_router() + { + return $this->object->get_registry()->get_utility('I_Router'); + } + + function get_routed_app() + { + return $this->object->get_router()->get_routed_app(); + } + + /** + * Returns the value of a parameters + * @param string $key + * @return mixed + */ + function param($key, $prefix = NULL, $default = NULL) + { + return $this->object->get_routed_app()->get_parameter($key, $prefix, $default); + } + + function set_param($key, $value, $id=NULL, $use_prefix=FALSE) + { + return $this->object->get_routed_app()->set_parameter($key, $value, $id, $use_prefix); + } + + function set_param_for($url, $key, $value, $id=NULL, $use_prefix=FALSE) + { + return $this->object->get_routed_app()->set_parameter($key, $value, $id, $use_prefix, $url); + } + + function remove_param($key, $id=NULL) + { + return $this->object->get_routed_app()->remove_parameter($key, $id); + } + + function remove_param_for($url, $key, $id=NULL) + { + $app = $this->object->get_routed_app(); + $retval = $app->remove_parameter($key, $id, $url); + return $retval; + } + + /** + * Gets the routed url, generated by the Routing App + * @return string + */ + function get_routed_url($with_qs=FALSE) + { + return $this->object->get_routed_app()->get_app_url(FALSE, $with_qs); + } + + /** + * Gets the absolute path of a static resource + * @param string $path + * @param string $module + * @param boolean $relative + * @return string + */ + function get_static_abspath($path, $module=FALSE, $relative=FALSE) + { + return $this->get_registry()->get_utility('I_Fs')->find_static_abspath( + $path, $module + ); + } + + /** + * Gets the relative path of a static resource + * @param string $path + * @param string $module + * @return string + */ + function get_static_relpath($path, $module=FALSE) + { + return $this->get_registry()->get_utility('I_Fs')->find_static_abspath( + $path, $module, TRUE + ); + } + + + function get_static_url($path, $module=FALSE) + { + return $this->get_registry()->get_utility('I_Router')->get_static_url( + $path, $module + ); + } + + /** + * Renders a template and outputs the response headers + * @param string $name + * @param array $vars + */ + function render_view($name, $vars=array(),$return=FALSE) + { + $this->object->render(); + return $this->object->render_partial($name, $vars, $return); + } + + + /** + * Outputs the response headers + */ + function render() + { + if (!headers_sent()) header('Content-Type: ' . $this->object->_content_type . '; charset=' . get_option('blog_charset'), true ); + } + + + /** + * Renders a view + */ + function render_partial($template, $params=array(), $return=FALSE, $context=NULL) + { + // We'll use the name of the view as the context if one hasn't been provided + if (is_null($context)) $context = $template; + $view = $this->object->create_view($template, $params, $context); + return $view->render($return); + } + + function create_view($template, $params=array(), $context=NULL) + { + $factory = $this->get_registry()->get_utility('I_Component_Factory'); + $view = $factory->create('mvc_view', $template, $params, NULL, $context); + + return $view; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_option_handler.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_option_handler.php new file mode 100644 index 0000000..7acd567 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_option_handler.php @@ -0,0 +1,22 @@ +implement('I_MVC_View'); + $this->add_mixin('Mixin_Mvc_View_Instance_Methods'); + } + + /** + * Initialize the view with some parameters + * @param array $params + * @param context $context + */ + function initialize($template, $params=array(), $engine='php', $context=FALSE) + { + parent::initialize($context); + $this->_template = $template; + $this->_params = (array) $params; + $this->_engine = $engine; + } +} + +class Mixin_Mvc_View_Instance_Methods extends Mixin +{ + /** + * Returns the variables to be used in the template + * @return array + */ + function get_template_vars() + { + $retval = array(); + + foreach ($this->object->_params as $key => $value) { + if (strpos($key, '_template') !== FALSE) { + $value = $this->object->get_template_abspath($value); + } + $retval[$key] = $value; + } + + return $retval; + } + + + /** + * Returns the abspath of the template to be rendered + * @param string $key + * @return string + */ + function get_template_abspath($value=NULL) + { + if (!$value) $value = $this->object->_template; + + if ($value[0] == '/' && @file_exists($value)) { + // key is already abspath + } + else $value = $this->object->find_template_abspath($value); + + return $value; + } + + + + /** + * Renders the view (template) + * @param string $__return + * @return string|NULL + */ + function render($return = FALSE) + { + $element = $this->object->render_object(); + + $content = $this->object->rasterize_object($element); + + if (!$return) { + echo $content; + } + + return $content; + } + + + function render_object() + { + // We use underscores to prefix local variables to avoid conflicts wth + // template vars + $__element = $this->start_element($this->object->_template, 'template', $this->object); + + extract($this->object->get_template_vars()); + + include($this->object->get_template_abspath()); + + $this->end_element(); + + return $__element; + } + + + function rasterize_object($element) + { + return $element->rasterize(); + } + + + function start_element($id, $type = null, $context = null) + { + if ($type == null) + { + $type = 'element'; + } + + $count = count($this->object->_queue); + $element = new C_MVC_View_Element($id, $type); + + if ($context != null) + { + if (!is_array($context)) + { + $context = array('object' => $context); + } + + foreach ($context as $context_name => $context_value) + { + $element->set_context($context_name, $context_value); + } + } + + $this->object->_queue[] = $element; + + if ($count > 0) + { + $old_element = $this->object->_queue[$count - 1]; + + $content = ob_get_contents(); + ob_clean(); + + $old_element->append($content); + $old_element->append($element); + } + + ob_start(); + + return $element; + } + + function end_element() + { + $content = ob_get_clean(); + + $element = array_pop($this->object->_queue); + + if ($content != null) + { + $element->append($content); + } + + return $element; + } + + /** + * Renders a sub-template for the view + * @param string $__template + * @param array $__params + * @param string $__return + * @return NULL + */ + function include_template($__template, $__params = null, $__return=FALSE) + { + // We use underscores to prefix local variables to avoid conflicts wth + // template vars + if ($__params == null) { + $__params = array(); + } + + $__params['template_origin'] = $this->object->_template; + + $__target = $this->object->get_template_abspath($__template); + $__origin_target = $this->object->get_template_abspath($this->object->_template); + $__image_before_target = $this->object->get_template_abspath('photocrati-nextgen_gallery_display#image/before'); + $__image_after_target = $this->object->get_template_abspath('photocrati-nextgen_gallery_display#image/after'); + + if ($__origin_target != $__target) + { + if ($__target == $__image_before_target) + { + $__image = isset($__params['image']) ? $__params['image'] : null; + + $this->start_element('nextgen_gallery.image_panel', 'item', $__image); + } + + if ($__target == $__image_after_target) + { + $this->end_element(); + } + + extract($__params); + + include($__target); + + if ($__target == $__image_before_target) + { + $__image = isset($__params['image']) ? $__params['image'] : null; + + $this->start_element('nextgen_gallery.image', 'item', $__image); + } + + if ($__target == $__image_after_target) + { + $this->end_element(); + } + } + } + + + /** + * Gets the absolute path of an MVC template file + * + * @param string $path + * @param string $module + * @return string + */ + function find_template_abspath($path, $module=FALSE) + { + $fs = $this->get_registry()->get_utility('I_Fs'); + $settings = C_NextGen_Settings::get_instance(); + + // We also accept module_name#path, which needs parsing. + if (!$module) + list($path, $module) = $fs->parse_formatted_path($path); + + // Append the suffix + $path = $path . '.php'; + + $retval = $fs->join_paths( + $this->object->get_registry()->get_module_dir($module), + $settings->mvc_template_dirname, + $path + ); + + if (!@file_exists($retval)) + throw new RuntimeException("{$retval} is not a valid MVC template"); + + return $retval; + } + + /** + * Adds a template parameter + * @param $key + * @param $value + */ + function set_param($key, $value) + { + $this->object->_params[$key] = $value; + } + + + /** + * Removes a template parameter + * @param $key + */ + function remove_param($key) + { + unset($this->object->_params[$key]); + } + + /** + * Gets the value of a template parameter + * @param $key + * @param null $default + * @return mixed + */ + function get_param($key, $default=NULL) + { + if (isset($this->object->_params[$key])) { + return $this->object->_params[$key]; + } + else return $default; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_view_element.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_view_element.php new file mode 100644 index 0000000..7585951 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_view_element.php @@ -0,0 +1,116 @@ +_id = $id; + $this->_type = $type; + $this->_list = array(); + $this->_context = array(); + } + + function get_id() + { + return $this->_id; + } + + function append($child) + { + $this->_list[] = $child; + } + + function insert($child, $position = 0) + { + array_splice($this->_list, $position, 0, $child); + } + + function delete($child) + { + $index = array_search($child, $this->_list); + + if ($index !== false) + { + array_splice($this->_list, $index, 1); + } + } + + function find($id, $recurse = false) + { + $list = array(); + + $this->_find($list, $id, $recurse); + + return $list; + } + + function _find(array &$list, $id, $recurse = false) + { + foreach ($this->_list as $index => $element) + { + if ($element instanceof C_MVC_View_Element) + { + if ($element->get_id() == $id) + { + $list[] = $element; + } + + if ($recurse) + { + $element->_find($list, $id, $recurse); + } + } + } + } + + function get_context($name) + { + if (isset($this->_context[$name])) + { + return $this->_context[$name]; + } + + return null; + } + + function set_context($name, $value) + { + $this->_context[$name] = $value; + } + + function get_object() + { + return $this->get_context('object'); + } + + // XXX not implemented + function parse() + { + + } + + function rasterize() + { + $ret = null; + + foreach ($this->_list as $index => $element) + { + if ($element instanceof C_MVC_View_Element) + { + $ret .= $element->rasterize(); + } + else + { + $ret .= (string) $element; + } + } + + return $ret; + } +} + diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/interface.mvc_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/interface.mvc_controller.php new file mode 100644 index 0000000..7214bdd --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/interface.mvc_controller.php @@ -0,0 +1,12 @@ +add_option_handler('C_Mvc_Option_Handler', array( + 'mvc_template_dir', + 'mvc_template_dirname', + 'mvc_static_dir', + 'mvc_static_dirname' + )); + + if (is_multisite()) C_NextGen_Global_Settings::get_instance()->add_option_handler('C_Mvc_Option_Handler', array( + 'mvc_template_dir', + 'mvc_template_dirname', + 'mvc_static_dir', + 'mvc_static_dirname' + )); + + } + + function _register_utilities() + { + $this->get_registry()->add_utility('I_Http_Response', 'C_Http_Response_Controller'); + } + + function _register_adapters() + { + $this->get_registry()->add_adapter('I_Fs', 'A_MVC_Fs'); + $this->get_registry()->add_adapter('I_Router', 'A_MVC_Router'); + $this->get_registry()->add_adapter('I_Component_Factory', 'A_MVC_Factory'); + } + + function get_type_list() + { + return array( + 'A_Mvc_Factory' => 'adapter.mvc_factory.php', + 'A_Mvc_Fs' => 'adapter.mvc_fs.php', + 'A_Mvc_Router' => 'adapter.mvc_router.php', + 'C_Mvc_Installer' => 'class.mvc_installer.php', + 'C_Mvc_Controller' => 'class.mvc_controller.php', + 'C_Mvc_View' => 'class.mvc_view.php', + 'C_Mvc_View_Element' => 'class.mvc_view_element.php', + 'I_Mvc_Controller' => 'interface.mvc_controller.php', + 'I_Mvc_View' => 'interface.mvc_view.php' + ); + } +} + +new M_MVC(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/template_helper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/template_helper.php new file mode 100644 index 0000000..e96bb41 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/template_helper.php @@ -0,0 +1,39 @@ +', '', '', '
      ', '', '', '', '', '
      ', '
      ', '
      ', '', '
      ', '', '', '', '', '
      ', '', '', '', '
      ', '
      ', '
      ', '', '
      ', '', '

      ', '

      ', '

      ', '

      ', '

      ', '
      ', '
      ', '', '', '