modified file w3-total-cache
This commit is contained in:
wp-content/upgrade-temp-backup/plugins
activitypub
activitypub.php
assets
build
follow-me
followers
includes
activity
class-activity-dispatcher.phpclass-activitypub.phpclass-admin.phpclass-blocks.phpclass-hashtag.phpclass-health-check.phpclass-mention.phpclass-scheduler.phpclass-shortcodes.phpclass-signature.phpclass-webfinger.phpcollection
compat.phpfunctions.phphandler
model
peer
rest
table
transformer
integration
readme.txttemplates
authldap
.phive
LICENSE.mdREADME.mdSECURITY.mdauthLdap.cssauthLdap.phpphpcs.xmlreadme.txtsecurity.txtsrc
view
companion-auto-update
gp-premium
backgrounds
blog
functions
generate-blog.phpcolors
functions
generate-colors.phpcopyright
disable-elements
dist
block-elements.asset.phpblock-elements.cssblock-elements.jscustomizer.asset.phpcustomizer.jsdashboard.asset.phpdashboard.jseditor.asset.phpeditor.csseditor.jssite-library.asset.phpsite-library.csssite-library.jsstyle-dashboard.css
elements
assets
admin
author-image-placeholder.pngbackground-image-fallback.jpgballoon.csselements.csselements.jsfeatured-image-placeholder.pngmetabox.cssmetabox.jsspinner.gif
js
general
gp-premium.phphooks
inc
langs
gp-premium-ar.mogp-premium-bn_BD.mogp-premium-cs_CZ.mogp-premium-da_DK.mogp-premium-de_DE-42da344ccb044413769d16ed3484307b.jsongp-premium-de_DE-53e2a1d5945b8d2b1c35e81ae1e532f3.jsongp-premium-de_DE-92fa58377f1b6f7bef9c785c31ae29ff.jsongp-premium-de_DE.mogp-premium-es_AR.mogp-premium-es_ES-42da344ccb044413769d16ed3484307b.jsongp-premium-es_ES-53e2a1d5945b8d2b1c35e81ae1e532f3.jsongp-premium-es_ES-92fa58377f1b6f7bef9c785c31ae29ff.jsongp-premium-es_ES-cbab080b0f20fd6c323029398be6c986.jsongp-premium-es_ES-ecf9f3c2af10c4f2dfbf4f42504922d1.jsongp-premium-es_ES.mogp-premium-fi-42da344ccb044413769d16ed3484307b.jsongp-premium-fi-53e2a1d5945b8d2b1c35e81ae1e532f3.jsongp-premium-fi-92fa58377f1b6f7bef9c785c31ae29ff.jsongp-premium-fi-cbab080b0f20fd6c323029398be6c986.jsongp-premium-fi-ecf9f3c2af10c4f2dfbf4f42504922d1.jsongp-premium-fi.mogp-premium-fr_FR-42da344ccb044413769d16ed3484307b.jsongp-premium-fr_FR-53e2a1d5945b8d2b1c35e81ae1e532f3.jsongp-premium-fr_FR-92fa58377f1b6f7bef9c785c31ae29ff.jsongp-premium-fr_FR.mogp-premium-hr.mogp-premium-hu_HU.mogp-premium-it_IT.mogp-premium-nb_NO.mogp-premium-nl_NL-42da344ccb044413769d16ed3484307b.jsongp-premium-nl_NL-53e2a1d5945b8d2b1c35e81ae1e532f3.jsongp-premium-nl_NL-92fa58377f1b6f7bef9c785c31ae29ff.jsongp-premium-nl_NL-cbab080b0f20fd6c323029398be6c986.jsongp-premium-nl_NL-ecf9f3c2af10c4f2dfbf4f42504922d1.jsongp-premium-nl_NL.mogp-premium-pl_PL.mogp-premium-pt_BR.mogp-premium-pt_PT-42da344ccb044413769d16ed3484307b.jsongp-premium-pt_PT-53e2a1d5945b8d2b1c35e81ae1e532f3.jsongp-premium-pt_PT-92fa58377f1b6f7bef9c785c31ae29ff.jsongp-premium-pt_PT.mogp-premium-ru_RU-42da344ccb044413769d16ed3484307b.jsongp-premium-ru_RU-53e2a1d5945b8d2b1c35e81ae1e532f3.jsongp-premium-ru_RU-92fa58377f1b6f7bef9c785c31ae29ff.jsongp-premium-ru_RU.mogp-premium-sv_SE-42da344ccb044413769d16ed3484307b.jsongp-premium-sv_SE-53e2a1d5945b8d2b1c35e81ae1e532f3.jsongp-premium-sv_SE-92fa58377f1b6f7bef9c785c31ae29ff.jsongp-premium-sv_SE-cbab080b0f20fd6c323029398be6c986.jsongp-premium-sv_SE-ecf9f3c2af10c4f2dfbf4f42504922d1.jsongp-premium-sv_SE.mogp-premium-uk.mogp-premium-vi.mogp-premium-zh_CN.mo
library
alpha-color-picker
class-make-css.phpclass-plugin-updater.phpcustomizer-helpers.phpcustomizer
active-callbacks.php
controls
class-action-button-control.phpclass-alpha-color-control.phpclass-backgrounds-control.phpclass-control-toggle.phpclass-copyright-control.phpclass-deprecated.phpclass-information-control.phpclass-range-slider-control.phpclass-refresh-button-control.phpclass-section-shortcuts-control.phpclass-spacing-control.phpclass-title-control.phpclass-typography-control.php
deprecated.phpsanitize.phpcss
alpha-color-picker.cssbutton-actions.csscontrol-toggle-customizer.csssection-shortcuts.cssselectWoo.min.cssslider-customizer.cssspacing-customizer.csstitle-customizer.csstransparency-grid.pngtypography-customizer.css
js
select2
menu-plus
fields
functions
css
menu-logo.cssmenu-logo.min.cssnavigation-branding-flex.cssnavigation-branding-flex.min.cssnavigation-branding.cssnavigation-branding.min.cssoffside.cssoffside.min.csssticky.csssticky.min.css
generate-menu-plus.phpjs
page-header
functions
generate-page-header.phpsecondary-nav
fields
functions
css.php
generate-secondary-nav.phpcss
main-mobile.cssmain-mobile.min.cssmain.cssmain.min.cssstyle-mobile.cssstyle-mobile.min.cssstyle.cssstyle.min.css
functions.phpjs
sections
functions
generate-sections.phpsite-library
class-site-library-helper.phpclass-site-library-rest.phpclass-site-library.php
classes
class-beaver-builder-batch-processing.phpclass-content-importer.phpclass-site-import-image.phpclass-site-widget-importer.php
libs
spacing
functions
customizer
content-spacing.phpfooter-spacing.phpheader-spacing.php
functions.phpmigration.phpjs
navigation-spacing.phpsecondary-nav-spacing.phpsidebar-spacing.phptop-bar-spacing.phptypography
functions
functions.phpgoogle-fonts.json
generate-fonts.phpjs
migration.phpsecondary-nav-fonts.phpslideout-nav-fonts.phpwoocommerce-fonts.phpwoocommerce
wpml-config.xmljetpack-protect
CHANGELOG.mdLICENSE.txtSECURITY.mdi18n-map.phpreadme.txt
assets
fonts
jetpack-protect.cssbuild
composer.jsonjetpack-protect.phpjetpack_vendor
automattic
jetpack-a8c-mc-stats
jetpack-admin-ui
jetpack-assets
jetpack-config
jetpack-connection
CHANGELOG.mdLICENSE.txtSECURITY.mdTRACKING.mdcomposer.json
dist
legacy
class-jetpack-ixr-client.phpclass-jetpack-ixr-clientmulticall.phpclass-jetpack-options.phpclass-jetpack-signature.phpclass-jetpack-tracks-client.phpclass-jetpack-tracks-event.phpclass-jetpack-xmlrpc-server.php
src
class-client.phpclass-connection-notice.phpclass-error-handler.phpclass-heartbeat.phpclass-initial-state.phpclass-manager.phpclass-nonce-handler.phpclass-package-version-tracker.phpclass-package-version.phpclass-plugin-storage.phpclass-plugin.phpclass-rest-authentication.phpclass-rest-connector.phpclass-secrets.phpclass-server-sandbox.phpclass-terms-of-service.phpclass-tokens-locks.phpclass-tokens.phpclass-tracking.phpclass-urls.phpclass-utils.phpclass-webhooks.phpclass-xmlrpc-async-call.phpclass-xmlrpc-connector.phpinterface-manager.php
webhooks
jetpack-constants
jetpack-device-detection
jetpack-identity-crisis
jetpack-ip
jetpack-jitm
jetpack-licensing
jetpack-logo
jetpack-my-jetpack
CHANGELOG.mdLICENSE.txtSECURITY.mdcomposer.json
build
images
apple-92dacafad84e79708a74.svgboost-a54137485af36fdffe9c.pngcloud-81ac85ba680343200f54.svgconnect-f27775ac15cf885713c2.pngcrm-7e7684ae2c40327d8fed.pngdisconnect-confirm-dc9fe8f5c68cfd1320e0.jpgdisconnect-thanks-5873bfac56a9bd7322cd.jpgempty-avatar-fea23feddfa99b07c2e8.svgextras-26daf36507504c96d066.pnggoogle-dec2a429bf1d8e83f9ad.svgjetpack-9de1caef5eb5c22da5d6.svgjetpack-ai-29e60474d5890cbb6889.pngjetpack-license-activation-with-lock-7b01c1a4cf56de799cd7.pngjetpack-license-activation-with-success-cad524ede4e793cc0ece.pngsearch-f9756bd9c926d905fe70.pngvideopress-9591093a9a238cc48a35.pngwordpress-1fc3e0ba6c52e9707900.svg
index.asset.phpindex.cssindex.jsindex.js.LICENSE.txtindex.rtl.csssrc
class-initializer.phpclass-products.phpclass-rest-ai.phpclass-rest-product-data.phpclass-rest-products.phpclass-rest-purchases.phpclass-rest-zendesk-chat.phpclass-wpcom-products.php
products
class-anti-spam.phpclass-backup.phpclass-boost.phpclass-crm.phpclass-extras.phpclass-hybrid-product.phpclass-jetpack-ai.phpclass-module-product.phpclass-product.phpclass-protect.phpclass-scan.phpclass-search-stats.phpclass-search.phpclass-security.phpclass-social.phpclass-starter.phpclass-stats.phpclass-videopress.php
jetpack-partner
jetpack-password-checker
jetpack-plugins-installer
jetpack-redirect
jetpack-roles
jetpack-status
jetpack-sync
CHANGELOG.mdLICENSE.txtSECURITY.mdcomposer.json
src
class-actions.phpclass-data-settings.phpclass-dedicated-sender.phpclass-default-filter-settings.phpclass-defaults.phpclass-functions.phpclass-health.phpclass-json-deflate-array-codec.phpclass-listener.phpclass-lock.phpclass-main.phpclass-modules.phpclass-package-version.phpclass-queue-buffer.phpclass-queue.phpclass-replicastore.phpclass-rest-endpoints.phpclass-rest-sender.phpclass-sender.phpclass-server.phpclass-settings.phpclass-simple-codec.phpclass-users.phpclass-utils.phpinterface-codec.phpinterface-replicastore.php
modules
class-attachments.phpclass-callables.phpclass-comments.phpclass-constants.phpclass-full-sync-immediately.phpclass-full-sync.phpclass-import.phpclass-menus.phpclass-meta.phpclass-module.phpclass-network-options.phpclass-options.phpclass-plugins.phpclass-posts.phpclass-protect.phpclass-search.phpclass-stats.phpclass-term-relationships.phpclass-terms.phpclass-themes.phpclass-updates.phpclass-users.phpclass-woocommerce-hpos-orders.phpclass-woocommerce.phpclass-wp-super-cache.php
replicastore
sync-queue
jetpack-transport-helper
jetpack-waf
.phpcs.dir.phpcompatibility.xml.phpcsignoreCHANGELOG.mdLICENSE.txtSECURITY.mdcli.phpcomposer.json
src
brute-force-protection
class-blocked-login-page.phpclass-math-fallback.phpclass-shared-functions.phpclass-transient-cleanup.php
class-brute-force-protection.phpclass-compatibility.phpclass-rest-controller.phpclass-waf-cli.phpclass-waf-constants.phpclass-waf-initializer.phpclass-waf-operators.phpclass-waf-request.phpclass-waf-rules-manager.phpclass-waf-runner.phpclass-waf-runtime.phpclass-waf-standalone-bootstrap.phpclass-waf-stats.phpclass-waf-transforms.phpexceptions
functions.phpsrc
class-credentials.phpclass-jetpack-protect.phpclass-plan.phpclass-protect-status.phpclass-rest-controller.phpclass-scan-status.phpclass-site-health.phpclass-status.phpclass-threats.php
models
vendor
autoload.phpautoload_packages.php
automattic
jetpack-plans
composer
autoload_classmap.phpautoload_files.phpautoload_psr4.phpautoload_real.phpautoload_static.phpinstalled.jsoninstalled.phpjetpack_autoload_classmap.phpjetpack_autoload_filemap.phpplatform_check.php
jetpack-autoloader
class-autoloader-handler.phpclass-autoloader-locator.phpclass-autoloader.phpclass-container.phpclass-hook-manager.phpclass-latest-autoloader-guard.phpclass-manifest-reader.phpclass-path-processor.phpclass-php-autoloader.phpclass-plugin-locator.phpclass-plugins-handler.phpclass-shutdown-handler.phpclass-version-loader.phpclass-version-selector.php
wikimedia
aho-corasick
menu-icons
CHANGELOG.mdCONTRIBUTING.mdLICENSE
css
images
includes
js
languages
mailin.phpmenu-icons.phpreadme.mdreadme.txtvendor
autoload.php
codeinwp
gutenberg-menu-icons
icon-picker
LICENSE
css
icon-picker.cssicon-picker.min.css
icon-picker.phptypes
Elusive-Icons.eotElusive-Icons.svgElusive-Icons.ttfElusive-Icons.woffGenericons.eotGenericons.svgGenericons.ttfGenericons.woffelusive.csselusive.min.cssfont-awesome.cssfont-awesome.min.cssfontawesome-webfont.eotfontawesome-webfont.svgfontawesome-webfont.ttffontawesome-webfont.wofffontawesome-webfont.woff2foundation-icons.cssfoundation-icons.eotfoundation-icons.min.cssfoundation-icons.svgfoundation-icons.ttffoundation-icons.woffgenericons.cssgenericons.min.css
includes
js
languages
readme.txtmenu-item-custom-fields
themeisle-sdk
CHANGELOG.mdLICENSEstart.php
assets
index.phpload.phppostcss.config.jssrc
Common
Loader.phpModules
About_us.phpCompatibilities.phpDashboard_widget.phpLicenser.phpLogger.phpNotification.phpPromotions.phpRecommendation.phpReview.phpRollback.phpTranslate.phpUninstall_feedback.phpWelcome.php
Product.phpcomposer
smtp-mailer
w3-total-cache
Base_Page_Settings.phpBrowserCache_ConfigLabels.phpBrowserCache_Core.phpBrowserCache_Environment.phpBrowserCache_Environment_Apache.phpBrowserCache_Environment_LiteSpeed.phpBrowserCache_Environment_Nginx.phpBrowserCache_Page.phpBrowserCache_Page_View_QuickReference.phpBrowserCache_Page_View_SectionSecurity.phpBrowserCache_Plugin.phpBrowserCache_Plugin_Admin.phpCache.phpCacheFlush.phpCacheFlush_Locally.phpCacheGroups_Plugin_Admin.phpCacheGroups_Plugin_Admin_View.jsCacheGroups_Plugin_Admin_View.phpCache_Apc.phpCache_Apcu.phpCache_Base.phpCache_Eaccelerator.phpCache_File.phpCache_File_Cleaner.phpCache_File_Cleaner_Generic.phpCache_File_Cleaner_Generic_HardDelete.phpCache_File_Generic.phpCache_Memcache.phpCache_Memcached.phpCache_Memcached_Stats.phpCache_Nginx_Memcached.phpCache_Redis.phpCache_Wincache.phpCache_Xcache.phpCdnEngine.phpCdnEngine_Azure.phpCdnEngine_Base.phpCdnEngine_CloudFront.phpCdnEngine_Ftp.phpCdnEngine_GoogleDrive.phpCdnEngine_Mirror.phpCdnEngine_Mirror_Akamai.phpCdnEngine_Mirror_Att.phpCdnEngine_Mirror_BunnyCdn.phpCdnEngine_Mirror_CloudFront.phpCdnEngine_Mirror_Cotendo.phpCdnEngine_Mirror_Edgecast.phpCdnEngine_Mirror_Highwinds.phpCdnEngine_Mirror_LimeLight.phpCdnEngine_Mirror_RackSpaceCdn.phpCdnEngine_Mirror_StackPath.phpCdnEngine_Mirror_StackPath2.phpCdnEngine_RackSpaceCloudFiles.phpCdnEngine_S3.phpCdnEngine_S3_Compatible.phpCdn_AdminActions.phpCdn_AdminNotes.phpCdn_BunnyCdn_Api.phpCdn_BunnyCdn_Page.phpCdn_BunnyCdn_Page_View.jsCdn_BunnyCdn_Page_View.phpCdn_BunnyCdn_Page_View_Purge_Urls.phpCdn_BunnyCdn_Popup.phpCdn_BunnyCdn_Popup_View_Configured.phpCdn_BunnyCdn_Popup_View_Deauthorize.phpCdn_BunnyCdn_Popup_View_Deauthorized.phpCdn_BunnyCdn_Popup_View_Intro.phpCdn_BunnyCdn_Popup_View_Pull_Zones.phpCdn_BunnyCdn_Widget.phpCdn_BunnyCdn_Widget_View.cssCdn_BunnyCdn_Widget_View_Authorized.phpCdn_BunnyCdn_Widget_View_Unauthorized.phpCdn_CacheFlush.phpCdn_ConfigLabels.phpCdn_Core.phpCdn_Core_Admin.phpCdn_Environment.phpCdn_Environment_LiteSpeed.phpCdn_Environment_Nginx.phpCdn_GeneralPage_View.phpCdn_GoogleDrive_AdminActions.phpCdn_GoogleDrive_Page.phpCdn_GoogleDrive_Page_View.jsCdn_GoogleDrive_Page_View.phpCdn_GoogleDrive_Popup_AuthReturn.phpCdn_GoogleDrive_Popup_AuthReturn_View.phpCdn_Highwinds_Api.phpCdn_Highwinds_Page.phpCdn_Highwinds_Page_View.jsCdn_Highwinds_Page_View.phpCdn_Highwinds_Popup.phpCdn_Highwinds_Popup_View_ConfigureCnamesForm.phpCdn_Highwinds_Popup_View_Intro.phpCdn_Highwinds_Popup_View_SelectHost.phpCdn_Highwinds_Widget.phpCdn_Highwinds_Widget_View.cssCdn_Highwinds_Widget_View.jsCdn_Highwinds_Widget_View.phpCdn_Highwinds_Widget_View_NotConfigured.phpCdn_LimeLight_Page.phpCdn_LimeLight_Page_View.jsCdn_LimeLight_Page_View.phpCdn_LimeLight_Popup.phpCdn_LimeLight_Popup_View_Intro.phpCdn_LimeLight_Popup_View_Success.phpCdn_Page.phpCdn_Page_View_Fsd_HeaderActions.phpCdn_Plugin.phpCdn_Plugin_Admin.phpCdn_RackSpaceCdn_AdminActions.phpCdn_RackSpaceCdn_Page.phpCdn_RackSpaceCdn_Page_View.jsCdn_RackSpaceCdn_Page_View.phpCdn_RackSpaceCdn_Popup.phpCdn_RackSpaceCdn_Popup_View_ConfigureDomains.phpCdn_RackSpaceCdn_Popup_View_Intro.phpCdn_RackSpaceCdn_Popup_View_Regions.phpCdn_RackSpaceCdn_Popup_View_Service_Actualize.phpCdn_RackSpaceCdn_Popup_View_Service_Create.phpCdn_RackSpaceCdn_Popup_View_Service_Created.phpCdn_RackSpaceCdn_Popup_View_Services.phpCdn_RackSpaceCloudFiles_Page.phpCdn_RackSpaceCloudFiles_Page_View.jsCdn_RackSpaceCloudFiles_Page_View.phpCdn_RackSpaceCloudFiles_Popup.phpCdn_RackSpaceCloudFiles_Popup_View_Containers.phpCdn_RackSpaceCloudFiles_Popup_View_Intro.phpCdn_RackSpaceCloudFiles_Popup_View_Regions.phpCdn_RackSpace_Api_CaCert-example.pemCdn_RackSpace_Api_Cdn.phpCdn_RackSpace_Api_CloudFiles.phpCdn_RackSpace_Api_CloudFilesCdn.phpCdn_RackSpace_Api_Tokens.phpCdn_StackPath2_Api.phpCdn_StackPath2_Page.phpCdn_StackPath2_Page_View.jsCdn_StackPath2_Page_View.phpCdn_StackPath2_Popup.phpCdn_StackPath2_Popup_View_Intro.phpCdn_StackPath2_Popup_View_Sites.phpCdn_StackPath2_Popup_View_Stacks.phpCdn_StackPath2_Popup_View_Success.phpCdn_StackPath2_Widget.phpCdn_StackPath2_Widget_View.cssCdn_StackPath2_Widget_View.jsCdn_StackPath2_Widget_View_Authorized.phpCdn_StackPath2_Widget_View_Unauthorized.phpCdn_StackPath_Api.phpCdn_StackPath_Page.phpCdn_StackPath_Page_View.jsCdn_StackPath_Page_View.phpCdn_StackPath_Popup.phpCdn_StackPath_Popup_View_Intro.phpCdn_StackPath_Popup_View_Success.phpCdn_StackPath_Popup_View_Zone.phpCdn_StackPath_Popup_View_Zones.phpCdn_StackPath_Widget.phpCdn_StackPath_Widget_View.cssCdn_StackPath_Widget_View.jsCdn_StackPath_Widget_View_Authorized.phpCdn_StackPath_Widget_View_Unauthorized.phpCdn_Util.phpCdnfsd_BunnyCdn_Engine.phpCdnfsd_BunnyCdn_Page.phpCdnfsd_BunnyCdn_Page_View.jsCdnfsd_BunnyCdn_Page_View.phpCdnfsd_BunnyCdn_Popup.phpCdnfsd_BunnyCdn_Popup_View_Configured.phpCdnfsd_BunnyCdn_Popup_View_Deauthorize.phpCdnfsd_BunnyCdn_Popup_View_Deauthorized.phpCdnfsd_BunnyCdn_Popup_View_Intro.phpCdnfsd_BunnyCdn_Popup_View_Pull_Zones.phpCdnfsd_CacheFlush.phpCdnfsd_CloudFront_Engine.phpCdnfsd_CloudFront_Page.phpCdnfsd_CloudFront_Page_View.jsCdnfsd_CloudFront_Page_View.phpCdnfsd_CloudFront_Popup.phpCdnfsd_CloudFront_Popup_View_Distribution.phpCdnfsd_CloudFront_Popup_View_Distributions.phpCdnfsd_CloudFront_Popup_View_Intro.phpCdnfsd_CloudFront_Popup_View_Success.phpCdnfsd_Core.phpCdnfsd_GeneralPage_View.phpCdnfsd_LimeLight_Api.phpCdnfsd_LimeLight_Engine.phpCdnfsd_LimeLight_Page.phpCdnfsd_LimeLight_Page_View.jsCdnfsd_LimeLight_Page_View.phpCdnfsd_LimeLight_Popup.phpCdnfsd_LimeLight_Popup_View_Intro.phpCdnfsd_LimeLight_Popup_View_Success.phpCdnfsd_Plugin.phpCdnfsd_Plugin_Admin.phpCdnfsd_StackPath2_Engine.phpCdnfsd_StackPath2_Page.phpCdnfsd_StackPath2_Page_View.jsCdnfsd_StackPath2_Page_View.phpCdnfsd_StackPath2_Popup.phpCdnfsd_StackPath2_Popup_View_Intro.phpCdnfsd_StackPath2_Popup_View_Sites.phpCdnfsd_StackPath2_Popup_View_Stacks.phpCdnfsd_StackPath2_Popup_View_Success.phpCdnfsd_StackPath_Engine.phpCdnfsd_StackPath_Page.phpCdnfsd_StackPath_Page_View.jsCdnfsd_StackPath_Page_View.phpCdnfsd_StackPath_Popup.phpCdnfsd_StackPath_Popup_View_Intro.phpCdnfsd_StackPath_Popup_View_Success.phpCdnfsd_StackPath_Popup_View_Zone.phpCdnfsd_StackPath_Popup_View_Zones.phpCdnfsd_TransparentCDN_Engine.phpCdnfsd_TransparentCDN_Page.phpCdnfsd_TransparentCDN_Page_View.jsCdnfsd_TransparentCDN_Page_View.phpCdnfsd_Util.phpCli.phpConfig.phpConfigCache.phpConfigCompiler.phpConfigDbStorage.phpConfigKeys.phpConfigState.phpConfigStateNote.phpConfigUtil.phpDbCache_ConfigLabels.phpDbCache_Core.phpDbCache_Environment.phpDbCache_Page.phpDbCache_Plugin.phpDbCache_Plugin_Admin.phpDbCache_Wpdb.phpDbCache_WpdbBase.phpDbCache_WpdbInjection.phpDbCache_WpdbInjection_QueryCaching.phpDbCache_WpdbLegacy.phpDbCache_WpdbNew.phpDispatcher.phpEnterprise_CacheFlush_MakeSnsEvent.phpEnterprise_Dbcache_WpdbInjection_Cluster.phpEnterprise_SnsBase.phpEnterprise_SnsServer.phpExtension_Amp_Page_View.phpExtension_Amp_Plugin.phpExtension_Amp_Plugin_Admin.phpExtension_CloudFlare_AdminActions.phpExtension_CloudFlare_Api.phpExtension_CloudFlare_Cdn_Page_View.phpExtension_CloudFlare_GeneralPage_View.phpExtension_CloudFlare_Page.phpExtension_CloudFlare_Page_View.jsExtension_CloudFlare_Page_View.phpExtension_CloudFlare_Plugin.phpExtension_CloudFlare_Plugin_Admin.phpExtension_CloudFlare_Popup.phpExtension_CloudFlare_Popup_View_Intro.phpExtension_CloudFlare_Popup_View_Zones.phpExtension_CloudFlare_SettingsForUi.phpExtension_CloudFlare_View_Dashboard.jsExtension_CloudFlare_Widget.phpExtension_CloudFlare_Widget_Logo.pngExtension_CloudFlare_Widget_View.cssExtension_CloudFlare_Widget_View.phpExtension_FragmentCache_Api.phpExtension_FragmentCache_Core.phpExtension_FragmentCache_Environment.phpExtension_FragmentCache_GeneralPage.phpExtension_FragmentCache_GeneralPage_View.phpExtension_FragmentCache_Page.phpExtension_FragmentCache_Page_View.phpExtension_FragmentCache_Plugin.phpExtension_FragmentCache_Plugin_Admin.phpExtension_FragmentCache_WpObjectCache.phpExtension_Genesis_Page.phpExtension_Genesis_Page_View.phpExtension_Genesis_Plugin.phpExtension_Genesis_Plugin_Admin.phpExtension_ImageService_Api.phpExtension_ImageService_Cron.phpExtension_ImageService_Environment.phpExtension_ImageService_Page_View.phpExtension_ImageService_Plugin.phpExtension_ImageService_Plugin_Admin.cssExtension_ImageService_Plugin_Admin.jsExtension_ImageService_Plugin_Admin.phpExtension_NewRelic_AdminActions.phpExtension_NewRelic_AdminNotes.phpExtension_NewRelic_Api.phpExtension_NewRelic_Core.phpExtension_NewRelic_GeneralPage.phpExtension_NewRelic_GeneralPage_View.phpExtension_NewRelic_Page.phpExtension_NewRelic_Page_View_Apm.phpExtension_NewRelic_Plugin.phpExtension_NewRelic_Plugin_Admin.phpExtension_NewRelic_Popup.phpExtension_NewRelic_Popup_View.jsExtension_NewRelic_Popup_View_Intro.phpExtension_NewRelic_Popup_View_ListApplications.phpExtension_NewRelic_Service.phpExtension_NewRelic_Widget.phpExtension_NewRelic_Widget_View.cssExtension_NewRelic_Widget_View.jsExtension_NewRelic_Widget_View_Apm.phpExtension_NewRelic_Widget_View_Browser.phpExtension_NewRelic_Widget_View_NotConfigured.phpExtension_Swarmify_AdminActions.phpExtension_Swarmify_Core.phpExtension_Swarmify_Page.phpExtension_Swarmify_Page_View.phpExtension_Swarmify_Plugin.phpExtension_Swarmify_Plugin_Admin.phpExtension_Swarmify_Widget.phpExtension_Swarmify_Widget_View.cssExtension_Swarmify_Widget_View_NotConfigured.phpExtension_WordPressSeo_Plugin.phpExtension_WordPressSeo_Plugin_Admin.phpExtension_Wpml_Plugin.phpExtension_Wpml_Plugin_Admin.phpExtensions_AdminActions.phpExtensions_Page.phpExtensions_Plugin_Admin.phpExtensions_Util.phpFeatureShowcase_Plugin_Admin.phpFeatureShowcase_Plugin_Admin_View.phpGeneric_AdminActions_Config.phpGeneric_AdminActions_Default.phpGeneric_AdminActions_Flush.phpGeneric_AdminActions_Test.phpGeneric_AdminNotes.phpGeneric_ConfigLabels.phpGeneric_Environment.phpGeneric_Faq.phpGeneric_GeneralPage_View_ShowEdge.jsGeneric_GeneralPage_View_ShowSupportUs.jsGeneric_Page_About.phpGeneric_Page_Dashboard.phpGeneric_Page_Dashboard_View.cssGeneric_Page_General.phpGeneric_Page_Install.phpGeneric_Page_PurgeLog.phpGeneric_Page_PurgeLog_View.phpGeneric_Plugin.phpGeneric_Plugin_Admin.phpGeneric_Plugin_AdminCompatibility.phpGeneric_Plugin_AdminNotifications.phpGeneric_Plugin_AdminRowActions.phpGeneric_Plugin_Admin_View_Faq.phpGeneric_Plugin_WidgetForum.phpGeneric_Plugin_WidgetNews.phpGeneric_WidgetBoldGrid.phpGeneric_WidgetBoldGrid_AdminActions.phpGeneric_WidgetBoldGrid_Logo.svgGeneric_WidgetBoldGrid_View.jsGeneric_WidgetBoldGrid_View.phpGeneric_WidgetCommunity.phpGeneric_WidgetCommunity_View.phpGeneric_WidgetServices.phpGeneric_WidgetServices_View.phpGeneric_WidgetSpreadTheWord.jsGeneric_WidgetSpreadTheWord_Plugin.phpGeneric_WidgetSpreadTheWord_View.phpLICENSELicensing_AdminActions.phpLicensing_Core.phpLicensing_Plugin_Admin.phpMinify_AutoCss.phpMinify_AutoJs.phpMinify_ConfigLabels.phpMinify_ContentMinifier.phpMinify_Core.phpMinify_Environment.phpMinify_Environment_LiteSpeed.phpMinify_Extract.phpMinify_GeneralPage_View_ShowHelp.jsMinify_GeneralPage_View_ShowHelpForce.jsMinify_HelpPopup_View.phpMinify_MinifiedFileRequestHandler.phpMinify_Page.phpMinify_Plugin.phpMinify_Plugin_Admin.phpMobile_Base.phpMobile_Redirect.phpMobile_Referrer.phpMobile_UserAgent.phpModuleStatus.phpObjectCache_ConfigLabels.phpObjectCache_Environment.phpObjectCache_Page.phpObjectCache_Page_View_PurgeLog.phpObjectCache_Plugin.phpObjectCache_Plugin_Admin.phpObjectCache_WpObjectCache.phpObjectCache_WpObjectCache_Regular.phpPageSpeed_Api.phpPageSpeed_Data.phpPageSpeed_Instructions.phpPageSpeed_Page.phpPageSpeed_Page_View.cssPageSpeed_Page_View.jsPageSpeed_Page_View.phpPageSpeed_Page_View_FromAPI.phpPageSpeed_Widget.phpPageSpeed_Widget_View.cssPageSpeed_Widget_View.jsPageSpeed_Widget_View.phpPageSpeed_Widget_View_FromApi.phpPgCache_ConfigLabels.phpPgCache_ContentGrabber.phpPgCache_Environment.phpPgCache_Flush.phpPgCache_Page.phpPgCache_Page_View.jsPgCache_Plugin.phpPgCache_Plugin_Admin.phpPgCache_QsExempts.phpRoot_AdminActions.phpRoot_AdminActivation.phpRoot_AdminMenu.phpRoot_Environment.phpRoot_Loader.phpSetupGuide_Plugin_Admin.phpSupport_AdminActions.phpSupport_Page.phpSupport_Page_View_DoneContent.phpSupport_Page_View_PageContent.phpSystemOpCache_AdminActions.phpSystemOpCache_Core.phpSystemOpCache_GeneralPage_View.phpSystemOpCache_Plugin_Admin.phpUsageStatistics_AdminActions.phpUsageStatistics_Core.phpUsageStatistics_GeneralPage.phpUsageStatistics_GeneralPage_View.phpUsageStatistics_Page.phpUsageStatistics_Page_DbRequests_View.phpUsageStatistics_Page_ObjectCacheLog_View.phpUsageStatistics_Page_PageCacheRequests_View.phpUsageStatistics_Page_View.cssUsageStatistics_Page_View.jsUsageStatistics_Page_View.phpUsageStatistics_Page_View_Ad.phpUsageStatistics_Page_View_Disabled.phpUsageStatistics_Page_View_Free.phpUsageStatistics_Page_View_NoDebugMode.phpUsageStatistics_Plugin.phpUsageStatistics_Plugin_Admin.phpUsageStatistics_Source_AccessLog.phpUsageStatistics_Source_DbQueriesLog.phpUsageStatistics_Source_ObjectCacheLog.phpUsageStatistics_Source_PageCacheLog.phpUsageStatistics_Source_Wpdb.phpUsageStatistics_Sources.phpUsageStatistics_Sources_Apc.phpUsageStatistics_Sources_Memcached.phpUsageStatistics_Sources_Redis.phpUsageStatistics_StorageReader.phpUsageStatistics_StorageWriter.phpUsageStatistics_Widget.phpUsageStatistics_Widget_View.jsUsageStatistics_Widget_View.phpUsageStatistics_Widget_View_Disabled.phpUserExperience_DeferScripts_Extension.phpUserExperience_DeferScripts_Mutator.phpUserExperience_DeferScripts_Page_View.phpUserExperience_DeferScripts_Script.jsUserExperience_Emoji_Extension.phpUserExperience_GeneralPage.phpUserExperience_GeneralPage_View.phpUserExperience_LazyLoad_GoogleMaps_GoogleMapsEasy.phpUserExperience_LazyLoad_GoogleMaps_WPGoogleMapPlugin.phpUserExperience_LazyLoad_GoogleMaps_WPGoogleMaps.phpUserExperience_LazyLoad_Mutator.phpUserExperience_LazyLoad_Mutator_Picture.phpUserExperience_LazyLoad_Mutator_Unmutable.phpUserExperience_LazyLoad_Page_View.phpUserExperience_LazyLoad_Plugin.phpUserExperience_OEmbed_Extension.phpUserExperience_Page.phpUserExperience_Page_View.phpUserExperience_Plugin_Admin.phpUserExperience_Plugin_Jquery.phpUserExperience_Preload_Requests_Extension.phpUserExperience_Preload_Requests_Page_View.phpUtil_Activation.phpUtil_Admin.phpUtil_AttachToActions.phpUtil_Bus.phpUtil_ConfigLabel.phpUtil_Content.phpUtil_Debug.phpUtil_DebugPurgeLog_Reader.phpUtil_Environment.phpUtil_Environment_Exception.phpUtil_Environment_Exceptions.phpUtil_File.phpUtil_Http.phpUtil_Installed.phpUtil_Mime.phpUtil_PageSpeed.phpUtil_PageUrls.phpUtil_Request.phpUtil_Rule.phpUtil_Theme.phpUtil_Ui.phpUtil_UsageStatistics.phpUtil_Widget.phpUtil_WpFile.phpUtil_WpFile_FilesystemChmodException.phpUtil_WpFile_FilesystemCopyException.phpUtil_WpFile_FilesystemMkdirException.phpUtil_WpFile_FilesystemModifyException.phpUtil_WpFile_FilesystemOperationException.phpUtil_WpFile_FilesystemRmException.phpUtil_WpFile_FilesystemRmdirException.phpUtil_WpFile_FilesystemWriteException.phpUtil_WpmuBlogmap.phpVarnish_Flush.phpVarnish_Plugin.phppress.txtreadme.txt
extension-example
Extension_Example.phpExtension_Example_Admin.phpExtension_Example_Page_View.phpw3-total-cache-example.php
inc
define.php
index.htmlemail
error.phpindex.htmllightbox
mime
options
about.phpbrowsercache.phpcdn.php
cdn
akamai.phpatt.phpazure.phpcf.phpcf2.php
common
cotendo.phpedgecast.phpftp.phpindex.htmlmirror.phprscf.phps3.phps3_compatible.phpcommon
dashboard.phpdbcache.phpedd
enterprise
extensions.phpextensions
general.phpindex.htmlinstall.phpminify.phpminify
ccjs.phpccjs2.phpcss.phpcsstidy.phpcsstidy2.phpgoogleccjs2.phphtml.phphtmltidy.phphtmltidy2.phpindex.htmljs.phpyuicss2.phpyuijs.phpyuijs2.php
objectcache.phpparts
pgcache.phpsupport.phppopup
cdn_export_file.phpcdn_export_library.phpcdn_import_library.phpcdn_purge.phpcdn_queue.phpcdn_rename_domain.php
common
index.htmlwidget
index.htmllatest.phplatest_ajax.phplatest_control.phplatest_news.phplatest_news_ajax.phplatest_news_control.php
wizard
ini
apache_conf
apc.iniconfig-db-sample.phpdbcluster-config-sample.phpeaccelerator.iniindex.htmlmemcache.ininginx-network-sample-config.confnginx-standalone-sample-config.confopcache.iniphp.append.inis3-sample-policy.txtvarnish-sample-config.vclweb.configxcache.inilanguages
lib
Azure
GuzzleHttp
Client.phpClientInterface.php
Cookie
Exception
BadResponseException.phpClientException.phpConnectException.phpGuzzleException.phpRequestException.phpSeekException.phpServerException.phpTooManyRedirectsException.phpTransferException.php
Handler
CurlFactory.phpCurlFactoryInterface.phpCurlHandler.phpCurlMultiHandler.phpEasyHandle.phpMockHandler.phpProxy.phpStreamHandler.php
HandlerStack.phpMessageFormatter.phpMiddleware.phpPool.phpPrepareBodyMiddleware.phpPromise
AggregateException.phpCancellationException.phpCoroutine.phpEachPromise.phpFulfilledPromise.phpPromise.phpPromiseInterface.phpPromisorInterface.phpRejectedPromise.phpRejectionException.phpTaskQueue.phpTaskQueueInterface.phpfunctions.phpfunctions_include.php
Psr7
AppendStream.phpBufferStream.phpCachingStream.phpDroppingStream.phpFnStream.phpInflateStream.phpLazyOpenStream.phpLimitStream.phpMessageTrait.phpMultipartStream.phpNoSeekStream.phpPumpStream.phpRequest.phpResponse.phpServerRequest.phpStream.phpStreamDecoratorTrait.phpStreamWrapper.phpUploadedFile.phpUri.phpfunctions.phpfunctions_include.php
RedirectMiddleware.phpRequestOptions.phpRetryMiddleware.phpTransferStats.phpUriTemplate.phpfunctions.phpfunctions_include.phpMicrosoftAzureStorage
Blob
BlobRestProxy.php
Internal
Models
AccessCondition.phpAccessPolicy.phpAcquireLeaseOptions.phpAcquireLeaseResult.phpBlob.phpBlobBlockType.phpBlobPrefix.phpBlobProperties.phpBlobServiceOptions.phpBlobType.phpBlock.phpBlockList.phpBreakLeaseResult.phpCommitBlobBlocksOptions.phpContainer.phpContainerACL.phpContainerProperties.phpCopyBlobOptions.phpCopyBlobResult.phpCreateBlobBlockOptions.phpCreateBlobOptions.phpCreateBlobPagesOptions.phpCreateBlobPagesResult.phpCreateBlobSnapshotOptions.phpCreateBlobSnapshotResult.phpCreateContainerOptions.phpDeleteBlobOptions.phpDeleteContainerOptions.phpGetBlobMetadataOptions.phpGetBlobMetadataResult.phpGetBlobOptions.phpGetBlobPropertiesOptions.phpGetBlobPropertiesResult.phpGetBlobResult.phpGetContainerACLResult.phpGetContainerPropertiesResult.phpLeaseMode.phpListBlobBlocksOptions.phpListBlobBlocksResult.phpListBlobsOptions.phpListBlobsResult.phpListContainersOptions.phpListContainersResult.phpListPageBlobRangesOptions.phpListPageBlobRangesResult.phpPageRange.phpPageWriteOption.phpPublicAccessType.phpSetBlobMetadataOptions.phpSetBlobMetadataResult.phpSetBlobPropertiesOptions.phpSetBlobPropertiesResult.phpSetContainerMetadataOptions.phpSignedIdentifier.php
Common
CloudConfigurationManager.php
Internal
Authentication
ConnectionStringParser.phpConnectionStringSource.phpFilterableService.phpFilters
AuthenticationFilter.phpDateFilter.phpExponentialRetryPolicy.phpHeadersFilter.phpRetryPolicy.phpRetryPolicyFilter.php
Http
HttpFormatter.phpIServiceFilter.phpInvalidArgumentTypeException.phpLogger.phpResources.phpRestProxy.phpRetryMiddlewareFactory.phpSerialization
ServiceRestProxy.phpServiceSettings.phpStorageServiceSettings.phpUtilities.phpValidate.phpModels
ServiceException.phpServicesBuilder.phpPsrHttpMessage
MessageInterface.phpRequestInterface.phpResponseInterface.phpServerRequestInterface.phpStreamInterface.phpUploadedFileInterface.phpUriInterface.php
loader.phpCSSTidy
Db
Google
Auth
Cache
Client.phpCollection.phpConfig.phpException.phpHttp
IO
Model.phpService.phpService
Signer
Utils.phpUtils
Verifier
Minify
HTTP
JSMin.phpJSMinPlus.phpMinify.phpMinify
Build.phpCSS.php
index.htmlCSS
CSSTidy.phpCache
ClosureCompiler.phpCombineOnly.phpCommentPreserver.phpController
DebugDetector.phpHTML.phpHTML
HTMLTidy.phpIgnoredCommentPreserver.phpImportProcessor.phpInline.phpInline
JS
Lines.phpLogger.phpPacker.phpSource.phpYUI
YUICompressor.phpindex.htmlNetDNA
NewRelic
Nusoap
class.nusoap_base.phpclass.soap_fault.phpclass.soap_parser.phpclass.soap_transport_http.phpclass.soap_val.phpclass.soapclient.phpclass.wsdl.phpclass.wsdlcache.phpclass.xmlschema.phpindex.htmlnusoap.php
OAuth
S3Compatible.phpSNS
YuiCssMin
index.htmlpub
css
bootstrap-buttons.csserror.cssfeature-counter.cssfeature-showcase.cssindex.htmllightbox.cssoptions.csspopup.csssetup-guide.csswidget.csswizard.css
fonts
img
W3TC_dashboard_logo_title-retina.pngW3TC_dashboard_logo_title.pngbutton-grad-active.pngbutton-grad.pngcdn-highwinds-logo.pngclose.pnggoogle-logo.pngindex.htmlmoon-bottom-left.pngmoon-bottom-right.pngopen.png
index.htmloverlay
ceo.pnggauge-bg-tp.pnggray-check.pnglite-gray-check.pnglock.pngoverlay-close.pngoverlay-down-arrow.pngoverlay-logo.pngsave-close.pngselect-arrow.pngtwitter-bird-dark-bgs.pngwordpress-logo-simplified-rgb.png
ps_bar.gifps_grad.gifps_scores.pngsidebar-background.pngstats-bg.pngtransparent-comet-moon.pngtransparent-comet.pngusage-statistics-widget.pngw3tc_bunnycdn_logo.svgw3tc_cube-shadow.pngw3tc_google-logo-retina.pngw3tc_google-logo.pngw3tc_netdna-logo-retina.pngw3tc_netdna-logo.pngw3tc_newrelic-logo-retina.pngw3tc_newrelic-logo.pngw3tc_stackpath_logo.svgw3tc_swarmify-logo-retina.pngw3tc_swarmify-logo.pngw3tc_w3edge-logo-retina.pngw3tc_w3edge-logo.pngw3tc_w3tc-logo-retina.pngw3tc_w3tc-logo.pngwhite-grad-active.pngwhite-grad.pngwpspin_light.gifjs
chartjs.min.jsfeature-counter.jsindex.htmljquery.masonry.min.jslazyload.min.jslazyload.version.txtlightbox.jsmetadata.jsoptions-validator.jsoptions.jspopup.jssetup-guide.jswidget.jswizard.js
sns.phpvendor
autoload.php
w3-total-cache-api.phpw3-total-cache-old-php.phpw3-total-cache.phpaws
aws-php-sns-message-validator
.github
.travis.ymlCODE_OF_CONDUCT.mdCONTRIBUTING.mdLICENSE.mdNOTICE.mdREADME.mdcomposer.jsonphpunit.xml.distsrc
tests
aws-sdk-php
CODE_OF_CONDUCT.mdLICENSE.mdNOTICE.mdcomposer.jsonaliases.json.phpendpoints.json.phpendpoints_prefix_history.json.phpmanifest.json.php
src
ACMPCA
AbstractConfigurationProvider.phpAccessAnalyzer
Acm
AlexaForBusiness
Amplify
AmplifyBackend
Api
AbstractModel.phpApiProvider.phpDateTimeResult.phpDocModel.php
ErrorParser
AbstractErrorParser.phpJsonParserTrait.phpJsonRpcErrorParser.phpRestJsonErrorParser.phpXmlErrorParser.php
ListShape.phpMapShape.phpOperation.phpParser
AbstractParser.phpAbstractRestParser.phpCrc32ValidatingParser.phpDecodingEventStreamIterator.phpEventParsingIterator.php
Exception
JsonParser.phpJsonRpcParser.phpMetadataParserTrait.phpPayloadParserTrait.phpQueryParser.phpRestJsonParser.phpRestXmlParser.phpXmlParser.phpSerializer
Ec2ParamBuilder.phpJsonBody.phpJsonRpcSerializer.phpQueryParamBuilder.phpQuerySerializer.phpRestJsonSerializer.phpRestSerializer.phpRestXmlSerializer.phpXmlBody.php
Service.phpShape.phpShapeMap.phpStructureShape.phpTimestampShape.phpValidator.phpApiGateway
ApiGatewayManagementApi
ApiGatewayV2
AppConfig
AppIntegrationsService
AppMesh
AppRegistry
AppRunner
AppSync
Appflow
ApplicationAutoScaling
ApplicationCostProfiler
ApplicationDiscoveryService
ApplicationInsights
Appstream
Arn
AccessPointArn.phpAccessPointArnInterface.phpArn.phpArnInterface.phpArnParser.php
Exception
ObjectLambdaAccessPointArn.phpResourceTypeAndIdTrait.phpS3
Athena
AuditManager
AugmentedAIRuntime
AutoScaling
AutoScalingPlans
AwsClient.phpAwsClientInterface.phpAwsClientTrait.phpBackup
Batch
Braket
Budgets
CacheInterface.phpChime
ClientResolver.phpClientSideMonitoring
AbstractMonitoringMiddleware.phpApiCallAttemptMonitoringMiddleware.phpApiCallMonitoringMiddleware.phpConfiguration.phpConfigurationInterface.phpConfigurationProvider.php
Exception
MonitoringMiddlewareInterface.phpCloud9
CloudDirectory
CloudFormation
CloudFront
CloudHSMV2
CloudHsm
CloudSearch
CloudSearchDomain
CloudTrail
CloudWatch
CloudWatchEvents
CloudWatchLogs
CodeArtifact
CodeBuild
CodeCommit
CodeDeploy
CodeGuruProfiler
CodeGuruReviewer
CodePipeline
CodeStar
CodeStarNotifications
CodeStarconnections
CognitoIdentity
CognitoIdentityProvider
CognitoSync
Command.phpCommandInterface.phpCommandPool.phpComprehend
ComprehendMedical
ComputeOptimizer
ConfigService
ConfigurationProviderInterface.phpConnect
ConnectContactLens
ConnectParticipant
CostExplorer
CostandUsageReportService
Credentials
AssumeRoleCredentialProvider.phpAssumeRoleWithWebIdentityCredentialProvider.phpCredentialProvider.phpCredentials.phpCredentialsInterface.phpEcsCredentialProvider.phpInstanceProfileProvider.php
Crypto
AbstractCryptoClient.phpAbstractCryptoClientV2.phpAesDecryptingStream.phpAesEncryptingStream.phpAesGcmDecryptingStream.phpAesGcmEncryptingStream.phpAesStreamInterface.phpAesStreamInterfaceV2.php
Cipher
DecryptionTrait.phpDecryptionTraitV2.phpEncryptionTrait.phpEncryptionTraitV2.phpKmsMaterialsProvider.phpKmsMaterialsProviderV2.phpMaterialsProvider.phpMaterialsProviderInterface.phpMaterialsProviderInterfaceV2.phpMaterialsProviderV2.phpMetadataEnvelope.phpMetadataStrategyInterface.phpPolyfill
CustomerProfiles
DAX
DLM
DataExchange
DataPipeline
DataSync
DatabaseMigrationService
Detective
DevOpsGuru
DeviceFarm
DirectConnect
DirectoryService
DocDB
DoctrineCacheAdapter.phpDynamoDb
BinaryValue.phpDynamoDbClient.php
Exception
LockingSessionConnection.phpMarshaler.phpNumberValue.phpSessionConnectionConfigTrait.phpSessionConnectionInterface.phpSessionHandler.phpSetValue.phpStandardSessionConnection.phpWriteRequestBatch.phpDynamoDbStreams
EBS
EC2InstanceConnect
ECRPublic
EKS
EMRContainers
Ec2
Ecr
Ecs
Efs
ElastiCache
ElasticBeanstalk
ElasticInference
ElasticLoadBalancing
ElasticLoadBalancingV2
ElasticTranscoder
ElasticsearchService
Emr
Endpoint
EndpointProvider.phpPartition.phpPartitionEndpointProvider.phpPartitionInterface.phpPatternEndpointProvider.php
EndpointDiscovery
Configuration.phpConfigurationInterface.phpConfigurationProvider.phpEndpointDiscoveryMiddleware.phpEndpointList.php
EndpointParameterMiddleware.phpException
EventBridge
Exception
AwsException.phpCouldNotCreateChecksumException.phpCredentialsException.phpCryptoException.phpCryptoPolyfillException.phpEventStreamDataException.phpIncalculablePayloadException.phpInvalidJsonException.phpInvalidRegionException.phpMultipartUploadException.phpUnresolvedApiException.phpUnresolvedEndpointException.phpUnresolvedSignatureException.php
FIS
FMS
FSx
FinSpaceData
Firehose
ForecastQueryService
ForecastService
FraudDetector
GameLift
Glacier
GlobalAccelerator
Glue
GlueDataBrew
Greengrass
GreengrassV2
GroundStation
GuardDuty
Handler
HandlerList.phpHasDataTrait.phpHasMonitoringEventsTrait.phpHashInterface.phpHashingStream.phpHealth
HealthLake
History.phpHoneycode
IVS
Iam
IdempotencyTokenMiddleware.phpIdentityStore
ImportExport
InputValidationMiddleware.phpInspector
IoT1ClickDevicesService
IoT1ClickProjects
IoTAnalytics
IoTDeviceAdvisor
IoTEvents
IoTEventsData
IoTFleetHub
IoTJobsDataPlane
IoTSecureTunneling
IoTSiteWise
IoTThingsGraph
IoTWireless
Iot
IotDataPlane
JsonCompiler.phpKafka
Kinesis
KinesisAnalytics
KinesisAnalyticsV2
KinesisVideo
KinesisVideoArchivedMedia
KinesisVideoMedia
KinesisVideoSignalingChannels
Kms
LakeFormation
Lambda
LexModelBuildingService
LexModelsV2
LexRuntimeService
LexRuntimeV2
LicenseManager
Lightsail
LocationService
LookoutEquipment
LookoutMetrics
LookoutforVision
LruArrayCache.phpMQ
MTurk
MWAA
MachineLearning
Macie
Macie2
ManagedBlockchain
MarketplaceCatalog
MarketplaceCommerceAnalytics
MarketplaceEntitlementService
MarketplaceMetering
MediaConnect
MediaConvert
MediaLive
MediaPackage
MediaPackageVod
MediaStore
MediaStoreData
MediaTailor
Middleware.phpMigrationHub
MigrationHubConfig
Mobile
MockHandler.phpMonitoringEventsInterface.phpMultiRegionClient.phpMultipart
Neptune
NetworkFirewall
NetworkManager
NimbleStudio
OpsWorks
OpsWorksCM
Organizations
Outposts
PI
Personalize
PersonalizeEvents
PersonalizeRuntime
PhpHash.phpPinpoint
PinpointEmail
PinpointSMSVoice
Polly
PresignUrlMiddleware.phpPricing
PrometheusService
Psr16CacheAdapter.phpPsrCacheAdapter.phpQLDB
QLDBSession
QuickSight
RAM
RDSDataService
Rds
Redshift
RedshiftDataAPIService
Rekognition
ResourceGroups
ResourceGroupsTaggingAPI
ResponseContainerInterface.phpResult.phpResultInterface.phpResultPaginator.phpRetry
Configuration.phpConfigurationInterface.phpConfigurationProvider.php
RetryMiddleware.phpRetryMiddlewareV2.phpException
QuotaManager.phpRateLimiter.phpRetryHelperTrait.phpRoboMaker
Route53
Route53Domains
Route53Resolver
S3
AmbiguousSuccessParser.phpApplyChecksumMiddleware.phpBatchDelete.phpBucketEndpointArnMiddleware.phpBucketEndpointMiddleware.php
Crypto
CryptoParamsTrait.phpCryptoParamsTraitV2.phpHeadersMetadataStrategy.phpInstructionFileMetadataStrategy.phpS3EncryptionClient.phpS3EncryptionClientV2.phpS3EncryptionMultipartUploader.phpS3EncryptionMultipartUploaderV2.phpUserAgentTrait.php
EndpointRegionHelperTrait.phpException
DeleteMultipleObjectsException.phpPermanentRedirectException.phpS3Exception.phpS3MultipartUploadException.php
GetBucketLocationParser.phpMultipartCopy.phpMultipartUploader.phpMultipartUploadingTrait.phpObjectCopier.phpObjectUploader.phpPermanentRedirectMiddleware.phpPostObject.phpPostObjectV4.phpPutObjectUrlMiddleware.phpRegionalEndpoint
RetryableMalformedResponseParser.phpS3Client.phpS3ClientInterface.phpS3ClientTrait.phpS3EndpointMiddleware.phpS3MultiRegionClient.phpS3UriParser.phpSSECMiddleware.phpStreamWrapper.phpTransfer.phpUseArnRegion
S3Control
S3Outposts
SSMContacts
SSMIncidents
SSO
SSOAdmin
SSOOIDC
SageMaker
SageMakerFeatureStoreRuntime
SageMakerRuntime
SagemakerEdgeManager
SavingsPlans
Schemas
Sdk.phpSecretsManager
SecurityHub
ServerlessApplicationRepository
ServiceCatalog
ServiceDiscovery
ServiceQuotas
Ses
SesV2
Sfn
Shield
Signature
AnonymousSignature.phpS3SignatureV4.phpSignatureInterface.phpSignatureProvider.phpSignatureTrait.phpSignatureV4.php
Sms
SnowBall
Sns
Sqs
Ssm
StorageGateway
StreamRequestPayloadMiddleware.phpSts
Exception
RegionalEndpoints
StsClient.phpSupport
Swf
Synthetics
Textract
TimestreamQuery
TimestreamWrite
TraceMiddleware.phpTranscribeService
Transfer
Translate
WAFV2
Waf
WafRegional
Waiter.phpWellArchitected
WorkDocs
WorkLink
WorkMail
WorkMailMessageFlow
WorkSpaces
WrappedHttpHandler.phpXRay
data
accessanalyzer
2019-11-01
acm-pca
acm
alexaforbusiness
2017-11-09
amp
2020-08-01
amplify
2017-07-25
amplifybackend
2020-08-11
apigateway
apigatewaymanagementapi
2018-11-29
apigatewayv2
2018-11-29
appconfig
2019-10-09
appflow
2020-08-23
appintegrations
2020-07-29
application-autoscaling
application-insights
2018-11-25
applicationcostprofiler
2020-09-10
appmesh
apprunner
2020-05-15
appstream
appsync
2017-07-25
athena
auditmanager
2017-07-25
autoscaling-plans
2018-01-06
autoscaling
backup
2018-11-15
batch
braket
2019-09-01
budgets
2016-10-20
ce
2017-10-25
chime
2018-05-01
cloud9
2017-09-23
clouddirectory
cloudformation
cloudfront
2015-07-27
2016-01-28
2016-08-01
2016-08-20
2016-09-07
2016-09-29
2016-11-25
2017-03-25
2017-10-30
2018-06-18
2018-11-05
2019-03-26
2020-05-31
cloudhsm
2014-05-30
cloudhsmv2
cloudsearch
cloudsearchdomain
2013-01-01
cloudtrail
codeartifact
2018-09-22
codebuild
codecommit
codedeploy
codeguru-reviewer
2019-09-19
codeguruprofiler
2019-07-18
codepipeline
codestar-connections
2019-12-01
codestar-notifications
2019-10-15
codestar
cognito-identity
cognito-idp
cognito-sync
comprehend
2017-11-27
comprehendmedical
2018-10-30
compute-optimizer
2019-11-01
config
connect-contact-lens
2020-08-21
connect
2017-08-08
connectparticipant
2018-09-07
cur
customer-profiles
2020-08-15
data.iot
databrew
2017-07-25
dataexchange
2017-07-25
datapipeline
2012-10-29
datasync
2018-11-09
dax
2017-04-19
detective
2018-10-26
devicefarm
devops-guru
2020-12-01
directconnect
discovery
dlm
2018-01-12
dms
docdb
ds
dynamodb
2011-12-05
2012-08-10
ebs
2019-11-02
ec2-instance-connect
2018-04-02
ec2
2015-10-01
2016-04-01
2016-09-15
2016-11-15
ecr-public
2020-10-30
ecr
ecs
eks
elastic-inference
2017-07-25
elasticache
elasticbeanstalk
elasticfilesystem
elasticloadbalancing
elasticloadbalancingv2
elasticmapreduce
elastictranscoder
email
emr-containers
2020-10-01
entitlement.marketplace
2017-01-11
es
eventbridge
events
finspace-data
2020-07-13
finspace
2021-03-12
firehose
fis
2020-12-01
fms
2018-01-01
forecast
2018-06-26
forecastquery
2018-06-26
frauddetector
2019-11-15
fsx
2018-03-01
gamelift
glacier
globalaccelerator
2018-08-08
glue
greengrass
2017-06-07
greengrassv2
2020-11-30
groundstation
2019-05-23
guardduty
2017-11-28
health
2016-08-04
healthlake
2017-07-01
honeycode
2020-03-01
iam
identitystore
2020-06-15
imagebuilder
2019-12-02
importexport
2010-06-01
inspector
iot-jobs-data
2017-09-29
iot
iot1click-devices
2018-05-14
iot1click-projects
2018-05-14
iotanalytics
2017-11-27
iotdeviceadvisor
2020-09-18
iotevents-data
2018-10-23
iotevents
2018-07-27
iotfleethub
2020-11-03
iotsecuretunneling
2018-10-05
iotsitewise
iotthingsgraph
2018-09-06
iotwireless
2020-11-22
ivs
2020-07-14
kafka
2018-11-14
kendra
2019-02-03
kinesis-video-archived-media
2017-09-30
kinesis-video-media
2017-09-30
kinesis-video-signaling
2019-12-04
kinesis
kinesisanalytics
2015-08-14
kinesisanalyticsv2
2018-05-23
kinesisvideo
2017-09-30
kms
lakeformation
2017-03-31
lambda
lex-models
2017-04-19
license-manager
2018-08-01
lightsail
location
2020-11-19
logs
lookoutequipment
2020-12-15
lookoutmetrics
2017-07-25
lookoutvision
2020-11-20
machinelearning
macie
2017-12-19
macie2
2020-01-01
managedblockchain
2018-09-24
marketplace-catalog
2018-09-17
marketplacecommerceanalytics
mediaconnect
mediaconvert
2017-08-29
medialive
mediapackage-vod
2018-11-07
mediapackage
2017-10-12
mediastore-data
2017-09-01
mediastore
2017-09-01
mediatailor
2018-04-23
metering.marketplace
2016-01-14
mgh
2017-05-31
mgn
2020-02-26
migrationhub-config
2019-06-30
mobile
2017-07-01
models.lex.v2
2020-08-07
monitoring
mq
2017-11-27
mturk-requester
mwaa
2020-07-01
neptune
network-firewall
2020-11-12
networkmanager
2019-07-05
nimble
2020-08-01
opsworks
opsworkscm
organizations
2016-11-28
outposts
2019-12-03
personalize-events
2018-03-22
personalize-runtime
2018-05-22
personalize
2018-05-22
pi
2018-02-27
pinpoint-email
2018-07-26
pinpoint
2016-12-01
polly
pricing
2017-10-15
qldb-session
2019-07-11
qldb
2019-01-02
quicksight
2018-04-01
ram
2018-01-04
rds-data
2018-08-01
rds
2014-09-01
2014-10-31
redshift-data
2019-12-20
redshift
rekognition
resource-groups
2017-11-27
resourcegroupstaggingapi
2017-01-26
robomaker
2018-06-29
route53
route53domains
route53resolver
runtime.lex.v2
2020-08-07
runtime.lex
2016-11-28
runtime.sagemaker
2017-05-13
s3
s3control
2018-08-20
s3outposts
2017-07-25
sagemaker-a2i-runtime
2019-11-07
sagemaker-edge
2020-09-23
sagemaker-featurestore-runtime
2020-07-01
sagemaker
savingsplans
2019-06-28
schemas
secretsmanager
securityhub
2018-10-26
serverlessrepo
2017-09-08
service-quotas
2019-06-24
servicecatalog-appregistry
2020-06-24
servicecatalog
servicediscovery
2017-03-14
sesv2
2019-09-27
shield
signer
sms-voice
2018-09-05
sms
snowball
sns
sqs
ssm-contacts
2021-05-03
ssm-incidents
ssm
sso-admin
2020-07-20
sso-oidc
2019-06-10
sso
2019-06-10
states
storagegateway
2013-06-30
streams.dynamodb
2012-08-10
sts
support
swf
2012-01-25
synthetics
2017-10-11
textract
2018-06-27
timestream-query
2018-11-01
timestream-write
2018-11-01
transcribe
2017-10-26
transfer
2018-11-05
translate
2017-07-01
waf-regional
waf
wafv2
wellarchitected
2020-03-31
workdocs
2016-05-01
worklink
2018-09-25
workmail
2017-10-01
workmailmessageflow
2019-05-01
workspaces
xray
2016-04-12
finspace
functions.phpimagebuilder
kendra
mgn
signer
bin
composer
ClassLoader.phpLICENSEautoload_classmap.phpautoload_files.phpautoload_namespaces.phpautoload_psr4.phpautoload_real.phpautoload_static.phpinstalled.json
guzzlehttp
guzzle
.php_csCHANGELOG.mdDockerfileLICENSEREADME.mdUPGRADING.mdcomposer.json
src
Client.phpClientInterface.php
Cookie
Exception
BadResponseException.phpClientException.phpConnectException.phpGuzzleException.phpInvalidArgumentException.phpRequestException.phpSeekException.phpServerException.phpTooManyRedirectsException.phpTransferException.php
Handler
CurlFactory.phpCurlFactoryInterface.phpCurlHandler.phpCurlMultiHandler.phpEasyHandle.phpMockHandler.phpProxy.phpStreamHandler.php
HandlerStack.phpMessageFormatter.phpMiddleware.phpPool.phpPrepareBodyMiddleware.phpRedirectMiddleware.phpRequestOptions.phpRetryMiddleware.phpTransferStats.phpUriTemplate.phpUtils.phpfunctions.phpfunctions_include.phppromises
psr7
.github
.php_cs.distCHANGELOG.mdLICENSEREADME.mdcomposer.jsonsrc
AppendStream.phpBufferStream.phpCachingStream.phpDroppingStream.phpFnStream.phpHeader.phpInflateStream.phpLazyOpenStream.phpLimitStream.phpMessage.phpMessageTrait.phpMimeType.phpMultipartStream.phpNoSeekStream.phpPumpStream.phpQuery.phpRequest.phpResponse.phpRfc7230.phpServerRequest.phpStream.phpStreamDecoratorTrait.phpStreamWrapper.phpUploadedFile.phpUri.phpUriComparator.phpUriNormalizer.phpUriResolver.phpUtils.phpfunctions.phpfunctions_include.php
mtdowling
jmespath.php
psr
http-message
ralouphie
getallheaders
symfony
polyfill-intl-idn
polyfill-intl-normalizer
wp-content
@ -1,348 +0,0 @@
|
||||
body {
|
||||
-webkit-backface-visibility: hidden;
|
||||
}
|
||||
#_generate_sections_metabox {
|
||||
opacity: 0;
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#_generate_use_sections_metabox {
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
.generate_sections_control {
|
||||
padding-top: 8px;
|
||||
}
|
||||
|
||||
.generate-sections-enabled #postdivrich {
|
||||
opacity: 0;
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
.generate-sections-enabled #_generate_sections_metabox {
|
||||
opacity: 1;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.generate_sections_control .warning {
|
||||
color: red;
|
||||
}
|
||||
.generate_sections_control .dodelete-repeating_textareas {
|
||||
float: right;
|
||||
}
|
||||
.generate_sections_control .section {
|
||||
border: 1px solid #DFDFDF;
|
||||
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
|
||||
margin: 6px 0px 8px;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
background: white;
|
||||
}
|
||||
.generate_sections_control .section .section-title {
|
||||
font-size: 14px;
|
||||
padding: 0 0 0 15px;
|
||||
margin: 0;
|
||||
max-height: 50px;
|
||||
}
|
||||
.generate_sections_control .section .section-title > span {
|
||||
cursor: pointer;
|
||||
overflow:hidden;
|
||||
display:block;
|
||||
max-height:50px;
|
||||
line-height:50px;
|
||||
width:100%;
|
||||
}
|
||||
.generate_sections_control .section .section-controls {
|
||||
position: absolute;
|
||||
top:0;
|
||||
right:0;
|
||||
text-align: right;
|
||||
}
|
||||
.rtl .generate_sections_control .section .section-controls {
|
||||
right:auto;left:0;
|
||||
}
|
||||
.generate_sections_control .section .section-controls a {
|
||||
color: #aaa;
|
||||
display:block;
|
||||
float:left;
|
||||
border-left: 1px solid #efefef;
|
||||
}
|
||||
.generate_sections_control .section .section-controls a:hover {
|
||||
color: #777;
|
||||
}
|
||||
.generate_sections_control .section textarea {
|
||||
display: none;
|
||||
}
|
||||
.generate_sections_control .section h3 {
|
||||
color: #999;
|
||||
font-size: 1em;
|
||||
margin: 15px 6px;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
.generate_sections_control .section .ui-sortable-placeholder {
|
||||
line-height: 1.4em;
|
||||
border: 3px dashed #DDD;
|
||||
}
|
||||
.generate-sections-modal .media-menu-item {
|
||||
cursor: pointer;
|
||||
}
|
||||
.custom-classes input {
|
||||
width:100%;
|
||||
}
|
||||
.js .generate_sections_control .move-section {
|
||||
cursor: move;
|
||||
}
|
||||
.generate-sections-modal p {
|
||||
margin-top:5px;
|
||||
}
|
||||
#_generate_sections_metabox {
|
||||
box-shadow: 0 0 0 transparent;
|
||||
}
|
||||
.section-controls a {
|
||||
line-height:50px;
|
||||
padding: 0 15px;
|
||||
width:initial;
|
||||
height:initial;
|
||||
}
|
||||
|
||||
.generate_sections_control .section .section-controls a.delete-section:hover {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.generate_sections_control p {
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
textarea#generate-sections-editor {
|
||||
border:0;
|
||||
}
|
||||
|
||||
#generate-sections-editor_ifr {
|
||||
min-height: 400px;
|
||||
}
|
||||
|
||||
a#generate-add-section, a#generate-delete-sections {
|
||||
height: auto;
|
||||
line-height: inherit;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
#wp-generate-sections-editor-wrap.old-sections-js .wp-media-buttons > * {
|
||||
display:none;
|
||||
}
|
||||
|
||||
#wp-generate-sections-editor-wrap.old-sections-js .wp-media-buttons > .generate-sections-add-media,
|
||||
#wp-generate-sections-editor-wrap.old-sections-js .wp-media-buttons > .su-generator-button,
|
||||
#wp-generate-sections-editor-wrap.old-sections-js .wp-media-buttons > .envira-gallery-choose-gallery,
|
||||
#wp-generate-sections-editor-wrap.old-sections-js .wp-media-buttons > .gridable-insert-row-button {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#custom-media-buttons > * {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#custom-media-buttons > .insert-media,
|
||||
#custom-media-buttons > .su-generator-button,
|
||||
#custom-media-buttons > .envira-gallery-choose-gallery,
|
||||
#custom-media-buttons > .gridable-insert-row-button,
|
||||
#custom-media-buttons > .bfa-iconpicker {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#_generate_sections_metabox {
|
||||
background: transparent;
|
||||
border: 0;
|
||||
}
|
||||
#_generate_sections_metabox > .handlediv, #_generate_sections_metabox > .hndle {
|
||||
display: none;
|
||||
}
|
||||
#_generate_sections_metabox > .inside {
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
body.wp-admin .grid-container {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.generate-sections-modal h3 {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
input#custom_classes,
|
||||
input#custom_id {
|
||||
width: 100%;
|
||||
max-width: 300px;
|
||||
}
|
||||
|
||||
.box-type select,
|
||||
.inner-box-type select,
|
||||
.parallax-effect select,
|
||||
.top-padding input,
|
||||
.bottom-padding input {
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.send-to-editor {
|
||||
display: inline-block;
|
||||
margin-top: 15px !important;
|
||||
}
|
||||
|
||||
#generate-sections-modal-dialog .media-frame-title .dashicons-arrow-down {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.gs-grid-container {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
max-width: 100%;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
.gs-grid-parent {
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.gs-grid-container:before,
|
||||
.gs-grid-container:after {
|
||||
content: ".";
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
visibility: hidden;
|
||||
font-size: 0;
|
||||
line-height: 0;
|
||||
width: 0;
|
||||
height: 0;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 769px) {
|
||||
.gs-grid-50:before,
|
||||
.gs-grid-50:after,
|
||||
.gs-grid-33:before,
|
||||
.gs-grid-33:after,
|
||||
.gs-grid-25:before,
|
||||
.gs-grid-25:after
|
||||
.gs-grid-20:before,
|
||||
.gs-grid-20:after
|
||||
.gs-grid-12:before,
|
||||
.gs-grid-12:after {
|
||||
content: ".";
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
visibility: hidden;
|
||||
font-size: 0;
|
||||
line-height: 0;
|
||||
width: 0;
|
||||
height: 0;
|
||||
clear: both;
|
||||
}
|
||||
.gs-grid-50,
|
||||
.gs-grid-33,
|
||||
.gs-grid-25,
|
||||
.gs-grid-20,
|
||||
.gs-grid-12 {
|
||||
box-sizing: border-box;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
.gs-grid-50 {
|
||||
width: 50% !important;
|
||||
float: left;
|
||||
}
|
||||
.gs-grid-33 {
|
||||
width: 33.333% !important;
|
||||
float: left;
|
||||
}
|
||||
.gs-grid-25 {
|
||||
width: 25% !important;
|
||||
float: left;
|
||||
}
|
||||
.gs-grid-20 {
|
||||
width: 20% !important;
|
||||
float: left;
|
||||
}
|
||||
.gs-grid-12 {
|
||||
width: 12.5% !important;
|
||||
float: left;
|
||||
}
|
||||
.top-border {
|
||||
border-top: 1px solid #EFEFEF;
|
||||
}
|
||||
.bottom-border {
|
||||
border-bottom: 1px solid #EFEFEF;
|
||||
}
|
||||
.border-right {
|
||||
border-right: 1px solid #EFEFEF;
|
||||
}
|
||||
.border-left {
|
||||
border-left: 1px solid #EFEFEF;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 768px) {
|
||||
.gs-grid-50, .gs-grid-33, .gs-grid-25, .gs-grid-12 {
|
||||
width: 100% !important;
|
||||
}
|
||||
.generate_sections_control .section .section-controls {
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 500px) {
|
||||
.generate_sections_control .section .section-controls a:first-child {
|
||||
border-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
#generate-sections-modal-dialog .media-modal-close {
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
}
|
||||
/*
|
||||
The styles below were ripped from the Media Modal in WordPress 3.5
|
||||
~~ Thanks for building a beautiful Modal UI ( that I could steal )
|
||||
*/
|
||||
body.generate-modal-open { overflow: hidden; }
|
||||
|
||||
.generate-sections-modal .media-modal { z-index: 65535; }
|
||||
.generate-sections-modal .media-modal-backdrop { z-index: 65534; }
|
||||
.generate-sections-modal .media-frame-content .panel { display: none; padding: 2em; }
|
||||
.generate-sections-modal .media-frame-content .panel.active { display: block; }
|
||||
.generate-sections-modal .media-frame-content .panel .section-title input { width:100%;padding:10px; }
|
||||
.generate-sections-modal .media-frame-content .panel .html-active .mce-panel { display: none; }
|
||||
.generate-sections-modal .media-frame-content .panel .html-active .wp-editor-area { display: block !important; min-height: 300px; }
|
||||
.generate-sections-modal .media-frame-content .panel .mce-wp-dfw, .generate-sections-modal .media-frame-content .panel .qt-dfw { display: none; }
|
||||
.generate-sections-modal .media-frame-content .panel .generate-sections-remove-image { display: none; }
|
||||
|
||||
textarea.no-rich-edit {
|
||||
width: 100%;
|
||||
min-height: 300px;
|
||||
}
|
||||
|
||||
.wp-picker-container .wp-color-result.button {
|
||||
height: 24px;
|
||||
margin: 0 6px 6px 0px;
|
||||
padding: 0 0 0 30px;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.wp-color-result:after {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.wp-color-result-text {
|
||||
background: #f7f7f7;
|
||||
border-radius: 0 2px 2px 0;
|
||||
border-left: 1px solid #ccc;
|
||||
color: #555;
|
||||
display: block;
|
||||
line-height: 22px;
|
||||
padding: 0 6px;
|
||||
text-align: center;
|
||||
}
|
@ -1,92 +0,0 @@
|
||||
.lcs_wrap {
|
||||
display: inline-block;
|
||||
direction: ltr;
|
||||
height: 28px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.lcs_wrap input {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.lcs_switch {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
width: 73px;
|
||||
height: 28px;
|
||||
border-radius: 30px;
|
||||
background: #ddd;
|
||||
overflow: hidden;
|
||||
cursor: pointer;
|
||||
transition: all .2s ease-in-out;
|
||||
}
|
||||
.lcs_cursor {
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
top: 3px;
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
border-radius: 100%;
|
||||
background: #fff;
|
||||
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2), 0 3px 4px 0 rgba(0, 0, 0, 0.1);
|
||||
z-index: 10;
|
||||
transition: all .2s linear;
|
||||
}
|
||||
.lcs_label {
|
||||
font-family: "Trebuchet MS", Helvetica, sans-serif;
|
||||
font-size: 12px;
|
||||
letter-spacing: 1px;
|
||||
line-height: 18px;
|
||||
color: #fff;
|
||||
font-weight: bold;
|
||||
position: absolute;
|
||||
width: 33px;
|
||||
top: 5px;
|
||||
overflow: hidden;
|
||||
text-align: center;
|
||||
opacity: 0;
|
||||
transition: all .2s ease-in-out .1s;
|
||||
}
|
||||
.lcs_label.lcs_label_on {
|
||||
left: -70px;
|
||||
z-index: 6;
|
||||
}
|
||||
.lcs_label.lcs_label_off {
|
||||
right: -70px;
|
||||
z-index: 5;
|
||||
}
|
||||
|
||||
|
||||
/* on */
|
||||
.lcs_switch.lcs_on {
|
||||
background: #75b936;
|
||||
box-shadow: 0 0 2px #579022 inset;
|
||||
}
|
||||
.lcs_switch.lcs_on .lcs_cursor {
|
||||
left: 48px;
|
||||
}
|
||||
.lcs_switch.lcs_on .lcs_label_on {
|
||||
left: 10px;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
|
||||
/* off */
|
||||
.lcs_switch.lcs_off {
|
||||
background: #b2b2b2;
|
||||
box-shadow: 0px 0px 2px #a4a4a4 inset;
|
||||
}
|
||||
.lcs_switch.lcs_off .lcs_cursor {
|
||||
left: 3px;
|
||||
}
|
||||
.lcs_switch.lcs_off .lcs_label_off {
|
||||
right: 10px;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
|
||||
/* disabled */
|
||||
.lcs_switch.lcs_disabled {
|
||||
opacity: 0.65;
|
||||
filter: alpha(opacity=65);
|
||||
cursor: default;
|
||||
}
|
@ -1,835 +0,0 @@
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
/* Generate Sections Metabox
|
||||
/*
|
||||
/* © Kathy Darling http://www.kathyisawesome.com
|
||||
/* 2016-07-19. */
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @type {Object} JavaScript namespace for our application.
|
||||
*/
|
||||
var Generate_Sections = {
|
||||
backbone_modal: {
|
||||
__instance: undefined
|
||||
}
|
||||
};
|
||||
|
||||
(function($, Generate_Sections) {
|
||||
|
||||
|
||||
// Model
|
||||
Generate_Sections.Section = Backbone.Model.extend({
|
||||
defaults: {
|
||||
"title": "",
|
||||
"box_type": "",
|
||||
"inner_box_type": "",
|
||||
"custom_classes": "",
|
||||
"custom_id": "",
|
||||
"top_padding": "",
|
||||
"bottom_padding": "",
|
||||
"top_padding_unit": "",
|
||||
"bottom_padding_unit": "",
|
||||
"background_color": "",
|
||||
"background_image": "",
|
||||
"background_image_preview": "",
|
||||
"parallax_effect": "",
|
||||
"background_color_overlay": "",
|
||||
"text_color": "",
|
||||
"link_color": "",
|
||||
"link_color_hover": "",
|
||||
"content": ""
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// Collection
|
||||
Generate_Sections.SectionsCollection = Backbone.Collection.extend({
|
||||
model: Generate_Sections.Section,
|
||||
el: "#generate_sections_container",
|
||||
comparator: function(model) {
|
||||
return model.get('index');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
/**
|
||||
* Primary Modal Application Class
|
||||
*/
|
||||
Generate_Sections.backbone_modal.Application = Backbone.View.extend({
|
||||
|
||||
attributes: {
|
||||
id: "generate-sections-modal-dialog",
|
||||
class: "generate-sections-modal",
|
||||
role: "dialog"
|
||||
},
|
||||
|
||||
template: wp.template("generate-sections-modal-window"),
|
||||
|
||||
mediaUploader: null,
|
||||
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
/* tinyMCE settings
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
|
||||
tmc_settings: {},
|
||||
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
/* tinyMCE defaults
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
|
||||
tmc_defaults: {
|
||||
theme: "modern",
|
||||
menubar: false,
|
||||
wpautop: true,
|
||||
indent: false,
|
||||
toolbar1: "bold,italic,underline,blockquote,strikethrough,bullist,numlist,alignleft,aligncenter,alignright,undo,redo,link,unlink,fullscreen",
|
||||
plugins: "fullscreen,image,wordpress,wpeditimage,wplink",
|
||||
max_height: 500
|
||||
},
|
||||
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
/* quicktags settings
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
|
||||
qt_settings: {},
|
||||
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
/* quicktags defaults
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
|
||||
qt_defaults: {
|
||||
buttons: "strong,em,link,block,del,ins,img,ul,ol,li,code,more,close,fullscreen"
|
||||
},
|
||||
|
||||
model: Generate_Sections.Section,
|
||||
|
||||
events: {
|
||||
"click .media-modal-backdrop, .media-modal-close, .media-button-close": "closeModal",
|
||||
"click .media-button-insert": "saveModal",
|
||||
"click .media-menu-item": "switchTab",
|
||||
"keydown": "keydown",
|
||||
"click .generate-sections-upload-button": "openMediaUploader",
|
||||
"click .generate-sections-remove-image": "removeImage",
|
||||
"click div.media-frame-title h1": "toggleMenu"
|
||||
},
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Simple object to store any UI elements we need to use over the life of the application.
|
||||
*/
|
||||
ui: {
|
||||
nav: undefined,
|
||||
content: undefined
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Instantiates the Template object and triggers load.
|
||||
*/
|
||||
initialize: function() {
|
||||
_.bindAll(this, "render", "closeModal", "saveModal", "switchTab");
|
||||
|
||||
this.focusManager = new wp.media.view.FocusManager({
|
||||
el: this.el
|
||||
});
|
||||
|
||||
this.changeInsertText();
|
||||
this.tinyMCEsettings();
|
||||
this.render();
|
||||
},
|
||||
|
||||
/**
|
||||
* switch the insert button text to "insert section"
|
||||
*/
|
||||
changeInsertText: function(restore) {
|
||||
|
||||
var restore = typeof restore !== 'undefined' && restore == true ? true : false;
|
||||
|
||||
if (restore == false && typeof(wp.media.view.l10n.insertIntoPost) !== "undefined") {
|
||||
this.insertIntoPost = wp.media.view.l10n.insertIntoPost;
|
||||
wp.media.view.l10n.insertIntoPost = generate_sections_metabox_i18n.insert_into_section;
|
||||
// switch the insert button text back
|
||||
} else if (restore == true && typeof(this.insertIntoPost) !== "undefined") {
|
||||
wp.media.view.l10n.insertIntoPost = this.insertIntoPost;
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Merge the default TinyMCE settings
|
||||
*/
|
||||
tinyMCEsettings: function() {
|
||||
// get the #content"s tinyMCE settings or use default
|
||||
var init_settings = typeof tinyMCEPreInit == "object" && "mceInit" in tinyMCEPreInit && "content" in tinyMCEPreInit.mceInit ? tinyMCEPreInit.mceInit.content : this.tmc_defaults;
|
||||
|
||||
// get the #content"s quicktags settings or use default
|
||||
var qt_settings = typeof tinyMCEPreInit == "object" && "qtInit" in tinyMCEPreInit && "content" in tinyMCEPreInit.qtInit ? tinyMCEPreInit.qtInit.content : this.qt_defaults;
|
||||
|
||||
var _this = this;
|
||||
var custom_settings = {
|
||||
selector: "#generate-sections-editor",
|
||||
wp_autoresize_on: false,
|
||||
cache_suffix: "",
|
||||
min_height: 400,
|
||||
}
|
||||
|
||||
// merge our settings with WordPress" and store for later use
|
||||
this.tmc_settings = $.extend({}, init_settings, custom_settings);
|
||||
|
||||
this.qt_settings = $.extend({}, qt_settings, {
|
||||
id: "generate-sections-editor"
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Assembles the UI from loaded template.
|
||||
* @internal Obviously, if the template fail to load, our modal never launches.
|
||||
*/
|
||||
render: function() {
|
||||
|
||||
"use strict";
|
||||
|
||||
// Build the base window and backdrop, attaching them to the $el.
|
||||
// Setting the tab index allows us to capture focus and redirect it in Application.preserveFocus
|
||||
this.$el.attr("tabindex", "0")
|
||||
.html(this.template);
|
||||
|
||||
// Handle any attempt to move focus out of the modal.
|
||||
//jQuery(document).on("focusin", this.preserveFocus);
|
||||
|
||||
// set overflow to "hidden" on the body so that it ignores any scroll events while the modal is active
|
||||
// and append the modal to the body.
|
||||
jQuery("body").addClass("generate-modal-open").prepend(this.$el);
|
||||
|
||||
// aria hide the background
|
||||
jQuery("#wpwrap").attr("aria-hidden", "true");
|
||||
|
||||
this.renderContent();
|
||||
|
||||
this.renderPreview();
|
||||
|
||||
this.selected();
|
||||
this.colorPicker();
|
||||
this.startTinyMCE();
|
||||
|
||||
// Set focus on the modal to prevent accidental actions in the underlying page
|
||||
this.$el.focus();
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
/**
|
||||
* Make the menu mobile-friendly
|
||||
*/
|
||||
toggleMenu: function() {
|
||||
this.$el.find('.media-menu').toggleClass('visible');
|
||||
},
|
||||
|
||||
/**
|
||||
* Create the nav tabs & panels
|
||||
*/
|
||||
renderContent: function() {
|
||||
|
||||
var model = this.model;
|
||||
|
||||
var menu_item = wp.template("generate-sections-modal-menu-item");
|
||||
|
||||
// Save a reference to the navigation bar"s unordered list and populate it with items.
|
||||
this.ui.nav = this.$el.find(".media-menu");
|
||||
|
||||
// reference to content area
|
||||
this.ui.panels = this.$el.find(".media-frame-content");
|
||||
|
||||
// loop through the tabs
|
||||
if (generate_sections_metabox_i18n.tabs.length) {
|
||||
|
||||
// for...of is nicer, but not supported by minify, so stay with for...in for now
|
||||
for (var tab in generate_sections_metabox_i18n.tabs) {
|
||||
|
||||
if (generate_sections_metabox_i18n.tabs.hasOwnProperty(tab)) {
|
||||
|
||||
tab = generate_sections_metabox_i18n.tabs[tab];
|
||||
|
||||
var $new_tab = $(menu_item({
|
||||
target: tab.target,
|
||||
name: tab.title
|
||||
}));
|
||||
|
||||
var panel = wp.template("generate-sections-edit-" + tab.target);
|
||||
|
||||
var $new_panel = $(panel(model.toJSON()));
|
||||
|
||||
if (tab.active == "true") {
|
||||
$new_tab.addClass("active");
|
||||
$new_panel.addClass("active");
|
||||
}
|
||||
|
||||
jQuery( 'body' ).on( 'generate_section_show_settings', function() {
|
||||
jQuery( '.generate-sections-modal .media-menu-item' ).removeClass('active');
|
||||
jQuery( '.generate-sections-modal .panel' ).removeClass('active');
|
||||
jQuery( '.generate-section-item-style' ).addClass('active');
|
||||
jQuery( '.generate-section-settings' ).addClass('active');
|
||||
});
|
||||
|
||||
this.ui.nav.append($new_tab);
|
||||
this.ui.panels.append($new_panel);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Render the background image preview
|
||||
*/
|
||||
renderPreview: function(image_id) {
|
||||
|
||||
var image_id = typeof image_id !== 'undefined' ? image_id : this.model.get("background_image");
|
||||
|
||||
var $preview = $("#generate-section-image-preview");
|
||||
$preview.children().remove();
|
||||
|
||||
if (image_id > 0) {
|
||||
this.background = new wp.media.model.Attachment.get(image_id);
|
||||
|
||||
this.background.fetch({
|
||||
success: function(att) {
|
||||
if (_.contains(['png', 'jpg', 'gif', 'jpeg'], att.get('subtype'))) {
|
||||
$("<img/>").attr("src", att.attributes.sizes.thumbnail.url).appendTo($preview);
|
||||
$preview.next().find(".generate-sections-remove-image").show();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Set the default option for the select boxes
|
||||
*/
|
||||
selected: function() {
|
||||
|
||||
var _this = this;
|
||||
|
||||
this.$el.find("select").each(function(index, select) {
|
||||
|
||||
var attribute = jQuery(select).attr("name");
|
||||
var selected = _this.model.get(attribute);
|
||||
jQuery(select).val(selected);
|
||||
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Start the colorpicker
|
||||
*/
|
||||
colorPicker: function() {
|
||||
this.$el.find(".generate-sections-color").wpColorPicker();
|
||||
},
|
||||
|
||||
/**
|
||||
* Start TinyMCE on the textarea
|
||||
*/
|
||||
startTinyMCE: function() {
|
||||
|
||||
// set the default editor
|
||||
this.ui.panels.find("#wp-generate-sections-editor-wrap").addClass(generate_sections_metabox_i18n.default_editor);
|
||||
|
||||
// remove tool buttons if richedit disabled
|
||||
if (!generate_sections_metabox_i18n.user_can_richedit) {
|
||||
this.ui.panels.find(".wp-editor-tabs").remove();
|
||||
}
|
||||
|
||||
// add our copy to the collection in the tinyMCEPreInit object because switch editors
|
||||
if (typeof tinyMCEPreInit == 'object') {
|
||||
tinyMCEPreInit.mceInit["generate-sections-editor"] = this.tmc_settings;
|
||||
tinyMCEPreInit.qtInit["generate-sections-editor"] = this.qt_settings;
|
||||
tinyMCEPreInit.mceInit["generate-sections-editor"].wp_keep_scroll_position = false;
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
var rich = (typeof tinyMCE != "undefined");
|
||||
|
||||
// turn on the quicktags editor
|
||||
quicktags(this.qt_settings);
|
||||
|
||||
// attempt to fix problem of quicktags toolbar with no buttons
|
||||
QTags._buttonsInit();
|
||||
|
||||
if (rich !== false) {
|
||||
// turn on tinyMCE
|
||||
tinyMCE.init(this.tmc_settings);
|
||||
}
|
||||
|
||||
} catch (e) {}
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Launch Media Uploader
|
||||
*/
|
||||
openMediaUploader: function(e) {
|
||||
|
||||
var _this = this;
|
||||
|
||||
$input = jQuery(e.currentTarget).prev("#generate-sections-background-image");
|
||||
|
||||
e.preventDefault();
|
||||
|
||||
// If the uploader object has already been created, reopen the dialog
|
||||
if (this.mediaUploader) {
|
||||
this.mediaUploader.open();
|
||||
return;
|
||||
}
|
||||
// Extend the wp.media object
|
||||
this.mediaUploader = wp.media.frames.file_frame = wp.media({
|
||||
title: generate_sections_metabox_i18n.media_library_title,
|
||||
button: {
|
||||
text: generate_sections_metabox_i18n.media_library_button
|
||||
},
|
||||
multiple: false
|
||||
});
|
||||
|
||||
|
||||
// When a file is selected, grab the URL and set it as the text field"s value
|
||||
this.mediaUploader.on("select", function() {
|
||||
|
||||
attachment = _this.mediaUploader.state().get("selection").first().toJSON();
|
||||
|
||||
$input.val(attachment.id);
|
||||
|
||||
_this.renderPreview(attachment.id);
|
||||
});
|
||||
// Open the uploader dialog
|
||||
this.mediaUploader.open();
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Remove the background image
|
||||
*/
|
||||
removeImage: function(e) {
|
||||
e.preventDefault();
|
||||
$("#generate-section-image-preview").children().remove();
|
||||
$("#generate-section-image-preview").next().find(".generate-sections-remove-image").hide();
|
||||
$("#generate-sections-background-image").val("");
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Closes the modal and cleans up after the instance.
|
||||
* @param e {object} A jQuery-normalized event object.
|
||||
*/
|
||||
closeModal: function(e) {
|
||||
"use strict";
|
||||
|
||||
e.preventDefault();
|
||||
this.undelegateEvents();
|
||||
jQuery(document).off("focusin");
|
||||
jQuery("body").removeClass("generate-modal-open");
|
||||
jQuery("body").removeClass("generate-section-content");
|
||||
|
||||
// remove restricted media modal tab focus once it's closed
|
||||
this.$el.undelegate('keydown');
|
||||
|
||||
// remove the tinymce editor
|
||||
// this needs to be called before the modal is closed or it will fail in Firefox (that was fun to figure out...)
|
||||
if (typeof tinyMCE != "undefined") {
|
||||
tinymce.EditorManager.execCommand("mceRemoveEditor", true, "generate-sections-editor");
|
||||
}
|
||||
|
||||
// remove modal and unset instances
|
||||
this.remove();
|
||||
Generate_Sections.backbone_modal.__instance = undefined;
|
||||
this.mediaUploader = null;
|
||||
Generate_Sections.modalOpen = null;
|
||||
|
||||
// switch the insert button text back
|
||||
this.changeInsertText(true);
|
||||
|
||||
// send focus back to where it was prior to modal open
|
||||
Generate_Sections.lastFocus.focus();
|
||||
|
||||
// aria unhide the background
|
||||
jQuery("#wpwrap").attr("aria-hidden", "false");
|
||||
|
||||
// Fix bug where the window scrolls down 50px on close
|
||||
var topDistance = jQuery("body").offset().top;
|
||||
if ( topDistance >= jQuery("body").scrollTop() ) {
|
||||
jQuery("body").scrollTop(0);
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Responds to the btn-ok.click event
|
||||
* @param e {object} A jQuery-normalized event object.
|
||||
* @todo You should make this your own.
|
||||
*/
|
||||
saveModal: function(e) {
|
||||
"use strict";
|
||||
|
||||
this.model.get("index");
|
||||
|
||||
var model = this.model;
|
||||
|
||||
// send the tinymce content to the textarea
|
||||
if (typeof tinyMCE != "undefined") {
|
||||
tinymce.triggerSave();
|
||||
}
|
||||
|
||||
var $inputs = this.ui.panels.find("input, select, textarea");
|
||||
|
||||
$inputs.each(function(index, input) {
|
||||
|
||||
var name = $(input).attr("name");
|
||||
|
||||
if (model.attributes.hasOwnProperty(name)) {
|
||||
var value = $(input).val();
|
||||
model.set(name, value);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
this.closeModal(e);
|
||||
},
|
||||
|
||||
/**
|
||||
* Handles tab clicks and switches to corresponding panel
|
||||
* @param e {object} A jQuery-normalized event object.
|
||||
*/
|
||||
switchTab: function(e) {
|
||||
"use strict";
|
||||
e.preventDefault();
|
||||
|
||||
// close lingering wp link windows
|
||||
if (typeof tinyMCE != "undefined" && 'style' == jQuery( e.currentTarget ).data( 'target' ) && this.ui.panels.find( '#wp-generate-sections-editor-wrap' ).hasClass( 'tmce-active' )) {
|
||||
tinyMCE.activeEditor.execCommand('wp_link_cancel');
|
||||
tinyMCE.activeEditor.execCommand('wp_media_cancel');
|
||||
}
|
||||
|
||||
this.ui.nav.children().removeClass("active");
|
||||
this.ui.panels.children().removeClass("active");
|
||||
|
||||
var target = jQuery(e.currentTarget).addClass("active").data("target");
|
||||
|
||||
this.ui.panels.find("div[data-id=" + target + "]").addClass("active");
|
||||
},
|
||||
|
||||
/**
|
||||
* close on keyboard shortcuts
|
||||
* @param {Object} event
|
||||
*/
|
||||
keydown: function(e) {
|
||||
// Close the modal when escape is pressed.
|
||||
if (27 === e.which && this.$el.is(':visible')) {
|
||||
this.closeModal(e);
|
||||
e.stopImmediatePropagation();
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
// Singular View
|
||||
Generate_Sections.sectionView = Backbone.View.extend({
|
||||
|
||||
model: Generate_Sections.Section,
|
||||
tagName: 'div',
|
||||
|
||||
initialize: function() {
|
||||
// re-render on all changes EXCEPT index
|
||||
this.listenTo(this.model, "change", this.maybeRender);
|
||||
},
|
||||
|
||||
attributes: {
|
||||
class: "ui-state-default section"
|
||||
},
|
||||
|
||||
// Get the template from the DOM
|
||||
template: wp.template("generate-sections-section"),
|
||||
|
||||
events: {
|
||||
'click .edit-section': 'editSection',
|
||||
'click .section-title > span': 'editSection',
|
||||
'click .delete-section': 'removeSection',
|
||||
'click .toggle-section': 'toggleSection',
|
||||
'reorder': 'reorder',
|
||||
},
|
||||
|
||||
maybeRender: function(e) {
|
||||
if (this.model.hasChanged('index')) return;
|
||||
this.render();
|
||||
},
|
||||
|
||||
// Render the single model - include an index.
|
||||
render: function() {
|
||||
this.model.set('index', this.model.collection.indexOf(this.model));
|
||||
this.$el.html(this.template(this.model.toJSON()));
|
||||
|
||||
if (!this.model.get('title')) {
|
||||
this.$el.find('h3.section-title > span').text(generate_sections_metabox_i18n.default_title);
|
||||
}
|
||||
this.$el.find('textarea').val(JSON.stringify(this.model));
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
|
||||
// launch the edit modal
|
||||
editSection: function(e) {
|
||||
|
||||
// stash the current focus
|
||||
Generate_Sections.lastFocus = document.activeElement;
|
||||
Generate_Sections.modalOpen = true;
|
||||
|
||||
e.preventDefault();
|
||||
if (Generate_Sections.backbone_modal.__instance === undefined) {
|
||||
Generate_Sections.backbone_modal.__instance = new Generate_Sections.backbone_modal.Application({
|
||||
model: this.model
|
||||
});
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
// reorder after sort
|
||||
reorder: function(event, index) {
|
||||
this.$el.trigger('update-sort', [this.model, index]);
|
||||
},
|
||||
|
||||
// remove/destroy a model
|
||||
removeSection: function(e) {
|
||||
e.preventDefault();
|
||||
if (confirm(generate_sections_metabox_i18n.confirm)) {
|
||||
this.model.destroy();
|
||||
Generate_Sections.sectionList.render(); // manually calling instead of listening since listening interferes with sorting
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
// List View
|
||||
Generate_Sections.sectionListView = Backbone.View.extend({
|
||||
|
||||
el: "#generate_sections_container",
|
||||
events: {
|
||||
'update-sort': 'updateSort',
|
||||
// 'add-section': 'addOne'
|
||||
},
|
||||
|
||||
// callback for clone button
|
||||
addSection: function(model) {
|
||||
this.collection.add(model);
|
||||
this.addOne(model);
|
||||
},
|
||||
|
||||
addOne: function(model) {
|
||||
var view = new Generate_Sections.sectionView({
|
||||
model: model
|
||||
});
|
||||
this.$el.append(view.render().el);
|
||||
},
|
||||
|
||||
render: function() {
|
||||
this.$el.children().remove();
|
||||
this.collection.each(this.addOne, this);
|
||||
return this;
|
||||
},
|
||||
|
||||
updateSort: function(event, model, position) {
|
||||
this.collection.remove(model);
|
||||
|
||||
// renumber remaining models around missing model
|
||||
this.collection.each(function(model, index) {
|
||||
|
||||
var new_index = index;
|
||||
if (index >= position) {
|
||||
new_index += 1;
|
||||
}
|
||||
model.set('index', new_index);
|
||||
});
|
||||
|
||||
// set the index of the missing model
|
||||
model.set('index', position);
|
||||
|
||||
// add the model back to the collection
|
||||
this.collection.add(model, {
|
||||
at: position
|
||||
});
|
||||
|
||||
this.render();
|
||||
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
|
||||
// The Buttons & Nonce
|
||||
Generate_Sections.ButtonControls = Backbone.View.extend({
|
||||
|
||||
attributes: {
|
||||
class: "generate_sections_buttons"
|
||||
},
|
||||
|
||||
tagName: 'p',
|
||||
|
||||
el: "#_generate_sections_metabox",
|
||||
|
||||
template: wp.template("generate-sections-buttons"),
|
||||
|
||||
// Attach events
|
||||
events: {
|
||||
"click .button-primary": "newSection",
|
||||
"click #generate-delete-sections": "clearAll",
|
||||
'click .edit-section': 'editSection',
|
||||
},
|
||||
|
||||
// create new
|
||||
newSection: function(e) {
|
||||
e.preventDefault();
|
||||
var newSection = new Generate_Sections.Section();
|
||||
Generate_Sections.sectionList.addSection(newSection);
|
||||
},
|
||||
|
||||
// clear all models
|
||||
clearAll: function(e) {
|
||||
e.preventDefault();
|
||||
if (confirm(generate_sections_metabox_i18n.confirm)) {
|
||||
Generate_Sections.sectionCollection.reset();
|
||||
Generate_Sections.sectionList.render();
|
||||
}
|
||||
},
|
||||
|
||||
render: function() {
|
||||
this.$el.find(".generate_sections_control").append(this.template);
|
||||
return this;
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
|
||||
// init
|
||||
Generate_Sections.initApplication = function() {
|
||||
|
||||
// Create Collection From Existing Meta
|
||||
Generate_Sections.sectionCollection = new Generate_Sections.SectionsCollection(generate_sections_metabox_i18n.sections);
|
||||
|
||||
// Create the List View
|
||||
Generate_Sections.sectionList = new Generate_Sections.sectionListView({
|
||||
collection: Generate_Sections.sectionCollection
|
||||
});
|
||||
Generate_Sections.sectionList.render();
|
||||
|
||||
// Buttons
|
||||
Generate_Sections.Buttons = new Generate_Sections.ButtonControls({
|
||||
collection: Generate_Sections.sectionCollection
|
||||
});
|
||||
Generate_Sections.Buttons.render();
|
||||
|
||||
};
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
/* Execute the above methods in the Generate_Sections object.
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
|
||||
jQuery(document).ready(function($) {
|
||||
|
||||
Generate_Sections.initApplication();
|
||||
|
||||
$( '#generate_sections_container' ).sortable({
|
||||
axis: "y",
|
||||
opacity: 0.5,
|
||||
grid: [20, 10],
|
||||
tolerance: "pointer",
|
||||
handle: ".move-section",
|
||||
update: function(event, ui) {
|
||||
ui.item.trigger("reorder", ui.item.index());
|
||||
}
|
||||
} );
|
||||
|
||||
if ( $( '.use-sections-switch' ).is( ':checked' ) ) {
|
||||
setTimeout( function() {
|
||||
generateShowSections();
|
||||
}, 200 );
|
||||
} else {
|
||||
generateHideSections();
|
||||
}
|
||||
|
||||
$( '.use-sections-switch' ).on( 'change', function( e ) {
|
||||
var status = ( $(this).is( ':checked' ) ) ? 'checked' : 'unchecked';
|
||||
|
||||
if ( 'checked' == status ) {
|
||||
generateShowSections();
|
||||
} else if ( 'unchecked' == status ) {
|
||||
generateHideSections();
|
||||
}
|
||||
} );
|
||||
|
||||
function generateShowSections() {
|
||||
|
||||
// Hide send to editor button
|
||||
$('.send-to-editor').css('display', 'none');
|
||||
|
||||
// Hide the editor
|
||||
$('#postdivrich').css({
|
||||
'opacity': '0',
|
||||
'height': '0',
|
||||
'overflow': 'hidden'
|
||||
});
|
||||
|
||||
// Show the sections
|
||||
$('#_generate_sections_metabox').css({
|
||||
'opacity': '1',
|
||||
'height': 'auto'
|
||||
});
|
||||
|
||||
// Remove and add the default editor - this removes any visible toolbars etc..
|
||||
// We need to set a timeout for this to work
|
||||
// if (typeof tinyMCE != "undefined") {
|
||||
// tinyMCE.EditorManager.execCommand("mceRemoveEditor", true, "content");
|
||||
// $( '.use-sections-cover' ).css( 'z-index','10000' );
|
||||
// setTimeout('tinyMCE.EditorManager.execCommand("mceAddEditor", true, "content");', 1);
|
||||
// setTimeout('jQuery( ".use-sections-cover" ).css( "z-index","-1" );', 1000);
|
||||
// }
|
||||
|
||||
// Set a trigger
|
||||
$('body').trigger('generate_show_sections');
|
||||
|
||||
}
|
||||
|
||||
function generateHideSections() {
|
||||
|
||||
// Show send to editor button
|
||||
$('.send-to-editor').css('display', 'inline-block');
|
||||
|
||||
// Show the editor
|
||||
$('#postdivrich').css({
|
||||
'opacity': '1',
|
||||
'height': 'auto'
|
||||
});
|
||||
|
||||
// Hide the sections
|
||||
$('#_generate_sections_metabox').css({
|
||||
'opacity': '0',
|
||||
'height': '0',
|
||||
'overflow': 'hidden'
|
||||
});
|
||||
|
||||
$('body').trigger('generate_hide_sections');
|
||||
|
||||
}
|
||||
|
||||
$( document ).on( 'click', '.edit-section.edit-settings', function() {
|
||||
$( 'body' ).trigger( 'generate_section_show_settings' );
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
})(jQuery, Generate_Sections);
|
@ -1,858 +0,0 @@
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
/* Generate Sections Metabox
|
||||
/*
|
||||
/* © Kathy Darling http://www.kathyisawesome.com
|
||||
/* 2016-07-19. */
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @type {Object} JavaScript namespace for our application.
|
||||
*/
|
||||
var Generate_Sections = {
|
||||
backbone_modal: {
|
||||
__instance: undefined
|
||||
}
|
||||
};
|
||||
|
||||
(function($, Generate_Sections) {
|
||||
|
||||
|
||||
// Model
|
||||
Generate_Sections.Section = Backbone.Model.extend({
|
||||
defaults: {
|
||||
"title": "",
|
||||
"box_type": "",
|
||||
"inner_box_type": "",
|
||||
"custom_classes": "",
|
||||
"custom_id": "",
|
||||
"top_padding": "",
|
||||
"bottom_padding": "",
|
||||
"top_padding_unit": "",
|
||||
"bottom_padding_unit": "",
|
||||
"background_color": "",
|
||||
"background_image": "",
|
||||
"background_image_preview": "",
|
||||
"parallax_effect": "",
|
||||
"background_color_overlay": "",
|
||||
"text_color": "",
|
||||
"link_color": "",
|
||||
"link_color_hover": "",
|
||||
"content": ""
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// Collection
|
||||
Generate_Sections.SectionsCollection = Backbone.Collection.extend({
|
||||
model: Generate_Sections.Section,
|
||||
el: "#generate_sections_container",
|
||||
comparator: function(model) {
|
||||
return model.get('index');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
/**
|
||||
* Primary Modal Application Class
|
||||
*/
|
||||
Generate_Sections.backbone_modal.Application = Backbone.View.extend({
|
||||
|
||||
attributes: {
|
||||
id: "generate-sections-modal-dialog",
|
||||
class: "generate-sections-modal",
|
||||
role: "dialog"
|
||||
},
|
||||
|
||||
template: wp.template("generate-sections-modal-window"),
|
||||
|
||||
mediaUploader: null,
|
||||
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
/* tinyMCE settings
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
|
||||
tmc_settings: {},
|
||||
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
/* tinyMCE defaults
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
|
||||
tmc_defaults: {
|
||||
theme: "modern",
|
||||
menubar: false,
|
||||
wpautop: true,
|
||||
indent: false,
|
||||
toolbar1: "bold,italic,underline,blockquote,strikethrough,bullist,numlist,alignleft,aligncenter,alignright,undo,redo,link,unlink,fullscreen",
|
||||
plugins: "fullscreen,image,wordpress,wpeditimage,wplink",
|
||||
max_height: 500
|
||||
},
|
||||
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
/* quicktags settings
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
|
||||
qt_settings: {},
|
||||
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
/* quicktags defaults
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
|
||||
qt_defaults: {
|
||||
buttons: "strong,em,link,block,del,ins,img,ul,ol,li,code,more,close,fullscreen"
|
||||
},
|
||||
|
||||
model: Generate_Sections.Section,
|
||||
|
||||
events: {
|
||||
"click .media-modal-backdrop, .media-modal-close, .media-button-close": "closeModal",
|
||||
"click .media-button-insert": "saveModal",
|
||||
"click .media-menu-item": "switchTab",
|
||||
"keydown": "keydown",
|
||||
"click .generate-sections-upload-button": "openMediaUploader",
|
||||
"click .generate-sections-remove-image": "removeImage",
|
||||
"click div.media-frame-title h1": "toggleMenu"
|
||||
},
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Simple object to store any UI elements we need to use over the life of the application.
|
||||
*/
|
||||
ui: {
|
||||
nav: undefined,
|
||||
content: undefined
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Instantiates the Template object and triggers load.
|
||||
*/
|
||||
initialize: function() {
|
||||
_.bindAll(this, "render", "closeModal", "saveModal", "switchTab");
|
||||
|
||||
this.focusManager = new wp.media.view.FocusManager({
|
||||
el: this.el
|
||||
});
|
||||
|
||||
this.changeInsertText();
|
||||
//this.tinyMCEsettings();
|
||||
this.render();
|
||||
},
|
||||
|
||||
/**
|
||||
* switch the insert button text to "insert section"
|
||||
*/
|
||||
changeInsertText: function(restore) {
|
||||
|
||||
var restore = typeof restore !== 'undefined' && restore == true ? true : false;
|
||||
|
||||
if (restore == false && typeof(wp.media.view.l10n.insertIntoPost) !== "undefined") {
|
||||
this.insertIntoPost = wp.media.view.l10n.insertIntoPost;
|
||||
wp.media.view.l10n.insertIntoPost = generate_sections_metabox_i18n.insert_into_section;
|
||||
// switch the insert button text back
|
||||
} else if (restore == true && typeof(this.insertIntoPost) !== "undefined") {
|
||||
wp.media.view.l10n.insertIntoPost = this.insertIntoPost;
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Assembles the UI from loaded template.
|
||||
* @internal Obviously, if the template fail to load, our modal never launches.
|
||||
*/
|
||||
render: function() {
|
||||
|
||||
"use strict";
|
||||
|
||||
// Build the base window and backdrop, attaching them to the $el.
|
||||
// Setting the tab index allows us to capture focus and redirect it in Application.preserveFocus
|
||||
this.$el.attr("tabindex", "0").html(this.template);
|
||||
|
||||
// Handle any attempt to move focus out of the modal.
|
||||
//jQuery(document).on("focusin", this.preserveFocus);
|
||||
|
||||
// set overflow to "hidden" on the body so that it ignores any scroll events while the modal is active
|
||||
// and append the modal to the body.
|
||||
jQuery("body").addClass("generate-modal-open").prepend(this.$el);
|
||||
|
||||
// aria hide the background
|
||||
jQuery("#wpwrap").attr("aria-hidden", "true");
|
||||
|
||||
this.renderContent();
|
||||
|
||||
this.renderPreview();
|
||||
|
||||
this.selected();
|
||||
this.colorPicker();
|
||||
//this.startTinyMCE();
|
||||
this.launchEditor();
|
||||
|
||||
// Set focus on the modal to prevent accidental actions in the underlying page
|
||||
this.$el.focus();
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
launchEditor: function() {
|
||||
var id = this.ui.panels.find( ".generate-sections-editor-wrap" ).find( 'textarea' ).attr( 'id' ),
|
||||
customButtonsContainer = this.ui.panels.find( '.generate-sections-editor-wrap' ).find( '#custom-media-buttons' );
|
||||
|
||||
customButtonsContainer.find( '.insert-media' ).remove();
|
||||
var customButtons = customButtonsContainer.html();
|
||||
customButtonsContainer.remove();
|
||||
|
||||
var init_settings = true;
|
||||
|
||||
if ( typeof tinyMCEPreInit == "object" && "mceInit" in tinyMCEPreInit && "content" in tinyMCEPreInit.mceInit ) {
|
||||
init_settings = tinyMCEPreInit.mceInit.content;
|
||||
} else if ( typeof window.wpEditorL10n !== "undefined" ) {
|
||||
init_settings = window.wpEditorL10n.tinymce.settings;
|
||||
} else {
|
||||
init_settings = this.tmc_defaults;
|
||||
}
|
||||
|
||||
var thisPanel = this.ui.panels;
|
||||
|
||||
var custom_settings = {
|
||||
wp_autoresize_on: false,
|
||||
cache_suffix: "",
|
||||
min_height: 400,
|
||||
wp_keep_scroll_position: false,
|
||||
setup: function( editor ) {
|
||||
editor.on( 'init', function( e ) {
|
||||
if ( 'html-active' === generate_sections_metabox_i18n.default_editor && generate_sections_metabox_i18n.user_can_richedit ) {
|
||||
thisPanel.find( '#wp-generate-sections-editor-wrap' ).removeClass( 'tmce-active' ).addClass( 'html-active' );
|
||||
editor.hidden = true;
|
||||
}
|
||||
} );
|
||||
}
|
||||
}
|
||||
|
||||
init_settings = $.extend({}, init_settings, custom_settings);
|
||||
|
||||
var qt_settings = true;
|
||||
|
||||
if ( typeof tinyMCEPreInit == "object" && "qtInit" in tinyMCEPreInit && "content" in tinyMCEPreInit.qtInit ) {
|
||||
qt_settings = tinyMCEPreInit.qtInit.content;
|
||||
} else {
|
||||
qt_settings = this.qt_defaults;
|
||||
}
|
||||
|
||||
if ( ! generate_sections_metabox_i18n.user_can_richedit ) {
|
||||
init_settings = false;
|
||||
}
|
||||
|
||||
wp.sectionsEditor.initialize( id, {
|
||||
tinymce: init_settings,
|
||||
quicktags: qt_settings,
|
||||
mediaButtons: true
|
||||
} );
|
||||
|
||||
var buttonsElement = this.ui.panels.find( '#wp-generate-sections-editor-wrap' ).find( '.wp-media-buttons' );
|
||||
buttonsElement.attr( 'id', 'custom-media-buttons' );
|
||||
$( customButtons ).appendTo( buttonsElement );
|
||||
|
||||
if ( ! generate_sections_metabox_i18n.user_can_richedit ) {
|
||||
this.ui.panels.find( '#generate-sections-editor' ).addClass( 'no-rich-edit' );
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Make the menu mobile-friendly
|
||||
*/
|
||||
toggleMenu: function() {
|
||||
this.$el.find('.media-menu').toggleClass('visible');
|
||||
},
|
||||
|
||||
/**
|
||||
* Create the nav tabs & panels
|
||||
*/
|
||||
renderContent: function() {
|
||||
|
||||
var model = this.model;
|
||||
|
||||
var menu_item = wp.template("generate-sections-modal-menu-item");
|
||||
|
||||
// Save a reference to the navigation bar"s unordered list and populate it with items.
|
||||
this.ui.nav = this.$el.find(".media-menu");
|
||||
|
||||
// reference to content area
|
||||
this.ui.panels = this.$el.find(".media-frame-content");
|
||||
|
||||
// loop through the tabs
|
||||
if (generate_sections_metabox_i18n.tabs.length) {
|
||||
|
||||
// for...of is nicer, but not supported by minify, so stay with for...in for now
|
||||
for (var tab in generate_sections_metabox_i18n.tabs) {
|
||||
|
||||
if (generate_sections_metabox_i18n.tabs.hasOwnProperty(tab)) {
|
||||
|
||||
tab = generate_sections_metabox_i18n.tabs[tab];
|
||||
|
||||
var $new_tab = $(menu_item({
|
||||
target: tab.target,
|
||||
name: tab.title
|
||||
}));
|
||||
|
||||
var panel = wp.template("generate-sections-edit-" + tab.target);
|
||||
|
||||
var $new_panel = $(panel(model.toJSON()));
|
||||
|
||||
if (tab.active == "true") {
|
||||
$new_tab.addClass("active");
|
||||
$new_panel.addClass("active");
|
||||
}
|
||||
|
||||
jQuery( 'body' ).on( 'generate_section_show_settings', function() {
|
||||
jQuery( '.generate-sections-modal .media-menu-item' ).removeClass('active');
|
||||
jQuery( '.generate-sections-modal .panel' ).removeClass('active');
|
||||
jQuery( '.generate-section-item-style' ).addClass('active');
|
||||
jQuery( '.generate-section-settings' ).addClass('active');
|
||||
});
|
||||
|
||||
this.ui.nav.append($new_tab);
|
||||
this.ui.panels.append($new_panel);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Render the background image preview
|
||||
*/
|
||||
renderPreview: function(image_id) {
|
||||
|
||||
var image_id = typeof image_id !== 'undefined' ? image_id : this.model.get("background_image");
|
||||
|
||||
var $preview = $("#generate-section-image-preview");
|
||||
$preview.children().remove();
|
||||
|
||||
if (image_id > 0) {
|
||||
this.background = new wp.media.model.Attachment.get(image_id);
|
||||
|
||||
this.background.fetch({
|
||||
success: function(att) {
|
||||
if (_.contains(['png', 'jpg', 'gif', 'jpeg'], att.get('subtype'))) {
|
||||
$("<img/>").attr("src", att.attributes.sizes.thumbnail.url).appendTo($preview);
|
||||
$preview.next().find(".generate-sections-remove-image").show();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Set the default option for the select boxes
|
||||
*/
|
||||
selected: function() {
|
||||
|
||||
var _this = this;
|
||||
|
||||
this.$el.find("select").each(function(index, select) {
|
||||
|
||||
var attribute = jQuery(select).attr("name");
|
||||
var selected = _this.model.get(attribute);
|
||||
jQuery(select).val(selected);
|
||||
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Start the colorpicker
|
||||
*/
|
||||
colorPicker: function() {
|
||||
this.$el.find(".generate-sections-color").wpColorPicker();
|
||||
},
|
||||
|
||||
/**
|
||||
* Launch Media Uploader
|
||||
*/
|
||||
openMediaUploader: function(e) {
|
||||
|
||||
var _this = this;
|
||||
|
||||
$input = jQuery(e.currentTarget).prev("#generate-sections-background-image");
|
||||
|
||||
e.preventDefault();
|
||||
|
||||
// If the uploader object has already been created, reopen the dialog
|
||||
if (this.mediaUploader) {
|
||||
this.mediaUploader.open();
|
||||
return;
|
||||
}
|
||||
// Extend the wp.media object
|
||||
this.mediaUploader = wp.media.frames.file_frame = wp.media({
|
||||
title: generate_sections_metabox_i18n.media_library_title,
|
||||
button: {
|
||||
text: generate_sections_metabox_i18n.media_library_button
|
||||
},
|
||||
multiple: false
|
||||
});
|
||||
|
||||
|
||||
// When a file is selected, grab the URL and set it as the text field"s value
|
||||
this.mediaUploader.on("select", function() {
|
||||
|
||||
attachment = _this.mediaUploader.state().get("selection").first().toJSON();
|
||||
|
||||
$input.val(attachment.id);
|
||||
|
||||
_this.renderPreview(attachment.id);
|
||||
});
|
||||
// Open the uploader dialog
|
||||
this.mediaUploader.open();
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Remove the background image
|
||||
*/
|
||||
removeImage: function(e) {
|
||||
e.preventDefault();
|
||||
$("#generate-section-image-preview").children().remove();
|
||||
$("#generate-section-image-preview").next().find(".generate-sections-remove-image").hide();
|
||||
$("#generate-sections-background-image").val("");
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Closes the modal and cleans up after the instance.
|
||||
* @param e {object} A jQuery-normalized event object.
|
||||
*/
|
||||
closeModal: function(e) {
|
||||
"use strict";
|
||||
|
||||
e.preventDefault();
|
||||
this.undelegateEvents();
|
||||
jQuery(document).off("focusin");
|
||||
jQuery("body").removeClass("generate-modal-open");
|
||||
jQuery("body").removeClass("generate-section-content");
|
||||
|
||||
// remove restricted media modal tab focus once it's closed
|
||||
this.$el.undelegate('keydown');
|
||||
|
||||
// remove the tinymce editor
|
||||
// this needs to be called before the modal is closed or it will fail in Firefox (that was fun to figure out...)
|
||||
if (typeof tinyMCE != "undefined") {
|
||||
tinymce.EditorManager.execCommand("mceRemoveEditor", true, "generate-sections-editor");
|
||||
}
|
||||
|
||||
// remove modal and unset instances
|
||||
this.remove();
|
||||
Generate_Sections.backbone_modal.__instance = undefined;
|
||||
this.mediaUploader = null;
|
||||
Generate_Sections.modalOpen = null;
|
||||
|
||||
// switch the insert button text back
|
||||
this.changeInsertText(true);
|
||||
|
||||
// send focus back to where it was prior to modal open
|
||||
Generate_Sections.lastFocus.focus();
|
||||
|
||||
// aria unhide the background
|
||||
jQuery("#wpwrap").attr("aria-hidden", "false");
|
||||
|
||||
// Fix bug where the window scrolls down 50px on close
|
||||
var topDistance = jQuery("body").offset().top;
|
||||
if ( topDistance >= jQuery("body").scrollTop() ) {
|
||||
jQuery("body").scrollTop(0);
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Responds to the btn-ok.click event
|
||||
* @param e {object} A jQuery-normalized event object.
|
||||
* @todo You should make this your own.
|
||||
*/
|
||||
saveModal: function(e) {
|
||||
"use strict";
|
||||
|
||||
this.model.get("index");
|
||||
|
||||
var model = this.model;
|
||||
|
||||
// send the tinymce content to the textarea
|
||||
if (typeof tinyMCE != "undefined") {
|
||||
tinymce.triggerSave();
|
||||
}
|
||||
|
||||
var $inputs = this.ui.panels.find("input, select, textarea");
|
||||
|
||||
$inputs.each(function(index, input) {
|
||||
|
||||
var name = $(input).attr("name");
|
||||
|
||||
if (model.attributes.hasOwnProperty(name)) {
|
||||
var value = $(input).val();
|
||||
model.set(name, value);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
this.closeModal(e);
|
||||
},
|
||||
|
||||
/**
|
||||
* Handles tab clicks and switches to corresponding panel
|
||||
* @param e {object} A jQuery-normalized event object.
|
||||
*/
|
||||
switchTab: function(e) {
|
||||
"use strict";
|
||||
e.preventDefault();
|
||||
|
||||
// close lingering wp link windows
|
||||
if (typeof tinyMCE != "undefined" && 'style' == jQuery( e.currentTarget ).data( 'target' ) && this.ui.panels.find( '#wp-generate-sections-editor-wrap' ).hasClass( 'tmce-active' )) {
|
||||
tinyMCE.activeEditor.execCommand('wp_link_cancel');
|
||||
tinyMCE.activeEditor.execCommand('wp_media_cancel');
|
||||
}
|
||||
|
||||
this.ui.nav.children().removeClass("active");
|
||||
this.ui.panels.children().removeClass("active");
|
||||
|
||||
var target = jQuery(e.currentTarget).addClass("active").data("target");
|
||||
|
||||
this.ui.panels.find("div[data-id=" + target + "]").addClass("active");
|
||||
},
|
||||
|
||||
/**
|
||||
* close on keyboard shortcuts
|
||||
* @param {Object} event
|
||||
*/
|
||||
keydown: function(e) {
|
||||
// Close the modal when escape is pressed.
|
||||
if (27 === e.which && this.$el.is(':visible')) {
|
||||
this.closeModal(e);
|
||||
e.stopImmediatePropagation();
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
// Singular View
|
||||
Generate_Sections.sectionView = Backbone.View.extend({
|
||||
|
||||
model: Generate_Sections.Section,
|
||||
tagName: 'div',
|
||||
|
||||
initialize: function() {
|
||||
// re-render on all changes EXCEPT index
|
||||
this.listenTo(this.model, "change", this.maybeRender);
|
||||
},
|
||||
|
||||
attributes: {
|
||||
class: "ui-state-default section"
|
||||
},
|
||||
|
||||
// Get the template from the DOM
|
||||
template: wp.template("generate-sections-section"),
|
||||
|
||||
events: {
|
||||
'click .edit-section': 'editSection',
|
||||
'click .section-title > span': 'editSection',
|
||||
'click .delete-section': 'removeSection',
|
||||
'click .toggle-section': 'toggleSection',
|
||||
'reorder': 'reorder',
|
||||
},
|
||||
|
||||
maybeRender: function(e) {
|
||||
if (this.model.hasChanged('index')) return;
|
||||
this.render();
|
||||
},
|
||||
|
||||
// Render the single model - include an index.
|
||||
render: function() {
|
||||
this.model.set('index', this.model.collection.indexOf(this.model));
|
||||
this.$el.html(this.template(this.model.toJSON()));
|
||||
|
||||
if (!this.model.get('title')) {
|
||||
this.$el.find('h3.section-title > span').text(generate_sections_metabox_i18n.default_title);
|
||||
}
|
||||
this.$el.find('textarea').val(JSON.stringify(this.model));
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
|
||||
// launch the edit modal
|
||||
editSection: function(e) {
|
||||
|
||||
// stash the current focus
|
||||
Generate_Sections.lastFocus = document.activeElement;
|
||||
Generate_Sections.modalOpen = true;
|
||||
|
||||
e.preventDefault();
|
||||
if (Generate_Sections.backbone_modal.__instance === undefined) {
|
||||
Generate_Sections.backbone_modal.__instance = new Generate_Sections.backbone_modal.Application({
|
||||
model: this.model
|
||||
});
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
// reorder after sort
|
||||
reorder: function(event, index) {
|
||||
this.$el.trigger('update-sort', [this.model, index]);
|
||||
},
|
||||
|
||||
// remove/destroy a model
|
||||
removeSection: function(e) {
|
||||
e.preventDefault();
|
||||
if (confirm(generate_sections_metabox_i18n.confirm)) {
|
||||
this.model.destroy();
|
||||
Generate_Sections.sectionList.render(); // manually calling instead of listening since listening interferes with sorting
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
// List View
|
||||
Generate_Sections.sectionListView = Backbone.View.extend({
|
||||
|
||||
el: "#generate_sections_container",
|
||||
events: {
|
||||
'update-sort': 'updateSort',
|
||||
// 'add-section': 'addOne'
|
||||
},
|
||||
|
||||
// callback for clone button
|
||||
addSection: function(model) {
|
||||
this.collection.add(model);
|
||||
this.addOne(model);
|
||||
},
|
||||
|
||||
addOne: function(model) {
|
||||
var view = new Generate_Sections.sectionView({
|
||||
model: model
|
||||
});
|
||||
this.$el.append(view.render().el);
|
||||
},
|
||||
|
||||
render: function() {
|
||||
this.$el.children().remove();
|
||||
this.collection.each(this.addOne, this);
|
||||
return this;
|
||||
},
|
||||
|
||||
updateSort: function(event, model, position) {
|
||||
this.collection.remove(model);
|
||||
|
||||
// renumber remaining models around missing model
|
||||
this.collection.each(function(model, index) {
|
||||
|
||||
var new_index = index;
|
||||
if (index >= position) {
|
||||
new_index += 1;
|
||||
}
|
||||
model.set('index', new_index);
|
||||
});
|
||||
|
||||
// set the index of the missing model
|
||||
model.set('index', position);
|
||||
|
||||
// add the model back to the collection
|
||||
this.collection.add(model, {
|
||||
at: position
|
||||
});
|
||||
|
||||
this.render();
|
||||
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
|
||||
// The Buttons & Nonce
|
||||
Generate_Sections.ButtonControls = Backbone.View.extend({
|
||||
|
||||
attributes: {
|
||||
class: "generate_sections_buttons"
|
||||
},
|
||||
|
||||
tagName: 'p',
|
||||
|
||||
el: "#_generate_sections_metabox",
|
||||
|
||||
template: wp.template("generate-sections-buttons"),
|
||||
|
||||
// Attach events
|
||||
events: {
|
||||
"click .button-primary": "newSection",
|
||||
"click #generate-delete-sections": "clearAll",
|
||||
'click .edit-section': 'editSection',
|
||||
},
|
||||
|
||||
// create new
|
||||
newSection: function(e) {
|
||||
e.preventDefault();
|
||||
var newSection = new Generate_Sections.Section();
|
||||
Generate_Sections.sectionList.addSection(newSection);
|
||||
},
|
||||
|
||||
// clear all models
|
||||
clearAll: function(e) {
|
||||
e.preventDefault();
|
||||
if (confirm(generate_sections_metabox_i18n.confirm)) {
|
||||
Generate_Sections.sectionCollection.reset();
|
||||
Generate_Sections.sectionList.render();
|
||||
}
|
||||
},
|
||||
|
||||
render: function() {
|
||||
this.$el.find(".generate_sections_control").append(this.template);
|
||||
return this;
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
|
||||
// init
|
||||
Generate_Sections.initApplication = function() {
|
||||
|
||||
// Create Collection From Existing Meta
|
||||
Generate_Sections.sectionCollection = new Generate_Sections.SectionsCollection(generate_sections_metabox_i18n.sections);
|
||||
|
||||
// Create the List View
|
||||
Generate_Sections.sectionList = new Generate_Sections.sectionListView({
|
||||
collection: Generate_Sections.sectionCollection
|
||||
});
|
||||
Generate_Sections.sectionList.render();
|
||||
|
||||
// Buttons
|
||||
Generate_Sections.Buttons = new Generate_Sections.ButtonControls({
|
||||
collection: Generate_Sections.sectionCollection
|
||||
});
|
||||
Generate_Sections.Buttons.render();
|
||||
|
||||
};
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
/* Execute the above methods in the Generate_Sections object.
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
|
||||
jQuery( function( $ ) {
|
||||
|
||||
Generate_Sections.initApplication();
|
||||
|
||||
$( '#generate_sections_container' ).sortable({
|
||||
axis: "y",
|
||||
opacity: 0.5,
|
||||
grid: [20, 10],
|
||||
tolerance: "pointer",
|
||||
handle: ".move-section",
|
||||
update: function(event, ui) {
|
||||
ui.item.trigger("reorder", ui.item.index());
|
||||
}
|
||||
} );
|
||||
|
||||
if ( $( '.use-sections-switch' ).is( ':checked' ) ) {
|
||||
setTimeout( function() {
|
||||
generateShowSections();
|
||||
}, 200 );
|
||||
} else {
|
||||
generateHideSections();
|
||||
}
|
||||
|
||||
$( '.use-sections-switch' ).on( 'change', function( e ) {
|
||||
var status = ( $(this).is( ':checked' ) ) ? 'checked' : 'unchecked';
|
||||
|
||||
if ( 'checked' == status ) {
|
||||
generateShowSections();
|
||||
} else if ( 'unchecked' == status ) {
|
||||
generateHideSections();
|
||||
}
|
||||
} );
|
||||
|
||||
function generateShowSections() {
|
||||
|
||||
// Hide send to editor button
|
||||
$('.send-to-editor').css('display', 'none');
|
||||
|
||||
// Hide the editor
|
||||
$('#postdivrich').css({
|
||||
'opacity': '0',
|
||||
'height': '0',
|
||||
'overflow': 'hidden'
|
||||
});
|
||||
|
||||
$( '.block-editor-block-list__layout' ).hide();
|
||||
|
||||
$( '.edit-post-layout .edit-post-visual-editor' ).css( {
|
||||
'flex-grow': 'unset',
|
||||
'flex-basis': '0'
|
||||
} );
|
||||
|
||||
$( '.edit-post-visual-editor .block-editor-writing-flow__click-redirect' ).css( {
|
||||
'min-height': '0'
|
||||
} );
|
||||
|
||||
$( '.edit-post-layout__metaboxes:not(:empty)' ).css( 'border-top', '0' );
|
||||
|
||||
// Show the sections
|
||||
$('#_generate_sections_metabox').css({
|
||||
'opacity': '1',
|
||||
'height': 'auto'
|
||||
});
|
||||
|
||||
// Remove and add the default editor - this removes any visible toolbars etc..
|
||||
// We need to set a timeout for this to work
|
||||
// if (typeof tinyMCE != "undefined") {
|
||||
// tinyMCE.EditorManager.execCommand("mceRemoveEditor", true, "content");
|
||||
// $( '.use-sections-cover' ).css( 'z-index','10000' );
|
||||
// setTimeout('tinyMCE.EditorManager.execCommand("mceAddEditor", true, "content");', 1);
|
||||
// setTimeout('jQuery( ".use-sections-cover" ).css( "z-index","-1" );', 1000);
|
||||
// }
|
||||
|
||||
// Set a trigger
|
||||
$('body').trigger('generate_show_sections');
|
||||
|
||||
}
|
||||
|
||||
function generateHideSections() {
|
||||
|
||||
// Show send to editor button
|
||||
$('.send-to-editor').css('display', 'inline-block');
|
||||
|
||||
// Show the editor
|
||||
$('#postdivrich').css({
|
||||
'opacity': '1',
|
||||
'height': 'auto'
|
||||
});
|
||||
|
||||
$( '.block-editor-block-list__layout' ).show();
|
||||
|
||||
$( '.edit-post-layout .edit-post-visual-editor' ).css( {
|
||||
'flex-grow': '',
|
||||
'flex-basis': ''
|
||||
} );
|
||||
|
||||
$( '.edit-post-visual-editor .block-editor-writing-flow__click-redirect' ).css( {
|
||||
'min-height': ''
|
||||
} );
|
||||
|
||||
$( '.edit-post-layout__metaboxes:not(:empty)' ).css( 'border-top', '' );
|
||||
|
||||
// Hide the sections
|
||||
$('#_generate_sections_metabox').css({
|
||||
'opacity': '0',
|
||||
'height': '0',
|
||||
'overflow': 'hidden'
|
||||
});
|
||||
|
||||
$('body').trigger('generate_hide_sections');
|
||||
|
||||
}
|
||||
|
||||
$( document ).on( 'click', '.edit-section.edit-settings', function() {
|
||||
$( 'body' ).trigger( 'generate_section_show_settings' );
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
})(jQuery, Generate_Sections);
|
396
wp-content/upgrade-temp-backup/plugins/gp-premium/sections/functions/metaboxes/metabox-functions.php
396
wp-content/upgrade-temp-backup/plugins/gp-premium/sections/functions/metaboxes/metabox-functions.php
@ -1,396 +0,0 @@
|
||||
<?php
|
||||
// No direct access, please
|
||||
if ( ! defined( 'ABSPATH' ) ) exit;
|
||||
|
||||
if ( ! function_exists( 'generate_sections_admin_body_class' ) ) {
|
||||
add_filter( 'admin_body_class', 'generate_sections_admin_body_class' );
|
||||
|
||||
function generate_sections_admin_body_class( $classes ) {
|
||||
global $post;
|
||||
$use_sections = ( isset( $post ) ) ? get_post_meta( $post->ID, '_generate_use_sections', TRUE) : '';
|
||||
|
||||
if ( isset( $use_sections['use_sections'] ) && 'true' == $use_sections['use_sections'] ) {
|
||||
$classes .= ' generate-sections-enabled';
|
||||
}
|
||||
|
||||
return $classes;
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! function_exists( 'generate_sections_content_width' ) ) {
|
||||
add_action( 'wp', 'generate_sections_content_width', 50 );
|
||||
/**
|
||||
* Set our content width when sections are enabled
|
||||
*/
|
||||
function generate_sections_content_width() {
|
||||
global $post;
|
||||
$use_sections = ( isset( $post ) ) ? get_post_meta( $post->ID, '_generate_use_sections', TRUE) : '';
|
||||
|
||||
if ( isset( $use_sections['use_sections'] ) && 'true' == $use_sections['use_sections'] ) {
|
||||
global $content_width;
|
||||
$content_width = 2000;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! function_exists( 'generate_sections_add_metaboxes' ) ) {
|
||||
add_action( 'add_meta_boxes', 'generate_sections_add_metaboxes', 5 );
|
||||
/*
|
||||
* Functions for creating the metaboxes
|
||||
*/
|
||||
function generate_sections_add_metaboxes() {
|
||||
|
||||
$post_types = apply_filters( 'generate_sections_post_types', array( 'page', 'post' ) );
|
||||
|
||||
add_meta_box(
|
||||
'_generate_use_sections_metabox',
|
||||
__( 'Sections', 'gp-premium' ),
|
||||
'generate_sections_use_sections_metabox',
|
||||
$post_types,
|
||||
'side',
|
||||
'high'
|
||||
);
|
||||
|
||||
add_meta_box(
|
||||
'_generate_sections_metabox',
|
||||
__( 'Sections', 'gp-premium' ),
|
||||
'generate_sections_sections_metabox',
|
||||
$post_types,
|
||||
'normal',
|
||||
'high'
|
||||
);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! function_exists( 'generate_sections_sanitize_function' ) ) {
|
||||
/*
|
||||
* Sanitize our settings
|
||||
*/
|
||||
function generate_sections_sanitize_function( $data, $post_id ) {
|
||||
|
||||
$section = array();
|
||||
|
||||
if ( isset( $data['title'] ) ) {
|
||||
$section['title'] = sanitize_text_field( $data['title'] );
|
||||
}
|
||||
|
||||
if ( isset( $data['content'] ) ) {
|
||||
$section['content'] = sanitize_post_field( 'post_content', $data['content'], $post_id, 'db' );
|
||||
}
|
||||
|
||||
if ( isset( $data['custom_classes'] ) ) {
|
||||
$section['custom_classes'] = sanitize_text_field( $data['custom_classes'] );
|
||||
}
|
||||
|
||||
if ( isset( $data['custom_id'] ) ) {
|
||||
$section['custom_id'] = sanitize_text_field( $data['custom_id'] );
|
||||
}
|
||||
|
||||
if ( isset( $data['top_padding'] ) ) {
|
||||
$section['top_padding'] = '' == $data['top_padding'] ? $data['top_padding'] : absint( $data['top_padding'] );
|
||||
}
|
||||
|
||||
if ( isset( $data['bottom_padding'] ) ) {
|
||||
$section['bottom_padding'] = '' == $data['bottom_padding'] ? $data['bottom_padding'] : absint( $data['bottom_padding'] );
|
||||
}
|
||||
|
||||
if ( isset( $data['top_padding_unit'] ) ) {
|
||||
$section['top_padding_unit'] = $data['top_padding_unit'] == '%' ? '%' : '';
|
||||
}
|
||||
|
||||
if ( isset( $data['bottom_padding_unit'] ) ) {
|
||||
$section['bottom_padding_unit'] = $data['bottom_padding_unit'] == '%' ? '%' : '';
|
||||
}
|
||||
|
||||
if ( isset( $data['background_image'] ) ) {
|
||||
$section['background_image'] = absint( $data['background_image'] );
|
||||
}
|
||||
|
||||
if ( isset( $data['background_color'] ) ) {
|
||||
$section['background_color'] = generate_sections_sanitize_rgba( $data['background_color'] );
|
||||
}
|
||||
|
||||
if ( isset( $data['text_color'] ) ) {
|
||||
$section['text_color'] = generate_sections_sanitize_hex_color( $data['text_color'] );
|
||||
}
|
||||
|
||||
if ( isset( $data['link_color'] ) ) {
|
||||
$section['link_color'] = generate_sections_sanitize_hex_color( $data['link_color'] );
|
||||
}
|
||||
|
||||
if ( isset( $data['link_color_hover'] ) ) {
|
||||
$section['link_color_hover'] = generate_sections_sanitize_hex_color( $data['link_color_hover'] );
|
||||
}
|
||||
|
||||
if ( isset( $data['box_type'] ) ) {
|
||||
$section['box_type'] = $data['box_type'] == 'contained' ? 'contained' : '';
|
||||
}
|
||||
|
||||
if ( isset( $data['inner_box_type'] ) ) {
|
||||
$section['inner_box_type'] = $data['inner_box_type'] == 'fluid' ? 'fluid' : '';
|
||||
}
|
||||
|
||||
if ( isset( $data['parallax_effect'] ) ) {
|
||||
$section['parallax_effect'] = $data['parallax_effect'] == 'enable' ? 'enable' : '';
|
||||
}
|
||||
|
||||
if ( isset( $data['background_color_overlay'] ) ) {
|
||||
$section['background_color_overlay'] = $data['background_color_overlay'] == 'enable' ? 'enable' : '';
|
||||
}
|
||||
|
||||
return $section;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! function_exists( 'generate_sections_metabox_scripts' ) ) {
|
||||
add_action( 'admin_enqueue_scripts', 'generate_sections_metabox_scripts', 20 );
|
||||
/*
|
||||
* Enqueue styles and scripts specific to metaboxs
|
||||
*/
|
||||
function generate_sections_metabox_scripts( $hook ) {
|
||||
// I prefer to enqueue the styles only on pages that are using the metaboxes
|
||||
if ( in_array( $hook, array( "post.php", "post-new.php" ) ) ) {
|
||||
|
||||
$post_types = apply_filters( 'generate_sections_post_types', array( 'page', 'post' ) );
|
||||
|
||||
$screen = get_current_screen();
|
||||
$post_type = $screen->id;
|
||||
|
||||
if ( in_array( $post_type, (array) $post_types ) ) {
|
||||
wp_enqueue_style( 'generate-sections-metabox', plugin_dir_url( __FILE__ ) . 'css/generate-sections-metabox.css', false, GENERATE_SECTIONS_VERSION );
|
||||
wp_enqueue_style( 'generate-lc-switch', plugin_dir_url( __FILE__ ) . 'css/lc_switch.css', false, GENERATE_SECTIONS_VERSION );
|
||||
|
||||
//make sure we enqueue some scripts just in case ( only needed for repeating metaboxes )
|
||||
wp_enqueue_script( 'jquery' );
|
||||
wp_enqueue_script( 'jquery-ui-core' );
|
||||
wp_enqueue_script( 'jquery-ui-widget' );
|
||||
wp_enqueue_script( 'jquery-ui-mouse' );
|
||||
wp_enqueue_script( 'jquery-ui-sortable' );
|
||||
wp_enqueue_script( 'editor' );
|
||||
wp_enqueue_script( 'media-upload' );
|
||||
wp_enqueue_script( 'wp-color-picker' );
|
||||
wp_enqueue_style( 'wp-color-picker' );
|
||||
wp_enqueue_script( 'wp-color-picker-alpha', GP_LIBRARY_DIRECTORY_URL . 'alpha-color-picker/wp-color-picker-alpha.min.js', array( 'wp-color-picker' ), '3.0.0', true );
|
||||
|
||||
wp_add_inline_script(
|
||||
'wp-color-picker-alpha',
|
||||
'jQuery( function() { jQuery( ".color-picker" ).wpColorPicker(); } );'
|
||||
);
|
||||
|
||||
wp_enqueue_media();
|
||||
|
||||
if ( function_exists( 'wp_enqueue_editor' ) ) {
|
||||
wp_enqueue_editor();
|
||||
|
||||
wp_add_inline_script(
|
||||
'editor',
|
||||
'window.wp.sectionsEditor = window.wp.editor;',
|
||||
'after'
|
||||
);
|
||||
}
|
||||
|
||||
if ( version_compare( get_bloginfo( 'version' ), '5.0', '<' ) ) {
|
||||
wp_enqueue_script( 'generate-sections-metabox', plugin_dir_url( __FILE__ ) . 'js/generate-sections-metabox-4.9.js', array( 'jquery', 'jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-mouse', 'jquery-ui-sortable', 'editor', 'media-upload', 'wp-color-picker' ), GENERATE_SECTIONS_VERSION, true );
|
||||
} else {
|
||||
wp_enqueue_script( 'generate-sections-metabox', plugin_dir_url( __FILE__ ) . 'js/generate-sections-metabox.js', array( 'jquery', 'jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-mouse', 'jquery-ui-sortable', 'editor', 'media-upload', 'wp-color-picker' ), GENERATE_SECTIONS_VERSION, true );
|
||||
}
|
||||
|
||||
if ( function_exists( 'wp_add_inline_script' ) ) {
|
||||
if ( function_exists( 'generate_get_default_color_palettes' ) ) {
|
||||
// Grab our palette array and turn it into JS
|
||||
$palettes = json_encode( generate_get_default_color_palettes() );
|
||||
|
||||
// Add our custom palettes
|
||||
// json_encode takes care of escaping
|
||||
wp_add_inline_script( 'wp-color-picker', 'jQuery.wp.wpColorPicker.prototype.options.palettes = ' . $palettes . ';' );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! function_exists( 'generate_sections_admin_footer_scripts' ) ) {
|
||||
add_action( 'admin_footer', 'generate_sections_admin_footer_scripts' );
|
||||
|
||||
function generate_sections_admin_footer_scripts() {
|
||||
// We don't need this if wp_add_inline_script exists
|
||||
if ( function_exists( 'wp_add_inline_script' ) ) {
|
||||
return;
|
||||
}
|
||||
?>
|
||||
<script>
|
||||
if ( typeof lc_switch !== 'undefined' ) {
|
||||
jQuery(document).ready(function($) { $(".use-sections-switch").lc_switch("","");});
|
||||
}
|
||||
</script>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ( ! function_exists( 'generate_sections_use_sections_metabox' ) ) {
|
||||
function generate_sections_use_sections_metabox() {
|
||||
include_once( plugin_dir_path( __FILE__ ) . 'views/use-sections.php' );
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! function_exists( 'generate_sections_sections_metabox' ) ) {
|
||||
function generate_sections_sections_metabox() {
|
||||
global $post;
|
||||
|
||||
$meta = get_post_meta( $post->ID, '_generate_sections', true );
|
||||
|
||||
$sections = isset( $meta['sections'] ) && is_array( $meta['sections' ] ) ? $meta['sections'] : array();
|
||||
|
||||
$translation_array = array(
|
||||
'confirm' => __( 'This action can not be undone, are you sure?', 'gp-premium' ),
|
||||
'post_id' => $post->ID,
|
||||
'sections' => $sections,
|
||||
'default_title' => __( 'Section', 'gp-premium' ),
|
||||
'default_content_title' => __( 'Content', 'gp-premium' ),
|
||||
'tabs' => array(
|
||||
array( 'title' => __( 'Settings', 'gp-premium' ), 'target' => 'style', 'active' => 'false' ),
|
||||
array( 'title' => __( 'Content', 'gp-premium' ), 'target' => 'content', 'active' => 'true' ),
|
||||
//array( 'title' => __( 'Layout', 'gp-premium' ), 'target' => 'layout', 'active' => 'false' ),
|
||||
),
|
||||
'top_padding' => apply_filters( 'generate_sections_default_padding_top','40' ),
|
||||
'bottom_padding' => apply_filters( 'generate_sections_default_padding_bottom','40' ),
|
||||
'media_library_title' => __('Section Background', 'gp-premium' ),
|
||||
'media_library_button' => __( 'Set as Section Background', 'gp-premium' ),
|
||||
'generate_nonce' => wp_create_nonce( 'generate_sections_nonce' ),
|
||||
'default_editor' => user_can_richedit() && wp_default_editor() == 'tinymce' ? 'tmce-active' : 'html-active',
|
||||
'user_can_richedit' => user_can_richedit(),
|
||||
'insert_into_section' => __( 'Insert into Section', 'gp-premium' ),
|
||||
'edit_section' => __( 'Edit Section', 'gp-premium' )
|
||||
|
||||
);
|
||||
wp_localize_script( 'generate-sections-metabox', 'generate_sections_metabox_i18n', $translation_array );
|
||||
|
||||
include_once( plugin_dir_path( __FILE__ ) . 'views/sections.php' );
|
||||
include_once( plugin_dir_path( __FILE__ ) . 'views/sections-template.php' );
|
||||
add_action( 'print_media_templates', 'generate_sections_print_templates' );
|
||||
|
||||
do_action( 'generate_sections_metabox' );
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! function_exists( 'generate_sections_save_use_metabox' ) ) {
|
||||
add_action( 'save_post', 'generate_sections_save_use_metabox' );
|
||||
/*
|
||||
* Save the "use" metabox
|
||||
*/
|
||||
function generate_sections_save_use_metabox( $post_id ) {
|
||||
if ( ! isset( $_POST['_generate_sections_use_sections_nonce'] ) || ! wp_verify_nonce( $_POST['_generate_sections_use_sections_nonce'], 'generate_sections_use_sections_nonce' ) ) {
|
||||
return $post_id;
|
||||
}
|
||||
|
||||
if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) {
|
||||
return $post_id;
|
||||
}
|
||||
|
||||
if ( ! current_user_can('edit_post', $post_id ) ) {
|
||||
return $post_id;
|
||||
}
|
||||
|
||||
if ( isset ( $_POST['_generate_use_sections'] ) && isset ( $_POST['_generate_use_sections']['use_sections'] ) && $_POST['_generate_use_sections']['use_sections'] == 'true' ) {
|
||||
update_post_meta( $post_id, '_generate_use_sections', array( 'use_sections' => 'true' ) );
|
||||
} else {
|
||||
delete_post_meta( $post_id, '_generate_use_sections' );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! function_exists( 'generate_sections_save_sections_metabox' ) ) {
|
||||
add_action( 'save_post', 'generate_sections_save_sections_metabox', 20 );
|
||||
/*
|
||||
* Save the sections metabox
|
||||
*/
|
||||
function generate_sections_save_sections_metabox( $post_id ) {
|
||||
|
||||
if ( ! isset( $_POST['_generate_sections_nonce'] ) || ! wp_verify_nonce( $_POST['_generate_sections_nonce'], 'generate_sections_nonce' ) ) {
|
||||
return $post_id;
|
||||
}
|
||||
|
||||
if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) {
|
||||
return $post_id;
|
||||
}
|
||||
|
||||
if ( ! current_user_can('edit_post', $post_id ) ) {
|
||||
return $post_id;
|
||||
}
|
||||
|
||||
$clean = array();
|
||||
|
||||
if ( isset ( $_POST['_generate_sections'] ) && isset( $_POST['_generate_sections']['sections'] ) && is_array( $_POST['_generate_sections']['sections'] ) ) {
|
||||
|
||||
foreach( $_POST['_generate_sections']['sections'] as $section ) {
|
||||
|
||||
$section = json_decode( stripslashes( trim($section) ), true);
|
||||
|
||||
$section = generate_sections_sanitize_function( $section, $post_id );
|
||||
if ( ! empty( $section ) ){
|
||||
$clean[] = $section;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// save data
|
||||
if ( ! empty( $clean ) ) {
|
||||
// this maintains data structure of previous version
|
||||
$meta = array( 'sections' => $clean );
|
||||
update_post_meta( $post_id, '_generate_sections', $meta );
|
||||
} else {
|
||||
delete_post_meta( $post_id, '_generate_sections' );
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! function_exists( 'generate_sections_sanitize_hex_color' ) ) {
|
||||
/*
|
||||
* Sanitize colors
|
||||
* We don't use the built in function so we can use empty values
|
||||
*/
|
||||
function generate_sections_sanitize_hex_color( $color ) {
|
||||
if ( '' === $color ) {
|
||||
return '';
|
||||
}
|
||||
|
||||
// 3 or 6 hex digits, or the empty string.
|
||||
if ( preg_match('|^#([A-Fa-f0-9]{3}){1,2}$|', $color ) ) {
|
||||
return $color;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! function_exists( 'generate_sections_sanitize_rgba' ) ) {
|
||||
/**
|
||||
* Sanitize RGBA colors
|
||||
* @since 1.3.42
|
||||
*/
|
||||
function generate_sections_sanitize_rgba( $color ) {
|
||||
if ( '' === $color ) {
|
||||
return '';
|
||||
}
|
||||
|
||||
// If string does not start with 'rgba', then treat as hex
|
||||
// sanitize the hex color and finally convert hex to rgba
|
||||
if ( false === strpos( $color, 'rgba' ) ) {
|
||||
return generate_sections_sanitize_hex_color( $color );
|
||||
}
|
||||
|
||||
// By now we know the string is formatted as an rgba color so we need to further sanitize it.
|
||||
$color = str_replace( ' ', '', $color );
|
||||
sscanf( $color, 'rgba(%d,%d,%d,%f)', $red, $green, $blue, $alpha );
|
||||
return 'rgba('.$red.','.$green.','.$blue.','.$alpha.')';
|
||||
|
||||
return '';
|
||||
}
|
||||
}
|
@ -1,279 +0,0 @@
|
||||
<?php
|
||||
// No direct access, please
|
||||
if ( ! defined( 'ABSPATH' ) ) exit;
|
||||
|
||||
/**
|
||||
* Prints the templates used in the sections metabox
|
||||
*
|
||||
* @global bool $is_IE
|
||||
*/
|
||||
function generate_sections_print_templates() {
|
||||
global $is_IE;
|
||||
$class = 'media-modal wp-core-ui';
|
||||
if ( $is_IE && strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 7') !== false ){
|
||||
$class .= ' ie7';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Backbone Templates
|
||||
* This file contains all of the HTML used in our application
|
||||
*
|
||||
* Each template is wrapped in a script block ( note the type is set to "text/html" ) and given an ID prefixed with
|
||||
* 'tmpl'. The wp.template method retrieves the contents of the script block and converts these blocks into compiled
|
||||
* templates to be used and reused in your application.
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* The Singular List View
|
||||
*/
|
||||
?>
|
||||
<script type="text/template" id="tmpl-generate-sections-section">
|
||||
|
||||
<h3 class="section-title">
|
||||
<span class="text generate-section-text" title="<?php _e( 'Click to edit', 'gp-premium' );?>">{{{ data.title }}}</span>
|
||||
<div class="section-controls">
|
||||
<a class="edit-section edit-content dashicons dashicons-edit" href="#" title="<?php _e( 'Click to edit content', 'gp-premium' );?>"></a>
|
||||
<a class="edit-section edit-settings dashicons dashicons-admin-generic" href="#" title="<?php _e( 'Click to edit settings', 'gp-premium' );?>"></a>
|
||||
<a class="move-section dashicons dashicons-move" href="#" title="<?php _e( 'Click and drag to sort', 'gp-premium' );?>"></a>
|
||||
<a class="delete-section dashicons dashicons-no" href="#" title="<?php esc_attr_e( 'Click to remove', 'gp-premium' );?>"></a>
|
||||
</div>
|
||||
|
||||
</h3>
|
||||
<textarea name="_generate_sections[sections][{{{ data.index }}}]" readonly="readonly"></textarea>
|
||||
|
||||
</script>
|
||||
|
||||
<?php
|
||||
/**
|
||||
* The Add/Clear buttons
|
||||
*/
|
||||
?>
|
||||
<script type="text/template" id="tmpl-generate-sections-buttons">
|
||||
<a href="#" id="generate-add-section" class="button-primary button-large"><?php _e( 'Add Section', 'gp-premium' );?></a>
|
||||
<a href="#" style="display:none;" id="generate-delete-sections" class="button button-large"><?php _e( 'Remove Sections', 'gp-premium');?></a>
|
||||
<?php wp_nonce_field( 'generate_sections_nonce', '_generate_sections_nonce' ); ?>
|
||||
</script>
|
||||
|
||||
|
||||
<?php
|
||||
/**
|
||||
* The Modal Window, including sidebar and content area.
|
||||
* Add menu items to ".media-frame-menu"
|
||||
* Add content to ".media-frame-content"
|
||||
*/
|
||||
?>
|
||||
<script type="text/html" id="tmpl-generate-sections-modal-window">
|
||||
<div class="<?php echo esc_attr( $class ); ?>">
|
||||
<button type="button" class="button-link media-modal-close" aria-label="close"><span class="media-modal-icon"><span class="screen-reader-text"><?php _e( 'Close', 'gp-premium' ); ?></span></span></button>
|
||||
<div class="media-modal-content">
|
||||
<div class="media-frame mode-select wp-core-ui hide-router">
|
||||
<div class="media-frame-menu"><div class="media-menu"></div></div>
|
||||
<div class="media-frame-title">
|
||||
<h1><?php _e( 'Edit Section', 'gp-premium' ); ?><span class="dashicons dashicons-arrow-down"></span></h1>
|
||||
</div>
|
||||
<div class="media-frame-content"></div>
|
||||
<div class="media-frame-toolbar">
|
||||
<div class="media-toolbar">
|
||||
<div class="media-toolbar-primary">
|
||||
<button type="button" class="button media-button button-primary button-large media-button-insert"><?php _e( 'Apply', 'gp-premium' ); ?></button>
|
||||
<button type="button" class="button button media-button button button-large media-button-close"><?php _e( 'Cancel', 'gp-premium' ); ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="media-modal-backdrop"></div>
|
||||
</script>
|
||||
|
||||
<?php
|
||||
/**
|
||||
* Base template for a navigation-bar menu item
|
||||
*/
|
||||
?>
|
||||
<script type="text/html" id='tmpl-generate-sections-modal-menu-item'>
|
||||
<a class="media-menu-item generate-section-item-{{ data.target }}" data-target="{{ data.target }}">{{ data.name }}</a>
|
||||
</script>
|
||||
|
||||
|
||||
<?php
|
||||
/**
|
||||
* the Edit Sections
|
||||
*/
|
||||
?>
|
||||
<script type="text/html" id="tmpl-generate-sections-edit-content">
|
||||
<div data-id="content" class="panel generate-section-content">
|
||||
|
||||
<div class="gs-grid-100 section-title">
|
||||
<label for="title"><?php _e( 'Section Label', 'gp-premium' );?></label>
|
||||
|
||||
<p>
|
||||
<input type="text" name="title" placeholder="{{{ generate_sections_metabox_i18n.default_title }}}" id="title" value="{{{ data.title }}}"/>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<?php if ( version_compare( get_bloginfo( 'version' ), '5.0', '<' ) ) : ?>
|
||||
<div class="gs-grid-100 wp-core-ui wp-editor-wrap">
|
||||
|
||||
<div class="postarea wp-editor-expand">
|
||||
|
||||
<div id="wp-generate-sections-editor-wrap" class="wp-core-ui wp-editor-wrap old-sections-js">
|
||||
|
||||
<div id="wp-generate-sections-editor-editor-tools" class="wp-editor-tools hide-if-no-js">
|
||||
|
||||
<div class="wp-media-buttons">
|
||||
<button type="button" class="button insert-media add_media generate-sections-add-media" data-editor="generate-sections-editor"><span class="wp-media-buttons-icon"></span><?php _e( 'Add Media', 'gp-premium' );?></button>
|
||||
<?php do_action( 'media_buttons' ); ?>
|
||||
</div>
|
||||
|
||||
<div class="wp-editor-tabs">
|
||||
<button type="button" id="content-tmce" class="wp-switch-editor switch-tmce" data-wp-editor-id="generate-sections-editor"><?php _e( 'Visual', 'gp-premium' ); ?></button>
|
||||
<button type="button" id="content-html" class="wp-switch-editor switch-html" data-wp-editor-id="generate-sections-editor"><?php _ex( 'Text', 'Name for the Text editor tab (formerly HTML)', 'gp-premium' ); ?></button>
|
||||
</div>
|
||||
|
||||
</div><!-- .wp-editor-tools -->
|
||||
|
||||
<div class="wp-editor-container">
|
||||
<textarea id="generate-sections-editor" class="wp-editor-area" autocomplete="off" cols="40" name="content">{{{ data.content }}}</textarea>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<?php else : ?>
|
||||
<div class="gs-grid-100 generate-sections-editor-wrap">
|
||||
<div id="custom-media-buttons">
|
||||
<?php do_action( 'media_buttons' ); ?>
|
||||
</div>
|
||||
|
||||
<textarea id="generate-sections-editor" class="wp-editor-area" autocomplete="off" cols="40" name="content">{{{ data.content }}}</textarea>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
</script>
|
||||
<script type="text/html" id="tmpl-generate-sections-edit-layout">
|
||||
|
||||
<div data-id="layout" class="panel">
|
||||
|
||||
</div>
|
||||
|
||||
</script>
|
||||
<script type="text/html" id="tmpl-generate-sections-edit-style">
|
||||
|
||||
<div data-id="style" class="panel generate-section-settings">
|
||||
<div class="gs-grid-container gs-grid-parent">
|
||||
<div class="gs-grid-33">
|
||||
<h3><?php _e( 'Layout', 'gp-premium' ); ?></h3>
|
||||
<label for="box_type"><?php _e('Box Type', 'gp-premium');?></label>
|
||||
|
||||
<p>
|
||||
<select name="box_type" id="box_type">
|
||||
<option value=""><?php _e( 'Full Width', 'gp-premium' );?></option>
|
||||
<option value="contained"><?php _ex( 'Contained', 'Width', 'gp-premium' );?></option>
|
||||
</select>
|
||||
</p>
|
||||
|
||||
<label for="inner_box_type"><?php _e('Inner Box Type', 'gp-premium');?></label>
|
||||
|
||||
<p>
|
||||
<select name="inner_box_type" id="inner_box_type">
|
||||
<option value=""><?php _ex( 'Contained', 'Width', 'gp-premium' );?></option>
|
||||
<option value="fluid"><?php _e( 'Full Width', 'gp-premium' );?></option>
|
||||
</select>
|
||||
</p>
|
||||
|
||||
<label for="custom_id"><?php _e( 'Custom ID', 'gp-premium' );?></label>
|
||||
|
||||
<p>
|
||||
<input type="text" name="custom_id" id="custom_id" value="{{{ data.custom_id }}}"/>
|
||||
</p>
|
||||
|
||||
<label for="custom_classes"><?php _e( 'Custom Classes', 'gp-premium' );?></label>
|
||||
|
||||
<p>
|
||||
<input type="text" name="custom_classes" id="custom_classes" value="{{{ data.custom_classes }}}"/>
|
||||
</p>
|
||||
|
||||
<label for="top_padding"><?php _e( 'Top Padding', 'gp-premium' );?></label>
|
||||
|
||||
<p>
|
||||
<input placeholder="{{{ generate_sections_metabox_i18n.top_padding }}}" type="number" name="top_padding" id="top_padding" value="{{{ data.top_padding }}}"/><select style="margin:0;position:relative;top:-2px;" name="top_padding_unit" id="top_padding_unit">
|
||||
<option value="">px</option>
|
||||
<option value="%">%</option>
|
||||
</select>
|
||||
</p>
|
||||
|
||||
<label for="bottom_padding"><?php _e( 'Bottom Padding', 'gp-premium' );?></label>
|
||||
|
||||
<p>
|
||||
<input placeholder="{{{ generate_sections_metabox_i18n.bottom_padding }}}" type="number" name="bottom_padding" id="bottom_padding" value="{{{ data.bottom_padding }}}"/><select style="margin:0;position:relative;top:-2px;" name="bottom_padding_unit" id="bottom_padding_unit">
|
||||
<option value="">px</option>
|
||||
<option value="%">%</option>
|
||||
</select>
|
||||
</p>
|
||||
</div>
|
||||
<div class="gs-grid-33">
|
||||
<h3><?php _e( 'Colors', 'gp-premium' ); ?></h3>
|
||||
<label for="background_color"><?php _e( 'Background Color', 'gp-premium' );?></label>
|
||||
<p>
|
||||
<input class="generate-sections-color" type="text" class="color-picker" data-alpha-enabled="true" data-alpha-color-type="hex" name="background_color" id="background_color" value="{{{ data.background_color }}}"/>
|
||||
</p>
|
||||
|
||||
<label for="text_color"><?php _e( 'Text Color', 'gp-premium' );?></label>
|
||||
|
||||
<p>
|
||||
<input class="generate-sections-color" type="text" name="text_color" id="text_color" value="{{{ data.text_color }}}"/>
|
||||
</p>
|
||||
|
||||
<label for="link_color"><?php _e( 'Link Color', 'gp-premium' );?></label>
|
||||
|
||||
<p>
|
||||
<input class="generate-sections-color" type="text" name="link_color" id="link_color" value="{{{ data.link_color }}}"/>
|
||||
</p>
|
||||
|
||||
<label for="link_color_hover"><?php _e('Link Color Hover', 'gp-premium');?></label>
|
||||
|
||||
<p>
|
||||
<input class="generate-sections-color" type="text" name="link_color_hover" id="link_color_hover" value="{{{ data.link_color_hover }}}"/>
|
||||
</p>
|
||||
</div>
|
||||
<div class="gs-grid-33">
|
||||
<h3><?php _e( 'Background', 'gp-premium' ); ?></h3>
|
||||
<label for="generate-sections-background-image"><?php _e( 'Background Image', 'gp-premium' );?></label>
|
||||
<p id="generate-section-image-preview"></p>
|
||||
<p>
|
||||
|
||||
<input class="image_id" type="hidden" id="generate-sections-background-image" name="background_image" value="{{{ data.background_image }}}" />
|
||||
<button id="image_button" class="generate-sections-upload-button button" type="button" data-uploader_title="<?php _e( 'Background Image', 'gp-premium' );?>"><?php _e('Upload', 'gp-premium') ;?></button>
|
||||
<button id="remove_image" class="generate-sections-remove-image button" type="button"><?php _e( 'Remove', 'gp-premium' );?></button>
|
||||
|
||||
</p>
|
||||
|
||||
<label for="parallax_effect"><?php _e('Parallax Effect', 'gp-premium');?></label>
|
||||
<p>
|
||||
<select name="parallax_effect" id="parallax_effect">
|
||||
<option value=""><?php _e( 'Disable', 'gp-premium' );?></option>
|
||||
<option value="enable"><?php _e( 'Enable', 'gp-premium' );?></option>
|
||||
</select>
|
||||
</p>
|
||||
|
||||
<label for="background_color_overlay"><?php _e( 'Background Color Overlay', 'gp-premium' );?></label>
|
||||
<p>
|
||||
<select name="background_color_overlay" id="background_color_overlay">
|
||||
<option value=""><?php _e( 'Disable', 'gp-premium' );?></option>
|
||||
<option value="enable"><?php _e( 'Enable', 'gp-premium' );?></option>
|
||||
</select>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</script>
|
||||
|
||||
<?php
|
||||
}
|
13
wp-content/upgrade-temp-backup/plugins/gp-premium/sections/functions/metaboxes/views/sections.php
13
wp-content/upgrade-temp-backup/plugins/gp-premium/sections/functions/metaboxes/views/sections.php
@ -1,13 +0,0 @@
|
||||
<?php
|
||||
// No direct access, please
|
||||
if ( ! defined( 'ABSPATH' ) ) exit;
|
||||
?>
|
||||
<div class="generate_sections_control">
|
||||
|
||||
<noscript>
|
||||
<?php _e('Javascript must be enabled to use Generate Sections', 'gp-premium' );?>
|
||||
</noscript>
|
||||
|
||||
<div id="generate_sections_container"></div>
|
||||
|
||||
</div>
|
@ -1,17 +0,0 @@
|
||||
<?php
|
||||
// No direct access, please
|
||||
if ( ! defined( 'ABSPATH' ) ) exit;
|
||||
?>
|
||||
<div class="generate_sections_control">
|
||||
|
||||
<?php
|
||||
global $post;
|
||||
$use_sections = get_post_meta( $post->ID, '_generate_use_sections', true );
|
||||
//$use_sections = isset( $use_sections['use_sections'] ) && 'true' == $use_sections['use_sections'] ? true : false;
|
||||
wp_nonce_field( 'generate_sections_use_sections_nonce', '_generate_sections_use_sections_nonce' );
|
||||
?>
|
||||
<label for="_generate_use_sections[use_sections]">
|
||||
<input type="checkbox" class="use-sections-switch" name="_generate_use_sections[use_sections]" id="_generate_use_sections[use_sections]" value="true" <?php if ( isset ( $use_sections['use_sections'] ) ) checked( $use_sections['use_sections'], 'true', true );?> />
|
||||
<?php _e( 'Use Sections', 'gp-premium' ); ?>
|
||||
</label>
|
||||
</div>
|
Reference in New Issue
Block a user