Version Description
- ADD: Cherry Search compatibility
Download this release
Release Info
Developer | TemplateMonster 2002 |
Plugin | Cherry Team Members |
Version | 1.0.6 |
Comparing to | |
See all releases |
Code changes from version 1.0.4 to 1.0.6
- admin/assets/js/cherry-team-admin-scripts.js +3 -1
- admin/assets/js/serialize-object.js +1 -1
- admin/includes/class-cherry-team-admin.php +1 -1
- admin/includes/class-cherry-team-options-page.php +2 -2
- cherry-framework/.gitignore +0 -30
- cherry-framework/.jscsrc +0 -22
- cherry-framework/.jshintignore +0 -8
- cherry-framework/.travis.yml +0 -95
- cherry-framework/LICENSE +0 -674
- cherry-framework/README.md +0 -18
- cherry-framework/cherry-core.php +16 -2
- cherry-framework/codesniffer.ruleset.xml +0 -24
- cherry-framework/config.json +38 -16
- cherry-framework/languages/cherry-framework.pot +119 -0
- cherry-framework/modules/cherry-breadcrumbs/cherry-breadcrumbs.php +19 -9
- cherry-framework/modules/cherry-customizer/cherry-customizer.php +3 -3
- cherry-framework/modules/cherry-db-updater/cherry-db-updater.php +381 -0
- cherry-framework/modules/cherry-handler/assets/js/cherry-handler.js +21 -0
- cherry-framework/modules/cherry-handler/assets/js/min/cherry-handler.min.js +1 -1
- cherry-framework/modules/cherry-handler/cherry-handler.php +13 -13
- cherry-framework/modules/cherry-interface-builder/cherry-interface-builder.php +33 -28
- cherry-framework/modules/cherry-interface-builder/inc/assets/cherry-interface-builder.js +5 -1
- cherry-framework/modules/cherry-interface-builder/inc/assets/cherry-interface-builder.scss +13 -8
- cherry-framework/modules/cherry-interface-builder/inc/assets/min/cherry-interface-builder.min.css +1 -1
- cherry-framework/modules/cherry-interface-builder/inc/assets/min/cherry-interface-builder.min.js +1 -1
- cherry-framework/modules/cherry-js-core/assets/js/min/cherry-js-core.min.js +1 -1
- cherry-framework/modules/cherry-js-core/cherry-js-core.php +1 -1
- cherry-framework/modules/cherry-post-formats-api/cherry-post-formats-api.php +0 -1
- cherry-framework/modules/cherry-post-formats-api/inc/class-cherry-facebook-embed.php +1 -1
- cherry-framework/modules/cherry-template-manager/cherry-template-manager.php +14 -5
- cherry-framework/modules/cherry-template-manager/inc/cherry-template-loader.php +6 -29
- cherry-framework/modules/cherry-template-manager/inc/cherry-template-parser.php +2 -10
- cherry-framework/modules/cherry-ui-elements/cherry-ui-elements.php +2 -3
- cherry-framework/modules/cherry-ui-elements/i-ui.php +1 -1
- cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-button/ui-button.php +10 -11
- cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-checkbox/assets/min/ui-checkbox.min.js +1 -1
- cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-checkbox/ui-checkbox.php +21 -18
- cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-colorpicker/ui-colorpicker.php +15 -15
- cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-iconpicker/assets/min/ui-iconpicker.min.js +1 -1
- cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-iconpicker/assets/ui-iconpicker.js +59 -6
- cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-iconpicker/ui-iconpicker.php +36 -14
- cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-media/assets/min/ui-media.min.js +1 -1
- cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-media/assets/ui-media.js +0 -1
- cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-media/ui-media.php +9 -8
- cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-radio/ui-radio.php +28 -26
- cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-repeater/ui-repeater.php +9 -10
- cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-select/ui-select.php +42 -39
- cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-slider/ui-slider.php +9 -8
- cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-stepper/ui-stepper.php +18 -16
- cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-switcher/ui-switcher.php +22 -19
- cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-text/ui-text.php +22 -19
- cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-textarea/ui-textarea.php +17 -15
- cherry-framework/modules/cherry-ui-elements/ui-element.php +1 -1
- cherry-framework/modules/cherry-utility/inc/cherry-attributes-utilit.php +1 -1
- cherry-framework/modules/cherry-utility/inc/cherry-media-utilit.php +34 -29
- cherry-framework/modules/cherry-utility/inc/cherry-meta-data-utilit.php +1 -1
- cherry-framework/modules/cherry-utility/inc/cherry-satellite-utilit.php +2 -4
- cherry-framework/modules/cherry-widget-factory/inc/class-cherry-abstract-widget.php +1 -1
- cherry-framework/modules/cherry5-insert-shortcode/assets/cherry-insert-shortcode.js +271 -0
- cherry-framework/modules/cherry5-insert-shortcode/assets/cherry-insert-shortcode.scss +484 -0
- cherry-framework/modules/cherry5-insert-shortcode/assets/min/cherry-insert-shortcode.min.css +1 -0
- cherry-framework/modules/cherry5-insert-shortcode/assets/min/cherry-insert-shortcode.min.js +1 -0
- cherry-framework/modules/cherry5-insert-shortcode/cherry5-insert-shortcode.php +266 -0
- cherry-framework/modules/cherry5-insert-shortcode/inc/class-cherry5-insertion-button.php +71 -0
- cherry-framework/modules/cherry5-insert-shortcode/inc/class-cherry5-insertion-popup.php +285 -0
- cherry-framework/modules/cherry5-insert-shortcode/inc/views/insert-shortcode-pop-up.php +49 -0
- cherry-framework/modules/cherry5-insert-shortcode/inc/views/shortcode-content-area.php +23 -0
- cherry-framework/modules/cherry5-insert-shortcode/inc/views/shortcode-has-not-option.php +22 -0
- cherry-framework/modules/cherry5-insert-shortcode/inc/views/shortcode-options.php +25 -0
- cherry-framework/setup.php +1 -1
- cherry-team-members.php +2 -2
- public/includes/class-cherry-team-init.php +14 -0
- public/includes/class-cherry-team-template-callbacks.php +1 -1
- public/includes/class-cherry-team-templater.php +6 -2
- readme.txt +10 -6
- wpml-config.xml +5 -5
admin/assets/js/cherry-team-admin-scripts.js
CHANGED
@@ -48,7 +48,7 @@
|
|
48 |
$teamOptionsForm = event.data.optionsForm,
|
49 |
$cherrySpinner = $('.cherry-spinner-wordpress', $teamOptionsForm),
|
50 |
ajaxRequestType = event.data.ajaxRequestType,
|
51 |
-
serializeArray = $teamOptionsForm.
|
52 |
data = {
|
53 |
nonce: CherryJsCore.variable.security,
|
54 |
action: 'cherry_team_members_process_options',
|
@@ -56,6 +56,8 @@
|
|
56 |
type: ajaxRequestType
|
57 |
};
|
58 |
|
|
|
|
|
59 |
if ( ! self.ajaxRequestSuccess ) {
|
60 |
self.ajaxRequest.abort();
|
61 |
self.noticeCreate( 'error-notice', cherryTeamPluginSettings.please_wait_processing );
|
48 |
$teamOptionsForm = event.data.optionsForm,
|
49 |
$cherrySpinner = $('.cherry-spinner-wordpress', $teamOptionsForm),
|
50 |
ajaxRequestType = event.data.ajaxRequestType,
|
51 |
+
serializeArray = $teamOptionsForm.cherryTeamSerializeObject(),
|
52 |
data = {
|
53 |
nonce: CherryJsCore.variable.security,
|
54 |
action: 'cherry_team_members_process_options',
|
56 |
type: ajaxRequestType
|
57 |
};
|
58 |
|
59 |
+
console.log( serializeArray );
|
60 |
+
|
61 |
if ( ! self.ajaxRequestSuccess ) {
|
62 |
self.ajaxRequest.abort();
|
63 |
self.noticeCreate( 'error-notice', cherryTeamPluginSettings.please_wait_processing );
|
admin/assets/js/serialize-object.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
( function( $ ) {
|
2 |
"use strict";
|
3 |
|
4 |
-
$.fn.
|
5 |
|
6 |
var self = this,
|
7 |
json = {},
|
1 |
( function( $ ) {
|
2 |
"use strict";
|
3 |
|
4 |
+
$.fn.cherryTeamSerializeObject = function() {
|
5 |
|
6 |
var self = this,
|
7 |
json = {},
|
admin/includes/class-cherry-team-admin.php
CHANGED
@@ -48,7 +48,7 @@ class Cherry_Team_Members_Admin {
|
|
48 |
);
|
49 |
|
50 |
wp_register_script(
|
51 |
-
'serialize-object',
|
52 |
cherry_team_members()->plugin_url( 'admin/assets/js/serialize-object.js' ),
|
53 |
array( 'jquery' ),
|
54 |
cherry_team_members()->version(),
|
48 |
);
|
49 |
|
50 |
wp_register_script(
|
51 |
+
'cherry-serialize-object',
|
52 |
cherry_team_members()->plugin_url( 'admin/assets/js/serialize-object.js' ),
|
53 |
array( 'jquery' ),
|
54 |
cherry_team_members()->version(),
|
admin/includes/class-cherry-team-options-page.php
CHANGED
@@ -279,6 +279,7 @@ class Cherry_Team_Members_Options_Page {
|
|
279 |
|
280 |
$value = isset( $current_options[ $key ] ) ? $current_options[ $key ] : false;
|
281 |
$value = ( false !== $value ) ? $value : Cherry_Toolkit::get_arg( $field, 'value', '' );
|
|
|
282 |
|
283 |
if ( isset( $field['options_callback'] ) ) {
|
284 |
|
@@ -459,8 +460,7 @@ class Cherry_Team_Members_Options_Page {
|
|
459 |
return null;
|
460 |
}
|
461 |
|
462 |
-
wp_enqueue_script( 'serialize-object' );
|
463 |
-
|
464 |
wp_enqueue_script( 'cherry-team-admin-scripts' );
|
465 |
|
466 |
$options_page_settings = array(
|
279 |
|
280 |
$value = isset( $current_options[ $key ] ) ? $current_options[ $key ] : false;
|
281 |
$value = ( false !== $value ) ? $value : Cherry_Toolkit::get_arg( $field, 'value', '' );
|
282 |
+
$value = ( 'archive-page' == $key ) ? apply_filters( 'wpml_object_id', $value, 'page', true ) : $value;
|
283 |
|
284 |
if ( isset( $field['options_callback'] ) ) {
|
285 |
|
460 |
return null;
|
461 |
}
|
462 |
|
463 |
+
wp_enqueue_script( 'cherry-serialize-object' );
|
|
|
464 |
wp_enqueue_script( 'cherry-team-admin-scripts' );
|
465 |
|
466 |
$options_page_settings = array(
|
cherry-framework/.gitignore
DELETED
@@ -1,30 +0,0 @@
|
|
1 |
-
#########################
|
2 |
-
# Files
|
3 |
-
#########################
|
4 |
-
.sass-cache
|
5 |
-
package.json
|
6 |
-
|
7 |
-
# Windows
|
8 |
-
Thumbs.db
|
9 |
-
Desktop.ini
|
10 |
-
|
11 |
-
# OSX
|
12 |
-
.DS_Store
|
13 |
-
*.swp
|
14 |
-
*~.nib
|
15 |
-
|
16 |
-
#########################
|
17 |
-
# Expansion
|
18 |
-
#########################
|
19 |
-
*.map
|
20 |
-
*.log
|
21 |
-
*.dll
|
22 |
-
|
23 |
-
#########################
|
24 |
-
# Folder
|
25 |
-
#########################
|
26 |
-
node_modules
|
27 |
-
|
28 |
-
#########################
|
29 |
-
# Travis-si files
|
30 |
-
#########################
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cherry-framework/.jscsrc
DELETED
@@ -1,22 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"preset": "wordpress",
|
3 |
-
"fileExtensions": [ ".js" ],
|
4 |
-
"excludeFiles": [
|
5 |
-
"**/*.min.js",
|
6 |
-
"modules/cherry-js-core/assets/js/cherry-js-core.js",
|
7 |
-
"modules/cherry-post-formats-api/assets/js/cherry-post-formats.js",
|
8 |
-
"modules/cherry-ui-elements/inc/ui-elements/ui-checkbox/assets/ui-checkbox.js",
|
9 |
-
"modules/cherry-ui-elements/inc/ui-elements/ui-colorpicker/assets/ui-colorpicker.js",
|
10 |
-
"modules/cherry-ui-elements/inc/ui-elements/ui-media/assets/ui-media.js",
|
11 |
-
"modules/cherry-ui-elements/inc/ui-elements/ui-radio/assets/ui-radio.js",
|
12 |
-
"modules/cherry-ui-elements/inc/ui-elements/ui-select/assets/select2.js",
|
13 |
-
"modules/cherry-ui-elements/inc/ui-elements/ui-select/assets/ui-select.js",
|
14 |
-
"modules/cherry-ui-elements/inc/ui-elements/ui-slider/assets/ui-slider.js",
|
15 |
-
"modules/cherry-ui-elements/inc/ui-elements/ui-stepper/assets/ui-stepper.js",
|
16 |
-
"modules/cherry-ui-elements/inc/ui-elements/ui-switcher/assets/ui-switcher.js",
|
17 |
-
"modules/cherry-ui-elements/inc/ui-elements/ui-collection/assets/js/jquery.collection.js",
|
18 |
-
"modules/cherry-ui-elements/inc/ui-elements/ui-collection/assets/js/ui-collection.js",
|
19 |
-
"modules/cherry-ui-elements/inc/ui-elements/ui-iconpicker/assets/jquery-iconpicker.js",
|
20 |
-
"modules/cherry-interface-builder/inc/assets/cherry-interface-builder.js",
|
21 |
-
]
|
22 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cherry-framework/.jshintignore
DELETED
@@ -1,8 +0,0 @@
|
|
1 |
-
**/*.min.js
|
2 |
-
modules/cherry-ui-elements/inc/ui-elements/ui-select/assets/select2.js
|
3 |
-
modules/cherry-ui-elements/inc/ui-elements/ui-collection/assets/js/jquery.collection.js
|
4 |
-
modules/cherry-ui-elements/inc/ui-elements/ui-iconpicker/assets/jquery-iconpicker.js
|
5 |
-
|
6 |
-
#Cherry Framework
|
7 |
-
modules/cherry-ui-elements/inc/ui-elements/ui-media/assets/ui-media.js
|
8 |
-
modules/cherry-js-core/assets/js/cherry-js-core.js
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cherry-framework/.travis.yml
DELETED
@@ -1,95 +0,0 @@
|
|
1 |
-
# Travis CI configuration file.
|
2 |
-
# @link https://travis-ci.org/
|
3 |
-
|
4 |
-
# For use with the Twenty Sixteen WordPress theme
|
5 |
-
# @link https://github.com/WordPress/twentysixteen/
|
6 |
-
|
7 |
-
# Declare project language and PHP versions to test against.
|
8 |
-
# @link http://about.travis-ci.org/docs/user/languages/php/
|
9 |
-
language: php
|
10 |
-
|
11 |
-
# Declare versions of PHP to use. Use one decimal max.
|
12 |
-
php:
|
13 |
-
- "5.6"
|
14 |
-
- "5.5"
|
15 |
-
- "5.4"
|
16 |
-
- "5.3"
|
17 |
-
# Current $required_php_version for WordPress: 5.2.4
|
18 |
-
- "5.2"
|
19 |
-
|
20 |
-
# Ditch sudo and use containers.
|
21 |
-
# @link http://docs.travis-ci.com/user/migrating-from-legacy/#Why-migrate-to-container-based-infrastructure%3F
|
22 |
-
# @link http://docs.travis-ci.com/user/workers/container-based-infrastructure/#Routing-your-build-to-container-based-infrastructure
|
23 |
-
sudo: false
|
24 |
-
|
25 |
-
# Declare which versions of WordPress to test against.
|
26 |
-
# Also declare whether or not to test in Multisite.
|
27 |
-
env:
|
28 |
-
# Trunk (current version in development is 4.4)
|
29 |
-
# @link https://github.com/WordPress/WordPress
|
30 |
-
- WP_VERSION=master WP_MULTISITE=0
|
31 |
-
|
32 |
-
# Use this to prepare your build for testing.
|
33 |
-
# e.g. copy database configurations, environment variables, etc.
|
34 |
-
# Failures in this section will result in build status 'errored'.
|
35 |
-
before_script:
|
36 |
-
# Set up WordPress installation.
|
37 |
-
- export WP_DEVELOP_DIR=/tmp/wordpress/
|
38 |
-
- mkdir -p $WP_DEVELOP_DIR
|
39 |
-
# Use the Git mirror of WordPress.
|
40 |
-
- git clone --depth=1 --branch="$WP_VERSION" git://develop.git.wordpress.org/ $WP_DEVELOP_DIR
|
41 |
-
# Set up Twenty Sixteen theme information.
|
42 |
-
- theme_slug=$(basename $(pwd))
|
43 |
-
- theme_dir=$WP_DEVELOP_DIR/src/wp-content/themes/$theme_slug
|
44 |
-
- cd ..
|
45 |
-
- mv $theme_slug $theme_dir
|
46 |
-
# Set up WordPress configuration.
|
47 |
-
- cd $WP_DEVELOP_DIR
|
48 |
-
- echo $WP_DEVELOP_DIR
|
49 |
-
- cp wp-tests-config-sample.php wp-tests-config.php
|
50 |
-
- sed -i "s/youremptytestdbnamehere/wordpress_test/" wp-tests-config.php
|
51 |
-
- sed -i "s/yourusernamehere/root/" wp-tests-config.php
|
52 |
-
- sed -i "s/yourpasswordhere//" wp-tests-config.php
|
53 |
-
# Create WordPress database.
|
54 |
-
- mysql -e 'CREATE DATABASE wordpress_test;' -uroot
|
55 |
-
# Install CodeSniffer for WordPress Coding Standards checks.
|
56 |
-
- mkdir php-codesniffer && curl -L https://github.com/squizlabs/PHP_CodeSniffer/archive/master.tar.gz | tar xz --strip-components=1 -C php-codesniffer
|
57 |
-
# Install WordPress Coding Standards.
|
58 |
-
- mkdir wordpress-coding-standards && curl -L https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/archive/master.tar.gz | tar xz --strip-components=1 -C wordpress-coding-standards
|
59 |
-
# Hop into CodeSniffer directory.
|
60 |
-
- cd php-codesniffer
|
61 |
-
# Set install path for WordPress Coding Standards
|
62 |
-
# @link https://github.com/squizlabs/PHP_CodeSniffer/blob/4237c2fc98cc838730b76ee9cee316f99286a2a7/CodeSniffer.php#L1941
|
63 |
-
- scripts/phpcs --config-set installed_paths ../wordpress-coding-standards
|
64 |
-
# Hop into themes directory.
|
65 |
-
- cd $theme_dir
|
66 |
-
# After CodeSniffer install you should refresh your path.
|
67 |
-
- phpenv rehash
|
68 |
-
# Install JSCS: JavaScript Code Style checker
|
69 |
-
# @link http://jscs.info/
|
70 |
-
- npm install -g jscs
|
71 |
-
# Install JSHint, a JavaScript Code Quality Tool
|
72 |
-
# @link http://jshint.com/docs/
|
73 |
-
- npm install -g jshint
|
74 |
-
- wget https://develop.svn.wordpress.org/trunk/.jshintrc
|
75 |
-
|
76 |
-
# Run test script commands.
|
77 |
-
# Default is specific to project language.
|
78 |
-
# All commands must exit with code 0 on success. Anything else is considered failure.
|
79 |
-
script:
|
80 |
-
# Search theme for PHP syntax errors.
|
81 |
-
- find . \( -name '*.php' \) -exec php -lf {} \;
|
82 |
-
# Run the theme through JSHint
|
83 |
-
- jshint .
|
84 |
-
# Run the theme through JavaScript Code Style checker
|
85 |
-
- jscs .
|
86 |
-
# WordPress Coding Standards
|
87 |
-
# @link https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards
|
88 |
-
# @link http://pear.php.net/package/PHP_CodeSniffer/
|
89 |
-
# -p flag: Show progress of the run.
|
90 |
-
# -s flag: Show sniff codes in all reports.
|
91 |
-
# -v flag: Print verbose output.
|
92 |
-
# -n flag: Do not print warnings (shortcut for --warning-severity=0)
|
93 |
-
# --standard: Use WordPress as the standard.
|
94 |
-
# --extensions: Only sniff PHP files.
|
95 |
-
- $WP_DEVELOP_DIR/php-codesniffer/scripts/phpcs -p -s -v -n . --standard=./codesniffer.ruleset.xml --extensions=php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cherry-framework/LICENSE
DELETED
@@ -1,674 +0,0 @@
|
|
1 |
-
GNU GENERAL PUBLIC LICENSE
|
2 |
-
Version 3, 29 June 2007
|
3 |
-
|
4 |
-
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
5 |
-
Everyone is permitted to copy and distribute verbatim copies
|
6 |
-
of this license document, but changing it is not allowed.
|
7 |
-
|
8 |
-
Preamble
|
9 |
-
|
10 |
-
The GNU General Public License is a free, copyleft license for
|
11 |
-
software and other kinds of works.
|
12 |
-
|
13 |
-
The licenses for most software and other practical works are designed
|
14 |
-
to take away your freedom to share and change the works. By contrast,
|
15 |
-
the GNU General Public License is intended to guarantee your freedom to
|
16 |
-
share and change all versions of a program--to make sure it remains free
|
17 |
-
software for all its users. We, the Free Software Foundation, use the
|
18 |
-
GNU General Public License for most of our software; it applies also to
|
19 |
-
any other work released this way by its authors. You can apply it to
|
20 |
-
your programs, too.
|
21 |
-
|
22 |
-
When we speak of free software, we are referring to freedom, not
|
23 |
-
price. Our General Public Licenses are designed to make sure that you
|
24 |
-
have the freedom to distribute copies of free software (and charge for
|
25 |
-
them if you wish), that you receive source code or can get it if you
|
26 |
-
want it, that you can change the software or use pieces of it in new
|
27 |
-
free programs, and that you know you can do these things.
|
28 |
-
|
29 |
-
To protect your rights, we need to prevent others from denying you
|
30 |
-
these rights or asking you to surrender the rights. Therefore, you have
|
31 |
-
certain responsibilities if you distribute copies of the software, or if
|
32 |
-
you modify it: responsibilities to respect the freedom of others.
|
33 |
-
|
34 |
-
For example, if you distribute copies of such a program, whether
|
35 |
-
gratis or for a fee, you must pass on to the recipients the same
|
36 |
-
freedoms that you received. You must make sure that they, too, receive
|
37 |
-
or can get the source code. And you must show them these terms so they
|
38 |
-
know their rights.
|
39 |
-
|
40 |
-
Developers that use the GNU GPL protect your rights with two steps:
|
41 |
-
(1) assert copyright on the software, and (2) offer you this License
|
42 |
-
giving you legal permission to copy, distribute and/or modify it.
|
43 |
-
|
44 |
-
For the developers' and authors' protection, the GPL clearly explains
|
45 |
-
that there is no warranty for this free software. For both users' and
|
46 |
-
authors' sake, the GPL requires that modified versions be marked as
|
47 |
-
changed, so that their problems will not be attributed erroneously to
|
48 |
-
authors of previous versions.
|
49 |
-
|
50 |
-
Some devices are designed to deny users access to install or run
|
51 |
-
modified versions of the software inside them, although the manufacturer
|
52 |
-
can do so. This is fundamentally incompatible with the aim of
|
53 |
-
protecting users' freedom to change the software. The systematic
|
54 |
-
pattern of such abuse occurs in the area of products for individuals to
|
55 |
-
use, which is precisely where it is most unacceptable. Therefore, we
|
56 |
-
have designed this version of the GPL to prohibit the practice for those
|
57 |
-
products. If such problems arise substantially in other domains, we
|
58 |
-
stand ready to extend this provision to those domains in future versions
|
59 |
-
of the GPL, as needed to protect the freedom of users.
|
60 |
-
|
61 |
-
Finally, every program is threatened constantly by software patents.
|
62 |
-
States should not allow patents to restrict development and use of
|
63 |
-
software on general-purpose computers, but in those that do, we wish to
|
64 |
-
avoid the special danger that patents applied to a free program could
|
65 |
-
make it effectively proprietary. To prevent this, the GPL assures that
|
66 |
-
patents cannot be used to render the program non-free.
|
67 |
-
|
68 |
-
The precise terms and conditions for copying, distribution and
|
69 |
-
modification follow.
|
70 |
-
|
71 |
-
TERMS AND CONDITIONS
|
72 |
-
|
73 |
-
0. Definitions.
|
74 |
-
|
75 |
-
"This License" refers to version 3 of the GNU General Public License.
|
76 |
-
|
77 |
-
"Copyright" also means copyright-like laws that apply to other kinds of
|
78 |
-
works, such as semiconductor masks.
|
79 |
-
|
80 |
-
"The Program" refers to any copyrightable work licensed under this
|
81 |
-
License. Each licensee is addressed as "you". "Licensees" and
|
82 |
-
"recipients" may be individuals or organizations.
|
83 |
-
|
84 |
-
To "modify" a work means to copy from or adapt all or part of the work
|
85 |
-
in a fashion requiring copyright permission, other than the making of an
|
86 |
-
exact copy. The resulting work is called a "modified version" of the
|
87 |
-
earlier work or a work "based on" the earlier work.
|
88 |
-
|
89 |
-
A "covered work" means either the unmodified Program or a work based
|
90 |
-
on the Program.
|
91 |
-
|
92 |
-
To "propagate" a work means to do anything with it that, without
|
93 |
-
permission, would make you directly or secondarily liable for
|
94 |
-
infringement under applicable copyright law, except executing it on a
|
95 |
-
computer or modifying a private copy. Propagation includes copying,
|
96 |
-
distribution (with or without modification), making available to the
|
97 |
-
public, and in some countries other activities as well.
|
98 |
-
|
99 |
-
To "convey" a work means any kind of propagation that enables other
|
100 |
-
parties to make or receive copies. Mere interaction with a user through
|
101 |
-
a computer network, with no transfer of a copy, is not conveying.
|
102 |
-
|
103 |
-
An interactive user interface displays "Appropriate Legal Notices"
|
104 |
-
to the extent that it includes a convenient and prominently visible
|
105 |
-
feature that (1) displays an appropriate copyright notice, and (2)
|
106 |
-
tells the user that there is no warranty for the work (except to the
|
107 |
-
extent that warranties are provided), that licensees may convey the
|
108 |
-
work under this License, and how to view a copy of this License. If
|
109 |
-
the interface presents a list of user commands or options, such as a
|
110 |
-
menu, a prominent item in the list meets this criterion.
|
111 |
-
|
112 |
-
1. Source Code.
|
113 |
-
|
114 |
-
The "source code" for a work means the preferred form of the work
|
115 |
-
for making modifications to it. "Object code" means any non-source
|
116 |
-
form of a work.
|
117 |
-
|
118 |
-
A "Standard Interface" means an interface that either is an official
|
119 |
-
standard defined by a recognized standards body, or, in the case of
|
120 |
-
interfaces specified for a particular programming language, one that
|
121 |
-
is widely used among developers working in that language.
|
122 |
-
|
123 |
-
The "System Libraries" of an executable work include anything, other
|
124 |
-
than the work as a whole, that (a) is included in the normal form of
|
125 |
-
packaging a Major Component, but which is not part of that Major
|
126 |
-
Component, and (b) serves only to enable use of the work with that
|
127 |
-
Major Component, or to implement a Standard Interface for which an
|
128 |
-
implementation is available to the public in source code form. A
|
129 |
-
"Major Component", in this context, means a major essential component
|
130 |
-
(kernel, window system, and so on) of the specific operating system
|
131 |
-
(if any) on which the executable work runs, or a compiler used to
|
132 |
-
produce the work, or an object code interpreter used to run it.
|
133 |
-
|
134 |
-
The "Corresponding Source" for a work in object code form means all
|
135 |
-
the source code needed to generate, install, and (for an executable
|
136 |
-
work) run the object code and to modify the work, including scripts to
|
137 |
-
control those activities. However, it does not include the work's
|
138 |
-
System Libraries, or general-purpose tools or generally available free
|
139 |
-
programs which are used unmodified in performing those activities but
|
140 |
-
which are not part of the work. For example, Corresponding Source
|
141 |
-
includes interface definition files associated with source files for
|
142 |
-
the work, and the source code for shared libraries and dynamically
|
143 |
-
linked subprograms that the work is specifically designed to require,
|
144 |
-
such as by intimate data communication or control flow between those
|
145 |
-
subprograms and other parts of the work.
|
146 |
-
|
147 |
-
The Corresponding Source need not include anything that users
|
148 |
-
can regenerate automatically from other parts of the Corresponding
|
149 |
-
Source.
|
150 |
-
|
151 |
-
The Corresponding Source for a work in source code form is that
|
152 |
-
same work.
|
153 |
-
|
154 |
-
2. Basic Permissions.
|
155 |
-
|
156 |
-
All rights granted under this License are granted for the term of
|
157 |
-
copyright on the Program, and are irrevocable provided the stated
|
158 |
-
conditions are met. This License explicitly affirms your unlimited
|
159 |
-
permission to run the unmodified Program. The output from running a
|
160 |
-
covered work is covered by this License only if the output, given its
|
161 |
-
content, constitutes a covered work. This License acknowledges your
|
162 |
-
rights of fair use or other equivalent, as provided by copyright law.
|
163 |
-
|
164 |
-
You may make, run and propagate covered works that you do not
|
165 |
-
convey, without conditions so long as your license otherwise remains
|
166 |
-
in force. You may convey covered works to others for the sole purpose
|
167 |
-
of having them make modifications exclusively for you, or provide you
|
168 |
-
with facilities for running those works, provided that you comply with
|
169 |
-
the terms of this License in conveying all material for which you do
|
170 |
-
not control copyright. Those thus making or running the covered works
|
171 |
-
for you must do so exclusively on your behalf, under your direction
|
172 |
-
and control, on terms that prohibit them from making any copies of
|
173 |
-
your copyrighted material outside their relationship with you.
|
174 |
-
|
175 |
-
Conveying under any other circumstances is permitted solely under
|
176 |
-
the conditions stated below. Sublicensing is not allowed; section 10
|
177 |
-
makes it unnecessary.
|
178 |
-
|
179 |
-
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
180 |
-
|
181 |
-
No covered work shall be deemed part of an effective technological
|
182 |
-
measure under any applicable law fulfilling obligations under article
|
183 |
-
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
184 |
-
similar laws prohibiting or restricting circumvention of such
|
185 |
-
measures.
|
186 |
-
|
187 |
-
When you convey a covered work, you waive any legal power to forbid
|
188 |
-
circumvention of technological measures to the extent such circumvention
|
189 |
-
is effected by exercising rights under this License with respect to
|
190 |
-
the covered work, and you disclaim any intention to limit operation or
|
191 |
-
modification of the work as a means of enforcing, against the work's
|
192 |
-
users, your or third parties' legal rights to forbid circumvention of
|
193 |
-
technological measures.
|
194 |
-
|
195 |
-
4. Conveying Verbatim Copies.
|
196 |
-
|
197 |
-
You may convey verbatim copies of the Program's source code as you
|
198 |
-
receive it, in any medium, provided that you conspicuously and
|
199 |
-
appropriately publish on each copy an appropriate copyright notice;
|
200 |
-
keep intact all notices stating that this License and any
|
201 |
-
non-permissive terms added in accord with section 7 apply to the code;
|
202 |
-
keep intact all notices of the absence of any warranty; and give all
|
203 |
-
recipients a copy of this License along with the Program.
|
204 |
-
|
205 |
-
You may charge any price or no price for each copy that you convey,
|
206 |
-
and you may offer support or warranty protection for a fee.
|
207 |
-
|
208 |
-
5. Conveying Modified Source Versions.
|
209 |
-
|
210 |
-
You may convey a work based on the Program, or the modifications to
|
211 |
-
produce it from the Program, in the form of source code under the
|
212 |
-
terms of section 4, provided that you also meet all of these conditions:
|
213 |
-
|
214 |
-
a) The work must carry prominent notices stating that you modified
|
215 |
-
it, and giving a relevant date.
|
216 |
-
|
217 |
-
b) The work must carry prominent notices stating that it is
|
218 |
-
released under this License and any conditions added under section
|
219 |
-
7. This requirement modifies the requirement in section 4 to
|
220 |
-
"keep intact all notices".
|
221 |
-
|
222 |
-
c) You must license the entire work, as a whole, under this
|
223 |
-
License to anyone who comes into possession of a copy. This
|
224 |
-
License will therefore apply, along with any applicable section 7
|
225 |
-
additional terms, to the whole of the work, and all its parts,
|
226 |
-
regardless of how they are packaged. This License gives no
|
227 |
-
permission to license the work in any other way, but it does not
|
228 |
-
invalidate such permission if you have separately received it.
|
229 |
-
|
230 |
-
d) If the work has interactive user interfaces, each must display
|
231 |
-
Appropriate Legal Notices; however, if the Program has interactive
|
232 |
-
interfaces that do not display Appropriate Legal Notices, your
|
233 |
-
work need not make them do so.
|
234 |
-
|
235 |
-
A compilation of a covered work with other separate and independent
|
236 |
-
works, which are not by their nature extensions of the covered work,
|
237 |
-
and which are not combined with it such as to form a larger program,
|
238 |
-
in or on a volume of a storage or distribution medium, is called an
|
239 |
-
"aggregate" if the compilation and its resulting copyright are not
|
240 |
-
used to limit the access or legal rights of the compilation's users
|
241 |
-
beyond what the individual works permit. Inclusion of a covered work
|
242 |
-
in an aggregate does not cause this License to apply to the other
|
243 |
-
parts of the aggregate.
|
244 |
-
|
245 |
-
6. Conveying Non-Source Forms.
|
246 |
-
|
247 |
-
You may convey a covered work in object code form under the terms
|
248 |
-
of sections 4 and 5, provided that you also convey the
|
249 |
-
machine-readable Corresponding Source under the terms of this License,
|
250 |
-
in one of these ways:
|
251 |
-
|
252 |
-
a) Convey the object code in, or embodied in, a physical product
|
253 |
-
(including a physical distribution medium), accompanied by the
|
254 |
-
Corresponding Source fixed on a durable physical medium
|
255 |
-
customarily used for software interchange.
|
256 |
-
|
257 |
-
b) Convey the object code in, or embodied in, a physical product
|
258 |
-
(including a physical distribution medium), accompanied by a
|
259 |
-
written offer, valid for at least three years and valid for as
|
260 |
-
long as you offer spare parts or customer support for that product
|
261 |
-
model, to give anyone who possesses the object code either (1) a
|
262 |
-
copy of the Corresponding Source for all the software in the
|
263 |
-
product that is covered by this License, on a durable physical
|
264 |
-
medium customarily used for software interchange, for a price no
|
265 |
-
more than your reasonable cost of physically performing this
|
266 |
-
conveying of source, or (2) access to copy the
|
267 |
-
Corresponding Source from a network server at no charge.
|
268 |
-
|
269 |
-
c) Convey individual copies of the object code with a copy of the
|
270 |
-
written offer to provide the Corresponding Source. This
|
271 |
-
alternative is allowed only occasionally and noncommercially, and
|
272 |
-
only if you received the object code with such an offer, in accord
|
273 |
-
with subsection 6b.
|
274 |
-
|
275 |
-
d) Convey the object code by offering access from a designated
|
276 |
-
place (gratis or for a charge), and offer equivalent access to the
|
277 |
-
Corresponding Source in the same way through the same place at no
|
278 |
-
further charge. You need not require recipients to copy the
|
279 |
-
Corresponding Source along with the object code. If the place to
|
280 |
-
copy the object code is a network server, the Corresponding Source
|
281 |
-
may be on a different server (operated by you or a third party)
|
282 |
-
that supports equivalent copying facilities, provided you maintain
|
283 |
-
clear directions next to the object code saying where to find the
|
284 |
-
Corresponding Source. Regardless of what server hosts the
|
285 |
-
Corresponding Source, you remain obligated to ensure that it is
|
286 |
-
available for as long as needed to satisfy these requirements.
|
287 |
-
|
288 |
-
e) Convey the object code using peer-to-peer transmission, provided
|
289 |
-
you inform other peers where the object code and Corresponding
|
290 |
-
Source of the work are being offered to the general public at no
|
291 |
-
charge under subsection 6d.
|
292 |
-
|
293 |
-
A separable portion of the object code, whose source code is excluded
|
294 |
-
from the Corresponding Source as a System Library, need not be
|
295 |
-
included in conveying the object code work.
|
296 |
-
|
297 |
-
A "User Product" is either (1) a "consumer product", which means any
|
298 |
-
tangible personal property which is normally used for personal, family,
|
299 |
-
or household purposes, or (2) anything designed or sold for incorporation
|
300 |
-
into a dwelling. In determining whether a product is a consumer product,
|
301 |
-
doubtful cases shall be resolved in favor of coverage. For a particular
|
302 |
-
product received by a particular user, "normally used" refers to a
|
303 |
-
typical or common use of that class of product, regardless of the status
|
304 |
-
of the particular user or of the way in which the particular user
|
305 |
-
actually uses, or expects or is expected to use, the product. A product
|
306 |
-
is a consumer product regardless of whether the product has substantial
|
307 |
-
commercial, industrial or non-consumer uses, unless such uses represent
|
308 |
-
the only significant mode of use of the product.
|
309 |
-
|
310 |
-
"Installation Information" for a User Product means any methods,
|
311 |
-
procedures, authorization keys, or other information required to install
|
312 |
-
and execute modified versions of a covered work in that User Product from
|
313 |
-
a modified version of its Corresponding Source. The information must
|
314 |
-
suffice to ensure that the continued functioning of the modified object
|
315 |
-
code is in no case prevented or interfered with solely because
|
316 |
-
modification has been made.
|
317 |
-
|
318 |
-
If you convey an object code work under this section in, or with, or
|
319 |
-
specifically for use in, a User Product, and the conveying occurs as
|
320 |
-
part of a transaction in which the right of possession and use of the
|
321 |
-
User Product is transferred to the recipient in perpetuity or for a
|
322 |
-
fixed term (regardless of how the transaction is characterized), the
|
323 |
-
Corresponding Source conveyed under this section must be accompanied
|
324 |
-
by the Installation Information. But this requirement does not apply
|
325 |
-
if neither you nor any third party retains the ability to install
|
326 |
-
modified object code on the User Product (for example, the work has
|
327 |
-
been installed in ROM).
|
328 |
-
|
329 |
-
The requirement to provide Installation Information does not include a
|
330 |
-
requirement to continue to provide support service, warranty, or updates
|
331 |
-
for a work that has been modified or installed by the recipient, or for
|
332 |
-
the User Product in which it has been modified or installed. Access to a
|
333 |
-
network may be denied when the modification itself materially and
|
334 |
-
adversely affects the operation of the network or violates the rules and
|
335 |
-
protocols for communication across the network.
|
336 |
-
|
337 |
-
Corresponding Source conveyed, and Installation Information provided,
|
338 |
-
in accord with this section must be in a format that is publicly
|
339 |
-
documented (and with an implementation available to the public in
|
340 |
-
source code form), and must require no special password or key for
|
341 |
-
unpacking, reading or copying.
|
342 |
-
|
343 |
-
7. Additional Terms.
|
344 |
-
|
345 |
-
"Additional permissions" are terms that supplement the terms of this
|
346 |
-
License by making exceptions from one or more of its conditions.
|
347 |
-
Additional permissions that are applicable to the entire Program shall
|
348 |
-
be treated as though they were included in this License, to the extent
|
349 |
-
that they are valid under applicable law. If additional permissions
|
350 |
-
apply only to part of the Program, that part may be used separately
|
351 |
-
under those permissions, but the entire Program remains governed by
|
352 |
-
this License without regard to the additional permissions.
|
353 |
-
|
354 |
-
When you convey a copy of a covered work, you may at your option
|
355 |
-
remove any additional permissions from that copy, or from any part of
|
356 |
-
it. (Additional permissions may be written to require their own
|
357 |
-
removal in certain cases when you modify the work.) You may place
|
358 |
-
additional permissions on material, added by you to a covered work,
|
359 |
-
for which you have or can give appropriate copyright permission.
|
360 |
-
|
361 |
-
Notwithstanding any other provision of this License, for material you
|
362 |
-
add to a covered work, you may (if authorized by the copyright holders of
|
363 |
-
that material) supplement the terms of this License with terms:
|
364 |
-
|
365 |
-
a) Disclaiming warranty or limiting liability differently from the
|
366 |
-
terms of sections 15 and 16 of this License; or
|
367 |
-
|
368 |
-
b) Requiring preservation of specified reasonable legal notices or
|
369 |
-
author attributions in that material or in the Appropriate Legal
|
370 |
-
Notices displayed by works containing it; or
|
371 |
-
|
372 |
-
c) Prohibiting misrepresentation of the origin of that material, or
|
373 |
-
requiring that modified versions of such material be marked in
|
374 |
-
reasonable ways as different from the original version; or
|
375 |
-
|
376 |
-
d) Limiting the use for publicity purposes of names of licensors or
|
377 |
-
authors of the material; or
|
378 |
-
|
379 |
-
e) Declining to grant rights under trademark law for use of some
|
380 |
-
trade names, trademarks, or service marks; or
|
381 |
-
|
382 |
-
f) Requiring indemnification of licensors and authors of that
|
383 |
-
material by anyone who conveys the material (or modified versions of
|
384 |
-
it) with contractual assumptions of liability to the recipient, for
|
385 |
-
any liability that these contractual assumptions directly impose on
|
386 |
-
those licensors and authors.
|
387 |
-
|
388 |
-
All other non-permissive additional terms are considered "further
|
389 |
-
restrictions" within the meaning of section 10. If the Program as you
|
390 |
-
received it, or any part of it, contains a notice stating that it is
|
391 |
-
governed by this License along with a term that is a further
|
392 |
-
restriction, you may remove that term. If a license document contains
|
393 |
-
a further restriction but permits relicensing or conveying under this
|
394 |
-
License, you may add to a covered work material governed by the terms
|
395 |
-
of that license document, provided that the further restriction does
|
396 |
-
not survive such relicensing or conveying.
|
397 |
-
|
398 |
-
If you add terms to a covered work in accord with this section, you
|
399 |
-
must place, in the relevant source files, a statement of the
|
400 |
-
additional terms that apply to those files, or a notice indicating
|
401 |
-
where to find the applicable terms.
|
402 |
-
|
403 |
-
Additional terms, permissive or non-permissive, may be stated in the
|
404 |
-
form of a separately written license, or stated as exceptions;
|
405 |
-
the above requirements apply either way.
|
406 |
-
|
407 |
-
8. Termination.
|
408 |
-
|
409 |
-
You may not propagate or modify a covered work except as expressly
|
410 |
-
provided under this License. Any attempt otherwise to propagate or
|
411 |
-
modify it is void, and will automatically terminate your rights under
|
412 |
-
this License (including any patent licenses granted under the third
|
413 |
-
paragraph of section 11).
|
414 |
-
|
415 |
-
However, if you cease all violation of this License, then your
|
416 |
-
license from a particular copyright holder is reinstated (a)
|
417 |
-
provisionally, unless and until the copyright holder explicitly and
|
418 |
-
finally terminates your license, and (b) permanently, if the copyright
|
419 |
-
holder fails to notify you of the violation by some reasonable means
|
420 |
-
prior to 60 days after the cessation.
|
421 |
-
|
422 |
-
Moreover, your license from a particular copyright holder is
|
423 |
-
reinstated permanently if the copyright holder notifies you of the
|
424 |
-
violation by some reasonable means, this is the first time you have
|
425 |
-
received notice of violation of this License (for any work) from that
|
426 |
-
copyright holder, and you cure the violation prior to 30 days after
|
427 |
-
your receipt of the notice.
|
428 |
-
|
429 |
-
Termination of your rights under this section does not terminate the
|
430 |
-
licenses of parties who have received copies or rights from you under
|
431 |
-
this License. If your rights have been terminated and not permanently
|
432 |
-
reinstated, you do not qualify to receive new licenses for the same
|
433 |
-
material under section 10.
|
434 |
-
|
435 |
-
9. Acceptance Not Required for Having Copies.
|
436 |
-
|
437 |
-
You are not required to accept this License in order to receive or
|
438 |
-
run a copy of the Program. Ancillary propagation of a covered work
|
439 |
-
occurring solely as a consequence of using peer-to-peer transmission
|
440 |
-
to receive a copy likewise does not require acceptance. However,
|
441 |
-
nothing other than this License grants you permission to propagate or
|
442 |
-
modify any covered work. These actions infringe copyright if you do
|
443 |
-
not accept this License. Therefore, by modifying or propagating a
|
444 |
-
covered work, you indicate your acceptance of this License to do so.
|
445 |
-
|
446 |
-
10. Automatic Licensing of Downstream Recipients.
|
447 |
-
|
448 |
-
Each time you convey a covered work, the recipient automatically
|
449 |
-
receives a license from the original licensors, to run, modify and
|
450 |
-
propagate that work, subject to this License. You are not responsible
|
451 |
-
for enforcing compliance by third parties with this License.
|
452 |
-
|
453 |
-
An "entity transaction" is a transaction transferring control of an
|
454 |
-
organization, or substantially all assets of one, or subdividing an
|
455 |
-
organization, or merging organizations. If propagation of a covered
|
456 |
-
work results from an entity transaction, each party to that
|
457 |
-
transaction who receives a copy of the work also receives whatever
|
458 |
-
licenses to the work the party's predecessor in interest had or could
|
459 |
-
give under the previous paragraph, plus a right to possession of the
|
460 |
-
Corresponding Source of the work from the predecessor in interest, if
|
461 |
-
the predecessor has it or can get it with reasonable efforts.
|
462 |
-
|
463 |
-
You may not impose any further restrictions on the exercise of the
|
464 |
-
rights granted or affirmed under this License. For example, you may
|
465 |
-
not impose a license fee, royalty, or other charge for exercise of
|
466 |
-
rights granted under this License, and you may not initiate litigation
|
467 |
-
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
468 |
-
any patent claim is infringed by making, using, selling, offering for
|
469 |
-
sale, or importing the Program or any portion of it.
|
470 |
-
|
471 |
-
11. Patents.
|
472 |
-
|
473 |
-
A "contributor" is a copyright holder who authorizes use under this
|
474 |
-
License of the Program or a work on which the Program is based. The
|
475 |
-
work thus licensed is called the contributor's "contributor version".
|
476 |
-
|
477 |
-
A contributor's "essential patent claims" are all patent claims
|
478 |
-
owned or controlled by the contributor, whether already acquired or
|
479 |
-
hereafter acquired, that would be infringed by some manner, permitted
|
480 |
-
by this License, of making, using, or selling its contributor version,
|
481 |
-
but do not include claims that would be infringed only as a
|
482 |
-
consequence of further modification of the contributor version. For
|
483 |
-
purposes of this definition, "control" includes the right to grant
|
484 |
-
patent sublicenses in a manner consistent with the requirements of
|
485 |
-
this License.
|
486 |
-
|
487 |
-
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
488 |
-
patent license under the contributor's essential patent claims, to
|
489 |
-
make, use, sell, offer for sale, import and otherwise run, modify and
|
490 |
-
propagate the contents of its contributor version.
|
491 |
-
|
492 |
-
In the following three paragraphs, a "patent license" is any express
|
493 |
-
agreement or commitment, however denominated, not to enforce a patent
|
494 |
-
(such as an express permission to practice a patent or covenant not to
|
495 |
-
sue for patent infringement). To "grant" such a patent license to a
|
496 |
-
party means to make such an agreement or commitment not to enforce a
|
497 |
-
patent against the party.
|
498 |
-
|
499 |
-
If you convey a covered work, knowingly relying on a patent license,
|
500 |
-
and the Corresponding Source of the work is not available for anyone
|
501 |
-
to copy, free of charge and under the terms of this License, through a
|
502 |
-
publicly available network server or other readily accessible means,
|
503 |
-
then you must either (1) cause the Corresponding Source to be so
|
504 |
-
available, or (2) arrange to deprive yourself of the benefit of the
|
505 |
-
patent license for this particular work, or (3) arrange, in a manner
|
506 |
-
consistent with the requirements of this License, to extend the patent
|
507 |
-
license to downstream recipients. "Knowingly relying" means you have
|
508 |
-
actual knowledge that, but for the patent license, your conveying the
|
509 |
-
covered work in a country, or your recipient's use of the covered work
|
510 |
-
in a country, would infringe one or more identifiable patents in that
|
511 |
-
country that you have reason to believe are valid.
|
512 |
-
|
513 |
-
If, pursuant to or in connection with a single transaction or
|
514 |
-
arrangement, you convey, or propagate by procuring conveyance of, a
|
515 |
-
covered work, and grant a patent license to some of the parties
|
516 |
-
receiving the covered work authorizing them to use, propagate, modify
|
517 |
-
or convey a specific copy of the covered work, then the patent license
|
518 |
-
you grant is automatically extended to all recipients of the covered
|
519 |
-
work and works based on it.
|
520 |
-
|
521 |
-
A patent license is "discriminatory" if it does not include within
|
522 |
-
the scope of its coverage, prohibits the exercise of, or is
|
523 |
-
conditioned on the non-exercise of one or more of the rights that are
|
524 |
-
specifically granted under this License. You may not convey a covered
|
525 |
-
work if you are a party to an arrangement with a third party that is
|
526 |
-
in the business of distributing software, under which you make payment
|
527 |
-
to the third party based on the extent of your activity of conveying
|
528 |
-
the work, and under which the third party grants, to any of the
|
529 |
-
parties who would receive the covered work from you, a discriminatory
|
530 |
-
patent license (a) in connection with copies of the covered work
|
531 |
-
conveyed by you (or copies made from those copies), or (b) primarily
|
532 |
-
for and in connection with specific products or compilations that
|
533 |
-
contain the covered work, unless you entered into that arrangement,
|
534 |
-
or that patent license was granted, prior to 28 March 2007.
|
535 |
-
|
536 |
-
Nothing in this License shall be construed as excluding or limiting
|
537 |
-
any implied license or other defenses to infringement that may
|
538 |
-
otherwise be available to you under applicable patent law.
|
539 |
-
|
540 |
-
12. No Surrender of Others' Freedom.
|
541 |
-
|
542 |
-
If conditions are imposed on you (whether by court order, agreement or
|
543 |
-
otherwise) that contradict the conditions of this License, they do not
|
544 |
-
excuse you from the conditions of this License. If you cannot convey a
|
545 |
-
covered work so as to satisfy simultaneously your obligations under this
|
546 |
-
License and any other pertinent obligations, then as a consequence you may
|
547 |
-
not convey it at all. For example, if you agree to terms that obligate you
|
548 |
-
to collect a royalty for further conveying from those to whom you convey
|
549 |
-
the Program, the only way you could satisfy both those terms and this
|
550 |
-
License would be to refrain entirely from conveying the Program.
|
551 |
-
|
552 |
-
13. Use with the GNU Affero General Public License.
|
553 |
-
|
554 |
-
Notwithstanding any other provision of this License, you have
|
555 |
-
permission to link or combine any covered work with a work licensed
|
556 |
-
under version 3 of the GNU Affero General Public License into a single
|
557 |
-
combined work, and to convey the resulting work. The terms of this
|
558 |
-
License will continue to apply to the part which is the covered work,
|
559 |
-
but the special requirements of the GNU Affero General Public License,
|
560 |
-
section 13, concerning interaction through a network will apply to the
|
561 |
-
combination as such.
|
562 |
-
|
563 |
-
14. Revised Versions of this License.
|
564 |
-
|
565 |
-
The Free Software Foundation may publish revised and/or new versions of
|
566 |
-
the GNU General Public License from time to time. Such new versions will
|
567 |
-
be similar in spirit to the present version, but may differ in detail to
|
568 |
-
address new problems or concerns.
|
569 |
-
|
570 |
-
Each version is given a distinguishing version number. If the
|
571 |
-
Program specifies that a certain numbered version of the GNU General
|
572 |
-
Public License "or any later version" applies to it, you have the
|
573 |
-
option of following the terms and conditions either of that numbered
|
574 |
-
version or of any later version published by the Free Software
|
575 |
-
Foundation. If the Program does not specify a version number of the
|
576 |
-
GNU General Public License, you may choose any version ever published
|
577 |
-
by the Free Software Foundation.
|
578 |
-
|
579 |
-
If the Program specifies that a proxy can decide which future
|
580 |
-
versions of the GNU General Public License can be used, that proxy's
|
581 |
-
public statement of acceptance of a version permanently authorizes you
|
582 |
-
to choose that version for the Program.
|
583 |
-
|
584 |
-
Later license versions may give you additional or different
|
585 |
-
permissions. However, no additional obligations are imposed on any
|
586 |
-
author or copyright holder as a result of your choosing to follow a
|
587 |
-
later version.
|
588 |
-
|
589 |
-
15. Disclaimer of Warranty.
|
590 |
-
|
591 |
-
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
592 |
-
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
593 |
-
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
594 |
-
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
595 |
-
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
596 |
-
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
597 |
-
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
598 |
-
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
599 |
-
|
600 |
-
16. Limitation of Liability.
|
601 |
-
|
602 |
-
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
603 |
-
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
604 |
-
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
605 |
-
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
606 |
-
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
607 |
-
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
608 |
-
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
609 |
-
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
610 |
-
SUCH DAMAGES.
|
611 |
-
|
612 |
-
17. Interpretation of Sections 15 and 16.
|
613 |
-
|
614 |
-
If the disclaimer of warranty and limitation of liability provided
|
615 |
-
above cannot be given local legal effect according to their terms,
|
616 |
-
reviewing courts shall apply local law that most closely approximates
|
617 |
-
an absolute waiver of all civil liability in connection with the
|
618 |
-
Program, unless a warranty or assumption of liability accompanies a
|
619 |
-
copy of the Program in return for a fee.
|
620 |
-
|
621 |
-
END OF TERMS AND CONDITIONS
|
622 |
-
|
623 |
-
How to Apply These Terms to Your New Programs
|
624 |
-
|
625 |
-
If you develop a new program, and you want it to be of the greatest
|
626 |
-
possible use to the public, the best way to achieve this is to make it
|
627 |
-
free software which everyone can redistribute and change under these terms.
|
628 |
-
|
629 |
-
To do so, attach the following notices to the program. It is safest
|
630 |
-
to attach them to the start of each source file to most effectively
|
631 |
-
state the exclusion of warranty; and each file should have at least
|
632 |
-
the "copyright" line and a pointer to where the full notice is found.
|
633 |
-
|
634 |
-
{one line to give the program's name and a brief idea of what it does.}
|
635 |
-
Copyright (C) {year} {name of author}
|
636 |
-
|
637 |
-
This program is free software: you can redistribute it and/or modify
|
638 |
-
it under the terms of the GNU General Public License as published by
|
639 |
-
the Free Software Foundation, either version 3 of the License, or
|
640 |
-
(at your option) any later version.
|
641 |
-
|
642 |
-
This program is distributed in the hope that it will be useful,
|
643 |
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
644 |
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
645 |
-
GNU General Public License for more details.
|
646 |
-
|
647 |
-
You should have received a copy of the GNU General Public License
|
648 |
-
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
649 |
-
|
650 |
-
Also add information on how to contact you by electronic and paper mail.
|
651 |
-
|
652 |
-
If the program does terminal interaction, make it output a short
|
653 |
-
notice like this when it starts in an interactive mode:
|
654 |
-
|
655 |
-
{project} Copyright (C) {year} {fullname}
|
656 |
-
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
657 |
-
This is free software, and you are welcome to redistribute it
|
658 |
-
under certain conditions; type `show c' for details.
|
659 |
-
|
660 |
-
The hypothetical commands `show w' and `show c' should show the appropriate
|
661 |
-
parts of the General Public License. Of course, your program's commands
|
662 |
-
might be different; for a GUI interface, you would use an "about box".
|
663 |
-
|
664 |
-
You should also get your employer (if you work as a programmer) or school,
|
665 |
-
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
666 |
-
For more information on this, and how to apply and follow the GNU GPL, see
|
667 |
-
<http://www.gnu.org/licenses/>.
|
668 |
-
|
669 |
-
The GNU General Public License does not permit incorporating your program
|
670 |
-
into proprietary programs. If your program is a subroutine library, you
|
671 |
-
may consider it more useful to permit linking proprietary applications with
|
672 |
-
the library. If this is what you want to do, use the GNU Lesser General
|
673 |
-
Public License instead of this License. But first, please read
|
674 |
-
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cherry-framework/README.md
DELETED
@@ -1,18 +0,0 @@
|
|
1 |
-
[![license](https://img.shields.io/badge/license-GPL--v.3.0%2B-blue.svg?style=flat-square)](https://github.com/CherryFramework/cherry-framework/blob/master/LICENSE)
|
2 |
-
[![Build Status](https://travis-ci.org/CherryFramework/cherry-framework.svg?branch=master)](https://travis-ci.org/CherryFramework/cherry-framework)
|
3 |
-
|
4 |
-
# cherry-framework
|
5 |
-
Module system.
|
6 |
-
|
7 |
-
## Authors
|
8 |
-
|
9 |
-
* [@MaksimTS](https://github.com/MaksimTS) - **Manager**
|
10 |
-
* [@Cheh](https://github.com/cheh) - **Developer**
|
11 |
-
* [@dkfiresky](https://github.com/dkfiresky) - **Developer**
|
12 |
-
* [@Behaart](https://github.com/MakhonkoDenis) - **Developer**
|
13 |
-
* [@MjHead](https://github.com/MjHead) - **Developer**
|
14 |
-
* [@Sargas](https://github.com/SargasTM) - **Developer**
|
15 |
-
* [@Shin](https://github.com/shinTM) - **Developer**
|
16 |
-
|
17 |
-
## Help
|
18 |
-
Found a bug? Feature requests? [Create an issue - Thanks!](https://github.com/CherryFramework/cherry-framework/issues/new)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cherry-framework/cherry-core.php
CHANGED
@@ -1,14 +1,14 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Class Cherry Core
|
4 |
-
* Version: 1.
|
5 |
*
|
6 |
* @package Cherry_Framework
|
7 |
* @subpackage Class
|
8 |
* @author Cherry Team <cherryframework@gmail.com>
|
9 |
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
10 |
* @link http://www.cherryframework.com/
|
11 |
-
* @license http://www.gnu.org/licenses/
|
12 |
*/
|
13 |
|
14 |
// If this file is called directly, abort.
|
@@ -87,6 +87,9 @@ if ( ! class_exists( 'Cherry_Core' ) ) {
|
|
87 |
add_action( 'after_setup_theme', array( 'Cherry_Core', 'load_all_modules' ), 2 );
|
88 |
add_action( 'after_setup_theme', array( $this, 'init_required_modules' ), 2 );
|
89 |
|
|
|
|
|
|
|
90 |
// Init modules with autoload seted up into true.
|
91 |
add_action( 'after_setup_theme', array( $this, 'init_autoload_modules' ), 9999 );
|
92 |
|
@@ -165,6 +168,17 @@ if ( ! class_exists( 'Cherry_Core' ) ) {
|
|
165 |
}
|
166 |
}
|
167 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
/**
|
169 |
* Init a required modules.
|
170 |
*
|
1 |
<?php
|
2 |
/**
|
3 |
* Class Cherry Core
|
4 |
+
* Version: 1.4.0
|
5 |
*
|
6 |
* @package Cherry_Framework
|
7 |
* @subpackage Class
|
8 |
* @author Cherry Team <cherryframework@gmail.com>
|
9 |
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
10 |
* @link http://www.cherryframework.com/
|
11 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.en.html
|
12 |
*/
|
13 |
|
14 |
// If this file is called directly, abort.
|
87 |
add_action( 'after_setup_theme', array( 'Cherry_Core', 'load_all_modules' ), 2 );
|
88 |
add_action( 'after_setup_theme', array( $this, 'init_required_modules' ), 2 );
|
89 |
|
90 |
+
// Load the framework textdomain.
|
91 |
+
add_action( 'after_setup_theme', array( $this, 'load_textdomain' ), 10 );
|
92 |
+
|
93 |
// Init modules with autoload seted up into true.
|
94 |
add_action( 'after_setup_theme', array( $this, 'init_autoload_modules' ), 9999 );
|
95 |
|
168 |
}
|
169 |
}
|
170 |
|
171 |
+
/**
|
172 |
+
* Load the framework textdomain.
|
173 |
+
*
|
174 |
+
* @since 1.4.0
|
175 |
+
*/
|
176 |
+
public function load_textdomain() {
|
177 |
+
$mo_file_path = dirname( __FILE__ ) . '/languages/' . get_locale() . '.mo';
|
178 |
+
|
179 |
+
load_textdomain( 'cherry-framework', $mo_file_path );
|
180 |
+
}
|
181 |
+
|
182 |
/**
|
183 |
* Init a required modules.
|
184 |
*
|
cherry-framework/codesniffer.ruleset.xml
DELETED
@@ -1,24 +0,0 @@
|
|
1 |
-
<?xml version="1.0"?>
|
2 |
-
<ruleset name="WordPress Theme Coding Standards">
|
3 |
-
<!-- See https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml -->
|
4 |
-
<!-- See https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/blob/develop/WordPress-Core/ruleset.xml -->
|
5 |
-
|
6 |
-
<!-- Set a description for this ruleset. -->
|
7 |
-
<description>A custom set of code standard rules to check for WordPress themes.</description>
|
8 |
-
|
9 |
-
<!-- Include the WordPress ruleset, with space for exclusions if necessary. -->
|
10 |
-
<rule ref="WordPress-Core">
|
11 |
-
<exclude name="Generic.WhiteSpace.ScopeIndent.Incorrect" />
|
12 |
-
<exclude name="Generic.WhiteSpace.ScopeIndent.IncorrectExact" />
|
13 |
-
|
14 |
-
<exclude name="PEAR.Functions.FunctionCallSignature.Indent" />
|
15 |
-
|
16 |
-
<exclude name="Squiz.Commenting.FileComment.SpacingAfterComment" />
|
17 |
-
<exclude name="Squiz.Commenting.FunctionComment.MissingParamTag" />
|
18 |
-
<exclude name="Squiz.Commenting.InlineComment.InvalidEndChar" />
|
19 |
-
<exclude name="Squiz.Commenting.InlineComment.NotCapital" />
|
20 |
-
</rule>
|
21 |
-
<rule ref="WordPress-Docs">
|
22 |
-
|
23 |
-
</rule>
|
24 |
-
</ruleset>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cherry-framework/config.json
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
{
|
2 |
"name" : "Cherry Framework",
|
3 |
-
"version" : "1.
|
4 |
"description" : "",
|
5 |
-
"doc_link" : "",
|
6 |
"git_link" : "https://github.com/CherryFramework/cherry-framework",
|
7 |
"modules" : {
|
8 |
"cherry-breadcrumbs" : {
|
@@ -20,18 +20,29 @@
|
|
20 |
"name" : "Customizer API",
|
21 |
"description" : "Customizer functionality.",
|
22 |
"version" : "1.1.5",
|
23 |
-
"doc_link" : "",
|
24 |
"git_link" : "https://github.com/CherryFramework/cherry-framework/tree/master/modules/cherry-customizer",
|
25 |
"compatible" : ["theme", "plugin"],
|
26 |
"wordpress_org" : true,
|
27 |
"required" : false,
|
28 |
"dependencies" : []
|
29 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
"cherry-dynamic-css" : {
|
31 |
"name" : "Dynamic CSS",
|
32 |
"description" : "Generate CSS.",
|
33 |
"version" : "1.2.2",
|
34 |
-
"doc_link" : "",
|
35 |
"git_link" : "https://github.com/CherryFramework/cherry-framework/tree/master/modules/cherry-dynamic-css",
|
36 |
"compatible" : ["theme", "plugin"],
|
37 |
"wordpress_org" : true,
|
@@ -52,8 +63,8 @@
|
|
52 |
"cherry-handler" : {
|
53 |
"name" : "Cherry handler",
|
54 |
"description" : "Initialize handlers.",
|
55 |
-
"version" : "1.1.
|
56 |
-
"doc_link" : "",
|
57 |
"git_link" : "https://github.com/CherryFramework/cherry-framework/tree/master/modules/cherry-handler",
|
58 |
"compatible" : ["theme", "plugin"],
|
59 |
"wordpress_org" : true,
|
@@ -63,8 +74,8 @@
|
|
63 |
"cherry-interface-builder" : {
|
64 |
"name" : "Interface Builder",
|
65 |
"description" : "The module for the creation of interfaces in the WordPress admin panel.",
|
66 |
-
"version" : "1.1.
|
67 |
-
"doc_link" : "",
|
68 |
"git_link" : "https://github.com/CherryFramework/cherry-framework/tree/master/modules/cherry-interface-builder",
|
69 |
"compatible" : ["theme", "plugin"],
|
70 |
"wordpress_org" : true,
|
@@ -75,7 +86,7 @@
|
|
75 |
"name" : "JS Core",
|
76 |
"description" : "Initialize global JS object which provides additional plugin functionality.",
|
77 |
"version" : "1.1.2",
|
78 |
-
"doc_link" : "",
|
79 |
"git_link" : "https://github.com/CherryFramework/cherry-framework/tree/master/modules/cherry-js-core",
|
80 |
"compatible" : ["theme", "plugin"],
|
81 |
"wordpress_org" : true,
|
@@ -107,8 +118,8 @@
|
|
107 |
"cherry-template-manager" : {
|
108 |
"name" : "Template Manager",
|
109 |
"description" : "Module for load and parse *.tmpl files.",
|
110 |
-
"version" : "1.0.
|
111 |
-
"doc_link" : "",
|
112 |
"git_link" : "https://github.com/CherryFramework/cherry-framework/tree/master/modules/cherry-template-manager",
|
113 |
"compatible" : ["theme", "plugin"],
|
114 |
"wordpress_org" : true,
|
@@ -130,7 +141,7 @@
|
|
130 |
"name": "Framework Toolkit",
|
131 |
"description": "Framework Toolkit contains various PHP utilities",
|
132 |
"version" : "1.2.0",
|
133 |
-
"doc_link": "",
|
134 |
"git_link": "https://github.com/CherryFramework/cherry-framework/tree/master/modules/cherry-toolkit",
|
135 |
"compatible": ["theme", "plugin"],
|
136 |
"wordpress_org": true,
|
@@ -140,8 +151,8 @@
|
|
140 |
"cherry-ui-elements" : {
|
141 |
"name" : "UI Elements",
|
142 |
"description" : "UI Elements",
|
143 |
-
"version" : "1.3.
|
144 |
-
"doc_link" : "",
|
145 |
"git_link" : "https://github.com/CherryFramework/cherry-framework/tree/master/modules/cherry-ui-elements",
|
146 |
"compatible" : ["theme", "plugin"],
|
147 |
"wordpress_org" : true,
|
@@ -152,7 +163,7 @@
|
|
152 |
"name" : "Utility",
|
153 |
"description" : "Multiple utility functions.",
|
154 |
"version" : "1.1.5",
|
155 |
-
"doc_link" : "",
|
156 |
"git_link" : "https://github.com/CherryFramework/cherry-framework/tree/master/modules/cherry-utility",
|
157 |
"compatible" : ["theme", "plugin"],
|
158 |
"wordpress_org" : true,
|
@@ -163,12 +174,23 @@
|
|
163 |
"name" : "Widget Factory",
|
164 |
"description" : "Base widget class that simplifies creating of your own widgets.",
|
165 |
"version" : "1.2.1",
|
166 |
-
"doc_link" : "",
|
167 |
"git_link" : "https://github.com/CherryFramework/cherry-framework/tree/master/modules/cherry-widget-factory",
|
168 |
"compatible" : ["theme", "plugin"],
|
169 |
"wordpress_org" : true,
|
170 |
"required" : false,
|
171 |
"dependencies" : [ "cherry-ui-elements" ]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
172 |
}
|
173 |
}
|
174 |
}
|
1 |
{
|
2 |
"name" : "Cherry Framework",
|
3 |
+
"version" : "1.4.0",
|
4 |
"description" : "",
|
5 |
+
"doc_link" : "https://github.com/CherryFramework/cherry-framework-docs",
|
6 |
"git_link" : "https://github.com/CherryFramework/cherry-framework",
|
7 |
"modules" : {
|
8 |
"cherry-breadcrumbs" : {
|
20 |
"name" : "Customizer API",
|
21 |
"description" : "Customizer functionality.",
|
22 |
"version" : "1.1.5",
|
23 |
+
"doc_link" : "https://github.com/CherryFramework/cherry-framework-docs/blob/master/01.%20cherry-customizer.md",
|
24 |
"git_link" : "https://github.com/CherryFramework/cherry-framework/tree/master/modules/cherry-customizer",
|
25 |
"compatible" : ["theme", "plugin"],
|
26 |
"wordpress_org" : true,
|
27 |
"required" : false,
|
28 |
"dependencies" : []
|
29 |
},
|
30 |
+
"cherry-db-updater" : {
|
31 |
+
"name" : "Database Updater",
|
32 |
+
"description" : "Handle database updates if required.",
|
33 |
+
"version" : "1.0.0",
|
34 |
+
"doc_link" : "",
|
35 |
+
"git_link" : "https://github.com/CherryFramework/cherry-framework/tree/master/modules/cherry-db-updater",
|
36 |
+
"compatible" : ["theme", "plugin"],
|
37 |
+
"wordpress_org" : true,
|
38 |
+
"required" : false,
|
39 |
+
"dependencies" : []
|
40 |
+
},
|
41 |
"cherry-dynamic-css" : {
|
42 |
"name" : "Dynamic CSS",
|
43 |
"description" : "Generate CSS.",
|
44 |
"version" : "1.2.2",
|
45 |
+
"doc_link" : "https://github.com/CherryFramework/cherry-framework-docs/blob/master/03.%20cherry-dynamic-css.md",
|
46 |
"git_link" : "https://github.com/CherryFramework/cherry-framework/tree/master/modules/cherry-dynamic-css",
|
47 |
"compatible" : ["theme", "plugin"],
|
48 |
"wordpress_org" : true,
|
63 |
"cherry-handler" : {
|
64 |
"name" : "Cherry handler",
|
65 |
"description" : "Initialize handlers.",
|
66 |
+
"version" : "1.1.1",
|
67 |
+
"doc_link" : "https://github.com/CherryFramework/cherry-framework-docs/blob/master/02.%20cherry-handler.md",
|
68 |
"git_link" : "https://github.com/CherryFramework/cherry-framework/tree/master/modules/cherry-handler",
|
69 |
"compatible" : ["theme", "plugin"],
|
70 |
"wordpress_org" : true,
|
74 |
"cherry-interface-builder" : {
|
75 |
"name" : "Interface Builder",
|
76 |
"description" : "The module for the creation of interfaces in the WordPress admin panel.",
|
77 |
+
"version" : "1.1.2",
|
78 |
+
"doc_link" : "https://github.com/CherryFramework/cherry-framework-docs/blob/master/07.%20cherry-interface-builder.md",
|
79 |
"git_link" : "https://github.com/CherryFramework/cherry-framework/tree/master/modules/cherry-interface-builder",
|
80 |
"compatible" : ["theme", "plugin"],
|
81 |
"wordpress_org" : true,
|
86 |
"name" : "JS Core",
|
87 |
"description" : "Initialize global JS object which provides additional plugin functionality.",
|
88 |
"version" : "1.1.2",
|
89 |
+
"doc_link" : "https://github.com/CherryFramework/cherry-framework-docs/blob/master/04.%20cherry-js-core.md",
|
90 |
"git_link" : "https://github.com/CherryFramework/cherry-framework/tree/master/modules/cherry-js-core",
|
91 |
"compatible" : ["theme", "plugin"],
|
92 |
"wordpress_org" : true,
|
118 |
"cherry-template-manager" : {
|
119 |
"name" : "Template Manager",
|
120 |
"description" : "Module for load and parse *.tmpl files.",
|
121 |
+
"version" : "1.0.1",
|
122 |
+
"doc_link" : "https://github.com/CherryFramework/cherry-framework-docs/blob/master/05.%20cherry-template-manager.md",
|
123 |
"git_link" : "https://github.com/CherryFramework/cherry-framework/tree/master/modules/cherry-template-manager",
|
124 |
"compatible" : ["theme", "plugin"],
|
125 |
"wordpress_org" : true,
|
141 |
"name": "Framework Toolkit",
|
142 |
"description": "Framework Toolkit contains various PHP utilities",
|
143 |
"version" : "1.2.0",
|
144 |
+
"doc_link": "https://github.com/CherryFramework/cherry-framework-docs/blob/master/100.%20cherry-toolkit.md",
|
145 |
"git_link": "https://github.com/CherryFramework/cherry-framework/tree/master/modules/cherry-toolkit",
|
146 |
"compatible": ["theme", "plugin"],
|
147 |
"wordpress_org": true,
|
151 |
"cherry-ui-elements" : {
|
152 |
"name" : "UI Elements",
|
153 |
"description" : "UI Elements",
|
154 |
+
"version" : "1.3.4",
|
155 |
+
"doc_link" : "https://github.com/CherryFramework/cherry-framework-docs/blob/master/09.%20cherry-ui-elements.md",
|
156 |
"git_link" : "https://github.com/CherryFramework/cherry-framework/tree/master/modules/cherry-ui-elements",
|
157 |
"compatible" : ["theme", "plugin"],
|
158 |
"wordpress_org" : true,
|
163 |
"name" : "Utility",
|
164 |
"description" : "Multiple utility functions.",
|
165 |
"version" : "1.1.5",
|
166 |
+
"doc_link" : "https://github.com/CherryFramework/cherry-framework-docs/blob/master/08.%20cherry-utility.md",
|
167 |
"git_link" : "https://github.com/CherryFramework/cherry-framework/tree/master/modules/cherry-utility",
|
168 |
"compatible" : ["theme", "plugin"],
|
169 |
"wordpress_org" : true,
|
174 |
"name" : "Widget Factory",
|
175 |
"description" : "Base widget class that simplifies creating of your own widgets.",
|
176 |
"version" : "1.2.1",
|
177 |
+
"doc_link" : "https://github.com/CherryFramework/cherry-framework-docs/blob/master/06.%20cherry-widget-factory.md",
|
178 |
"git_link" : "https://github.com/CherryFramework/cherry-framework/tree/master/modules/cherry-widget-factory",
|
179 |
"compatible" : ["theme", "plugin"],
|
180 |
"wordpress_org" : true,
|
181 |
"required" : false,
|
182 |
"dependencies" : [ "cherry-ui-elements" ]
|
183 |
+
},
|
184 |
+
"cherry5-insert-shortcode" : {
|
185 |
+
"name" : "Insert Shortcode",
|
186 |
+
"description" : "The module allows you to add shortcodes from editor tinyMCE.",
|
187 |
+
"version" : "1.0.0",
|
188 |
+
"doc_link" : "",
|
189 |
+
"git_link" : "https://github.com/CherryFramework/cherry-framework/tree/master/modules/cherry5-insert-shortcode",
|
190 |
+
"compatible" : [ "plugin" ],
|
191 |
+
"wordpress_org" : true,
|
192 |
+
"required" : false,
|
193 |
+
"dependencies" : [ "cherry-ui-elements", "cherry-interface-builder" ]
|
194 |
}
|
195 |
}
|
196 |
}
|
cherry-framework/languages/cherry-framework.pot
ADDED
@@ -0,0 +1,119 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#, fuzzy
|
2 |
+
msgid ""
|
3 |
+
msgstr ""
|
4 |
+
"Project-Id-Version: cherry-framework\n"
|
5 |
+
"POT-Creation-Date: 2016-12-26 14:10+0200\n"
|
6 |
+
"PO-Revision-Date: 2016-12-09 16:29+0200\n"
|
7 |
+
"Last-Translator: \n"
|
8 |
+
"Language-Team: TemplateMonster\n"
|
9 |
+
"Language: en\n"
|
10 |
+
"MIME-Version: 1.0\n"
|
11 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
12 |
+
"Content-Transfer-Encoding: 8bit\n"
|
13 |
+
"X-Generator: Poedit 1.8.11\n"
|
14 |
+
"X-Poedit-Basepath: ..\n"
|
15 |
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
16 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_n_noop:1,2;_x:1,2c;_nx:1,2,4c;"
|
18 |
+
"_nx_noop:1,2,3c;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;"
|
19 |
+
"esc_html_e;esc_html_x:1,2c\n"
|
20 |
+
"X-Poedit-SearchPath-0: .\n"
|
21 |
+
"X-Poedit-SearchPath-1: .\n"
|
22 |
+
|
23 |
+
#: modules/cherry-breadcrumbs/cherry-breadcrumbs.php:346
|
24 |
+
msgid "Home"
|
25 |
+
msgstr ""
|
26 |
+
|
27 |
+
#: modules/cherry-breadcrumbs/cherry-breadcrumbs.php:352
|
28 |
+
msgid "Browse:"
|
29 |
+
msgstr ""
|
30 |
+
|
31 |
+
#: modules/cherry-breadcrumbs/cherry-breadcrumbs.php:354
|
32 |
+
msgid "404 Not Found"
|
33 |
+
msgstr ""
|
34 |
+
|
35 |
+
#: modules/cherry-breadcrumbs/cherry-breadcrumbs.php:355
|
36 |
+
msgid "Archives"
|
37 |
+
msgstr ""
|
38 |
+
|
39 |
+
#: modules/cherry-breadcrumbs/cherry-breadcrumbs.php:356
|
40 |
+
#, php-format
|
41 |
+
msgid "Search results for “%s”"
|
42 |
+
msgstr ""
|
43 |
+
|
44 |
+
#: modules/cherry-breadcrumbs/cherry-breadcrumbs.php:357
|
45 |
+
#, php-format
|
46 |
+
msgid "Page %s"
|
47 |
+
msgstr ""
|
48 |
+
|
49 |
+
#: modules/cherry-breadcrumbs/cherry-breadcrumbs.php:358
|
50 |
+
#, php-format
|
51 |
+
msgid "Minute %s"
|
52 |
+
msgstr ""
|
53 |
+
|
54 |
+
#: modules/cherry-breadcrumbs/cherry-breadcrumbs.php:359
|
55 |
+
#, php-format
|
56 |
+
msgid "Week %s"
|
57 |
+
msgstr ""
|
58 |
+
|
59 |
+
#: modules/cherry-customizer/cherry-customizer.php:269
|
60 |
+
msgid "Untitled Panel"
|
61 |
+
msgstr ""
|
62 |
+
|
63 |
+
#: modules/cherry-customizer/cherry-customizer.php:305
|
64 |
+
msgid "Untitled Section"
|
65 |
+
msgstr ""
|
66 |
+
|
67 |
+
#: modules/cherry-customizer/cherry-customizer.php:338
|
68 |
+
msgid "Untitled Control"
|
69 |
+
msgstr ""
|
70 |
+
|
71 |
+
#: modules/cherry-db-updater/cherry-db-updater.php:105
|
72 |
+
#, php-format
|
73 |
+
msgid ""
|
74 |
+
"Module DB Updater init error in %s - version and slug is required arguments"
|
75 |
+
msgstr ""
|
76 |
+
|
77 |
+
#: modules/cherry-db-updater/cherry-db-updater.php:106
|
78 |
+
msgid "We need to update your database to the latest version."
|
79 |
+
msgstr ""
|
80 |
+
|
81 |
+
#: modules/cherry-db-updater/cherry-db-updater.php:107
|
82 |
+
msgid "Update complete, thank you for updating to the latest version!"
|
83 |
+
msgstr ""
|
84 |
+
|
85 |
+
#: modules/cherry-db-updater/cherry-db-updater.php:331
|
86 |
+
msgid "Start Update"
|
87 |
+
msgstr ""
|
88 |
+
|
89 |
+
#: modules/cherry-db-updater/cherry-db-updater.php:368
|
90 |
+
msgid "Data Update"
|
91 |
+
msgstr ""
|
92 |
+
|
93 |
+
#: modules/cherry5-insert-shortcode/inc/class-cherry5-insertion-button.php:63
|
94 |
+
msgid "Cherry shortcodes"
|
95 |
+
msgstr ""
|
96 |
+
|
97 |
+
#: modules/cherry5-insert-shortcode/inc/class-cherry5-insertion-popup.php:128
|
98 |
+
msgid "insert shortcode"
|
99 |
+
msgstr ""
|
100 |
+
|
101 |
+
#: modules/cherry5-insert-shortcode/inc/class-cherry5-insertion-popup.php:148
|
102 |
+
msgid "Shortcode List"
|
103 |
+
msgstr ""
|
104 |
+
|
105 |
+
#: modules/cherry5-insert-shortcode/inc/class-cherry5-insertion-popup.php:206
|
106 |
+
msgid "Shortcode not found."
|
107 |
+
msgstr ""
|
108 |
+
|
109 |
+
#: modules/cherry5-insert-shortcode/inc/class-cherry5-insertion-popup.php:261
|
110 |
+
msgid "Shortcode content."
|
111 |
+
msgstr ""
|
112 |
+
|
113 |
+
#: modules/cherry5-insert-shortcode/inc/class-cherry5-insertion-popup.php:262
|
114 |
+
msgid "Input shortcode content."
|
115 |
+
msgstr ""
|
116 |
+
|
117 |
+
#: modules/cherry5-insert-shortcode/inc/class-cherry5-insertion-popup.php:277
|
118 |
+
msgid "Shortcode not a have options."
|
119 |
+
msgstr ""
|
cherry-framework/modules/cherry-breadcrumbs/cherry-breadcrumbs.php
CHANGED
@@ -343,20 +343,20 @@ if ( ! class_exists( 'Cherry_Breadcrumbs' ) ) {
|
|
343 |
}
|
344 |
|
345 |
if ( $use_custom_front_title ) {
|
346 |
-
$default = 'Home';
|
347 |
$page_on_front_title = $default;
|
348 |
$page_on_front_title = $this->prepare_label( $page_on_front_title, $default );
|
349 |
}
|
350 |
|
351 |
$labels = array(
|
352 |
-
'browse' => 'Browse:',
|
353 |
'home' => $page_on_front_title,
|
354 |
-
'error_404' => '404 Not Found',
|
355 |
-
'archives' => 'Archives',
|
356 |
-
'search' => 'Search results for “%s”',
|
357 |
-
'paged' => 'Page %s',
|
358 |
-
'archive_minute' => 'Minute %s',
|
359 |
-
'archive_week' => 'Week %s',
|
360 |
|
361 |
/* "%s" is replaced with the translated date/time format. */
|
362 |
'archive_minute_hour' => '%s',
|
@@ -1446,7 +1446,17 @@ if ( ! class_exists( 'Cherry_Breadcrumbs' ) ) {
|
|
1446 |
if ( $terms ) {
|
1447 |
|
1448 |
/* Sort the terms by ID and get the first category. */
|
1449 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1450 |
$term = get_term( $terms[0], 'category' );
|
1451 |
|
1452 |
/* If the category has a parent, add the hierarchy to the trail. */
|
343 |
}
|
344 |
|
345 |
if ( $use_custom_front_title ) {
|
346 |
+
$default = esc_html__( 'Home', 'cherry-framework' );
|
347 |
$page_on_front_title = $default;
|
348 |
$page_on_front_title = $this->prepare_label( $page_on_front_title, $default );
|
349 |
}
|
350 |
|
351 |
$labels = array(
|
352 |
+
'browse' => esc_html__( 'Browse:', 'cherry-framework' ),
|
353 |
'home' => $page_on_front_title,
|
354 |
+
'error_404' => esc_html__( '404 Not Found', 'cherry-framework' ),
|
355 |
+
'archives' => esc_html__( 'Archives', 'cherry-framework' ),
|
356 |
+
'search' => esc_html__( 'Search results for “%s”', 'cherry-framework' ),
|
357 |
+
'paged' => esc_html__( 'Page %s', 'cherry-framework' ),
|
358 |
+
'archive_minute' => esc_html__( 'Minute %s', 'cherry-framework' ),
|
359 |
+
'archive_week' => esc_html__( 'Week %s', 'cherry-framework' ),
|
360 |
|
361 |
/* "%s" is replaced with the translated date/time format. */
|
362 |
'archive_minute_hour' => '%s',
|
1446 |
if ( $terms ) {
|
1447 |
|
1448 |
/* Sort the terms by ID and get the first category. */
|
1449 |
+
if ( function_exists( 'wp_list_sort' ) ) {
|
1450 |
+
$terms = wp_list_sort( $terms, array(
|
1451 |
+
'term_id' => 'ASC',
|
1452 |
+
) );
|
1453 |
+
|
1454 |
+
} else {
|
1455 |
+
|
1456 |
+
// Backward compatibility with WordPress 4.6 or later.
|
1457 |
+
usort( $terms, '_usort_terms_by_ID' );
|
1458 |
+
}
|
1459 |
+
|
1460 |
$term = get_term( $terms[0], 'category' );
|
1461 |
|
1462 |
/* If the category has a parent, add the hierarchy to the trail. */
|
cherry-framework/modules/cherry-customizer/cherry-customizer.php
CHANGED
@@ -266,7 +266,7 @@ if ( ! class_exists( 'Cherry_Customizer' ) ) {
|
|
266 |
$prefix = $this->prefix . '_';
|
267 |
$priority = isset( $args['priority'] ) ? $args['priority'] : 160;
|
268 |
$theme_supports = isset( $args['theme_supports'] ) ? $args['theme_supports'] : '';
|
269 |
-
$title = isset( $args['title'] ) ? esc_attr( $args['title'] ) : 'Untitled Panel';
|
270 |
$description = isset( $args['description'] ) ? esc_attr( $args['description'] ) : '';
|
271 |
$active_callback = isset( $args['active_callback'] ) ? $this->active_callback( $args['active_callback'] ) : '';
|
272 |
|
@@ -302,7 +302,7 @@ if ( ! class_exists( 'Cherry_Customizer' ) ) {
|
|
302 |
*/
|
303 |
public function add_section( $id, $args ) {
|
304 |
$prefix = $this->prefix . '_';
|
305 |
-
$title = isset( $args['title'] ) ? esc_attr( $args['title'] ) : 'Untitled Section';
|
306 |
$description = isset( $args['description'] ) ? esc_attr( $args['description'] ) : '';
|
307 |
$panel = isset( $args['panel'] ) ? $prefix . esc_attr( $args['panel'] ) : '';
|
308 |
$priority = isset( $args['priority'] ) ? $args['priority'] : 160;
|
@@ -335,7 +335,7 @@ if ( ! class_exists( 'Cherry_Customizer' ) ) {
|
|
335 |
$id = ( 'option' === $this->type ) ? sprintf( '%1$s_options[%2$s]', $this->prefix, esc_attr( $id ) ) : esc_attr( $id );
|
336 |
$priority = isset( $args['priority'] ) ? $args['priority'] : ++$control_priority;
|
337 |
$default = isset( $args['default'] ) ? $args['default'] : '';
|
338 |
-
$title = isset( $args['title'] ) ? esc_attr( $args['title'] ) : 'Untitled Control';
|
339 |
$description = isset( $args['description'] ) ? esc_attr( $args['description'] ) : '';
|
340 |
$transport = isset( $args['transport'] ) ? esc_attr( $args['transport'] ) : 'refresh';
|
341 |
$field_type = isset( $args['field'] ) ? esc_attr( $args['field'] ) : 'text';
|
266 |
$prefix = $this->prefix . '_';
|
267 |
$priority = isset( $args['priority'] ) ? $args['priority'] : 160;
|
268 |
$theme_supports = isset( $args['theme_supports'] ) ? $args['theme_supports'] : '';
|
269 |
+
$title = isset( $args['title'] ) ? esc_attr( $args['title'] ) : esc_html__( 'Untitled Panel', 'cherry-framework' );
|
270 |
$description = isset( $args['description'] ) ? esc_attr( $args['description'] ) : '';
|
271 |
$active_callback = isset( $args['active_callback'] ) ? $this->active_callback( $args['active_callback'] ) : '';
|
272 |
|
302 |
*/
|
303 |
public function add_section( $id, $args ) {
|
304 |
$prefix = $this->prefix . '_';
|
305 |
+
$title = isset( $args['title'] ) ? esc_attr( $args['title'] ) : esc_html__( 'Untitled Section', 'cherry-framework' );
|
306 |
$description = isset( $args['description'] ) ? esc_attr( $args['description'] ) : '';
|
307 |
$panel = isset( $args['panel'] ) ? $prefix . esc_attr( $args['panel'] ) : '';
|
308 |
$priority = isset( $args['priority'] ) ? $args['priority'] : 160;
|
335 |
$id = ( 'option' === $this->type ) ? sprintf( '%1$s_options[%2$s]', $this->prefix, esc_attr( $id ) ) : esc_attr( $id );
|
336 |
$priority = isset( $args['priority'] ) ? $args['priority'] : ++$control_priority;
|
337 |
$default = isset( $args['default'] ) ? $args['default'] : '';
|
338 |
+
$title = isset( $args['title'] ) ? esc_attr( $args['title'] ) : esc_html__( 'Untitled Control', 'cherry-framework' );
|
339 |
$description = isset( $args['description'] ) ? esc_attr( $args['description'] ) : '';
|
340 |
$transport = isset( $args['transport'] ) ? esc_attr( $args['transport'] ) : 'refresh';
|
341 |
$field_type = isset( $args['field'] ) ? esc_attr( $args['field'] ) : 'text';
|
cherry-framework/modules/cherry-db-updater/cherry-db-updater.php
ADDED
@@ -0,0 +1,381 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Module Name: Database Updater
|
4 |
+
* Description: Handle database updates if required.
|
5 |
+
* Version: 1.0.0
|
6 |
+
* Author: Cherry Team
|
7 |
+
* Author URI: http://www.cherryframework.com/
|
8 |
+
* License: GPLv3
|
9 |
+
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
+
*
|
11 |
+
* @package Db_Updater
|
12 |
+
* @subpackage Modules
|
13 |
+
* @version 1.0.0
|
14 |
+
* @author Cherry Team <cherryframework@gmail.com>
|
15 |
+
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
16 |
+
* @link http://www.cherryframework.com/
|
17 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.html
|
18 |
+
*/
|
19 |
+
|
20 |
+
// If this file is called directly, abort.
|
21 |
+
if ( ! defined( 'WPINC' ) ) {
|
22 |
+
die;
|
23 |
+
}
|
24 |
+
|
25 |
+
if ( ! class_exists( 'Cherry_Db_Updater' ) ) {
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Class Cherry Db Updater.
|
29 |
+
*
|
30 |
+
* @since 1.0.0
|
31 |
+
*/
|
32 |
+
class Cherry_Db_Updater {
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Module arguments.
|
36 |
+
*
|
37 |
+
* @since 1.0.0
|
38 |
+
* @var array
|
39 |
+
*/
|
40 |
+
private $args = array(
|
41 |
+
'callbacks' => array(),
|
42 |
+
'slug' => null,
|
43 |
+
'version' => null,
|
44 |
+
);
|
45 |
+
|
46 |
+
/**
|
47 |
+
* Option key for DB version.
|
48 |
+
*
|
49 |
+
* @since 1.0.0
|
50 |
+
* @var string
|
51 |
+
*/
|
52 |
+
protected $version_key = '%s-db-version';
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Nonce format.
|
56 |
+
*
|
57 |
+
* @since 1.0.0
|
58 |
+
* @var string
|
59 |
+
*/
|
60 |
+
protected $nonce = '_%s-db-update-nonce';
|
61 |
+
|
62 |
+
/**
|
63 |
+
* Messages array.
|
64 |
+
*
|
65 |
+
* @since 1.0.0
|
66 |
+
* @var array
|
67 |
+
*/
|
68 |
+
protected $messages = array();
|
69 |
+
|
70 |
+
/**
|
71 |
+
* Update done trigger.
|
72 |
+
*
|
73 |
+
* @since 1.0.0
|
74 |
+
* @var bool
|
75 |
+
*/
|
76 |
+
protected $updated = false;
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Core instance.
|
80 |
+
*
|
81 |
+
* @since 1.0.0
|
82 |
+
* @var object
|
83 |
+
*/
|
84 |
+
public $core = null;
|
85 |
+
|
86 |
+
/**
|
87 |
+
* Cherry_Db_Updater constructor.
|
88 |
+
*
|
89 |
+
* @since 1.0.0
|
90 |
+
* @return void
|
91 |
+
*/
|
92 |
+
public function __construct( $core = null, $args = array() ) {
|
93 |
+
|
94 |
+
$this->core = $core;
|
95 |
+
$this->args = wp_parse_args( $args, $this->args );
|
96 |
+
|
97 |
+
if ( ! is_admin() || ! current_user_can( 'update_plugins' ) ) {
|
98 |
+
return;
|
99 |
+
}
|
100 |
+
|
101 |
+
add_action( 'admin_notices', array( $this, 'init_notices' ) );
|
102 |
+
add_action( 'admin_init', array( $this, 'do_update' ) );
|
103 |
+
|
104 |
+
$this->messages = array(
|
105 |
+
'error' => esc_html__( 'Module DB Updater init error in %s - version and slug is required arguments', 'cherry-framework' ),
|
106 |
+
'update' => esc_html__( 'We need to update your database to the latest version.', 'cherry-framework' ),
|
107 |
+
'updated' => esc_html__( 'Update complete, thank you for updating to the latest version!', 'cherry-framework' ),
|
108 |
+
);
|
109 |
+
|
110 |
+
}
|
111 |
+
|
112 |
+
/**
|
113 |
+
* Process DB update.
|
114 |
+
*
|
115 |
+
* @since 1.0.0
|
116 |
+
*/
|
117 |
+
public function do_update() {
|
118 |
+
|
119 |
+
if ( ! $this->is_current_update() ) {
|
120 |
+
return;
|
121 |
+
}
|
122 |
+
|
123 |
+
$callbacks = $this->prepare_callbacks();
|
124 |
+
|
125 |
+
if ( ! empty( $callbacks ) ) {
|
126 |
+
foreach ( $callbacks as $callback ) {
|
127 |
+
if ( is_callable( $callback ) ) {
|
128 |
+
call_user_func( $callback );
|
129 |
+
}
|
130 |
+
}
|
131 |
+
}
|
132 |
+
|
133 |
+
$this->set_updated();
|
134 |
+
}
|
135 |
+
|
136 |
+
/**
|
137 |
+
* Finalize update.
|
138 |
+
*
|
139 |
+
* @since 1.0.0
|
140 |
+
*/
|
141 |
+
public function set_updated() {
|
142 |
+
$this->updated = true;
|
143 |
+
$option = sprintf( $this->version_key, esc_attr( $this->args['slug'] ) );
|
144 |
+
update_option( $option, esc_attr( $this->args['version'] ) );
|
145 |
+
}
|
146 |
+
|
147 |
+
/**
|
148 |
+
* Prepare callbacks array.
|
149 |
+
*
|
150 |
+
* @since 1.0.0
|
151 |
+
* @return array
|
152 |
+
*/
|
153 |
+
private function prepare_callbacks() {
|
154 |
+
|
155 |
+
$callbacks = array();
|
156 |
+
|
157 |
+
if ( empty( $this->args['callbacks'] ) ) {
|
158 |
+
return $callbacks;
|
159 |
+
}
|
160 |
+
|
161 |
+
ksort( $this->args['callbacks'] );
|
162 |
+
|
163 |
+
foreach ( $this->args['callbacks'] as $ver => $ver_cb ) {
|
164 |
+
if ( version_compare( $this->get_current_version(), $ver, '<' ) ) {
|
165 |
+
$callbacks = array_merge( $callbacks, $ver_cb );
|
166 |
+
}
|
167 |
+
}
|
168 |
+
|
169 |
+
return $callbacks;
|
170 |
+
}
|
171 |
+
|
172 |
+
/**
|
173 |
+
* Check if we processed update for plugin passed in arguments.
|
174 |
+
*
|
175 |
+
* @since 1.0.0
|
176 |
+
* @return bool
|
177 |
+
*/
|
178 |
+
private function is_current_update() {
|
179 |
+
|
180 |
+
if ( empty( $_GET['cherry_db_update'] ) || empty( $_GET['slug'] ) || empty( $_GET['_nonce'] ) ) {
|
181 |
+
return false;
|
182 |
+
}
|
183 |
+
|
184 |
+
if ( $_GET['slug'] !== $this->args['slug'] ) {
|
185 |
+
return false;
|
186 |
+
}
|
187 |
+
|
188 |
+
$nonce_action = sprintf( $this->nonce, esc_attr( $this->args['slug'] ) );
|
189 |
+
|
190 |
+
if ( ! wp_verify_nonce( $_GET['_nonce'], $nonce_action ) ) {
|
191 |
+
return false;
|
192 |
+
}
|
193 |
+
|
194 |
+
return true;
|
195 |
+
}
|
196 |
+
|
197 |
+
/**
|
198 |
+
* Init admin notices.
|
199 |
+
*
|
200 |
+
* @since 1.0.0
|
201 |
+
* @return void
|
202 |
+
*/
|
203 |
+
public function init_notices() {
|
204 |
+
|
205 |
+
$enabled = $this->validate_module_args();
|
206 |
+
|
207 |
+
if ( ! $enabled ) {
|
208 |
+
return;
|
209 |
+
}
|
210 |
+
|
211 |
+
$slug = esc_attr( $this->args['slug'] );
|
212 |
+
|
213 |
+
if ( $this->is_update_required() ) {
|
214 |
+
$this->show_notice( $slug );
|
215 |
+
}
|
216 |
+
|
217 |
+
if ( $this->is_updated() ) {
|
218 |
+
$this->show_updated_notice( $slug );
|
219 |
+
}
|
220 |
+
}
|
221 |
+
|
222 |
+
/**
|
223 |
+
* Returns current DB version.
|
224 |
+
*
|
225 |
+
* @since 1.0.0
|
226 |
+
* @return string
|
227 |
+
*/
|
228 |
+
private function get_current_version() {
|
229 |
+
$option = sprintf( $this->version_key, esc_attr( $this->args['slug'] ) );
|
230 |
+
return get_option( $option, '1.0.0' );
|
231 |
+
}
|
232 |
+
|
233 |
+
/**
|
234 |
+
* Check if database requires update.
|
235 |
+
*
|
236 |
+
* @since 1.0.0
|
237 |
+
* @return bool
|
238 |
+
*/
|
239 |
+
private function is_update_required() {
|
240 |
+
$current = $this->get_current_version();
|
241 |
+
return version_compare( $current, esc_attr( $this->args['version'] ), '<' );
|
242 |
+
}
|
243 |
+
|
244 |
+
/**
|
245 |
+
* Check if update was succesfully done.
|
246 |
+
*
|
247 |
+
* @since 1.0.0
|
248 |
+
* @return bool
|
249 |
+
*/
|
250 |
+
private function is_updated() {
|
251 |
+
|
252 |
+
if ( ! $this->is_current_update() ) {
|
253 |
+
return false;
|
254 |
+
}
|
255 |
+
|
256 |
+
return (bool) $this->updated;
|
257 |
+
}
|
258 |
+
|
259 |
+
/**
|
260 |
+
* Validate module arguments.
|
261 |
+
*
|
262 |
+
* @since 1.0.0
|
263 |
+
* @return bool
|
264 |
+
*/
|
265 |
+
private function validate_module_args() {
|
266 |
+
|
267 |
+
if ( empty( $this->args['slug'] ) || empty( $this->args['version'] ) ) {
|
268 |
+
echo '<div class="error"><p>';
|
269 |
+
printf(
|
270 |
+
$this->messages['error'],
|
271 |
+
'<b>' . str_replace( untrailingslashit( ABSPATH ), '', $this->core->settings['base_dir'] ) . '</b>'
|
272 |
+
);
|
273 |
+
echo '</p></div>';
|
274 |
+
|
275 |
+
return false;
|
276 |
+
}
|
277 |
+
|
278 |
+
return true;
|
279 |
+
}
|
280 |
+
|
281 |
+
/**
|
282 |
+
* Show notice.
|
283 |
+
*
|
284 |
+
* @since 1.0.0
|
285 |
+
* @param string $slug Plugin slug.
|
286 |
+
* @return void
|
287 |
+
*/
|
288 |
+
private function show_notice( $slug ) {
|
289 |
+
|
290 |
+
echo '<div class="notice notice-info">';
|
291 |
+
echo '<p>';
|
292 |
+
$this->notice_title( $slug );
|
293 |
+
echo $this->messages['update'];
|
294 |
+
echo '</p>';
|
295 |
+
echo '<p>';
|
296 |
+
$this->notice_submit( $slug );
|
297 |
+
echo '</p>';
|
298 |
+
echo '</div>';
|
299 |
+
|
300 |
+
}
|
301 |
+
|
302 |
+
/**
|
303 |
+
* Show update notice.
|
304 |
+
*
|
305 |
+
* @since 1.0.0
|
306 |
+
* @return void
|
307 |
+
*/
|
308 |
+
private function show_updated_notice() {
|
309 |
+
|
310 |
+
$slug = esc_attr( $this->args['slug'] );
|
311 |
+
|
312 |
+
echo '<div class="notice notice-success is-dismissible">';
|
313 |
+
echo '<p>';
|
314 |
+
$this->notice_title( $slug );
|
315 |
+
echo $this->messages['updated'];
|
316 |
+
echo '</p>';
|
317 |
+
echo '</div>';
|
318 |
+
|
319 |
+
}
|
320 |
+
|
321 |
+
/**
|
322 |
+
* Show plugin notice submit button.
|
323 |
+
*
|
324 |
+
* @since 1.0.0
|
325 |
+
* @param string $slug Plugin slug.
|
326 |
+
* @return void
|
327 |
+
*/
|
328 |
+
private function notice_submit( $slug = '' ) {
|
329 |
+
|
330 |
+
$format = '<a href="%1s" class="button button-primary">%2$s</a>';
|
331 |
+
$label = esc_html__( 'Start Update', 'cherry-framework' );
|
332 |
+
$url = add_query_arg(
|
333 |
+
array(
|
334 |
+
'cherry_db_update' => true,
|
335 |
+
'slug' => $slug,
|
336 |
+
'_nonce' => $this->create_nonce( $slug ),
|
337 |
+
),
|
338 |
+
esc_url( admin_url( 'index.php' ) )
|
339 |
+
);
|
340 |
+
|
341 |
+
printf( $format, $url, $label );
|
342 |
+
|
343 |
+
}
|
344 |
+
|
345 |
+
/**
|
346 |
+
* Create DB update nonce.
|
347 |
+
*
|
348 |
+
* @since 1.0.0
|
349 |
+
* @param string $slug Plugin slug.
|
350 |
+
* @return string
|
351 |
+
*/
|
352 |
+
private function create_nonce( $slug ) {
|
353 |
+
return wp_create_nonce( sprintf( $this->nonce, $slug ) );
|
354 |
+
}
|
355 |
+
|
356 |
+
/**
|
357 |
+
* Show plugin notice title.
|
358 |
+
*
|
359 |
+
* @since 1.0.0
|
360 |
+
* @param string $slug Plugin slug.
|
361 |
+
* @return void
|
362 |
+
*/
|
363 |
+
private function notice_title( $slug ) {
|
364 |
+
|
365 |
+
$name = str_replace( '-', ' ', $slug );
|
366 |
+
$name = ucwords( $name );
|
367 |
+
|
368 |
+
printf( '<strong>%1$s %2$s</strong> – ', $name, esc_html__( 'Data Update', 'cherry-framework' ) );
|
369 |
+
}
|
370 |
+
|
371 |
+
/**
|
372 |
+
* Returns the instance.
|
373 |
+
*
|
374 |
+
* @since 1.0.0
|
375 |
+
* @return object
|
376 |
+
*/
|
377 |
+
public static function get_instance( $core = null, $args = array() ) {
|
378 |
+
return new self( $core, $args );
|
379 |
+
}
|
380 |
+
}
|
381 |
+
}
|
cherry-framework/modules/cherry-handler/assets/js/cherry-handler.js
CHANGED
@@ -118,12 +118,27 @@
|
|
118 |
}
|
119 |
},
|
120 |
error: function( jqXHR, textStatus, errorThrown ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
121 |
if ( settings.errorCallback && 'function' === typeof( settings.errorCallback ) ) {
|
122 |
settings.errorCallback( jqXHR, textStatus, errorThrown );
|
123 |
}
|
124 |
},
|
125 |
success: function( data, textStatus, jqXHR ) {
|
126 |
self.ajaxProcessing = false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
if ( settings.successCallback && 'function' === typeof( settings.successCallback ) ) {
|
128 |
settings.successCallback( data, textStatus, jqXHR );
|
129 |
}
|
@@ -131,6 +146,12 @@
|
|
131 |
CherryJsCore.cherryHandlerUtils.noticeCreate( data.type, data.message, self.handlerSettings.is_public );
|
132 |
},
|
133 |
complete: function( jqXHR, textStatus ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
134 |
if ( settings.completeCallback && 'function' === typeof( settings.completeCallback ) ) {
|
135 |
settings.completeCallback( jqXHR, textStatus );
|
136 |
}
|
118 |
}
|
119 |
},
|
120 |
error: function( jqXHR, textStatus, errorThrown ) {
|
121 |
+
$( document ).trigger( {
|
122 |
+
type: 'cherry-ajax-handler-error',
|
123 |
+
jqXHR: jqXHR,
|
124 |
+
textStatus: textStatus,
|
125 |
+
errorThrown: errorThrown
|
126 |
+
} );
|
127 |
+
|
128 |
if ( settings.errorCallback && 'function' === typeof( settings.errorCallback ) ) {
|
129 |
settings.errorCallback( jqXHR, textStatus, errorThrown );
|
130 |
}
|
131 |
},
|
132 |
success: function( data, textStatus, jqXHR ) {
|
133 |
self.ajaxProcessing = false;
|
134 |
+
|
135 |
+
$( document ).trigger( {
|
136 |
+
type: 'cherry-ajax-handler-success',
|
137 |
+
response: data,
|
138 |
+
jqXHR: jqXHR,
|
139 |
+
textStatus: textStatus
|
140 |
+
} );
|
141 |
+
|
142 |
if ( settings.successCallback && 'function' === typeof( settings.successCallback ) ) {
|
143 |
settings.successCallback( data, textStatus, jqXHR );
|
144 |
}
|
146 |
CherryJsCore.cherryHandlerUtils.noticeCreate( data.type, data.message, self.handlerSettings.is_public );
|
147 |
},
|
148 |
complete: function( jqXHR, textStatus ) {
|
149 |
+
$( document ).trigger( {
|
150 |
+
type: 'cherry-ajax-handler-complete',
|
151 |
+
jqXHR: jqXHR,
|
152 |
+
textStatus: textStatus
|
153 |
+
} );
|
154 |
+
|
155 |
if ( settings.completeCallback && 'function' === typeof( settings.completeCallback ) ) {
|
156 |
settings.completeCallback( jqXHR, textStatus );
|
157 |
}
|
cherry-framework/modules/cherry-handler/assets/js/min/cherry-handler.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(e,a){"use strict";a.utilites.namespace("CherryAjaxHandler"),a.CherryAjaxHandler=function(
|
1 |
+
!function(e,a){"use strict";a.utilites.namespace("CherryAjaxHandler"),a.CherryAjaxHandler=function(t){var n=this,r={handlerId:"",cache:!1,processData:!0,url:"",beforeSendCallback:function(){},errorCallback:function(){},successCallback:function(){},completeCallback:function(){}};return t&&e.extend(r,t),window[r.handlerId]?(n.handlerSettings=window[r.handlerId]||{},n.ajaxRequest=null,n.ajaxProcessing=!1,n.data={action:n.handlerSettings.action,nonce:n.handlerSettings.nonce},""===r.url&&("false"===n.handlerSettings.is_public?r.url=window.ajaxurl:r.url=window.cherryHandlerAjaxUrl.ajax_url),n.send=function(){n.ajaxProcessing&&a.cherryHandlerUtils.noticeCreate("error-notice",n.handlerSettings.sys_messages.wait_processing,n.handlerSettings.is_public),n.ajaxProcessing=!0,n.ajaxRequest=jQuery.ajax({type:n.handlerSettings.type,url:r.url,data:n.data,cache:r.cache,dataType:n.handlerSettings.data_type,processData:r.processData,beforeSend:function(e,a){null!==n.ajaxRequest&&n.ajaxRequest.abort(),r.beforeSendCallback&&"function"==typeof r.beforeSendCallback&&r.beforeSendCallback(e,a)},error:function(a,t,n){e(document).trigger({type:"cherry-ajax-handler-error",jqXHR:a,textStatus:t,errorThrown:n}),r.errorCallback&&"function"==typeof r.errorCallback&&r.errorCallback(a,t,n)},success:function(t,c,s){n.ajaxProcessing=!1,e(document).trigger({type:"cherry-ajax-handler-success",response:t,jqXHR:s,textStatus:c}),r.successCallback&&"function"==typeof r.successCallback&&r.successCallback(t,c,s),a.cherryHandlerUtils.noticeCreate(t.type,t.message,n.handlerSettings.is_public)},complete:function(a,t){e(document).trigger({type:"cherry-ajax-handler-complete",jqXHR:a,textStatus:t}),r.completeCallback&&"function"==typeof r.completeCallback&&r.completeCallback(a,t)}})},n.sendData=function(e){var a=e||{};n.data={action:n.handlerSettings.action,nonce:n.handlerSettings.nonce,data:a},n.send()},void(n.sendFormData=function(t){var r,c=e(t);r=a.cherryHandlerUtils.serializeObject(c),n.sendData(r)})):(window.console&&window.console.warn("Handler id not found"),!1)},a.utilites.namespace("cherryHandlerUtils"),a.cherryHandlerUtils={noticeCreate:function(a,t,n){function r(){var a=100;e(".cherry-handler-notice").each(function(){e(this).css({top:a}),a+=e(this).outerHeight(!0)})}var c,s,i=0,o=n||!1;return!(!t||"true"===o)&&(c=e('<div class="cherry-handler-notice '+a+'"><span class="dashicons"></span><div class="inner">'+t+"</div></div>"),e("body").prepend(c),r(),i=-1*(c.outerWidth(!0)+10),c.css({right:i}),s=setTimeout(function(){c.css({right:10}).addClass("show-state")},100),s=setTimeout(function(){i=-1*(c.outerWidth(!0)+10),c.css({right:i}).removeClass("show-state")},4e3),void(s=setTimeout(function(){c.remove(),clearTimeout(s)},4500)))},serializeObject:function(a){var t=this,n={},r={},c={validate:/^[a-zA-Z][a-zA-Z0-9_-]*(?:\[(?:\d*|[a-zA-Z0-9_-]+)\])*$/,key:/[a-zA-Z0-9_-]+|(?=\[\])/g,push:/^$/,fixed:/^\d+$/,named:/^[a-zA-Z0-9_-]+$/};return this.build=function(e,a,t){return e[a]=t,e},this.push_counter=function(e){return void 0===r[e]&&(r[e]=0),r[e]++},e.each(a.serializeArray(),function(){var a,r,s,i;if(c.validate.test(this.name)){for(r=this.name.match(c.key),s=this.value,i=this.name;void 0!==(a=r.pop());)i=i.replace(new RegExp("\\["+a+"\\]$"),""),a.match(c.push)?s=t.build([],t.push_counter(i),s):a.match(c.fixed)?s=t.build([],a,s):a.match(c.named)&&(s=t.build({},a,s));n=e.extend(!0,n,s)}}),n}}}(jQuery,window.CherryJsCore);
|
cherry-framework/modules/cherry-handler/cherry-handler.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Module Name: Cherry handler
|
4 |
* Description: Initializes handlers
|
5 |
-
* Version: 1.1.
|
6 |
* Author: Cherry Team
|
7 |
* Author URI: http://www.cherryframework.com/
|
8 |
* License: GPLv3
|
@@ -10,7 +10,7 @@
|
|
10 |
*
|
11 |
* @package Cherry_Framework
|
12 |
* @subpackage Modules
|
13 |
-
* @version 1.1.
|
14 |
* @author Cherry Team <cherryframework@gmail.com>
|
15 |
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
16 |
* @link http://www.cherryframework.com/
|
@@ -111,19 +111,19 @@ if ( ! class_exists( 'Cherry_Handler' ) ) {
|
|
111 |
$nonce_action = ! empty( $this->settings['action'] ) ? $this->settings['action'] : 'cherry_ajax_nonce';
|
112 |
|
113 |
if ( ! wp_verify_nonce( $nonce, $nonce_action ) ) {
|
114 |
-
$response = array(
|
115 |
'message' => $this->settings['sys_messages']['invalid_nonce'],
|
116 |
'type' => 'error-notice',
|
117 |
-
);
|
118 |
|
119 |
wp_send_json( $response );
|
120 |
}
|
121 |
|
122 |
if ( ! empty( $this->settings['capability'] ) && ! current_user_can( $this->settings['capability'] ) ) {
|
123 |
-
$response = array(
|
124 |
'message' => $this->settings['sys_messages']['no_right'],
|
125 |
'type' => 'error-notice',
|
126 |
-
);
|
127 |
|
128 |
wp_send_json( $response );
|
129 |
}
|
@@ -138,19 +138,19 @@ if ( ! class_exists( 'Cherry_Handler' ) ) {
|
|
138 |
}
|
139 |
ob_end_clean();
|
140 |
|
141 |
-
$response = array(
|
142 |
-
'message'
|
143 |
-
'type'
|
144 |
-
'data'
|
145 |
-
);
|
146 |
|
147 |
wp_send_json( $response );
|
148 |
}
|
149 |
} else {
|
150 |
-
$response = array(
|
151 |
'message' => $this->settings['sys_messages']['invalid_base_data'],
|
152 |
'type' => 'error-notice',
|
153 |
-
);
|
154 |
|
155 |
wp_send_json( $response );
|
156 |
}
|
2 |
/**
|
3 |
* Module Name: Cherry handler
|
4 |
* Description: Initializes handlers
|
5 |
+
* Version: 1.1.1
|
6 |
* Author: Cherry Team
|
7 |
* Author URI: http://www.cherryframework.com/
|
8 |
* License: GPLv3
|
10 |
*
|
11 |
* @package Cherry_Framework
|
12 |
* @subpackage Modules
|
13 |
+
* @version 1.1.1
|
14 |
* @author Cherry Team <cherryframework@gmail.com>
|
15 |
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
16 |
* @link http://www.cherryframework.com/
|
111 |
$nonce_action = ! empty( $this->settings['action'] ) ? $this->settings['action'] : 'cherry_ajax_nonce';
|
112 |
|
113 |
if ( ! wp_verify_nonce( $nonce, $nonce_action ) ) {
|
114 |
+
$response = apply_filters( 'cherry_handler_response_nonce', array(
|
115 |
'message' => $this->settings['sys_messages']['invalid_nonce'],
|
116 |
'type' => 'error-notice',
|
117 |
+
) );
|
118 |
|
119 |
wp_send_json( $response );
|
120 |
}
|
121 |
|
122 |
if ( ! empty( $this->settings['capability'] ) && ! current_user_can( $this->settings['capability'] ) ) {
|
123 |
+
$response = apply_filters( 'cherry_handler_response_capability', array(
|
124 |
'message' => $this->settings['sys_messages']['no_right'],
|
125 |
'type' => 'error-notice',
|
126 |
+
) );
|
127 |
|
128 |
wp_send_json( $response );
|
129 |
}
|
138 |
}
|
139 |
ob_end_clean();
|
140 |
|
141 |
+
$response = apply_filters( 'cherry_handler_response_data', array(
|
142 |
+
'message' => $this->settings['sys_messages']['access_is_allowed'],
|
143 |
+
'type' => 'success-notice',
|
144 |
+
'data' => $data,
|
145 |
+
) );
|
146 |
|
147 |
wp_send_json( $response );
|
148 |
}
|
149 |
} else {
|
150 |
+
$response = apply_filters( 'cherry_handler_invalid_data', array(
|
151 |
'message' => $this->settings['sys_messages']['invalid_base_data'],
|
152 |
'type' => 'error-notice',
|
153 |
+
) );
|
154 |
|
155 |
wp_send_json( $response );
|
156 |
}
|
cherry-framework/modules/cherry-interface-builder/cherry-interface-builder.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Module Name: Interface Builder
|
4 |
* Description: The module for the creation of interfaces in the WordPress admin panel
|
5 |
-
* Version: 1.1.
|
6 |
* Author: Cherry Team
|
7 |
* Author URI: http://www.cherryframework.com/
|
8 |
* License: GPLv3
|
@@ -10,7 +10,7 @@
|
|
10 |
*
|
11 |
* @package Cherry_Framework
|
12 |
* @subpackage Modules
|
13 |
-
* @version 1.1.
|
14 |
* @author Cherry Team <cherryframework@gmail.com>
|
15 |
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
16 |
* @link http://www.cherryframework.com/
|
@@ -38,20 +38,20 @@ if ( ! class_exists( 'Cherry_Interface_Builder' ) ) {
|
|
38 |
* @var array
|
39 |
*/
|
40 |
private $args = array(
|
41 |
-
'views'
|
42 |
-
'section'
|
43 |
-
'component-tab-vertical'
|
44 |
-
'component-tab-horizontal'
|
45 |
-
'component-toggle'
|
46 |
-
'component-accordion'
|
47 |
-
'component-repeater'
|
48 |
-
'settings'
|
49 |
-
'control'
|
50 |
-
'settings-children-title'
|
51 |
-
'tab-children-title'
|
52 |
-
'toggle-children-title'
|
53 |
-
'form'
|
54 |
-
'html'
|
55 |
),
|
56 |
'views_args' => array(
|
57 |
'parent' => '',
|
@@ -193,6 +193,7 @@ if ( ! class_exists( 'Cherry_Interface_Builder' ) ) {
|
|
193 |
* @return void
|
194 |
*/
|
195 |
protected function add_new_element( array $args = array(), $type = 'section' ) {
|
|
|
196 |
if ( ! isset( $args[0] ) && ! is_array( current( $args ) ) ) {
|
197 |
|
198 |
if ( 'control' !== $type && 'component' !== $type ) {
|
@@ -200,6 +201,7 @@ if ( ! class_exists( 'Cherry_Interface_Builder' ) ) {
|
|
200 |
}
|
201 |
|
202 |
$this->structure[ $args['id'] ] = $args;
|
|
|
203 |
} else {
|
204 |
foreach ( $args as $key => $value ) {
|
205 |
|
@@ -271,16 +273,17 @@ if ( ! class_exists( 'Cherry_Interface_Builder' ) ) {
|
|
271 |
*/
|
272 |
protected function get_view( $type = 'control', array $args = array() ) {
|
273 |
|
274 |
-
if ( empty( $view ) ) {
|
275 |
-
$path =
|
276 |
-
|
|
|
|
|
|
|
277 |
} else {
|
278 |
-
$path = $view;
|
279 |
}
|
280 |
|
281 |
-
|
282 |
-
|
283 |
-
return $view;
|
284 |
}
|
285 |
|
286 |
/**
|
@@ -322,7 +325,7 @@ if ( ! class_exists( 'Cherry_Interface_Builder' ) ) {
|
|
322 |
*/
|
323 |
protected function build( array $args = array() ) {
|
324 |
$output = '';
|
325 |
-
$views
|
326 |
|
327 |
foreach ( $args as $key => $value ) {
|
328 |
$value = wp_parse_args(
|
@@ -330,16 +333,18 @@ if ( ! class_exists( 'Cherry_Interface_Builder' ) ) {
|
|
330 |
$this->args['views_args']
|
331 |
);
|
332 |
|
333 |
-
$value['class'] = isset( $value['class'] ) ? $value['class'] . ' ' : ''
|
334 |
-
$value['class'] .= $value['id'] . ' '
|
|
|
335 |
if ( $value['scroll'] ) {
|
336 |
$value['class'] .= 'cherry-scroll ';
|
337 |
}
|
|
|
338 |
if ( $value['master'] ) {
|
339 |
-
$value['class'] .= $value['master'] . ' '
|
340 |
}
|
341 |
|
342 |
-
$type
|
343 |
$has_child = isset( $value['children'] ) && is_array( $value['children'] ) && ! empty( $value['children'] );
|
344 |
|
345 |
switch ( $type ) {
|
2 |
/**
|
3 |
* Module Name: Interface Builder
|
4 |
* Description: The module for the creation of interfaces in the WordPress admin panel
|
5 |
+
* Version: 1.1.2
|
6 |
* Author: Cherry Team
|
7 |
* Author URI: http://www.cherryframework.com/
|
8 |
* License: GPLv3
|
10 |
*
|
11 |
* @package Cherry_Framework
|
12 |
* @subpackage Modules
|
13 |
+
* @version 1.1.2
|
14 |
* @author Cherry Team <cherryframework@gmail.com>
|
15 |
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
16 |
* @link http://www.cherryframework.com/
|
38 |
* @var array
|
39 |
*/
|
40 |
private $args = array(
|
41 |
+
'views' => array(
|
42 |
+
'section' => 'inc/views/section.php',
|
43 |
+
'component-tab-vertical' => 'inc/views/component-tab-vertical.php',
|
44 |
+
'component-tab-horizontal' => 'inc/views/component-tab-horizontal.php',
|
45 |
+
'component-toggle' => 'inc/views/component-toggle.php',
|
46 |
+
'component-accordion' => 'inc/views/component-accordion.php',
|
47 |
+
'component-repeater' => 'inc/views/component-repeater.php',
|
48 |
+
'settings' => 'inc/views/settings.php',
|
49 |
+
'control' => 'inc/views/control.php',
|
50 |
+
'settings-children-title' => 'inc/views/settings-children-title.php',
|
51 |
+
'tab-children-title' => 'inc/views/tab-children-title.php',
|
52 |
+
'toggle-children-title' => 'inc/views/toggle-children-title.php',
|
53 |
+
'form' => 'inc/views/form.php',
|
54 |
+
'html' => 'inc/views/html.php',
|
55 |
),
|
56 |
'views_args' => array(
|
57 |
'parent' => '',
|
193 |
* @return void
|
194 |
*/
|
195 |
protected function add_new_element( array $args = array(), $type = 'section' ) {
|
196 |
+
|
197 |
if ( ! isset( $args[0] ) && ! is_array( current( $args ) ) ) {
|
198 |
|
199 |
if ( 'control' !== $type && 'component' !== $type ) {
|
201 |
}
|
202 |
|
203 |
$this->structure[ $args['id'] ] = $args;
|
204 |
+
|
205 |
} else {
|
206 |
foreach ( $args as $key => $value ) {
|
207 |
|
273 |
*/
|
274 |
protected function get_view( $type = 'control', array $args = array() ) {
|
275 |
|
276 |
+
if ( empty( $args['view'] ) ) {
|
277 |
+
$path = ( array_key_exists( $type, $this->args['views'] ) ) ? $this->args['views'][ $type ] : $this->args['views']['control'];
|
278 |
+
|
279 |
+
$path = is_array( $path ) ? $path[0] : $path;
|
280 |
+
$path = file_exists( $path ) ? $path : trailingslashit( dirname( __FILE__ ) ) . $path;
|
281 |
+
|
282 |
} else {
|
283 |
+
$path = $args['view'];
|
284 |
}
|
285 |
|
286 |
+
return Cherry_Toolkit::render_view( $path, $args );
|
|
|
|
|
287 |
}
|
288 |
|
289 |
/**
|
325 |
*/
|
326 |
protected function build( array $args = array() ) {
|
327 |
$output = '';
|
328 |
+
$views = $this->args['views'];
|
329 |
|
330 |
foreach ( $args as $key => $value ) {
|
331 |
$value = wp_parse_args(
|
333 |
$this->args['views_args']
|
334 |
);
|
335 |
|
336 |
+
$value['class'] = isset( $value['class'] ) ? $value['class'] . ' ' : '';
|
337 |
+
$value['class'] .= $value['id'] . ' ';
|
338 |
+
|
339 |
if ( $value['scroll'] ) {
|
340 |
$value['class'] .= 'cherry-scroll ';
|
341 |
}
|
342 |
+
|
343 |
if ( $value['master'] ) {
|
344 |
+
$value['class'] .= $value['master'] . ' ';
|
345 |
}
|
346 |
|
347 |
+
$type = array_key_exists( $value['type'], $views ) ? $value['type'] : 'field';
|
348 |
$has_child = isset( $value['children'] ) && is_array( $value['children'] ) && ! empty( $value['children'] );
|
349 |
|
350 |
switch ( $type ) {
|
cherry-framework/modules/cherry-interface-builder/inc/assets/cherry-interface-builder.js
CHANGED
@@ -9,6 +9,9 @@
|
|
9 |
CherryJsCore.interfaceBuilder = {
|
10 |
init: function() {
|
11 |
this.component.init();
|
|
|
|
|
|
|
12 |
},
|
13 |
component: {
|
14 |
tabClass: '.cherry-tab',
|
@@ -35,7 +38,8 @@
|
|
35 |
|
36 |
addEvent: function() {
|
37 |
$( 'body' )
|
38 |
-
.
|
|
|
39 |
this.tabClass + ' ' + this.buttonClass + ', ' +
|
40 |
this.toggleClass + ' ' + this.buttonClass + ', ' +
|
41 |
this.accordionClass + ' ' + this.buttonClass,
|
9 |
CherryJsCore.interfaceBuilder = {
|
10 |
init: function() {
|
11 |
this.component.init();
|
12 |
+
|
13 |
+
$( document )
|
14 |
+
.on( 'cherryInterfaceBuilder', this.component.init.bind( this.component ) );
|
15 |
},
|
16 |
component: {
|
17 |
tabClass: '.cherry-tab',
|
38 |
|
39 |
addEvent: function() {
|
40 |
$( 'body' )
|
41 |
+
.off( 'click.cherryInterfaceBuilder' )
|
42 |
+
.on( 'click.cherryInterfaceBuilder',
|
43 |
this.tabClass + ' ' + this.buttonClass + ', ' +
|
44 |
this.toggleClass + ' ' + this.buttonClass + ', ' +
|
45 |
this.accordionClass + ' ' + this.buttonClass,
|
cherry-framework/modules/cherry-interface-builder/inc/assets/cherry-interface-builder.scss
CHANGED
@@ -4,7 +4,7 @@ $color-3: #96989a; // Description color and tabs button text color.
|
|
4 |
$color-4: #b4b7ba; //
|
5 |
$color-5: #f1f1f1; // Scrollbar background
|
6 |
$color-6: #e5e5e5; // Hover scrollbar background
|
7 |
-
$color-7: #
|
8 |
$link-color: #298ffc; // link color.
|
9 |
$link-hover-color: #23282d; // link hover color.
|
10 |
|
@@ -200,21 +200,26 @@ html{
|
|
200 |
border:0;
|
201 |
background: none;
|
202 |
cursor: pointer;
|
|
|
203 |
.cherry-toggle__title {
|
204 |
font-weight: 700;
|
205 |
font-size: 14px;
|
206 |
float: left;
|
207 |
margin: 0;
|
208 |
}
|
209 |
-
span{
|
|
|
|
|
|
|
|
|
|
|
210 |
font-size: 25px;
|
211 |
color: $color-4;
|
212 |
-
float: right;
|
213 |
padding: 5px 5px;
|
214 |
width: 10px;
|
215 |
height: 9px;
|
216 |
text-align: left;
|
217 |
-
|
218 |
&.hide-icon{
|
219 |
&:before{
|
220 |
position: relative;
|
@@ -230,14 +235,14 @@ html{
|
|
230 |
top: -7px;
|
231 |
left: -9px;
|
232 |
}
|
233 |
-
position: relative;
|
234 |
-
left: 14px;
|
235 |
transform:scaleX(0);
|
236 |
transition: all 300ms cubic-bezier(0.215, 0.61, 0.355, 1);
|
237 |
}
|
238 |
}
|
239 |
&.active{
|
240 |
-
span{
|
241 |
&.show-icon{
|
242 |
transform:scaleX(1);
|
243 |
transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
@@ -447,7 +452,7 @@ html{
|
|
447 |
border: none;
|
448 |
border-radius: $br-radius;
|
449 |
&:hover, &:active {
|
450 |
-
background:
|
451 |
}
|
452 |
}
|
453 |
&-track {
|
4 |
$color-4: #b4b7ba; //
|
5 |
$color-5: #f1f1f1; // Scrollbar background
|
6 |
$color-6: #e5e5e5; // Hover scrollbar background
|
7 |
+
$color-7: #206ff4; // Scrollbar track background
|
8 |
$link-color: #298ffc; // link color.
|
9 |
$link-hover-color: #23282d; // link hover color.
|
10 |
|
200 |
border:0;
|
201 |
background: none;
|
202 |
cursor: pointer;
|
203 |
+
position: relative;
|
204 |
.cherry-toggle__title {
|
205 |
font-weight: 700;
|
206 |
font-size: 14px;
|
207 |
float: left;
|
208 |
margin: 0;
|
209 |
}
|
210 |
+
>span[class*="icon"]{
|
211 |
+
position: absolute;
|
212 |
+
top: 50%;
|
213 |
+
right: 5px;
|
214 |
+
margin-top: -10px;
|
215 |
+
|
216 |
font-size: 25px;
|
217 |
color: $color-4;
|
|
|
218 |
padding: 5px 5px;
|
219 |
width: 10px;
|
220 |
height: 9px;
|
221 |
text-align: left;
|
222 |
+
overflow: hidden;
|
223 |
&.hide-icon{
|
224 |
&:before{
|
225 |
position: relative;
|
235 |
top: -7px;
|
236 |
left: -9px;
|
237 |
}
|
238 |
+
//position: relative;
|
239 |
+
//left: 14px;
|
240 |
transform:scaleX(0);
|
241 |
transition: all 300ms cubic-bezier(0.215, 0.61, 0.355, 1);
|
242 |
}
|
243 |
}
|
244 |
&.active{
|
245 |
+
>span[class*="icon"]{
|
246 |
&.show-icon{
|
247 |
transform:scaleX(1);
|
248 |
transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
452 |
border: none;
|
453 |
border-radius: $br-radius;
|
454 |
&:hover, &:active {
|
455 |
+
background: $color-7;
|
456 |
}
|
457 |
}
|
458 |
&-track {
|
cherry-framework/modules/cherry-interface-builder/inc/assets/min/cherry-interface-builder.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.cherry-ui-kit button *{pointer-events:none}.cherry-component__content .cherry-settings__content{display:none}.cherry-component__content .cherry-settings__content.show{display:inherit}html{font-size:13px}.cherry-ui-kit h1{font-weight:700;font-size:2.308rem;line-height:2.308rem}.cherry-ui-kit h1 .dashicons{font-size:3rem;line-height:inherit;width:20px;margin:0 20px 0 -5px}.cherry-ui-kit h2{font-weight:600;font-size:1.538rem;line-height:1.538rem}.cherry-ui-kit h2 .dashicons{font-size:2rem;line-height:inherit;width:20px;margin-right:20px}.cherry-ui-kit h3{font-weight:600;font-size:1.231rem;line-height:1.231rem}.cherry-ui-kit h3 .dashicons{font-size:1.7rem;line-height:inherit;margin-right:5px}.cherry-ui-kit h4{font-weight:500;font-size:1.077rem;line-height:1.077rem}.cherry-ui-kit h5{font-weight:500;font-size:1.077rem;line-height:1.077rem}.cherry-ui-kit h6{font-weight:400;font-size:1rem;line-height:1rem}.cherry-ui-kit a{color:#298ffc;text-decoration:none}.cherry-ui-kit a:hover{color:#23282d}.cherry-ui-kit a:focus{outline:1px solid #23282d}.cherry-ui-kit__description{font-size:0.9rem;color:#96989a;margin:10px 0}.cherry-ui-kit__title{margin:20px 0}.cherry-ui-kit.hide{display:none}.cherry-control+.cherry-control,.cherry-settings+.cherry-control{border-top:1px solid rgba(0,0,0,0.1)}.cherry-section{padding:10px;background-color:#fff;margin-left:-10px}.cherry-section__title,.cherry-section__description{margin:10px 0 0 0}.cherry-section+.cherry-ui-kit{border-top:1px solid rgba(0,0,0,0.1)}@media (min-width: 783px){.cherry-section{box-shadow:0px 5px 21px rgba(0,0,0,0.1);border-radius:5px;border:1px solid rgba(0,0,0,0.1);padding:15px;margin:15px 15px 0 0}.cherry-section__holder{background-color:#efefef;border-radius:5px;padding:15px}.cherry-section__info{background-color:#fff;border-radius:5px;padding:15px;box-shadow:0px 5px 21px rgba(0,0,0,0.1);margin-bottom:15px}.cherry-section .cherry-settings{box-shadow:0px 5px 21px rgba(0,0,0,0.1);border-radius:5px;border:1px solid rgba(0,0,0,0.1);background-color:#fff;margin-top:15px}.cherry-section .cherry-settings:first-child{margin-top:0}}@media (min-width: 961px){.cherry-section{padding:30px;margin:20px 20px 0 0}.cherry-section__info{padding:30px;margin-bottom:30px}.cherry-section__holder{padding:30px}.cherry-section .cherry-settings{margin-top:30px}}.cherry-component{padding:20px 0}@media (min-width: 783px){.cherry-component{padding:15px}}@media (min-width: 961px){.cherry-component{padding:30px}}.cherry-component+*{border-top:1px solid rgba(0,0,0,0.1)}.cherry-component__title{margin-top:0}.cherry-component .cherry-component__content .cherry-settings{padding:0;border-top:none}.cherry-component__button{display:block;min-height:45px;-webkit-transition:all 300ms cubic-bezier(0.55, 0.055, 0.675, 0.19);transition:all 300ms cubic-bezier(0.55, 0.055, 0.675, 0.19)}.cherry-component__button .cherry-ui-kit__title{color:inherit}.cherry-component__button.active,.cherry-component__button:hover{color:#298ffc;-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}.cherry-component__button:focus{outline:none;box-shadow:inset 0px 0px 10px rgba(41,143,252,0.5);-webkit-transition-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1.275);transition-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1.275)}.cherry-component.cherry-accordion .cherry-component__button,.cherry-component.cherry-toggle .cherry-component__button{width:100%;padding:15px 20px;border:0;background:none;cursor:pointer}.cherry-component.cherry-accordion .cherry-component__button .cherry-toggle__title,.cherry-component.cherry-toggle .cherry-component__button .cherry-toggle__title{font-weight:700;font-size:14px;float:left;margin:0}.cherry-component.cherry-accordion .cherry-component__button span,.cherry-component.cherry-toggle .cherry-component__button span{font-size:25px;color:#b4b7ba;float:right;padding:5px 5px;width:10px;height:9px;text-align:left;margin-right:-6px}.cherry-component.cherry-accordion .cherry-component__button span.hide-icon,.cherry-component.cherry-toggle .cherry-component__button span.hide-icon{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1);-webkit-transition:all 300ms cubic-bezier(0.175, 0.885, 0.32, 1.275);transition:all 300ms cubic-bezier(0.175, 0.885, 0.32, 1.275)}.cherry-component.cherry-accordion .cherry-component__button span.hide-icon:before,.cherry-component.cherry-toggle .cherry-component__button span.hide-icon:before{position:relative;top:-8px;left:-9px}.cherry-component.cherry-accordion .cherry-component__button span.show-icon,.cherry-component.cherry-toggle .cherry-component__button span.show-icon{position:relative;left:14px;-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);-webkit-transition:all 300ms cubic-bezier(0.215, 0.61, 0.355, 1);transition:all 300ms cubic-bezier(0.215, 0.61, 0.355, 1)}.cherry-component.cherry-accordion .cherry-component__button span.show-icon:before,.cherry-component.cherry-toggle .cherry-component__button span.show-icon:before{position:relative;top:-7px;left:-9px}.cherry-component.cherry-accordion .cherry-component__button.active span.show-icon,.cherry-component.cherry-toggle .cherry-component__button.active span.show-icon{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1);-webkit-transition-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1.275);transition-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1.275)}.cherry-component.cherry-accordion .cherry-component__button.active span.hide-icon,.cherry-component.cherry-toggle .cherry-component__button.active span.hide-icon{-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}.cherry-component.cherry-accordion .cherry-component__button+.cherry-settings__content,.cherry-component.cherry-toggle .cherry-component__button+.cherry-settings__content{border-top:1px solid rgba(0,0,0,0.1)}.cherry-component.cherry-accordion>.cherry-ui-kit__content>.cherry-settings+.cherry-settings,.cherry-component.cherry-toggle>.cherry-ui-kit__content>.cherry-settings+.cherry-settings{margin-top:10px}.cherry-component.cherry-accordion>.cherry-ui-kit__content>.cherry-settings,.cherry-component.cherry-toggle>.cherry-ui-kit__content>.cherry-settings{box-shadow:0px 5px 21px rgba(0,0,0,0.1);border-radius:5px;border:1px solid rgba(0,0,0,0.1)}.cherry-component.cherry-tab .cherry-tab__tabs{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start;border-bottom:1px solid rgba(0,0,0,0.1)}.cherry-component.cherry-tab .cherry-tab__tabs .cherry-component__button{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0;-webkit-box-flex:0;-webkit-flex:0 1 100%;-ms-flex:0 1 100%;flex:0 1 100%;-webkit-align-self:auto;-ms-flex-item-align:auto;align-self:auto;padding:15px 20px;border:0;background:none;cursor:pointer}.cherry-component.cherry-tab .cherry-tab__tabs .cherry-component__button.active{-ms-box-shadow:inset 0px -3px 0px 0px #298ffc;box-shadow:inset 0px -3px 0px 0px #298ffc}.cherry-component.cherry-tab .cherry-tab__tabs .cherry-component__button .cherry-tab__title{font-weight:700;font-size:14px;float:left;margin:0}.cherry-component.cherry-tab .cherry-tab__tabs .cherry-component__button+button{border-top:1px solid rgba(0,0,0,0.1)}.cherry-component.cherry-tab .cherry-tab__body{box-shadow:0px 5px 21px rgba(0,0,0,0.1);border-radius:5px;border:1px solid rgba(0,0,0,0.1);background-color:#fff}.cherry-component.cherry-tab .cherry-tab__body .cherry-settings{box-shadow:none;border-radius:0;border:none;background-color:inherit;margin:0}@media (min-width: 783px){.cherry-component.cherry-tab .cherry-tab__tabs{border:solid 1px rgba(0,0,0,0.1)}.cherry-component.cherry-tab .cherry-tab__tabs .cherry-component__button+button{border-top:none}.cherry-component.cherry-tab .cherry-tab__body{border:none}.cherry-component.cherry-tab .cherry-tab__body .cherry-tab__content{border:1px solid rgba(0,0,0,0.1)}.cherry-component.cherry-tab--horizontal>.cherry-tab__body{border-radius:none}.cherry-component.cherry-tab--horizontal>.cherry-tab__body>.cherry-tab__tabs{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;border-radius:5px 5px 0 0;border-bottom:none}.cherry-component.cherry-tab--horizontal>.cherry-tab__body>.cherry-tab__tabs .cherry-component__button{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.cherry-component.cherry-tab--horizontal>.cherry-tab__body>.cherry-tab__content{border-radius:0 0 5px 5px}.cherry-component.cherry-tab--vertical>.cherry-tab__body{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border-radius:none}.cherry-component.cherry-tab--vertical>.cherry-tab__body>.cherry-tab__tabs{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:0;-webkit-flex:0 1 25%;-ms-flex:0 1 25%;flex:0 1 25%;border-radius:5px 0 0 5px;border-right:none}.cherry-component.cherry-tab--vertical>.cherry-tab__body>.cherry-tab__tabs .cherry-component__button{text-align:right}.cherry-component.cherry-tab--vertical>.cherry-tab__body>.cherry-tab__tabs .cherry-component__button .cherry-tab__title{width:100%}.cherry-component.cherry-tab--vertical>.cherry-tab__body>.cherry-tab__tabs .cherry-component__button.active{box-shadow:inset -3px 0px 0px #298ffc}.cherry-component.cherry-tab--vertical>.cherry-tab__body>.cherry-tab__content{-webkit-box-flex:0;-webkit-flex:0 1 75%;-ms-flex:0 1 75%;flex:0 1 75%;border-radius:0 5px 5px 0}}@media (min-width: 1200px){.cherry-component.cherry-tab--vertical .cherry-tab__tabs{-webkit-box-flex:0;-webkit-flex:0 1 20%;-ms-flex:0 1 20%;flex:0 1 20%}.cherry-component.cherry-tab--vertical .cherry-tab__content{-webkit-box-flex:0;-webkit-flex:0 1 80%;-ms-flex:0 1 80%;flex:0 1 80%}}.cherry-settings+.cherry-settings{border-top:1px solid rgba(0,0,0,0.1)}.cherry-settings .cherry-settings__title{margin-bottom:10px}.cherry-settings__description,.cherry-settings .cherry-settings__title{margin-left:10px}@media (min-width: 783px){.cherry-settings__description,.cherry-settings .cherry-settings__title{margin-left:15px}}@media (min-width: 961px){.cherry-settings__description,.cherry-settings .cherry-settings__title{margin-left:30px}}.cherry-control{padding:15px 20px}.cherry-control__title{margin:0 0 10px 0}.cherry-control__description{margin-top:0}.cherry-control .cherry-ui-container{margin:0}@media (min-width: 783px){.cherry-control{padding:15px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap}.cherry-control__info{-webkit-box-flex:0;-webkit-flex:0 1 30%;-ms-flex:0 1 30%;flex:0 1 30%;padding-right:15px}.cherry-control__content{-webkit-box-flex:0;-webkit-flex:0 1 70%;-ms-flex:0 1 70%;flex:0 1 70%}}@media (min-width: 961px){.cherry-control{padding:30px}}@media (min-width: 783px){.cherry-section.cherry-scroll>.cherry-section__holder>.cherry-section__inner,.cherry-tab__content>.cherry-scroll,.cherry-accordion__content>.cherry-scroll>.cherry-settings__content,.cherry-toggle__content>.cherry-scroll>.cherry-settings__content{max-height:700px;overflow-y:auto;position:relative}.cherry-section.cherry-scroll>.cherry-section__holder>.cherry-section__inner::-webkit-scrollbar,.cherry-tab__content>.cherry-scroll::-webkit-scrollbar,.cherry-accordion__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar,.cherry-toggle__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar{width:10px;height:10px}.cherry-section.cherry-scroll>.cherry-section__holder>.cherry-section__inner::-webkit-scrollbar-button,.cherry-tab__content>.cherry-scroll::-webkit-scrollbar-button,.cherry-accordion__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar-button,.cherry-toggle__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar-button{width:0px;height:0px}.cherry-section.cherry-scroll>.cherry-section__holder>.cherry-section__inner::-webkit-scrollbar-thumb,.cherry-tab__content>.cherry-scroll::-webkit-scrollbar-thumb,.cherry-accordion__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar-thumb,.cherry-toggle__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar-thumb{background-color:#298ffc;border:none;border-radius:5px}.cherry-section.cherry-scroll>.cherry-section__holder>.cherry-section__inner::-webkit-scrollbar-thumb:hover,.cherry-section.cherry-scroll>.cherry-section__holder>.cherry-section__inner::-webkit-scrollbar-thumb:active,.cherry-tab__content>.cherry-scroll::-webkit-scrollbar-thumb:hover,.cherry-tab__content>.cherry-scroll::-webkit-scrollbar-thumb:active,.cherry-accordion__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar-thumb:hover,.cherry-accordion__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar-thumb:active,.cherry-toggle__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar-thumb:hover,.cherry-toggle__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar-thumb:active{background:#206ff4}.cherry-section.cherry-scroll>.cherry-section__holder>.cherry-section__inner::-webkit-scrollbar-track,.cherry-tab__content>.cherry-scroll::-webkit-scrollbar-track,.cherry-accordion__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar-track,.cherry-toggle__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar-track{background-color:#fff;border:none;border-radius:5px}.cherry-section.cherry-scroll>.cherry-section__holder>.cherry-section__inner::-webkit-scrollbar-corner,.cherry-tab__content>.cherry-scroll::-webkit-scrollbar-corner,.cherry-accordion__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar-corner,.cherry-toggle__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar-corner{background:transparent}}
|
1 |
+
.cherry-ui-kit button *{pointer-events:none}.cherry-component__content .cherry-settings__content{display:none}.cherry-component__content .cherry-settings__content.show{display:inherit}html{font-size:13px}.cherry-ui-kit h1{font-weight:700;font-size:2.308rem;line-height:2.308rem}.cherry-ui-kit h1 .dashicons{font-size:3rem;line-height:inherit;width:20px;margin:0 20px 0 -5px}.cherry-ui-kit h2{font-weight:600;font-size:1.538rem;line-height:1.538rem}.cherry-ui-kit h2 .dashicons{font-size:2rem;line-height:inherit;width:20px;margin-right:20px}.cherry-ui-kit h3{font-weight:600;font-size:1.231rem;line-height:1.231rem}.cherry-ui-kit h3 .dashicons{font-size:1.7rem;line-height:inherit;margin-right:5px}.cherry-ui-kit h4{font-weight:500;font-size:1.077rem;line-height:1.077rem}.cherry-ui-kit h5{font-weight:500;font-size:1.077rem;line-height:1.077rem}.cherry-ui-kit h6{font-weight:400;font-size:1rem;line-height:1rem}.cherry-ui-kit a{color:#298ffc;text-decoration:none}.cherry-ui-kit a:hover{color:#23282d}.cherry-ui-kit a:focus{outline:1px solid #23282d}.cherry-ui-kit__description{font-size:0.9rem;color:#96989a;margin:10px 0}.cherry-ui-kit__title{margin:20px 0}.cherry-ui-kit.hide{display:none}.cherry-control+.cherry-control,.cherry-settings+.cherry-control{border-top:1px solid rgba(0,0,0,0.1)}.cherry-section{padding:10px;background-color:#fff;margin-left:-10px}.cherry-section__title,.cherry-section__description{margin:10px 0 0 0}.cherry-section+.cherry-ui-kit{border-top:1px solid rgba(0,0,0,0.1)}@media (min-width: 783px){.cherry-section{box-shadow:0px 5px 21px rgba(0,0,0,0.1);border-radius:5px;border:1px solid rgba(0,0,0,0.1);padding:15px;margin:15px 15px 0 0}.cherry-section__holder{background-color:#efefef;border-radius:5px;padding:15px}.cherry-section__info{background-color:#fff;border-radius:5px;padding:15px;box-shadow:0px 5px 21px rgba(0,0,0,0.1);margin-bottom:15px}.cherry-section .cherry-settings{box-shadow:0px 5px 21px rgba(0,0,0,0.1);border-radius:5px;border:1px solid rgba(0,0,0,0.1);background-color:#fff;margin-top:15px}.cherry-section .cherry-settings:first-child{margin-top:0}}@media (min-width: 961px){.cherry-section{padding:30px;margin:20px 20px 0 0}.cherry-section__info{padding:30px;margin-bottom:30px}.cherry-section__holder{padding:30px}.cherry-section .cherry-settings{margin-top:30px}}.cherry-component{padding:20px 0}@media (min-width: 783px){.cherry-component{padding:15px}}@media (min-width: 961px){.cherry-component{padding:30px}}.cherry-component+*{border-top:1px solid rgba(0,0,0,0.1)}.cherry-component__title{margin-top:0}.cherry-component .cherry-component__content .cherry-settings{padding:0;border-top:none}.cherry-component__button{display:block;min-height:45px;-webkit-transition:all 300ms cubic-bezier(0.55, 0.055, 0.675, 0.19);transition:all 300ms cubic-bezier(0.55, 0.055, 0.675, 0.19)}.cherry-component__button .cherry-ui-kit__title{color:inherit}.cherry-component__button.active,.cherry-component__button:hover{color:#298ffc;-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}.cherry-component__button:focus{outline:none;box-shadow:inset 0px 0px 10px rgba(41,143,252,0.5);-webkit-transition-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1.275);transition-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1.275)}.cherry-component.cherry-accordion .cherry-component__button,.cherry-component.cherry-toggle .cherry-component__button{width:100%;padding:15px 20px;border:0;background:none;cursor:pointer;position:relative}.cherry-component.cherry-accordion .cherry-component__button .cherry-toggle__title,.cherry-component.cherry-toggle .cherry-component__button .cherry-toggle__title{font-weight:700;font-size:14px;float:left;margin:0}.cherry-component.cherry-accordion .cherry-component__button>span[class*="icon"],.cherry-component.cherry-toggle .cherry-component__button>span[class*="icon"]{position:absolute;top:50%;right:5px;margin-top:-10px;font-size:25px;color:#b4b7ba;padding:5px 5px;width:10px;height:9px;text-align:left;overflow:hidden}.cherry-component.cherry-accordion .cherry-component__button>span[class*="icon"].hide-icon,.cherry-component.cherry-toggle .cherry-component__button>span[class*="icon"].hide-icon{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transition:all 300ms cubic-bezier(0.175, 0.885, 0.32, 1.275);transition:all 300ms cubic-bezier(0.175, 0.885, 0.32, 1.275)}.cherry-component.cherry-accordion .cherry-component__button>span[class*="icon"].hide-icon:before,.cherry-component.cherry-toggle .cherry-component__button>span[class*="icon"].hide-icon:before{position:relative;top:-8px;left:-9px}.cherry-component.cherry-accordion .cherry-component__button>span[class*="icon"].show-icon,.cherry-component.cherry-toggle .cherry-component__button>span[class*="icon"].show-icon{-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transition:all 300ms cubic-bezier(0.215, 0.61, 0.355, 1);transition:all 300ms cubic-bezier(0.215, 0.61, 0.355, 1)}.cherry-component.cherry-accordion .cherry-component__button>span[class*="icon"].show-icon:before,.cherry-component.cherry-toggle .cherry-component__button>span[class*="icon"].show-icon:before{position:relative;top:-7px;left:-9px}.cherry-component.cherry-accordion .cherry-component__button.active>span[class*="icon"].show-icon,.cherry-component.cherry-toggle .cherry-component__button.active>span[class*="icon"].show-icon{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transition-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1.275);transition-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1.275)}.cherry-component.cherry-accordion .cherry-component__button.active>span[class*="icon"].hide-icon,.cherry-component.cherry-toggle .cherry-component__button.active>span[class*="icon"].hide-icon{-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}.cherry-component.cherry-accordion .cherry-component__button+.cherry-settings__content,.cherry-component.cherry-toggle .cherry-component__button+.cherry-settings__content{border-top:1px solid rgba(0,0,0,0.1)}.cherry-component.cherry-accordion>.cherry-ui-kit__content>.cherry-settings+.cherry-settings,.cherry-component.cherry-toggle>.cherry-ui-kit__content>.cherry-settings+.cherry-settings{margin-top:10px}.cherry-component.cherry-accordion>.cherry-ui-kit__content>.cherry-settings,.cherry-component.cherry-toggle>.cherry-ui-kit__content>.cherry-settings{box-shadow:0px 5px 21px rgba(0,0,0,0.1);border-radius:5px;border:1px solid rgba(0,0,0,0.1)}.cherry-component.cherry-tab .cherry-tab__tabs{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-ms-flex-line-pack:start;align-content:flex-start;border-bottom:1px solid rgba(0,0,0,0.1)}.cherry-component.cherry-tab .cherry-tab__tabs .cherry-component__button{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0;-webkit-box-flex:0;-ms-flex:0 1 100%;flex:0 1 100%;-ms-flex-item-align:auto;-ms-grid-row-align:auto;align-self:auto;padding:15px 20px;border:0;background:none;cursor:pointer}.cherry-component.cherry-tab .cherry-tab__tabs .cherry-component__button.active{-ms-box-shadow:inset 0px -3px 0px 0px #298ffc;box-shadow:inset 0px -3px 0px 0px #298ffc}.cherry-component.cherry-tab .cherry-tab__tabs .cherry-component__button .cherry-tab__title{font-weight:700;font-size:14px;float:left;margin:0}.cherry-component.cherry-tab .cherry-tab__tabs .cherry-component__button+button{border-top:1px solid rgba(0,0,0,0.1)}.cherry-component.cherry-tab .cherry-tab__body{box-shadow:0px 5px 21px rgba(0,0,0,0.1);border-radius:5px;border:1px solid rgba(0,0,0,0.1);background-color:#fff}.cherry-component.cherry-tab .cherry-tab__body .cherry-settings{box-shadow:none;border-radius:0;border:none;background-color:inherit;margin:0}@media (min-width: 783px){.cherry-component.cherry-tab .cherry-tab__tabs{border:solid 1px rgba(0,0,0,0.1)}.cherry-component.cherry-tab .cherry-tab__tabs .cherry-component__button+button{border-top:none}.cherry-component.cherry-tab .cherry-tab__body{border:none}.cherry-component.cherry-tab .cherry-tab__body .cherry-tab__content{border:1px solid rgba(0,0,0,0.1)}.cherry-component.cherry-tab--horizontal>.cherry-tab__body{border-radius:none}.cherry-component.cherry-tab--horizontal>.cherry-tab__body>.cherry-tab__tabs{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;border-radius:5px 5px 0 0;border-bottom:none}.cherry-component.cherry-tab--horizontal>.cherry-tab__body>.cherry-tab__tabs .cherry-component__button{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}.cherry-component.cherry-tab--horizontal>.cherry-tab__body>.cherry-tab__content{border-radius:0 0 5px 5px}.cherry-component.cherry-tab--vertical>.cherry-tab__body{display:-webkit-box;display:-ms-flexbox;display:flex;border-radius:none}.cherry-component.cherry-tab--vertical>.cherry-tab__body>.cherry-tab__tabs{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:0;-ms-flex:0 1 25%;flex:0 1 25%;border-radius:5px 0 0 5px;border-right:none}.cherry-component.cherry-tab--vertical>.cherry-tab__body>.cherry-tab__tabs .cherry-component__button{text-align:right}.cherry-component.cherry-tab--vertical>.cherry-tab__body>.cherry-tab__tabs .cherry-component__button .cherry-tab__title{width:100%}.cherry-component.cherry-tab--vertical>.cherry-tab__body>.cherry-tab__tabs .cherry-component__button.active{box-shadow:inset -3px 0px 0px #298ffc}.cherry-component.cherry-tab--vertical>.cherry-tab__body>.cherry-tab__content{-webkit-box-flex:0;-ms-flex:0 1 75%;flex:0 1 75%;border-radius:0 5px 5px 0}}@media (min-width: 1200px){.cherry-component.cherry-tab--vertical .cherry-tab__tabs{-webkit-box-flex:0;-ms-flex:0 1 20%;flex:0 1 20%}.cherry-component.cherry-tab--vertical .cherry-tab__content{-webkit-box-flex:0;-ms-flex:0 1 80%;flex:0 1 80%}}.cherry-settings+.cherry-settings{border-top:1px solid rgba(0,0,0,0.1)}.cherry-settings .cherry-settings__title{margin-bottom:10px}.cherry-settings__description,.cherry-settings .cherry-settings__title{margin-left:10px}@media (min-width: 783px){.cherry-settings__description,.cherry-settings .cherry-settings__title{margin-left:15px}}@media (min-width: 961px){.cherry-settings__description,.cherry-settings .cherry-settings__title{margin-left:30px}}.cherry-control{padding:15px 20px}.cherry-control__title{margin:0 0 10px 0}.cherry-control__description{margin-top:0}.cherry-control .cherry-ui-container{margin:0}@media (min-width: 783px){.cherry-control{padding:15px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap}.cherry-control__info{-webkit-box-flex:0;-ms-flex:0 1 30%;flex:0 1 30%;padding-right:15px}.cherry-control__content{-webkit-box-flex:0;-ms-flex:0 1 70%;flex:0 1 70%}}@media (min-width: 961px){.cherry-control{padding:30px}}@media (min-width: 783px){.cherry-section.cherry-scroll>.cherry-section__holder>.cherry-section__inner,.cherry-tab__content>.cherry-scroll,.cherry-accordion__content>.cherry-scroll>.cherry-settings__content,.cherry-toggle__content>.cherry-scroll>.cherry-settings__content{max-height:700px;overflow-y:auto;position:relative}.cherry-section.cherry-scroll>.cherry-section__holder>.cherry-section__inner::-webkit-scrollbar,.cherry-tab__content>.cherry-scroll::-webkit-scrollbar,.cherry-accordion__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar,.cherry-toggle__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar{width:10px;height:10px}.cherry-section.cherry-scroll>.cherry-section__holder>.cherry-section__inner::-webkit-scrollbar-button,.cherry-tab__content>.cherry-scroll::-webkit-scrollbar-button,.cherry-accordion__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar-button,.cherry-toggle__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar-button{width:0px;height:0px}.cherry-section.cherry-scroll>.cherry-section__holder>.cherry-section__inner::-webkit-scrollbar-thumb,.cherry-tab__content>.cherry-scroll::-webkit-scrollbar-thumb,.cherry-accordion__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar-thumb,.cherry-toggle__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar-thumb{background-color:#298ffc;border:none;border-radius:5px}.cherry-section.cherry-scroll>.cherry-section__holder>.cherry-section__inner::-webkit-scrollbar-thumb:hover,.cherry-section.cherry-scroll>.cherry-section__holder>.cherry-section__inner::-webkit-scrollbar-thumb:active,.cherry-tab__content>.cherry-scroll::-webkit-scrollbar-thumb:hover,.cherry-tab__content>.cherry-scroll::-webkit-scrollbar-thumb:active,.cherry-accordion__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar-thumb:hover,.cherry-accordion__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar-thumb:active,.cherry-toggle__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar-thumb:hover,.cherry-toggle__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar-thumb:active{background:#206ff4}.cherry-section.cherry-scroll>.cherry-section__holder>.cherry-section__inner::-webkit-scrollbar-track,.cherry-tab__content>.cherry-scroll::-webkit-scrollbar-track,.cherry-accordion__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar-track,.cherry-toggle__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar-track{background-color:#fff;border:none;border-radius:5px}.cherry-section.cherry-scroll>.cherry-section__holder>.cherry-section__inner::-webkit-scrollbar-corner,.cherry-tab__content>.cherry-scroll::-webkit-scrollbar-corner,.cherry-accordion__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar-corner,.cherry-toggle__content>.cherry-scroll>.cherry-settings__content::-webkit-scrollbar-corner{background:transparent}}
|
cherry-framework/modules/cherry-interface-builder/inc/assets/min/cherry-interface-builder.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(t,s){"use strict";s.utilites.namespace("interfaceBuilder"),s.interfaceBuilder={init:function(){this.component.init()},component:{tabClass:".cherry-tab",accordionClass:".cherry-accordion",toggleClass:".cherry-toggle",buttonClass:".cherry-component__button",contentClass:".cherry-settings__content",buttonActiveClass:"active",showClass:"show",localStorage:{},init:function(){this.localStorage=this.getState()||{},this.componentInit(this.tabClass),this.componentInit(this.accordionClass),this.componentInit(this.toggleClass),this.addEvent()},addEvent:function(){t("body").on("click",this.tabClass+" "+this.buttonClass+", "+this.toggleClass+" "+this.buttonClass+", "+this.accordionClass+" "+this.buttonClass,this.componentClick.bind(this))},componentInit:function(s){var
|
1 |
+
!function(t,s){"use strict";s.utilites.namespace("interfaceBuilder"),s.interfaceBuilder={init:function(){this.component.init(),t(document).on("cherryInterfaceBuilder",this.component.init.bind(this.component))},component:{tabClass:".cherry-tab",accordionClass:".cherry-accordion",toggleClass:".cherry-toggle",buttonClass:".cherry-component__button",contentClass:".cherry-settings__content",buttonActiveClass:"active",showClass:"show",localStorage:{},init:function(){this.localStorage=this.getState()||{},this.componentInit(this.tabClass),this.componentInit(this.accordionClass),this.componentInit(this.toggleClass),this.addEvent()},addEvent:function(){t("body").off("click.cherryInterfaceBuilder").on("click.cherryInterfaceBuilder",this.tabClass+" "+this.buttonClass+", "+this.toggleClass+" "+this.buttonClass+", "+this.accordionClass+" "+this.buttonClass,this.componentClick.bind(this))},componentInit:function(s){var e=this,a=t(s),o=null,i=null,n=null,l="";a.each(function(a,c){switch(c=t(c),o=c.data("compotent-id"),s){case e.toggleClass:e.localStorage[o]&&e.localStorage[o].length&&(l=e.localStorage[o].join(", ")),t(e.contentClass,c).not(l).addClass(e.showClass).prevAll(e.buttonClass).addClass(e.buttonActiveClass);break;case e.tabClass:case e.accordionClass:e.localStorage[o]?(n=e.localStorage[o][0],i=t('[data-content-id="'+n+'"]',c)):(i=t(e.buttonClass,c).eq(0),n=i.data("content-id")),e.showElement(i,c,n)}})},componentClick:function(s){var e,a=t(s.target),o=a.closest(this.tabClass+", "+this.accordionClass+", "+this.toggleClass),i=new RegExp(this.tabClass+"|"+this.accordionClass+"|"+this.toggleClass),n=o[0].className.match(i)[0].replace(" ","."),l=a.data("content-id"),c=o.data("compotent-id"),r=a.hasClass(this.buttonActiveClass);switch(n){case this.tabClass:r||(this.hideElement(o),this.showElement(a,o,l),this.localStorage[c]=new Array(l),this.setState());break;case this.accordionClass:this.hideElement(o),r?this.localStorage[c]={}:(this.showElement(a,o,l),this.localStorage[c]=new Array(l)),this.setState();break;case this.toggleClass:a.toggleClass(this.buttonActiveClass).nextAll(l).toggleClass(this.showClass),Array.isArray(this.localStorage[c])?(e=this.localStorage[c].indexOf(l),-1!==e?this.localStorage[c].splice(e,1):this.localStorage[c].push(l)):this.localStorage[c]=new Array(l),this.setState()}return a.blur(),!1},showElement:function(s,e,a){s.addClass(this.buttonActiveClass),e.data("content-id",a),t(a,e).addClass(this.showClass)},hideElement:function(s){var e=s.data("content-id");t('[data-content-id="'+e+'"]',s).removeClass(this.buttonActiveClass),t(e,s).removeClass(this.showClass)},getState:function(){try{return JSON.parse(localStorage.getItem("interface-builder"))}catch(t){return!1}},setState:function(){try{localStorage.setItem("interface-builder",JSON.stringify(this.localStorage))}catch(t){return!1}}}},s.interfaceBuilder.init()}(jQuery,window.CherryJsCore);
|
cherry-framework/modules/cherry-js-core/assets/js/min/cherry-js-core.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
var CherryJsCore={};!function(r){"use strict";CherryJsCore={name:"Cherry Js Core",version:"1.0.0",author:"Cherry Team",variable:{$document:r(document),$window:r(window),browser:r.browser,browser_supported:!0,security:window.cherry_ajax,loaded_assets:{script:window.wp_load_script,style:window.wp_load_style},ui_auto_init:"true"===window.ui_init_object.auto_init
|
1 |
+
var CherryJsCore={};!function(r){"use strict";CherryJsCore={name:"Cherry Js Core",version:"1.0.0",author:"Cherry Team",variable:{$document:r(document),$window:r(window),browser:r.browser,browser_supported:!0,security:window.cherry_ajax,loaded_assets:{script:window.wp_load_script,style:window.wp_load_style},ui_auto_init:"true"===window.ui_init_object.auto_init,ui_auto_target:window.ui_init_object.targets},status:{on_load:!1,is_ready:!1},init:function(){CherryJsCore.set_variable(),r(document).on("ready",CherryJsCore.ready),r(window).on("load",CherryJsCore.load)},set_variable:function(){CherryJsCore.variable.browser_supported=function(){var r=CherryJsCore.variable.browser,e={msie:[8]};for(var i in e)if("undefined"!==r.browser)for(var o in e[i])if(r.version<=e[i][o])return!1;return!0}()},ready:function(){CherryJsCore.status.is_ready=!0,CherryJsCore.expressions.widget_ui_init()},load:function(){CherryJsCore.status.on_load=!0},expressions:{widget_ui_init:function(){r(document).on("widget-added widget-updated",function(e,i){r("body").trigger({type:"cherry-ui-elements-init",_target:i})})}},utilites:{namespace:function(r){var e=r.split("."),i=CherryJsCore,o=e.length,t=0;for(t=0;t<o;t+=1)"undefined"==typeof i[e[t]]&&(i[e[t]]={}),i=i[e[t]];return i}}},CherryJsCore.init()}(jQuery);
|
cherry-framework/modules/cherry-js-core/cherry-js-core.php
CHANGED
@@ -46,7 +46,7 @@ if ( ! class_exists( 'Cherry_Js_Core' ) ) {
|
|
46 |
* @since 1.0.0
|
47 |
* @var string
|
48 |
*/
|
49 |
-
private $module_version = '1.1.
|
50 |
|
51 |
/**
|
52 |
* Default options.
|
46 |
* @since 1.0.0
|
47 |
* @var string
|
48 |
*/
|
49 |
+
private $module_version = '1.1.2';
|
50 |
|
51 |
/**
|
52 |
* Default options.
|
cherry-framework/modules/cherry-post-formats-api/cherry-post-formats-api.php
CHANGED
@@ -793,7 +793,6 @@ if ( ! class_exists( 'Cherry_Post_Formats_Api' ) ) {
|
|
793 |
return;
|
794 |
}
|
795 |
|
796 |
-
$atts = array_merge( $atts, $this->args['gallery_args'] );
|
797 |
$result = $this->get_gallery_html( $attachments, $atts );
|
798 |
|
799 |
return $result;
|
793 |
return;
|
794 |
}
|
795 |
|
|
|
796 |
$result = $this->get_gallery_html( $attachments, $atts );
|
797 |
|
798 |
return $result;
|
cherry-framework/modules/cherry-post-formats-api/inc/class-cherry-facebook-embed.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author Cherry Team <cherryframework@gmail.com>
|
8 |
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
-
* @license http://www.gnu.org/licenses/
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
7 |
* @author Cherry Team <cherryframework@gmail.com>
|
8 |
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.en.html
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
cherry-framework/modules/cherry-template-manager/cherry-template-manager.php
CHANGED
@@ -2,15 +2,15 @@
|
|
2 |
/**
|
3 |
* Module Name: Template Manager
|
4 |
* Description: Module load and parse tmpl files.
|
5 |
-
* Version: 1.0.
|
6 |
* Author: Cherry Team
|
7 |
* Author URI: http://www.cherryframework.com/
|
8 |
* License: GPLv3
|
9 |
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
*
|
11 |
-
* @package
|
12 |
* @subpackage Modules
|
13 |
-
* @version 1.0.
|
14 |
* @author Cherry Team <cherryframework@gmail.com>
|
15 |
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
16 |
* @link http://www.cherryframework.com/
|
@@ -49,6 +49,13 @@ if ( ! class_exists( 'Cherry_Template_Manager' ) ) {
|
|
49 |
*/
|
50 |
private $args = array();
|
51 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
/**
|
53 |
* It contains a class Cherry_Template_Parser.
|
54 |
*
|
@@ -75,6 +82,8 @@ if ( ! class_exists( 'Cherry_Template_Manager' ) ) {
|
|
75 |
* @return void
|
76 |
*/
|
77 |
public function __construct( $core = null, $args = array() ) {
|
|
|
|
|
78 |
$this->include_class();
|
79 |
|
80 |
$this->args = array_merge_recursive(
|
@@ -116,11 +125,11 @@ if ( ! class_exists( 'Cherry_Template_Manager' ) ) {
|
|
116 |
* @access public
|
117 |
* @return object
|
118 |
*/
|
119 |
-
public static function get_instance() {
|
120 |
|
121 |
// If the single instance hasn't been set, set it now.
|
122 |
if ( null == self::$instance ) {
|
123 |
-
self::$instance = new self;
|
124 |
}
|
125 |
|
126 |
return self::$instance;
|
2 |
/**
|
3 |
* Module Name: Template Manager
|
4 |
* Description: Module load and parse tmpl files.
|
5 |
+
* Version: 1.0.1
|
6 |
* Author: Cherry Team
|
7 |
* Author URI: http://www.cherryframework.com/
|
8 |
* License: GPLv3
|
9 |
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
*
|
11 |
+
* @package Template_Manager
|
12 |
* @subpackage Modules
|
13 |
+
* @version 1.0.1
|
14 |
* @author Cherry Team <cherryframework@gmail.com>
|
15 |
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
16 |
* @link http://www.cherryframework.com/
|
49 |
*/
|
50 |
private $args = array();
|
51 |
|
52 |
+
/**
|
53 |
+
* Core instance
|
54 |
+
*
|
55 |
+
* @var object
|
56 |
+
*/
|
57 |
+
public $core = null;
|
58 |
+
|
59 |
/**
|
60 |
* It contains a class Cherry_Template_Parser.
|
61 |
*
|
82 |
* @return void
|
83 |
*/
|
84 |
public function __construct( $core = null, $args = array() ) {
|
85 |
+
$this->core = $core;
|
86 |
+
|
87 |
$this->include_class();
|
88 |
|
89 |
$this->args = array_merge_recursive(
|
125 |
* @access public
|
126 |
* @return object
|
127 |
*/
|
128 |
+
public static function get_instance( $core = null, $args = array() ) {
|
129 |
|
130 |
// If the single instance hasn't been set, set it now.
|
131 |
if ( null == self::$instance ) {
|
132 |
+
self::$instance = new self( $core, $args );
|
133 |
}
|
134 |
|
135 |
return self::$instance;
|
cherry-framework/modules/cherry-template-manager/inc/cherry-template-loader.php
CHANGED
@@ -1,16 +1,8 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
4 |
-
* Description: Module load tmpl files.
|
5 |
-
* Version: 1.0.0
|
6 |
-
* Author: Cherry Team
|
7 |
-
* Author URI: http://www.cherryframework.com/
|
8 |
-
* License: GPLv3
|
9 |
-
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
*
|
11 |
-
* @package
|
12 |
-
* @subpackage Modules
|
13 |
-
* @version 1.0.0
|
14 |
* @author Cherry Team <cherryframework@gmail.com>
|
15 |
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
16 |
* @link http://www.cherryframework.com/
|
@@ -120,12 +112,11 @@ if ( ! class_exists( 'Cherry_Template_Loader' ) ) {
|
|
120 |
* Return product slug.
|
121 |
*
|
122 |
* @since 1.0.0
|
123 |
-
* @since 1.1.3 Using dirname( __FILE__ ) instead of __DIR__.
|
124 |
* @access private
|
125 |
* @return string
|
126 |
*/
|
127 |
private function get_slug() {
|
128 |
-
$file_dir = wp_normalize_path( dirname(
|
129 |
$product_dir = $this->get_project_root();
|
130 |
|
131 |
$slug = str_replace( $product_dir, '', $file_dir );
|
@@ -138,14 +129,13 @@ if ( ! class_exists( 'Cherry_Template_Loader' ) ) {
|
|
138 |
* Function return the project root dir, themes or plugins.
|
139 |
*
|
140 |
* @since 1.0.0
|
141 |
-
* @since 1.1.3 Using dirname( __FILE__ ) instead of __DIR__.
|
142 |
* @access private
|
143 |
* @return string
|
144 |
*/
|
145 |
private function get_project_root() {
|
146 |
$themes_dir = wp_normalize_path( get_theme_root() );
|
147 |
$plugin_dir = wp_normalize_path( WP_PLUGIN_DIR );
|
148 |
-
$file_dir = wp_normalize_path( dirname(
|
149 |
$project_root = ( false === strpos( $file_dir, $themes_dir ) ) ? $plugin_dir : $themes_dir;
|
150 |
|
151 |
return trailingslashit( $project_root );
|
@@ -184,26 +174,13 @@ if ( ! class_exists( 'Cherry_Template_Loader' ) ) {
|
|
184 |
* Read template (static).
|
185 |
*
|
186 |
* @since 1.0.0
|
|
|
187 |
* @param string $file Correct file path.
|
188 |
* @access public
|
189 |
* @return string|bool
|
190 |
*/
|
191 |
public function get_contents( $file ) {
|
192 |
-
|
193 |
-
|
194 |
-
$file = wp_normalize_path( $file );
|
195 |
-
|
196 |
-
// Check for existence.
|
197 |
-
if ( ! $content = $wp_filesystem->get_contents( $file ) ) {
|
198 |
-
return false;
|
199 |
-
}
|
200 |
-
|
201 |
-
if ( ! $content ) {
|
202 |
-
// Return error object.
|
203 |
-
return new WP_Error( 'reading_error', 'Error when reading file' );
|
204 |
-
}
|
205 |
-
|
206 |
-
return $content;
|
207 |
}
|
208 |
|
209 |
/**
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Class for load templates.
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
*
|
5 |
+
* @package Template_Manager
|
|
|
|
|
6 |
* @author Cherry Team <cherryframework@gmail.com>
|
7 |
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
8 |
* @link http://www.cherryframework.com/
|
112 |
* Return product slug.
|
113 |
*
|
114 |
* @since 1.0.0
|
|
|
115 |
* @access private
|
116 |
* @return string
|
117 |
*/
|
118 |
private function get_slug() {
|
119 |
+
$file_dir = wp_normalize_path( dirname( $this->cherry_template_manager_class->core->settings['base_dir'] ) );
|
120 |
$product_dir = $this->get_project_root();
|
121 |
|
122 |
$slug = str_replace( $product_dir, '', $file_dir );
|
129 |
* Function return the project root dir, themes or plugins.
|
130 |
*
|
131 |
* @since 1.0.0
|
|
|
132 |
* @access private
|
133 |
* @return string
|
134 |
*/
|
135 |
private function get_project_root() {
|
136 |
$themes_dir = wp_normalize_path( get_theme_root() );
|
137 |
$plugin_dir = wp_normalize_path( WP_PLUGIN_DIR );
|
138 |
+
$file_dir = wp_normalize_path( dirname( $this->cherry_template_manager_class->core->settings['base_dir'] ) );
|
139 |
$project_root = ( false === strpos( $file_dir, $themes_dir ) ) ? $plugin_dir : $themes_dir;
|
140 |
|
141 |
return trailingslashit( $project_root );
|
174 |
* Read template (static).
|
175 |
*
|
176 |
* @since 1.0.0
|
177 |
+
* @since 1.0.1 - Use Cherry_Toolkit::get_file instead of WP Filesystem.
|
178 |
* @param string $file Correct file path.
|
179 |
* @access public
|
180 |
* @return string|bool
|
181 |
*/
|
182 |
public function get_contents( $file ) {
|
183 |
+
return Cherry_Toolkit::get_file( $file );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
184 |
}
|
185 |
|
186 |
/**
|
cherry-framework/modules/cherry-template-manager/inc/cherry-template-parser.php
CHANGED
@@ -1,16 +1,8 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
4 |
-
* Description: Module parsed tmpl files.
|
5 |
-
* Version: 1.0.0
|
6 |
-
* Author: Cherry Team
|
7 |
-
* Author URI: http://www.cherryframework.com/
|
8 |
-
* License: GPLv3
|
9 |
-
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
*
|
11 |
-
* @package
|
12 |
-
* @subpackage Modules
|
13 |
-
* @version 1.0.0
|
14 |
* @author Cherry Team <cherryframework@gmail.com>
|
15 |
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
16 |
* @link http://www.cherryframework.com/
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Class for parse templates.
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
*
|
5 |
+
* @package Template_Manager
|
|
|
|
|
6 |
* @author Cherry Team <cherryframework@gmail.com>
|
7 |
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
8 |
* @link http://www.cherryframework.com/
|
cherry-framework/modules/cherry-ui-elements/cherry-ui-elements.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Module Name: UI Elements
|
4 |
* Description: Class for the building ui elements
|
5 |
-
* Version: 1.3.
|
6 |
* Author: Cherry Team
|
7 |
* Author URI: http://www.cherryframework.com/
|
8 |
* License: GPLv3
|
@@ -10,7 +10,7 @@
|
|
10 |
*
|
11 |
* @package Cherry_Framework
|
12 |
* @subpackage Modules
|
13 |
-
* @version 1.3.
|
14 |
* @author Cherry Team <cherryframework@gmail.com>
|
15 |
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
16 |
* @link http://www.cherryframework.com/
|
@@ -136,7 +136,6 @@ if ( ! class_exists( 'Cherry_UI_Elements' ) ) {
|
|
136 |
foreach ( $this->args['ui_elements'] as $ui_element ) {
|
137 |
$ui_class_name = 'UI_' . ucwords( $ui_element );
|
138 |
call_user_func( array( $ui_class_name, 'enqueue_assets' ) );
|
139 |
-
|
140 |
}
|
141 |
}
|
142 |
}
|
2 |
/**
|
3 |
* Module Name: UI Elements
|
4 |
* Description: Class for the building ui elements
|
5 |
+
* Version: 1.3.4
|
6 |
* Author: Cherry Team
|
7 |
* Author URI: http://www.cherryframework.com/
|
8 |
* License: GPLv3
|
10 |
*
|
11 |
* @package Cherry_Framework
|
12 |
* @subpackage Modules
|
13 |
+
* @version 1.3.4
|
14 |
* @author Cherry Team <cherryframework@gmail.com>
|
15 |
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
16 |
* @link http://www.cherryframework.com/
|
136 |
foreach ( $this->args['ui_elements'] as $ui_element ) {
|
137 |
$ui_class_name = 'UI_' . ucwords( $ui_element );
|
138 |
call_user_func( array( $ui_class_name, 'enqueue_assets' ) );
|
|
|
139 |
}
|
140 |
}
|
141 |
}
|
cherry-framework/modules/cherry-ui-elements/i-ui.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author Cherry Team <cherryframework@gmail.com>
|
8 |
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
-
* @license http://www.gnu.org/licenses/
|
11 |
*/
|
12 |
|
13 |
/**
|
7 |
* @author Cherry Team <cherryframework@gmail.com>
|
8 |
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.en.html
|
11 |
*/
|
12 |
|
13 |
/**
|
cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-button/ui-button.php
CHANGED
@@ -18,17 +18,17 @@ if ( ! defined( 'WPINC' ) ) {
|
|
18 |
if ( ! class_exists( 'UI_Button' ) ) {
|
19 |
|
20 |
/**
|
21 |
-
* Class for the building ui-
|
22 |
*/
|
23 |
class UI_Button extends UI_Element implements I_UI {
|
24 |
|
25 |
/**
|
26 |
-
* Default settings
|
27 |
*
|
|
|
28 |
* @var array
|
29 |
*/
|
30 |
private $defaults_settings = array(
|
31 |
-
'type' => 'text',
|
32 |
'id' => 'cherry-ui-button-id',
|
33 |
'name' => 'cherry-ui-button-name',
|
34 |
'value' => 'button',
|
@@ -43,9 +43,9 @@ if ( ! class_exists( 'UI_Button' ) ) {
|
|
43 |
);
|
44 |
|
45 |
/**
|
46 |
-
* Constructor method for the
|
47 |
*
|
48 |
-
* @since
|
49 |
*/
|
50 |
function __construct( $args = array() ) {
|
51 |
$this->defaults_settings['id'] = 'cherry-ui-button-' . uniqid();
|
@@ -55,9 +55,9 @@ if ( ! class_exists( 'UI_Button' ) ) {
|
|
55 |
}
|
56 |
|
57 |
/**
|
58 |
-
* Render html
|
59 |
*
|
60 |
-
* @since
|
61 |
*/
|
62 |
public function render() {
|
63 |
$html = Cherry_Toolkit::render_view(
|
@@ -69,17 +69,16 @@ if ( ! class_exists( 'UI_Button' ) ) {
|
|
69 |
}
|
70 |
|
71 |
/**
|
72 |
-
* Enqueue javascript and stylesheet
|
73 |
*
|
74 |
-
* @since
|
75 |
*/
|
76 |
public static function enqueue_assets() {
|
77 |
-
|
78 |
wp_enqueue_style(
|
79 |
'ui-button',
|
80 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-button.min.css', __FILE__ ) ),
|
81 |
array(),
|
82 |
-
'1.
|
83 |
'all'
|
84 |
);
|
85 |
}
|
18 |
if ( ! class_exists( 'UI_Button' ) ) {
|
19 |
|
20 |
/**
|
21 |
+
* Class for the building ui-button elements.
|
22 |
*/
|
23 |
class UI_Button extends UI_Element implements I_UI {
|
24 |
|
25 |
/**
|
26 |
+
* Default settings.
|
27 |
*
|
28 |
+
* @since 1.0.0
|
29 |
* @var array
|
30 |
*/
|
31 |
private $defaults_settings = array(
|
|
|
32 |
'id' => 'cherry-ui-button-id',
|
33 |
'name' => 'cherry-ui-button-name',
|
34 |
'value' => 'button',
|
43 |
);
|
44 |
|
45 |
/**
|
46 |
+
* Constructor method for the UI_Button class.
|
47 |
*
|
48 |
+
* @since 1.0.0
|
49 |
*/
|
50 |
function __construct( $args = array() ) {
|
51 |
$this->defaults_settings['id'] = 'cherry-ui-button-' . uniqid();
|
55 |
}
|
56 |
|
57 |
/**
|
58 |
+
* Render html UI_Button.
|
59 |
*
|
60 |
+
* @since 1.0.0
|
61 |
*/
|
62 |
public function render() {
|
63 |
$html = Cherry_Toolkit::render_view(
|
69 |
}
|
70 |
|
71 |
/**
|
72 |
+
* Enqueue javascript and stylesheet UI_Button.
|
73 |
*
|
74 |
+
* @since 1.0.0
|
75 |
*/
|
76 |
public static function enqueue_assets() {
|
|
|
77 |
wp_enqueue_style(
|
78 |
'ui-button',
|
79 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-button.min.css', __FILE__ ) ),
|
80 |
array(),
|
81 |
+
'1.3.2',
|
82 |
'all'
|
83 |
);
|
84 |
}
|
cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-checkbox/assets/min/ui-checkbox.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(e,t){"use strict";t.utilites.namespace("ui_elements.checkbox"),t.ui_elements.checkbox={inputClass:'.cherry-checkbox-input[type="hidden"]:not([name*="__i__"])',labelClass:".cherry-checkbox-label, .cherry-checkbox-item",init:function(){e(document).on("ready.cherry-ui-elements-init",this.addEvent.bind(this)).on("cherry-ui-elements-init",this.initState.bind(this))},addEvent:function(){e("body").on("click.masterSlave",this.labelClass,this.switchState.bind(this)),this.initState()},initState:function(){for(var t,i,s,n=e(this.inputClass),c=n.length-1;c>=0;c--)t=e(n[c]),i=t.data(),s=t.closest("form"),jQuery.isEmptyObject(i)||e("."+i.slave,s)[t[0].checked?"removeClass":"addClass"]("hide")},switchState:function(t){var i=e(t.currentTarget).siblings(this.inputClass),s=i.data(),n=i[0].checked,c=i.closest("form");i.val(n?"false":"true").attr("checked"
|
1 |
+
!function(e,t){"use strict";t.utilites.namespace("ui_elements.checkbox"),t.ui_elements.checkbox={inputClass:'.cherry-checkbox-input[type="hidden"]:not([name*="__i__"])',labelClass:".cherry-checkbox-label, .cherry-checkbox-item",init:function(){e(document).on("ready.cherry-ui-elements-init",this.addEvent.bind(this)).on("cherry-ui-elements-init",this.initState.bind(this))},addEvent:function(){e("body").on("click.masterSlave",this.labelClass,this.switchState.bind(this)),this.initState()},initState:function(){for(var t,i,s,n=e(this.inputClass),c=n.length-1;c>=0;c--)t=e(n[c]),i=t.data(),s=t.closest("form"),jQuery.isEmptyObject(i)||e("."+i.slave,s)[t[0].checked?"removeClass":"addClass"]("hide")},switchState:function(t){var i=e(t.currentTarget).siblings(this.inputClass),s=i.data(),n=i[0].checked,c=i.closest("form");i.val(n?"false":"true").attr("checked",!n).trigger("change"),jQuery.isEmptyObject(s)||e("."+s.slave,c)[n?"addClass":"removeClass"]("hide")}},t.ui_elements.checkbox.init()}(jQuery,window.CherryJsCore);
|
cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-checkbox/ui-checkbox.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
-
* @license http://www.gnu.org/licenses/
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
@@ -21,44 +21,47 @@ if ( ! class_exists( 'UI_Checkbox' ) ) {
|
|
21 |
* Class for the building UI_Checkbox elements.
|
22 |
*/
|
23 |
class UI_Checkbox extends UI_Element implements I_UI {
|
|
|
24 |
/**
|
25 |
-
* Default settings
|
26 |
*
|
|
|
27 |
* @var array
|
28 |
*/
|
29 |
private $defaults_settings = array(
|
30 |
-
'id'
|
31 |
-
'name'
|
32 |
-
'value'
|
33 |
'checkbox-1' => 'true',
|
34 |
'checkbox-2' => 'true',
|
35 |
'checkbox-3' => 'true',
|
36 |
),
|
37 |
-
'options'
|
38 |
-
'checkbox-1'
|
39 |
-
'checkbox-2'
|
40 |
-
'checkbox-3'
|
41 |
),
|
42 |
-
'label'
|
43 |
-
'class'
|
44 |
-
'master'
|
45 |
);
|
46 |
|
47 |
/**
|
48 |
* Constructor method for the UI_Checkbox class.
|
49 |
*
|
50 |
-
* @since
|
51 |
*/
|
52 |
function __construct( $args = array() ) {
|
53 |
$this->defaults_settings['id'] = 'cherry-ui-checkbox-' . uniqid();
|
54 |
$this->settings = wp_parse_args( $args, $this->defaults_settings );
|
|
|
55 |
add_action( 'admin_enqueue_scripts', array( __CLASS__, 'enqueue_assets' ) );
|
56 |
}
|
57 |
|
58 |
/**
|
59 |
* Render html UI_Checkbox.
|
60 |
*
|
61 |
-
* @since
|
62 |
*/
|
63 |
public function render() {
|
64 |
$html = '';
|
@@ -106,16 +109,16 @@ if ( ! class_exists( 'UI_Checkbox' ) ) {
|
|
106 |
}
|
107 |
|
108 |
/**
|
109 |
-
* Enqueue javascript and stylesheet UI_Checkbox
|
110 |
*
|
111 |
-
* @since
|
112 |
*/
|
113 |
public static function enqueue_assets() {
|
114 |
wp_enqueue_script(
|
115 |
'ui-checkbox-min',
|
116 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-checkbox.min.js', __FILE__ ) ),
|
117 |
array( 'jquery' ),
|
118 |
-
'1.
|
119 |
true
|
120 |
);
|
121 |
|
@@ -123,7 +126,7 @@ if ( ! class_exists( 'UI_Checkbox' ) ) {
|
|
123 |
'ui-checkbox-min',
|
124 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-checkbox.min.css', __FILE__ ) ),
|
125 |
array(),
|
126 |
-
'1.
|
127 |
'all'
|
128 |
);
|
129 |
}
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.en.html
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
21 |
* Class for the building UI_Checkbox elements.
|
22 |
*/
|
23 |
class UI_Checkbox extends UI_Element implements I_UI {
|
24 |
+
|
25 |
/**
|
26 |
+
* Default settings.
|
27 |
*
|
28 |
+
* @since 1.0.0
|
29 |
* @var array
|
30 |
*/
|
31 |
private $defaults_settings = array(
|
32 |
+
'id' => 'cherry-ui-checkbox-id',
|
33 |
+
'name' => 'cherry-ui-checkbox-name',
|
34 |
+
'value' => array(
|
35 |
'checkbox-1' => 'true',
|
36 |
'checkbox-2' => 'true',
|
37 |
'checkbox-3' => 'true',
|
38 |
),
|
39 |
+
'options' => array(
|
40 |
+
'checkbox-1' => 'checkbox 1',
|
41 |
+
'checkbox-2' => 'checkbox 2',
|
42 |
+
'checkbox-3' => 'checkbox 3',
|
43 |
),
|
44 |
+
'label' => '',
|
45 |
+
'class' => '',
|
46 |
+
'master' => '',
|
47 |
);
|
48 |
|
49 |
/**
|
50 |
* Constructor method for the UI_Checkbox class.
|
51 |
*
|
52 |
+
* @since 1.0.0
|
53 |
*/
|
54 |
function __construct( $args = array() ) {
|
55 |
$this->defaults_settings['id'] = 'cherry-ui-checkbox-' . uniqid();
|
56 |
$this->settings = wp_parse_args( $args, $this->defaults_settings );
|
57 |
+
|
58 |
add_action( 'admin_enqueue_scripts', array( __CLASS__, 'enqueue_assets' ) );
|
59 |
}
|
60 |
|
61 |
/**
|
62 |
* Render html UI_Checkbox.
|
63 |
*
|
64 |
+
* @since 1.0.0
|
65 |
*/
|
66 |
public function render() {
|
67 |
$html = '';
|
109 |
}
|
110 |
|
111 |
/**
|
112 |
+
* Enqueue javascript and stylesheet UI_Checkbox.
|
113 |
*
|
114 |
+
* @since 1.0.0
|
115 |
*/
|
116 |
public static function enqueue_assets() {
|
117 |
wp_enqueue_script(
|
118 |
'ui-checkbox-min',
|
119 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-checkbox.min.js', __FILE__ ) ),
|
120 |
array( 'jquery' ),
|
121 |
+
'1.3.2',
|
122 |
true
|
123 |
);
|
124 |
|
126 |
'ui-checkbox-min',
|
127 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-checkbox.min.css', __FILE__ ) ),
|
128 |
array(),
|
129 |
+
'1.3.2',
|
130 |
'all'
|
131 |
);
|
132 |
}
|
cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-colorpicker/ui-colorpicker.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
-
* @license http://www.gnu.org/licenses/
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
@@ -23,26 +23,26 @@ if ( ! class_exists( 'UI_Colorpicker' ) ) {
|
|
23 |
class UI_Colorpicker extends UI_Element implements I_UI {
|
24 |
|
25 |
/**
|
26 |
-
* Default settings
|
27 |
*
|
|
|
28 |
* @var array
|
29 |
*/
|
30 |
private $defaults_settings = array(
|
31 |
-
'id'
|
32 |
-
'name'
|
33 |
-
'value'
|
34 |
-
'label'
|
35 |
-
'class'
|
36 |
-
'master'
|
37 |
);
|
38 |
|
39 |
/**
|
40 |
* Constructor method for the UI_Colorpicker class.
|
41 |
*
|
42 |
-
* @since
|
43 |
*/
|
44 |
function __construct( $args = array() ) {
|
45 |
-
|
46 |
$this->defaults_settings['id'] = 'cherry-ui-colorpicker-' . uniqid();
|
47 |
$this->settings = wp_parse_args( $args, $this->defaults_settings );
|
48 |
|
@@ -52,7 +52,7 @@ if ( ! class_exists( 'UI_Colorpicker' ) ) {
|
|
52 |
/**
|
53 |
* Render html UI_Colorpicker.
|
54 |
*
|
55 |
-
* @since
|
56 |
*/
|
57 |
public function render() {
|
58 |
$html = '';
|
@@ -72,9 +72,9 @@ if ( ! class_exists( 'UI_Colorpicker' ) ) {
|
|
72 |
}
|
73 |
|
74 |
/**
|
75 |
-
* Enqueue javascript and stylesheet UI_Colorpicker
|
76 |
*
|
77 |
-
* @since
|
78 |
*/
|
79 |
public static function enqueue_assets() {
|
80 |
|
@@ -82,7 +82,7 @@ if ( ! class_exists( 'UI_Colorpicker' ) ) {
|
|
82 |
'ui-colorpicker-min',
|
83 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-colorpicker.min.js', __FILE__ ) ),
|
84 |
array( 'jquery', 'wp-color-picker' ),
|
85 |
-
'1.
|
86 |
true
|
87 |
);
|
88 |
|
@@ -90,7 +90,7 @@ if ( ! class_exists( 'UI_Colorpicker' ) ) {
|
|
90 |
'ui-colorpicker-min',
|
91 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-colorpicker.min.css', __FILE__ ) ),
|
92 |
array( 'wp-color-picker' ),
|
93 |
-
'1.
|
94 |
'all'
|
95 |
);
|
96 |
}
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.en.html
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
23 |
class UI_Colorpicker extends UI_Element implements I_UI {
|
24 |
|
25 |
/**
|
26 |
+
* Default settings.
|
27 |
*
|
28 |
+
* @since 1.0.0
|
29 |
* @var array
|
30 |
*/
|
31 |
private $defaults_settings = array(
|
32 |
+
'id' => 'cherry-ui-colorpicker-id',
|
33 |
+
'name' => 'cherry-ui-colorpicker-name',
|
34 |
+
'value' => '',
|
35 |
+
'label' => '',
|
36 |
+
'class' => '',
|
37 |
+
'master' => '',
|
38 |
);
|
39 |
|
40 |
/**
|
41 |
* Constructor method for the UI_Colorpicker class.
|
42 |
*
|
43 |
+
* @since 1.0.0
|
44 |
*/
|
45 |
function __construct( $args = array() ) {
|
|
|
46 |
$this->defaults_settings['id'] = 'cherry-ui-colorpicker-' . uniqid();
|
47 |
$this->settings = wp_parse_args( $args, $this->defaults_settings );
|
48 |
|
52 |
/**
|
53 |
* Render html UI_Colorpicker.
|
54 |
*
|
55 |
+
* @since 1.0.0
|
56 |
*/
|
57 |
public function render() {
|
58 |
$html = '';
|
72 |
}
|
73 |
|
74 |
/**
|
75 |
+
* Enqueue javascript and stylesheet UI_Colorpicker.
|
76 |
*
|
77 |
+
* @since 1.0.0
|
78 |
*/
|
79 |
public static function enqueue_assets() {
|
80 |
|
82 |
'ui-colorpicker-min',
|
83 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-colorpicker.min.js', __FILE__ ) ),
|
84 |
array( 'jquery', 'wp-color-picker' ),
|
85 |
+
'1.3.2',
|
86 |
true
|
87 |
);
|
88 |
|
90 |
'ui-colorpicker-min',
|
91 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-colorpicker.min.css', __FILE__ ) ),
|
92 |
array( 'wp-color-picker' ),
|
93 |
+
'1.3.2',
|
94 |
'all'
|
95 |
);
|
96 |
}
|
cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-iconpicker/assets/min/ui-iconpicker.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(e,
|
1 |
+
!function(e,t,n){"use strict";t.utilites.namespace("ui_elements.iconpicker"),t.ui_elements.iconpicker={iconSets:{},iconSetsKey:"cherry5-icon-sets",init:function(){e(document).on("cherry-ajax-handler-success",this.setIconsSets.bind(this)).on("ready.iconpicker",this.setIconsSets.bind(this,window.сherry5IconSets)).on("ready.iconpicker",this.render.bind(this)).on("cherry-ui-elements-init",this.render.bind(this))},setIconsSets:function(e){var t,i=this;e&&(t=e.response?e.response.cherry5IconSets:e,n.each(t,function(e,t){i.iconSets[t]=e}),i.setState(i.iconSetsKey,i.iconSets))},getIconsSets:function(){var e=this.getState(this.iconSetsKey);e&&(this.iconSets=e)},render:function(t){var n,i,s,c=t._target?t._target:e("body"),o=e('.cherry-ui-iconpicker:not([name*="__i__"])',c),r=this;o[0]&&(this.getIconsSets(),o.each(function(){n=e(this),i=n.data("set"),s=r.iconSets[i],n.length&&s.icons&&n.iconpicker({icons:s.icons,iconBaseClass:s.iconBase,iconClassPrefix:s.iconPrefix,animation:!1,fullClassFormatter:function(e){return s.iconBase+" "+s.iconPrefix+e}}).on("iconpickerUpdated",function(){e(this).trigger("change")}),s&&e("head").append('<link rel="stylesheet" type="text/css" href="'+s.iconCSS+'"">')}))},getState:function(e){try{return JSON.parse(window.sessionStorage.getItem(e))}catch(e){return!1}},setState:function(e,t){try{window.sessionStorage.setItem(e,JSON.stringify(t))}catch(e){return!1}}},t.ui_elements.iconpicker.init()}(jQuery,window.CherryJsCore,window._);
|
cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-iconpicker/assets/ui-iconpicker.js
CHANGED
@@ -1,27 +1,63 @@
|
|
1 |
/**
|
2 |
* Iconpicker
|
3 |
*/
|
4 |
-
(function( $, CherryJsCore ) {
|
5 |
'use strict';
|
6 |
|
7 |
CherryJsCore.utilites.namespace( 'ui_elements.iconpicker' );
|
8 |
CherryJsCore.ui_elements.iconpicker = {
|
|
|
|
|
|
|
9 |
init: function() {
|
10 |
$( document )
|
11 |
-
.on( '
|
12 |
-
.on( '
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
},
|
|
|
14 |
render: function( event ) {
|
15 |
var target = ( event._target ) ? event._target : $( 'body' ),
|
16 |
$picker = $( '.cherry-ui-iconpicker:not([name*="__i__"])', target ),
|
17 |
$this,
|
18 |
set,
|
19 |
-
setData
|
|
|
|
|
|
|
|
|
20 |
|
21 |
$picker.each( function() {
|
22 |
$this = $( this );
|
23 |
set = $this.data( 'set' );
|
24 |
-
setData =
|
25 |
|
26 |
if ( $this.length && setData.icons ) {
|
27 |
$this.iconpicker({
|
@@ -41,9 +77,26 @@
|
|
41 |
$( 'head' ).append( '<link rel="stylesheet" type="text/css" href="' + setData.iconCSS + '"">' );
|
42 |
}
|
43 |
} );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
}
|
45 |
};
|
46 |
|
47 |
CherryJsCore.ui_elements.iconpicker.init();
|
48 |
|
49 |
-
}( jQuery, window.CherryJsCore ) );
|
1 |
/**
|
2 |
* Iconpicker
|
3 |
*/
|
4 |
+
(function( $, CherryJsCore, underscore ) {
|
5 |
'use strict';
|
6 |
|
7 |
CherryJsCore.utilites.namespace( 'ui_elements.iconpicker' );
|
8 |
CherryJsCore.ui_elements.iconpicker = {
|
9 |
+
iconSets: {},
|
10 |
+
iconSetsKey: 'cherry5-icon-sets',
|
11 |
+
|
12 |
init: function() {
|
13 |
$( document )
|
14 |
+
.on( 'cherry-ajax-handler-success', this.setIconsSets.bind( this ) )
|
15 |
+
.on( 'ready.iconpicker', this.setIconsSets.bind( this, window.сherry5IconSets ) )
|
16 |
+
.on( 'ready.iconpicker', this.render.bind( this ) )
|
17 |
+
.on( 'cherry-ui-elements-init', this.render.bind( this ) );
|
18 |
+
},
|
19 |
+
|
20 |
+
setIconsSets: function( iconSets ) {
|
21 |
+
var icon,
|
22 |
+
_this = this;
|
23 |
+
|
24 |
+
if ( iconSets ) {
|
25 |
+
icon = ( iconSets.response ) ? iconSets.response.cherry5IconSets : iconSets;
|
26 |
+
|
27 |
+
underscore.each(
|
28 |
+
icon,
|
29 |
+
function( element, index ) {
|
30 |
+
_this.iconSets[ index ] = element;
|
31 |
+
}
|
32 |
+
);
|
33 |
+
|
34 |
+
_this.setState( _this.iconSetsKey, _this.iconSets );
|
35 |
+
}
|
36 |
+
},
|
37 |
+
|
38 |
+
getIconsSets: function() {
|
39 |
+
var iconSets = this.getState( this.iconSetsKey );
|
40 |
+
|
41 |
+
if ( iconSets ) {
|
42 |
+
this.iconSets = iconSets;
|
43 |
+
}
|
44 |
},
|
45 |
+
|
46 |
render: function( event ) {
|
47 |
var target = ( event._target ) ? event._target : $( 'body' ),
|
48 |
$picker = $( '.cherry-ui-iconpicker:not([name*="__i__"])', target ),
|
49 |
$this,
|
50 |
set,
|
51 |
+
setData,
|
52 |
+
_this = this;
|
53 |
+
|
54 |
+
if ( $picker[0] ) {
|
55 |
+
this.getIconsSets();
|
56 |
|
57 |
$picker.each( function() {
|
58 |
$this = $( this );
|
59 |
set = $this.data( 'set' );
|
60 |
+
setData = _this.iconSets[set];
|
61 |
|
62 |
if ( $this.length && setData.icons ) {
|
63 |
$this.iconpicker({
|
77 |
$( 'head' ).append( '<link rel="stylesheet" type="text/css" href="' + setData.iconCSS + '"">' );
|
78 |
}
|
79 |
} );
|
80 |
+
}
|
81 |
+
},
|
82 |
+
|
83 |
+
getState: function( key ) {
|
84 |
+
try {
|
85 |
+
return JSON.parse( window.sessionStorage.getItem( key ) );
|
86 |
+
} catch ( e ) {
|
87 |
+
return false;
|
88 |
+
}
|
89 |
+
},
|
90 |
+
|
91 |
+
setState: function( key, data ) {
|
92 |
+
try {
|
93 |
+
window.sessionStorage.setItem( key, JSON.stringify( data ) );
|
94 |
+
} catch ( e ) {
|
95 |
+
return false;
|
96 |
+
}
|
97 |
}
|
98 |
};
|
99 |
|
100 |
CherryJsCore.ui_elements.iconpicker.init();
|
101 |
|
102 |
+
}( jQuery, window.CherryJsCore, window._ ) );
|
cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-iconpicker/ui-iconpicker.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
-
* @license http://www.gnu.org/licenses/
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
@@ -23,8 +23,9 @@ if ( ! class_exists( 'UI_Iconpicker' ) ) {
|
|
23 |
class UI_Iconpicker extends UI_Element implements I_UI {
|
24 |
|
25 |
/**
|
26 |
-
* Default settings
|
27 |
*
|
|
|
28 |
* @var array
|
29 |
*/
|
30 |
private $defaults_settings = array(
|
@@ -42,7 +43,7 @@ if ( ! class_exists( 'UI_Iconpicker' ) ) {
|
|
42 |
);
|
43 |
|
44 |
/**
|
45 |
-
* Default icon data settings
|
46 |
*
|
47 |
* @var array
|
48 |
*/
|
@@ -76,9 +77,9 @@ if ( ! class_exists( 'UI_Iconpicker' ) ) {
|
|
76 |
public static $printed_sets = array();
|
77 |
|
78 |
/**
|
79 |
-
* Constructor method for the
|
80 |
*
|
81 |
-
* @since
|
82 |
*/
|
83 |
function __construct( $args = array() ) {
|
84 |
$this->defaults_settings['id'] = 'cherry-ui-input-icon-' . uniqid();
|
@@ -87,6 +88,7 @@ if ( ! class_exists( 'UI_Iconpicker' ) ) {
|
|
87 |
add_action( 'admin_enqueue_scripts', array( __CLASS__, 'enqueue_assets' ) );
|
88 |
add_action( 'admin_footer', array( $this, 'print_icon_set' ), 1 );
|
89 |
add_action( 'customize_controls_print_footer_scripts', array( $this, 'print_icon_set' ), 9999 );
|
|
|
90 |
}
|
91 |
|
92 |
/**
|
@@ -102,9 +104,9 @@ if ( ! class_exists( 'UI_Iconpicker' ) ) {
|
|
102 |
}
|
103 |
|
104 |
/**
|
105 |
-
* Render html
|
106 |
*
|
107 |
-
* @since
|
108 |
*/
|
109 |
public function render() {
|
110 |
$html = '';
|
@@ -133,6 +135,7 @@ if ( ! class_exists( 'UI_Iconpicker' ) ) {
|
|
133 |
|
134 |
$html .= '</div>';
|
135 |
$html .= '</div>';
|
|
|
136 |
return $html;
|
137 |
}
|
138 |
|
@@ -173,7 +176,6 @@ if ( ! class_exists( 'UI_Iconpicker' ) ) {
|
|
173 |
'icons' => $this->settings['icon_data']['icons'],
|
174 |
);
|
175 |
}
|
176 |
-
|
177 |
}
|
178 |
|
179 |
/**
|
@@ -234,6 +236,25 @@ if ( ! class_exists( 'UI_Iconpicker' ) ) {
|
|
234 |
|
235 |
}
|
236 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
237 |
/**
|
238 |
* Print icon sets
|
239 |
*
|
@@ -256,15 +277,15 @@ if ( ! class_exists( 'UI_Iconpicker' ) ) {
|
|
256 |
self::$printed_sets[] = $set;
|
257 |
$json = json_encode( $data );
|
258 |
|
259 |
-
printf( '<script>window.%1$s = %2$s</script>', $set, $json );
|
260 |
}
|
261 |
|
262 |
}
|
263 |
|
264 |
/**
|
265 |
-
* Enqueue javascript and stylesheet
|
266 |
*
|
267 |
-
* @since
|
268 |
*/
|
269 |
public static function enqueue_assets() {
|
270 |
|
@@ -272,7 +293,7 @@ if ( ! class_exists( 'UI_Iconpicker' ) ) {
|
|
272 |
'ui-iconpicker',
|
273 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-iconpicker.min.css', __FILE__ ) ),
|
274 |
array(),
|
275 |
-
'1.
|
276 |
'all'
|
277 |
);
|
278 |
|
@@ -280,14 +301,15 @@ if ( ! class_exists( 'UI_Iconpicker' ) ) {
|
|
280 |
'jquery-iconpicker',
|
281 |
esc_url( Cherry_Core::base_url( 'assets/min/jquery-iconpicker.min.js', __FILE__ ) ),
|
282 |
array( 'jquery' ),
|
283 |
-
'1.
|
284 |
true
|
285 |
);
|
|
|
286 |
wp_enqueue_script(
|
287 |
'ui-iconpicker',
|
288 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-iconpicker.min.js', __FILE__ ) ),
|
289 |
array( 'jquery' ),
|
290 |
-
'1.
|
291 |
true
|
292 |
);
|
293 |
}
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.en.html
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
23 |
class UI_Iconpicker extends UI_Element implements I_UI {
|
24 |
|
25 |
/**
|
26 |
+
* Default settings.
|
27 |
*
|
28 |
+
* @since 1.0.0
|
29 |
* @var array
|
30 |
*/
|
31 |
private $defaults_settings = array(
|
43 |
);
|
44 |
|
45 |
/**
|
46 |
+
* Default icon data settings.
|
47 |
*
|
48 |
* @var array
|
49 |
*/
|
77 |
public static $printed_sets = array();
|
78 |
|
79 |
/**
|
80 |
+
* Constructor method for the UI_Iconpicker class.
|
81 |
*
|
82 |
+
* @since 1.0.0
|
83 |
*/
|
84 |
function __construct( $args = array() ) {
|
85 |
$this->defaults_settings['id'] = 'cherry-ui-input-icon-' . uniqid();
|
88 |
add_action( 'admin_enqueue_scripts', array( __CLASS__, 'enqueue_assets' ) );
|
89 |
add_action( 'admin_footer', array( $this, 'print_icon_set' ), 1 );
|
90 |
add_action( 'customize_controls_print_footer_scripts', array( $this, 'print_icon_set' ), 9999 );
|
91 |
+
add_filter( 'cherry_handler_response_data', array( $this, 'send_icon_set' ), 10, 1 );
|
92 |
}
|
93 |
|
94 |
/**
|
104 |
}
|
105 |
|
106 |
/**
|
107 |
+
* Render html UI_Iconpicker.
|
108 |
*
|
109 |
+
* @since 1.0.0
|
110 |
*/
|
111 |
public function render() {
|
112 |
$html = '';
|
135 |
|
136 |
$html .= '</div>';
|
137 |
$html .= '</div>';
|
138 |
+
|
139 |
return $html;
|
140 |
}
|
141 |
|
176 |
'icons' => $this->settings['icon_data']['icons'],
|
177 |
);
|
178 |
}
|
|
|
179 |
}
|
180 |
|
181 |
/**
|
236 |
|
237 |
}
|
238 |
|
239 |
+
/**
|
240 |
+
* Function sends the icons into ajax response.
|
241 |
+
*
|
242 |
+
* @param array $data Icon data.
|
243 |
+
* @return array
|
244 |
+
*/
|
245 |
+
public function send_icon_set( $data ) {
|
246 |
+
|
247 |
+
if ( empty( $data['cherryIconsSets'] ) ) {
|
248 |
+
$data['cherry5IconSets'] = array();
|
249 |
+
}
|
250 |
+
|
251 |
+
foreach ( self::$sets as $key => $value ) {
|
252 |
+
$data['cherry5IconSets'][ $key ] = $value;
|
253 |
+
}
|
254 |
+
|
255 |
+
return $data;
|
256 |
+
}
|
257 |
+
|
258 |
/**
|
259 |
* Print icon sets
|
260 |
*
|
277 |
self::$printed_sets[] = $set;
|
278 |
$json = json_encode( $data );
|
279 |
|
280 |
+
printf( '<script> if ( ! window.сherry5IconSets ) { window.сherry5IconSets = {} } window.сherry5IconSets.%1$s = %2$s</script>', $set, $json );
|
281 |
}
|
282 |
|
283 |
}
|
284 |
|
285 |
/**
|
286 |
+
* Enqueue javascript and stylesheet UI_Iconpicker
|
287 |
*
|
288 |
+
* @since 1.0.0
|
289 |
*/
|
290 |
public static function enqueue_assets() {
|
291 |
|
293 |
'ui-iconpicker',
|
294 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-iconpicker.min.css', __FILE__ ) ),
|
295 |
array(),
|
296 |
+
'1.3.2',
|
297 |
'all'
|
298 |
);
|
299 |
|
301 |
'jquery-iconpicker',
|
302 |
esc_url( Cherry_Core::base_url( 'assets/min/jquery-iconpicker.min.js', __FILE__ ) ),
|
303 |
array( 'jquery' ),
|
304 |
+
'1.3.2',
|
305 |
true
|
306 |
);
|
307 |
+
|
308 |
wp_enqueue_script(
|
309 |
'ui-iconpicker',
|
310 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-iconpicker.min.js', __FILE__ ) ),
|
311 |
array( 'jquery' ),
|
312 |
+
'1.3.2',
|
313 |
true
|
314 |
);
|
315 |
}
|
cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-media/assets/min/ui-media.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(e,a){"use strict";a.utilites.namespace("ui_elements.media"),a.ui_elements.media={init:function(){e(document).on("ready",this.render).on("cherry-ui-elements-init",this.render)},render:function(a){
|
1 |
+
!function(e,a){"use strict";a.utilites.namespace("ui_elements.media"),a.ui_elements.media={init:function(){e(document).on("ready",this.render).on("cherry-ui-elements-init",this.render)},render:function(a){var i=a._target?a._target:e("body"),r=e(".cherry-upload-button",i);r.each(function(){var a=e(this),i=a.closest(".cherry-ui-media-wrap"),r={input:e(".cherry-upload-input",i),img_holder:e(".cherry-upload-preview",i),title_text:a.data("title"),multiple:a.data("multi-upload"),library_type:a.data("library-type")},t=wp.media.frames.file_frame=wp.media({title:r.title_text,button:{text:r.title_text},multiple:r.multiple,library:{type:r.library_type}});if(!i.has('input[name*="__i__"]')[0]){a.off("click.cherry-media").on("click.cherry-media",function(){return t.open(),!1}),t.on("select",function(){var a=t.state().get("selection").toJSON(),i=0,s="",c=e(".cherry-all-images-wrap",r.img_holder),n="",l="";for(r.multiple&&(s=r.input.val(),l=",",n=c.html());a[i];){var o=a[i],d=o.id,p=o.mime,m="",u="";switch(p){case"image/jpeg":case"image/png":case"image/gif":void 0!==o.sizes&&(m=o.sizes.thumbnail?o.sizes.thumbnail.url:o.sizes.full.url),u='<img src="'+m+'" alt="" data-img-attr="'+d+'">';break;case"image/x-icon":u='<span class="dashicons dashicons-format-image"></span>';break;case"video/mpeg":case"video/mp4":case"video/quicktime":case"video/webm":case"video/ogg":u='<span class="dashicons dashicons-format-video"></span>';break;case"audio/mpeg":case"audio/wav":case"audio/ogg":u='<span class="dashicons dashicons-format-audio"></span>'}n+='<div class="cherry-image-wrap"><div class="inner"><div class="preview-holder" data-id-attr="'+d+'"><div class="centered">'+u+'</div></div><a class="cherry-remove-image" href="#"><i class="dashicons dashicons-no"></i></a><span class="title">'+o.title+"</span></div></div>",s+=l+d,i++}r.input.val(s.replace(/(^,)/,"")).trigger("change"),c.html(n)});var s=function(a){var i=a.closest(".cherry-ui-media-wrap"),r=e(".cherry-upload-input",i),t=a.parent().parent(".cherry-image-wrap"),s=e(".preview-holder",t).data("id-attr"),c=r.attr("value"),n=new RegExp(""+s+"(,*)","i");c=c.replace(n,""),c=c.replace(/(,$)/,""),r.attr({value:c}).trigger("change"),t.remove()};i.on("click",".cherry-remove-image",function(){return s(e(this)),!1})}}),e(".cherry-all-images-wrap",i).sortable({items:"div.cherry-image-wrap",cursor:"move",scrollSensitivity:40,forcePlaceholderSize:!0,forceHelperSize:!1,helper:"clone",opacity:.65,placeholder:"cherry-media-thumb-sortable-placeholder",start:function(){},stop:function(){},update:function(){var a="";e(".cherry-image-wrap",this).each(function(){var i=e(".preview-holder",this).data("id-attr");a=a+i+","}),a=a.substr(0,a.lastIndexOf(",")),e(this).parent().siblings(".cherry-element-wrap").find("input.cherry-upload-input").val(a).trigger("change")}})}},a.ui_elements.media.init()}(jQuery,window.CherryJsCore);
|
cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-media/assets/ui-media.js
CHANGED
@@ -12,7 +12,6 @@
|
|
12 |
.on( 'cherry-ui-elements-init', this.render );
|
13 |
},
|
14 |
render: function ( event ) {
|
15 |
-
console.log('media');
|
16 |
var target = ( event._target ) ? event._target : $( 'body' ),
|
17 |
buttons = $('.cherry-upload-button', target);
|
18 |
|
12 |
.on( 'cherry-ui-elements-init', this.render );
|
13 |
},
|
14 |
render: function ( event ) {
|
|
|
15 |
var target = ( event._target ) ? event._target : $( 'body' ),
|
16 |
buttons = $('.cherry-upload-button', target);
|
17 |
|
cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-media/ui-media.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
-
* @license http://www.gnu.org/licenses/
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
@@ -23,8 +23,9 @@ if ( ! class_exists( 'UI_Media' ) ) {
|
|
23 |
class UI_Media extends UI_Element implements I_UI {
|
24 |
|
25 |
/**
|
26 |
-
* Default settings
|
27 |
*
|
|
|
28 |
* @var array
|
29 |
*/
|
30 |
private $defaults_settings = array(
|
@@ -42,7 +43,7 @@ if ( ! class_exists( 'UI_Media' ) ) {
|
|
42 |
/**
|
43 |
* Constructor method for the UI_Media class.
|
44 |
*
|
45 |
-
* @since
|
46 |
*/
|
47 |
public function __construct( $args = array() ) {
|
48 |
|
@@ -55,7 +56,7 @@ if ( ! class_exists( 'UI_Media' ) ) {
|
|
55 |
/**
|
56 |
* Render html UI_Media.
|
57 |
*
|
58 |
-
* @since
|
59 |
*/
|
60 |
public function render() {
|
61 |
$html = '';
|
@@ -147,9 +148,9 @@ if ( ! class_exists( 'UI_Media' ) ) {
|
|
147 |
}
|
148 |
|
149 |
/**
|
150 |
-
* Enqueue javascript and stylesheet UI_Media
|
151 |
*
|
152 |
-
* @since
|
153 |
*/
|
154 |
public static function enqueue_assets() {
|
155 |
if ( current_user_can( 'upload_files' ) ) {
|
@@ -159,7 +160,7 @@ if ( ! class_exists( 'UI_Media' ) ) {
|
|
159 |
'ui-media-min',
|
160 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-media.min.js', __FILE__ ) ),
|
161 |
array( 'jquery', 'jquery-ui-sortable' ),
|
162 |
-
'1.
|
163 |
true
|
164 |
);
|
165 |
|
@@ -167,7 +168,7 @@ if ( ! class_exists( 'UI_Media' ) ) {
|
|
167 |
'ui-media-min',
|
168 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-media.min.css', __FILE__ ) ),
|
169 |
array(),
|
170 |
-
'1.
|
171 |
'all'
|
172 |
);
|
173 |
}
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.en.html
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
23 |
class UI_Media extends UI_Element implements I_UI {
|
24 |
|
25 |
/**
|
26 |
+
* Default settings.
|
27 |
*
|
28 |
+
* @since 1.0.0
|
29 |
* @var array
|
30 |
*/
|
31 |
private $defaults_settings = array(
|
43 |
/**
|
44 |
* Constructor method for the UI_Media class.
|
45 |
*
|
46 |
+
* @since 1.0.0
|
47 |
*/
|
48 |
public function __construct( $args = array() ) {
|
49 |
|
56 |
/**
|
57 |
* Render html UI_Media.
|
58 |
*
|
59 |
+
* @since 1.0.0
|
60 |
*/
|
61 |
public function render() {
|
62 |
$html = '';
|
148 |
}
|
149 |
|
150 |
/**
|
151 |
+
* Enqueue javascript and stylesheet UI_Media.
|
152 |
*
|
153 |
+
* @since 1.0.0
|
154 |
*/
|
155 |
public static function enqueue_assets() {
|
156 |
if ( current_user_can( 'upload_files' ) ) {
|
160 |
'ui-media-min',
|
161 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-media.min.js', __FILE__ ) ),
|
162 |
array( 'jquery', 'jquery-ui-sortable' ),
|
163 |
+
'1.3.2',
|
164 |
true
|
165 |
);
|
166 |
|
168 |
'ui-media-min',
|
169 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-media.min.css', __FILE__ ) ),
|
170 |
array(),
|
171 |
+
'1.3.2',
|
172 |
'all'
|
173 |
);
|
174 |
}
|
cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-radio/ui-radio.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
-
* @license http://www.gnu.org/licenses/
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
@@ -21,45 +21,46 @@ if ( ! class_exists( 'UI_Radio' ) ) {
|
|
21 |
* Class for the building UI_Radio elements.
|
22 |
*/
|
23 |
class UI_Radio extends UI_Element implements I_UI {
|
|
|
24 |
/**
|
25 |
-
* Default settings
|
26 |
*
|
|
|
27 |
* @var array
|
28 |
*/
|
29 |
private $defaults_settings = array(
|
30 |
-
'id'
|
31 |
-
'name'
|
32 |
-
'value'
|
33 |
-
'options'
|
34 |
'radio-1' => array(
|
35 |
-
'label'
|
36 |
-
'img_src'
|
37 |
-
'slave'
|
38 |
),
|
39 |
'radio-2' => array(
|
40 |
-
'label'
|
41 |
-
'img_src'
|
42 |
-
'slave'
|
43 |
),
|
44 |
'radio-3' => array(
|
45 |
-
'label'
|
46 |
-
'img_src'
|
47 |
-
'slave'
|
48 |
),
|
49 |
),
|
50 |
-
'slave'
|
51 |
-
'label'
|
52 |
-
'class'
|
53 |
-
'master'
|
54 |
);
|
55 |
|
56 |
/**
|
57 |
* Constructor method for the UI_Radio class.
|
58 |
*
|
59 |
-
* @since
|
60 |
*/
|
61 |
function __construct( $args = array() ) {
|
62 |
-
|
63 |
$this->defaults_settings['id'] = 'cherry-ui-radio-' . uniqid();
|
64 |
$this->settings = wp_parse_args( $args, $this->defaults_settings );
|
65 |
|
@@ -71,7 +72,7 @@ if ( ! class_exists( 'UI_Radio' ) ) {
|
|
71 |
/**
|
72 |
* Render html UI_Radio.
|
73 |
*
|
74 |
-
* @since
|
75 |
*/
|
76 |
public function render() {
|
77 |
$html = '';
|
@@ -106,23 +107,24 @@ if ( ! class_exists( 'UI_Radio' ) ) {
|
|
106 |
}
|
107 |
|
108 |
/**
|
109 |
-
* Enqueue javascript and stylesheet UI_Radio
|
110 |
*
|
111 |
-
* @since
|
112 |
*/
|
113 |
public static function enqueue_assets() {
|
114 |
wp_enqueue_style(
|
115 |
'ui-radio-min',
|
116 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-radio.min.css', __FILE__ ) ),
|
117 |
array(),
|
118 |
-
'1.
|
119 |
'all'
|
120 |
);
|
|
|
121 |
wp_enqueue_script(
|
122 |
'ui-radio-min',
|
123 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-radio.min.js', __FILE__ ) ),
|
124 |
array( 'jquery' ),
|
125 |
-
'1.
|
126 |
true
|
127 |
);
|
128 |
}
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.en.html
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
21 |
* Class for the building UI_Radio elements.
|
22 |
*/
|
23 |
class UI_Radio extends UI_Element implements I_UI {
|
24 |
+
|
25 |
/**
|
26 |
+
* Default settings.
|
27 |
*
|
28 |
+
* @since 1.0.0
|
29 |
* @var array
|
30 |
*/
|
31 |
private $defaults_settings = array(
|
32 |
+
'id' => 'cherry-ui-radio-id',
|
33 |
+
'name' => 'cherry-ui-radio-name',
|
34 |
+
'value' => 'radio-2',
|
35 |
+
'options' => array(
|
36 |
'radio-1' => array(
|
37 |
+
'label' => 'Radio 1',
|
38 |
+
'img_src' => '',
|
39 |
+
'slave' => '',
|
40 |
),
|
41 |
'radio-2' => array(
|
42 |
+
'label' => 'Radio 2',
|
43 |
+
'img_src' => '',
|
44 |
+
'slave' => '',
|
45 |
),
|
46 |
'radio-3' => array(
|
47 |
+
'label' => 'Radio 3',
|
48 |
+
'img_src' => '',
|
49 |
+
'slave' => '',
|
50 |
),
|
51 |
),
|
52 |
+
'slave' => array(),
|
53 |
+
'label' => '',
|
54 |
+
'class' => '',
|
55 |
+
'master' => '',
|
56 |
);
|
57 |
|
58 |
/**
|
59 |
* Constructor method for the UI_Radio class.
|
60 |
*
|
61 |
+
* @since 1.0.0
|
62 |
*/
|
63 |
function __construct( $args = array() ) {
|
|
|
64 |
$this->defaults_settings['id'] = 'cherry-ui-radio-' . uniqid();
|
65 |
$this->settings = wp_parse_args( $args, $this->defaults_settings );
|
66 |
|
72 |
/**
|
73 |
* Render html UI_Radio.
|
74 |
*
|
75 |
+
* @since 1.0.0
|
76 |
*/
|
77 |
public function render() {
|
78 |
$html = '';
|
107 |
}
|
108 |
|
109 |
/**
|
110 |
+
* Enqueue javascript and stylesheet UI_Radio.
|
111 |
*
|
112 |
+
* @since 1.0.0
|
113 |
*/
|
114 |
public static function enqueue_assets() {
|
115 |
wp_enqueue_style(
|
116 |
'ui-radio-min',
|
117 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-radio.min.css', __FILE__ ) ),
|
118 |
array(),
|
119 |
+
'1.3.2',
|
120 |
'all'
|
121 |
);
|
122 |
+
|
123 |
wp_enqueue_script(
|
124 |
'ui-radio-min',
|
125 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-radio.min.js', __FILE__ ) ),
|
126 |
array( 'jquery' ),
|
127 |
+
'1.3.2',
|
128 |
true
|
129 |
);
|
130 |
}
|
cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-repeater/ui-repeater.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
-
* @license http://www.gnu.org/licenses/
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
@@ -78,9 +78,9 @@ if ( ! class_exists( 'UI_Repeater' ) ) {
|
|
78 |
public static $customizer_tmpl_printed = false;
|
79 |
|
80 |
/**
|
81 |
-
* Constructor method for the
|
82 |
*
|
83 |
-
* @since
|
84 |
*/
|
85 |
function __construct( $args = array() ) {
|
86 |
|
@@ -97,7 +97,7 @@ if ( ! class_exists( 'UI_Repeater' ) ) {
|
|
97 |
}
|
98 |
|
99 |
/**
|
100 |
-
* Get required attribute
|
101 |
*
|
102 |
* @return string required attribute
|
103 |
*/
|
@@ -111,7 +111,7 @@ if ( ! class_exists( 'UI_Repeater' ) ) {
|
|
111 |
/**
|
112 |
* Render html UI_Repeater.
|
113 |
*
|
114 |
-
* @since
|
115 |
*/
|
116 |
public function render() {
|
117 |
$html = '';
|
@@ -237,17 +237,16 @@ if ( ! class_exists( 'UI_Repeater' ) ) {
|
|
237 |
}
|
238 |
|
239 |
/**
|
240 |
-
* Enqueue javascript and stylesheet
|
241 |
*
|
242 |
-
* @since
|
243 |
*/
|
244 |
public static function enqueue_assets() {
|
245 |
-
|
246 |
wp_enqueue_style(
|
247 |
'ui-repeater',
|
248 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-repeater.min.css', __FILE__ ) ),
|
249 |
array(),
|
250 |
-
'1.
|
251 |
'all'
|
252 |
);
|
253 |
|
@@ -255,7 +254,7 @@ if ( ! class_exists( 'UI_Repeater' ) ) {
|
|
255 |
'ui-repeater',
|
256 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-repeater.min.js', __FILE__ ) ),
|
257 |
array( 'wp-util', 'jquery-ui-sortable' ),
|
258 |
-
'1.
|
259 |
true
|
260 |
);
|
261 |
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.en.html
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
78 |
public static $customizer_tmpl_printed = false;
|
79 |
|
80 |
/**
|
81 |
+
* Constructor method for the UI_Repeater class.
|
82 |
*
|
83 |
+
* @since 1.0.0
|
84 |
*/
|
85 |
function __construct( $args = array() ) {
|
86 |
|
97 |
}
|
98 |
|
99 |
/**
|
100 |
+
* Get required attribute.
|
101 |
*
|
102 |
* @return string required attribute
|
103 |
*/
|
111 |
/**
|
112 |
* Render html UI_Repeater.
|
113 |
*
|
114 |
+
* @since 1.0.1
|
115 |
*/
|
116 |
public function render() {
|
117 |
$html = '';
|
237 |
}
|
238 |
|
239 |
/**
|
240 |
+
* Enqueue javascript and stylesheet UI_Repeater.
|
241 |
*
|
242 |
+
* @since 1.0.0
|
243 |
*/
|
244 |
public static function enqueue_assets() {
|
|
|
245 |
wp_enqueue_style(
|
246 |
'ui-repeater',
|
247 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-repeater.min.css', __FILE__ ) ),
|
248 |
array(),
|
249 |
+
'1.3.2',
|
250 |
'all'
|
251 |
);
|
252 |
|
254 |
'ui-repeater',
|
255 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-repeater.min.js', __FILE__ ) ),
|
256 |
array( 'wp-util', 'jquery-ui-sortable' ),
|
257 |
+
'1.3.2',
|
258 |
true
|
259 |
);
|
260 |
|
cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-select/ui-select.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
-
* @license http://www.gnu.org/licenses/
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
@@ -21,69 +21,69 @@ if ( ! class_exists( 'UI_Select' ) ) {
|
|
21 |
* Class for the building UI_Select elements.
|
22 |
*/
|
23 |
class UI_Select extends UI_Element implements I_UI {
|
|
|
24 |
/**
|
25 |
-
* Default settings
|
26 |
*
|
|
|
27 |
* @var array
|
28 |
*/
|
29 |
private $defaults_settings = array(
|
30 |
-
'id'
|
31 |
-
'name'
|
32 |
-
'multiple'
|
33 |
-
'filter'
|
34 |
-
'size'
|
35 |
-
'inline_style'
|
36 |
-
'value'
|
37 |
-
'options'
|
38 |
-
'select-1'
|
39 |
-
'select-2'
|
40 |
-
'select-3'
|
41 |
-
'select-4'
|
42 |
-
'select-5'
|
43 |
-
'label'
|
44 |
-
'slave'
|
45 |
),
|
46 |
'optgroup-1' => array(
|
47 |
-
'label'
|
48 |
-
'group_options'
|
49 |
-
'select-6'
|
50 |
-
'select-7'
|
51 |
-
'select-8'
|
52 |
),
|
53 |
),
|
54 |
-
'optgroup-2'
|
55 |
-
'label'
|
56 |
-
'group_options'
|
57 |
-
'select-9'
|
58 |
-
'select-10'
|
59 |
-
'select-11'
|
60 |
),
|
61 |
),
|
62 |
),
|
63 |
-
'placeholder'
|
64 |
-
'label'
|
65 |
-
'class'
|
66 |
-
'master'
|
67 |
);
|
68 |
|
69 |
/**
|
70 |
* Constructor method for the UI_Select class.
|
71 |
*
|
72 |
-
* @since
|
73 |
*/
|
74 |
function __construct( $args = array() ) {
|
75 |
-
|
76 |
$this->defaults_settings['id'] = 'cherry-ui-select-' . uniqid();
|
77 |
$this->settings = wp_parse_args( $args, $this->defaults_settings );
|
78 |
|
79 |
add_action( 'admin_enqueue_scripts', array( __CLASS__, 'enqueue_assets' ) );
|
80 |
-
|
81 |
}
|
82 |
|
83 |
/**
|
84 |
* Render html UI_Select.
|
85 |
*
|
86 |
-
* @since
|
87 |
*/
|
88 |
public function render() {
|
89 |
$html = '';
|
@@ -154,7 +154,7 @@ if ( ! class_exists( 'UI_Select' ) ) {
|
|
154 |
/**
|
155 |
* Enqueue javascript and stylesheet UI_Select
|
156 |
*
|
157 |
-
* @since
|
158 |
*/
|
159 |
public static function enqueue_assets() {
|
160 |
wp_enqueue_script(
|
@@ -164,13 +164,15 @@ if ( ! class_exists( 'UI_Select' ) ) {
|
|
164 |
'4.0.3',
|
165 |
true
|
166 |
);
|
|
|
167 |
wp_enqueue_script(
|
168 |
'ui-select-min',
|
169 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-select.min.js', __FILE__ ) ),
|
170 |
array( 'jquery' ),
|
171 |
-
'1.
|
172 |
true
|
173 |
);
|
|
|
174 |
wp_enqueue_style(
|
175 |
'ui-select-select2',
|
176 |
esc_url( Cherry_Core::base_url( 'assets/min/select2.min.css', __FILE__ ) ),
|
@@ -178,11 +180,12 @@ if ( ! class_exists( 'UI_Select' ) ) {
|
|
178 |
'4.0.3',
|
179 |
'all'
|
180 |
);
|
|
|
181 |
wp_enqueue_style(
|
182 |
'ui-select-min',
|
183 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-select.min.css', __FILE__ ) ),
|
184 |
array(),
|
185 |
-
'1.
|
186 |
'all'
|
187 |
);
|
188 |
}
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.en.html
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
21 |
* Class for the building UI_Select elements.
|
22 |
*/
|
23 |
class UI_Select extends UI_Element implements I_UI {
|
24 |
+
|
25 |
/**
|
26 |
+
* Default settings.
|
27 |
*
|
28 |
+
* @since 1.0.0
|
29 |
* @var array
|
30 |
*/
|
31 |
private $defaults_settings = array(
|
32 |
+
'id' => 'cherry-ui-select-id',
|
33 |
+
'name' => 'cherry-ui-select-name',
|
34 |
+
'multiple' => false,
|
35 |
+
'filter' => false,
|
36 |
+
'size' => 1,
|
37 |
+
'inline_style' => 'width: 100%',
|
38 |
+
'value' => 'select-8',
|
39 |
+
'options' => array(
|
40 |
+
'select-1' => 'select 1',
|
41 |
+
'select-2' => 'select 2',
|
42 |
+
'select-3' => 'select 3',
|
43 |
+
'select-4' => 'select 4',
|
44 |
+
'select-5' => array(
|
45 |
+
'label' => 'Group 1',
|
46 |
+
'slave' => 'slave',
|
47 |
),
|
48 |
'optgroup-1' => array(
|
49 |
+
'label' => 'Group 1',
|
50 |
+
'group_options' => array(
|
51 |
+
'select-6' => 'select 6',
|
52 |
+
'select-7' => 'select 7',
|
53 |
+
'select-8' => 'select 8',
|
54 |
),
|
55 |
),
|
56 |
+
'optgroup-2' => array(
|
57 |
+
'label' => 'Group 2',
|
58 |
+
'group_options' => array(
|
59 |
+
'select-9' => 'select 9',
|
60 |
+
'select-10' => 'select 10',
|
61 |
+
'select-11' => 'select 11',
|
62 |
),
|
63 |
),
|
64 |
),
|
65 |
+
'placeholder' => 'Select',
|
66 |
+
'label' => '',
|
67 |
+
'class' => '',
|
68 |
+
'master' => '',
|
69 |
);
|
70 |
|
71 |
/**
|
72 |
* Constructor method for the UI_Select class.
|
73 |
*
|
74 |
+
* @since 1.0.0
|
75 |
*/
|
76 |
function __construct( $args = array() ) {
|
|
|
77 |
$this->defaults_settings['id'] = 'cherry-ui-select-' . uniqid();
|
78 |
$this->settings = wp_parse_args( $args, $this->defaults_settings );
|
79 |
|
80 |
add_action( 'admin_enqueue_scripts', array( __CLASS__, 'enqueue_assets' ) );
|
|
|
81 |
}
|
82 |
|
83 |
/**
|
84 |
* Render html UI_Select.
|
85 |
*
|
86 |
+
* @since 1.0.0
|
87 |
*/
|
88 |
public function render() {
|
89 |
$html = '';
|
154 |
/**
|
155 |
* Enqueue javascript and stylesheet UI_Select
|
156 |
*
|
157 |
+
* @since 1.0.0
|
158 |
*/
|
159 |
public static function enqueue_assets() {
|
160 |
wp_enqueue_script(
|
164 |
'4.0.3',
|
165 |
true
|
166 |
);
|
167 |
+
|
168 |
wp_enqueue_script(
|
169 |
'ui-select-min',
|
170 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-select.min.js', __FILE__ ) ),
|
171 |
array( 'jquery' ),
|
172 |
+
'1.3.2',
|
173 |
true
|
174 |
);
|
175 |
+
|
176 |
wp_enqueue_style(
|
177 |
'ui-select-select2',
|
178 |
esc_url( Cherry_Core::base_url( 'assets/min/select2.min.css', __FILE__ ) ),
|
180 |
'4.0.3',
|
181 |
'all'
|
182 |
);
|
183 |
+
|
184 |
wp_enqueue_style(
|
185 |
'ui-select-min',
|
186 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-select.min.css', __FILE__ ) ),
|
187 |
array(),
|
188 |
+
'1.3.2',
|
189 |
'all'
|
190 |
);
|
191 |
}
|
cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-slider/ui-slider.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
-
* @license http://www.gnu.org/licenses/
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
@@ -21,9 +21,11 @@ if ( ! class_exists( 'UI_Slider' ) ) {
|
|
21 |
* Class for the building UI_Slider elements.
|
22 |
*/
|
23 |
class UI_Slider extends UI_Element implements I_UI {
|
|
|
24 |
/**
|
25 |
-
* Default settings
|
26 |
*
|
|
|
27 |
* @var array
|
28 |
*/
|
29 |
private $defaults_settings = array(
|
@@ -41,7 +43,7 @@ if ( ! class_exists( 'UI_Slider' ) ) {
|
|
41 |
/**
|
42 |
* Constructor method for the UI_Slider class.
|
43 |
*
|
44 |
-
* @since
|
45 |
*/
|
46 |
function __construct( $args = array() ) {
|
47 |
$this->defaults_settings['id'] = 'cherry-ui-slider-' . uniqid();
|
@@ -53,7 +55,7 @@ if ( ! class_exists( 'UI_Slider' ) ) {
|
|
53 |
/**
|
54 |
* Render html UI_Slider.
|
55 |
*
|
56 |
-
* @since
|
57 |
*/
|
58 |
public function render() {
|
59 |
$html = '';
|
@@ -93,15 +95,14 @@ if ( ! class_exists( 'UI_Slider' ) ) {
|
|
93 |
/**
|
94 |
* Enqueue javascript and stylesheet UI_Slider.
|
95 |
*
|
96 |
-
* @since
|
97 |
*/
|
98 |
public static function enqueue_assets() {
|
99 |
-
|
100 |
wp_enqueue_script(
|
101 |
'ui-slider-min',
|
102 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-slider.min.js', __FILE__ ) ),
|
103 |
array( 'jquery' ),
|
104 |
-
'1.
|
105 |
true
|
106 |
);
|
107 |
|
@@ -109,7 +110,7 @@ if ( ! class_exists( 'UI_Slider' ) ) {
|
|
109 |
'ui-slider-min',
|
110 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-slider.min.css', __FILE__ ) ),
|
111 |
array(),
|
112 |
-
'1.
|
113 |
'all'
|
114 |
);
|
115 |
}
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.en.html
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
21 |
* Class for the building UI_Slider elements.
|
22 |
*/
|
23 |
class UI_Slider extends UI_Element implements I_UI {
|
24 |
+
|
25 |
/**
|
26 |
+
* Default settings.
|
27 |
*
|
28 |
+
* @since 1.0.0
|
29 |
* @var array
|
30 |
*/
|
31 |
private $defaults_settings = array(
|
43 |
/**
|
44 |
* Constructor method for the UI_Slider class.
|
45 |
*
|
46 |
+
* @since 1.0.0
|
47 |
*/
|
48 |
function __construct( $args = array() ) {
|
49 |
$this->defaults_settings['id'] = 'cherry-ui-slider-' . uniqid();
|
55 |
/**
|
56 |
* Render html UI_Slider.
|
57 |
*
|
58 |
+
* @since 1.0.0
|
59 |
*/
|
60 |
public function render() {
|
61 |
$html = '';
|
95 |
/**
|
96 |
* Enqueue javascript and stylesheet UI_Slider.
|
97 |
*
|
98 |
+
* @since 1.0.0
|
99 |
*/
|
100 |
public static function enqueue_assets() {
|
|
|
101 |
wp_enqueue_script(
|
102 |
'ui-slider-min',
|
103 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-slider.min.js', __FILE__ ) ),
|
104 |
array( 'jquery' ),
|
105 |
+
'1.3.2',
|
106 |
true
|
107 |
);
|
108 |
|
110 |
'ui-slider-min',
|
111 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-slider.min.css', __FILE__ ) ),
|
112 |
array(),
|
113 |
+
'1.3.2',
|
114 |
'all'
|
115 |
);
|
116 |
}
|
cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-stepper/ui-stepper.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
-
* @license http://www.gnu.org/licenses/
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
@@ -23,26 +23,28 @@ if ( ! class_exists( 'UI_Stepper' ) ) {
|
|
23 |
class UI_Stepper extends UI_Element implements I_UI {
|
24 |
|
25 |
/**
|
26 |
-
* Default settings
|
27 |
*
|
|
|
28 |
* @var array
|
29 |
*/
|
30 |
private $defaults_settings = array(
|
31 |
-
'id'
|
32 |
-
'name'
|
33 |
-
'value'
|
34 |
-
'max_value'
|
35 |
-
'min_value'
|
36 |
-
'step_value'
|
37 |
-
'label'
|
38 |
-
'class'
|
39 |
-
'master'
|
40 |
-
'placeholder'
|
41 |
);
|
|
|
42 |
/**
|
43 |
* Constructor method for the UI_Stepper class.
|
44 |
*
|
45 |
-
* @since
|
46 |
*/
|
47 |
function __construct( $args = array() ) {
|
48 |
$this->defaults_settings['id'] = 'cherry-ui-stepper-' . uniqid();
|
@@ -55,7 +57,7 @@ if ( ! class_exists( 'UI_Stepper' ) ) {
|
|
55 |
/**
|
56 |
* Render html UI_Stepper.
|
57 |
*
|
58 |
-
* @since
|
59 |
*/
|
60 |
public function render() {
|
61 |
$html = '';
|
@@ -78,14 +80,14 @@ if ( ! class_exists( 'UI_Stepper' ) ) {
|
|
78 |
/**
|
79 |
* Enqueue javascript and stylesheet UI_Stepper.
|
80 |
*
|
81 |
-
* @since
|
82 |
*/
|
83 |
public static function enqueue_assets() {
|
84 |
wp_enqueue_style(
|
85 |
'ui-stepper-min',
|
86 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-stepper.min.css', __FILE__ ) ),
|
87 |
array(),
|
88 |
-
'1.
|
89 |
'all'
|
90 |
);
|
91 |
}
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.en.html
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
23 |
class UI_Stepper extends UI_Element implements I_UI {
|
24 |
|
25 |
/**
|
26 |
+
* Default settings.
|
27 |
*
|
28 |
+
* @since 1.0.0
|
29 |
* @var array
|
30 |
*/
|
31 |
private $defaults_settings = array(
|
32 |
+
'id' => 'cherry-ui-stepper-id',
|
33 |
+
'name' => 'cherry-ui-stepper-name',
|
34 |
+
'value' => '0',
|
35 |
+
'max_value' => '100',
|
36 |
+
'min_value' => '0',
|
37 |
+
'step_value' => '1',
|
38 |
+
'label' => '',
|
39 |
+
'class' => '',
|
40 |
+
'master' => '',
|
41 |
+
'placeholder' => '',
|
42 |
);
|
43 |
+
|
44 |
/**
|
45 |
* Constructor method for the UI_Stepper class.
|
46 |
*
|
47 |
+
* @since 1.0.0
|
48 |
*/
|
49 |
function __construct( $args = array() ) {
|
50 |
$this->defaults_settings['id'] = 'cherry-ui-stepper-' . uniqid();
|
57 |
/**
|
58 |
* Render html UI_Stepper.
|
59 |
*
|
60 |
+
* @since 1.0.0
|
61 |
*/
|
62 |
public function render() {
|
63 |
$html = '';
|
80 |
/**
|
81 |
* Enqueue javascript and stylesheet UI_Stepper.
|
82 |
*
|
83 |
+
* @since 1.0.0
|
84 |
*/
|
85 |
public static function enqueue_assets() {
|
86 |
wp_enqueue_style(
|
87 |
'ui-stepper-min',
|
88 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-stepper.min.css', __FILE__ ) ),
|
89 |
array(),
|
90 |
+
'1.3.2',
|
91 |
'all'
|
92 |
);
|
93 |
}
|
cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-switcher/ui-switcher.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
-
* @license http://www.gnu.org/licenses/
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
@@ -23,29 +23,31 @@ if ( ! class_exists( 'UI_Switcher' ) ) {
|
|
23 |
class UI_Switcher extends UI_Element implements I_UI {
|
24 |
|
25 |
/**
|
26 |
-
* Default settings
|
27 |
*
|
|
|
28 |
* @var array
|
29 |
*/
|
30 |
private $defaults_settings = array(
|
31 |
-
'id'
|
32 |
-
'name'
|
33 |
-
'value'
|
34 |
-
'toggle'
|
35 |
-
'true_toggle'
|
36 |
-
'false_toggle'
|
37 |
-
'true_slave'
|
38 |
-
'false_slave'
|
39 |
),
|
40 |
-
'style'
|
41 |
-
'label'
|
42 |
-
'class'
|
43 |
-
'master'
|
44 |
);
|
|
|
45 |
/**
|
46 |
* Constructor method for the UI_Switcher class.
|
47 |
*
|
48 |
-
* @since
|
49 |
*/
|
50 |
function __construct( $args = array() ) {
|
51 |
$this->defaults_settings['id'] = 'cherry-ui-swither-' . uniqid();
|
@@ -57,7 +59,7 @@ if ( ! class_exists( 'UI_Switcher' ) ) {
|
|
57 |
/**
|
58 |
* Render html UI_Switcher.
|
59 |
*
|
60 |
-
* @since
|
61 |
*/
|
62 |
public function render() {
|
63 |
$data_slave_true = ( ! empty( $this->settings['toggle']['true_slave'] ) ) ? 'data-slave="' . $this->settings['toggle']['true_slave'] . '" ' : '';
|
@@ -90,21 +92,22 @@ if ( ! class_exists( 'UI_Switcher' ) ) {
|
|
90 |
/**
|
91 |
* Enqueue javascript and stylesheet UI_Switcher.
|
92 |
*
|
93 |
-
* @since
|
94 |
*/
|
95 |
public static function enqueue_assets() {
|
96 |
wp_enqueue_script(
|
97 |
'ui-switcher-min',
|
98 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-switcher.min.js', __FILE__ ) ),
|
99 |
array( 'jquery' ),
|
100 |
-
'1.
|
101 |
true
|
102 |
);
|
|
|
103 |
wp_enqueue_style(
|
104 |
'ui-switcher-min',
|
105 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-switcher.min.css', __FILE__ ) ),
|
106 |
array(),
|
107 |
-
'1.
|
108 |
'all'
|
109 |
);
|
110 |
}
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.en.html
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
23 |
class UI_Switcher extends UI_Element implements I_UI {
|
24 |
|
25 |
/**
|
26 |
+
* Default settings.
|
27 |
*
|
28 |
+
* @since 1.0.0
|
29 |
* @var array
|
30 |
*/
|
31 |
private $defaults_settings = array(
|
32 |
+
'id' => 'cherry-ui-swither-id',
|
33 |
+
'name' => 'cherry-ui-swither-name',
|
34 |
+
'value' => 'true',
|
35 |
+
'toggle' => array(
|
36 |
+
'true_toggle' => 'On',
|
37 |
+
'false_toggle' => 'Off',
|
38 |
+
'true_slave' => '',
|
39 |
+
'false_slave' => '',
|
40 |
),
|
41 |
+
'style' => 'normal',
|
42 |
+
'label' => '',
|
43 |
+
'class' => '',
|
44 |
+
'master' => '',
|
45 |
);
|
46 |
+
|
47 |
/**
|
48 |
* Constructor method for the UI_Switcher class.
|
49 |
*
|
50 |
+
* @since 1.0.0
|
51 |
*/
|
52 |
function __construct( $args = array() ) {
|
53 |
$this->defaults_settings['id'] = 'cherry-ui-swither-' . uniqid();
|
59 |
/**
|
60 |
* Render html UI_Switcher.
|
61 |
*
|
62 |
+
* @since 1.0.0
|
63 |
*/
|
64 |
public function render() {
|
65 |
$data_slave_true = ( ! empty( $this->settings['toggle']['true_slave'] ) ) ? 'data-slave="' . $this->settings['toggle']['true_slave'] . '" ' : '';
|
92 |
/**
|
93 |
* Enqueue javascript and stylesheet UI_Switcher.
|
94 |
*
|
95 |
+
* @since 1.0.0
|
96 |
*/
|
97 |
public static function enqueue_assets() {
|
98 |
wp_enqueue_script(
|
99 |
'ui-switcher-min',
|
100 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-switcher.min.js', __FILE__ ) ),
|
101 |
array( 'jquery' ),
|
102 |
+
'1.3.2',
|
103 |
true
|
104 |
);
|
105 |
+
|
106 |
wp_enqueue_style(
|
107 |
'ui-switcher-min',
|
108 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-switcher.min.css', __FILE__ ) ),
|
109 |
array(),
|
110 |
+
'1.3.2',
|
111 |
'all'
|
112 |
);
|
113 |
}
|
cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-text/ui-text.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
-
* @license http://www.gnu.org/licenses/
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
@@ -23,26 +23,27 @@ if ( ! class_exists( 'UI_Text' ) ) {
|
|
23 |
class UI_Text extends UI_Element implements I_UI {
|
24 |
|
25 |
/**
|
26 |
-
* Default settings
|
27 |
*
|
|
|
28 |
* @var array
|
29 |
*/
|
30 |
private $defaults_settings = array(
|
31 |
-
'type'
|
32 |
-
'id'
|
33 |
-
'name'
|
34 |
-
'value'
|
35 |
-
'placeholder'
|
36 |
-
'label'
|
37 |
-
'class'
|
38 |
-
'master'
|
39 |
-
'required'
|
40 |
);
|
41 |
|
42 |
/**
|
43 |
* Constructor method for the UI_Text class.
|
44 |
*
|
45 |
-
* @since
|
46 |
*/
|
47 |
function __construct( $args = array() ) {
|
48 |
$this->defaults_settings['id'] = 'cherry-ui-input-text-' . uniqid();
|
@@ -52,21 +53,24 @@ if ( ! class_exists( 'UI_Text' ) ) {
|
|
52 |
}
|
53 |
|
54 |
/**
|
55 |
-
* Get required attribute
|
56 |
*
|
57 |
-
* @
|
|
|
58 |
*/
|
59 |
public function get_required() {
|
|
|
60 |
if ( $this->settings['required'] ) {
|
61 |
return 'required="required"';
|
62 |
}
|
|
|
63 |
return '';
|
64 |
}
|
65 |
|
66 |
/**
|
67 |
* Render html UI_Text.
|
68 |
*
|
69 |
-
* @since
|
70 |
*/
|
71 |
public function render() {
|
72 |
$html = '';
|
@@ -83,17 +87,16 @@ if ( ! class_exists( 'UI_Text' ) ) {
|
|
83 |
}
|
84 |
|
85 |
/**
|
86 |
-
* Enqueue javascript and stylesheet UI_Text
|
87 |
*
|
88 |
-
* @since
|
89 |
*/
|
90 |
public static function enqueue_assets() {
|
91 |
-
|
92 |
wp_enqueue_style(
|
93 |
'ui-text',
|
94 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-text.min.css', __FILE__ ) ),
|
95 |
array(),
|
96 |
-
'1.
|
97 |
'all'
|
98 |
);
|
99 |
}
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.en.html
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
23 |
class UI_Text extends UI_Element implements I_UI {
|
24 |
|
25 |
/**
|
26 |
+
* Default settings.
|
27 |
*
|
28 |
+
* @since 1.0.0
|
29 |
* @var array
|
30 |
*/
|
31 |
private $defaults_settings = array(
|
32 |
+
'type' => 'text',
|
33 |
+
'id' => 'cherry-ui-input-id',
|
34 |
+
'name' => 'cherry-ui-input-name',
|
35 |
+
'value' => '',
|
36 |
+
'placeholder' => '',
|
37 |
+
'label' => '',
|
38 |
+
'class' => '',
|
39 |
+
'master' => '',
|
40 |
+
'required' => false,
|
41 |
);
|
42 |
|
43 |
/**
|
44 |
* Constructor method for the UI_Text class.
|
45 |
*
|
46 |
+
* @since 1.0.0
|
47 |
*/
|
48 |
function __construct( $args = array() ) {
|
49 |
$this->defaults_settings['id'] = 'cherry-ui-input-text-' . uniqid();
|
53 |
}
|
54 |
|
55 |
/**
|
56 |
+
* Get required attribute.
|
57 |
*
|
58 |
+
* @since 1.0.0
|
59 |
+
* @return string
|
60 |
*/
|
61 |
public function get_required() {
|
62 |
+
|
63 |
if ( $this->settings['required'] ) {
|
64 |
return 'required="required"';
|
65 |
}
|
66 |
+
|
67 |
return '';
|
68 |
}
|
69 |
|
70 |
/**
|
71 |
* Render html UI_Text.
|
72 |
*
|
73 |
+
* @since 1.0.0
|
74 |
*/
|
75 |
public function render() {
|
76 |
$html = '';
|
87 |
}
|
88 |
|
89 |
/**
|
90 |
+
* Enqueue javascript and stylesheet UI_Text.
|
91 |
*
|
92 |
+
* @since 1.0.0
|
93 |
*/
|
94 |
public static function enqueue_assets() {
|
|
|
95 |
wp_enqueue_style(
|
96 |
'ui-text',
|
97 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-text.min.css', __FILE__ ) ),
|
98 |
array(),
|
99 |
+
'1.3.2',
|
100 |
'all'
|
101 |
);
|
102 |
}
|
cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-textarea/ui-textarea.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
-
* @license http://www.gnu.org/licenses/
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
@@ -21,27 +21,29 @@ if ( ! class_exists( 'UI_Textarea' ) ) {
|
|
21 |
* Class for the building UI_Textarea elements.
|
22 |
*/
|
23 |
class UI_Textarea extends UI_Element implements I_UI {
|
|
|
24 |
/**
|
25 |
-
* Default settings
|
26 |
*
|
|
|
27 |
* @var array
|
28 |
*/
|
29 |
private $defaults_settings = array(
|
30 |
-
'id'
|
31 |
-
'name'
|
32 |
-
'value'
|
33 |
-
'placeholder'
|
34 |
-
'rows'
|
35 |
-
'cols'
|
36 |
-
'label'
|
37 |
-
'class'
|
38 |
-
'master'
|
39 |
);
|
40 |
|
41 |
/**
|
42 |
* Constructor method for the UI_Textarea class.
|
43 |
*
|
44 |
-
* @since
|
45 |
*/
|
46 |
function __construct( $args = array() ) {
|
47 |
$this->defaults_settings['id'] = 'cherry-ui-textarea-' . uniqid();
|
@@ -53,7 +55,7 @@ if ( ! class_exists( 'UI_Textarea' ) ) {
|
|
53 |
/**
|
54 |
* Render html UI_Textarea.
|
55 |
*
|
56 |
-
* @since
|
57 |
*/
|
58 |
public function render() {
|
59 |
$html = '';
|
@@ -73,14 +75,14 @@ if ( ! class_exists( 'UI_Textarea' ) ) {
|
|
73 |
/**
|
74 |
* Enqueue javascript and stylesheet UI_Textarea
|
75 |
*
|
76 |
-
* @since
|
77 |
*/
|
78 |
public static function enqueue_assets() {
|
79 |
wp_enqueue_style(
|
80 |
'ui-textarea',
|
81 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-textarea.min.css', __FILE__ ) ),
|
82 |
array(),
|
83 |
-
'1.
|
84 |
'all'
|
85 |
);
|
86 |
}
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.en.html
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
21 |
* Class for the building UI_Textarea elements.
|
22 |
*/
|
23 |
class UI_Textarea extends UI_Element implements I_UI {
|
24 |
+
|
25 |
/**
|
26 |
+
* Default settings.
|
27 |
*
|
28 |
+
* @since 1.0.0
|
29 |
* @var array
|
30 |
*/
|
31 |
private $defaults_settings = array(
|
32 |
+
'id' => 'cherry-ui-textarea-id',
|
33 |
+
'name' => 'cherry-ui-textarea-name',
|
34 |
+
'value' => '',
|
35 |
+
'placeholder' => '',
|
36 |
+
'rows' => '10',
|
37 |
+
'cols' => '20',
|
38 |
+
'label' => '',
|
39 |
+
'class' => '',
|
40 |
+
'master' => '',
|
41 |
);
|
42 |
|
43 |
/**
|
44 |
* Constructor method for the UI_Textarea class.
|
45 |
*
|
46 |
+
* @since 1.0.0
|
47 |
*/
|
48 |
function __construct( $args = array() ) {
|
49 |
$this->defaults_settings['id'] = 'cherry-ui-textarea-' . uniqid();
|
55 |
/**
|
56 |
* Render html UI_Textarea.
|
57 |
*
|
58 |
+
* @since 1.0.0
|
59 |
*/
|
60 |
public function render() {
|
61 |
$html = '';
|
75 |
/**
|
76 |
* Enqueue javascript and stylesheet UI_Textarea
|
77 |
*
|
78 |
+
* @since 1.0.0
|
79 |
*/
|
80 |
public static function enqueue_assets() {
|
81 |
wp_enqueue_style(
|
82 |
'ui-textarea',
|
83 |
esc_url( Cherry_Core::base_url( 'assets/min/ui-textarea.min.css', __FILE__ ) ),
|
84 |
array(),
|
85 |
+
'1.3.2',
|
86 |
'all'
|
87 |
);
|
88 |
}
|
cherry-framework/modules/cherry-ui-elements/ui-element.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author Cherry Team <cherryframework@gmail.com>
|
8 |
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
-
* @license http://www.gnu.org/licenses/
|
11 |
*/
|
12 |
|
13 |
/**
|
7 |
* @author Cherry Team <cherryframework@gmail.com>
|
8 |
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.en.html
|
11 |
*/
|
12 |
|
13 |
/**
|
cherry-framework/modules/cherry-utility/inc/cherry-attributes-utilit.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
-
* @license http://www.gnu.org/licenses/
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.en.html
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
cherry-framework/modules/cherry-utility/inc/cherry-media-utilit.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
-
* @license http://www.gnu.org/licenses/
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
@@ -37,28 +37,31 @@ if ( ! class_exists( 'Cherry_Media_Utilit' ) ) {
|
|
37 |
}
|
38 |
|
39 |
$default_args = array(
|
40 |
-
'visible'
|
41 |
-
'size'
|
42 |
-
'mobile_size'
|
43 |
-
'html'
|
44 |
-
'class'
|
45 |
-
'placeholder'
|
46 |
-
'placeholder_background'
|
47 |
-
'placeholder_foreground'
|
48 |
-
'placeholder_title'
|
49 |
-
'html_tag_suze'
|
50 |
-
'echo'
|
51 |
);
|
52 |
$args = wp_parse_args( $args, $default_args );
|
53 |
$html = '';
|
54 |
|
55 |
if ( filter_var( $args['visible'], FILTER_VALIDATE_BOOLEAN ) ) {
|
56 |
|
|
|
|
|
|
|
57 |
$size = wp_is_mobile() ? $args['mobile_size'] : $args['size'];
|
58 |
-
$size = in_array( $size,
|
59 |
|
60 |
-
//
|
61 |
-
$size_array
|
62 |
|
63 |
switch ( $type ) {
|
64 |
case 'post':
|
@@ -77,29 +80,31 @@ if ( ! class_exists( 'Cherry_Media_Utilit' ) ) {
|
|
77 |
|
78 |
case 'attachment':
|
79 |
$thumbnail_id = $id;
|
80 |
-
$alt
|
81 |
-
$link
|
82 |
break;
|
83 |
}
|
84 |
|
85 |
if ( $thumbnail_id ) {
|
86 |
$image_data = wp_get_attachment_image_src( $thumbnail_id, $size );
|
87 |
-
$src
|
88 |
-
|
|
|
89 |
$size_array['height'] = $image_data[2];
|
|
|
90 |
} elseif ( filter_var( $args['placeholder'], FILTER_VALIDATE_BOOLEAN ) ) {
|
91 |
-
$title = ( $args['placeholder_title'] ) ? $args['placeholder_title'] : $size_array['width'] . 'x' . $size_array['height']
|
92 |
$attr = array(
|
93 |
-
'width'
|
94 |
-
'height'
|
95 |
-
'background'
|
96 |
-
'foreground'
|
97 |
-
'title'
|
98 |
);
|
99 |
|
100 |
$attr = array_map( 'esc_attr', $attr );
|
101 |
|
102 |
-
$width = ( 4000 < intval( $attr['width'] ) )
|
103 |
$height = ( 4000 < intval( $attr['height'] ) ) ? 4000 : intval( $attr['height'] );
|
104 |
|
105 |
$src = $this->get_placeholder_url( array(
|
@@ -111,11 +116,11 @@ if ( ! class_exists( 'Cherry_Media_Utilit' ) ) {
|
|
111 |
) );
|
112 |
}
|
113 |
|
114 |
-
$class
|
115 |
-
$html_tag_suze
|
116 |
|
117 |
if ( isset( $src ) ) {
|
118 |
-
$html = sprintf( $args['html'], $link, $class, $src, $alt, $html_tag_suze );
|
119 |
}
|
120 |
}
|
121 |
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.en.html
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
37 |
}
|
38 |
|
39 |
$default_args = array(
|
40 |
+
'visible' => true,
|
41 |
+
'size' => apply_filters( 'cherry_normal_image_size', 'post-thumbnail' ),
|
42 |
+
'mobile_size' => apply_filters( 'cherry_mobile_image_size', 'post-thumbnail' ),
|
43 |
+
'html' => '<a href="%1$s" %2$s ><img src="%3$s" alt="%4$s" %5$s ></a>',
|
44 |
+
'class' => 'wp-image',
|
45 |
+
'placeholder' => true,
|
46 |
+
'placeholder_background' => '000',
|
47 |
+
'placeholder_foreground' => 'fff',
|
48 |
+
'placeholder_title' => '',
|
49 |
+
'html_tag_suze' => true,
|
50 |
+
'echo' => false,
|
51 |
);
|
52 |
$args = wp_parse_args( $args, $default_args );
|
53 |
$html = '';
|
54 |
|
55 |
if ( filter_var( $args['visible'], FILTER_VALIDATE_BOOLEAN ) ) {
|
56 |
|
57 |
+
$intermediate_image_sizes = get_intermediate_image_sizes();
|
58 |
+
$intermediate_image_sizes[] = 'full';
|
59 |
+
|
60 |
$size = wp_is_mobile() ? $args['mobile_size'] : $args['size'];
|
61 |
+
$size = in_array( $size, $intermediate_image_sizes ) ? $size : 'post-thumbnail';
|
62 |
|
63 |
+
// Placeholder defaults attr.
|
64 |
+
$size_array = $this->get_thumbnail_size_array( $size );
|
65 |
|
66 |
switch ( $type ) {
|
67 |
case 'post':
|
80 |
|
81 |
case 'attachment':
|
82 |
$thumbnail_id = $id;
|
83 |
+
$alt = get_the_title( $thumbnail_id );
|
84 |
+
$link = wp_get_attachment_image_url( $thumbnail_id, $size );
|
85 |
break;
|
86 |
}
|
87 |
|
88 |
if ( $thumbnail_id ) {
|
89 |
$image_data = wp_get_attachment_image_src( $thumbnail_id, $size );
|
90 |
+
$src = $image_data[0];
|
91 |
+
|
92 |
+
$size_array['width'] = $image_data[1];
|
93 |
$size_array['height'] = $image_data[2];
|
94 |
+
|
95 |
} elseif ( filter_var( $args['placeholder'], FILTER_VALIDATE_BOOLEAN ) ) {
|
96 |
+
$title = ( $args['placeholder_title'] ) ? $args['placeholder_title'] : $size_array['width'] . 'x' . $size_array['height'];
|
97 |
$attr = array(
|
98 |
+
'width' => $size_array['width'],
|
99 |
+
'height' => $size_array['height'],
|
100 |
+
'background' => $args['placeholder_background'],
|
101 |
+
'foreground' => $args['placeholder_foreground'],
|
102 |
+
'title' => $title,
|
103 |
);
|
104 |
|
105 |
$attr = array_map( 'esc_attr', $attr );
|
106 |
|
107 |
+
$width = ( 4000 < intval( $attr['width'] ) ) ? 4000 : intval( $attr['width'] );
|
108 |
$height = ( 4000 < intval( $attr['height'] ) ) ? 4000 : intval( $attr['height'] );
|
109 |
|
110 |
$src = $this->get_placeholder_url( array(
|
116 |
) );
|
117 |
}
|
118 |
|
119 |
+
$class = ( $args['class'] ) ? 'class="' . esc_attr( $args['class'] ) . '"' : '';
|
120 |
+
$html_tag_suze = ( filter_var( $args['html_tag_suze'], FILTER_VALIDATE_BOOLEAN ) ) ? 'width="' . $size_array['width'] . '" height="' . $size_array['height'] . '"' : '';
|
121 |
|
122 |
if ( isset( $src ) ) {
|
123 |
+
$html = sprintf( $args['html'], esc_url( $link ), $class, esc_url( $src ), esc_attr( $alt ), $html_tag_suze );
|
124 |
}
|
125 |
}
|
126 |
|
cherry-framework/modules/cherry-utility/inc/cherry-meta-data-utilit.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
-
* @license http://www.gnu.org/licenses/
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.en.html
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
cherry-framework/modules/cherry-utility/inc/cherry-satellite-utilit.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
-
* @license http://www.gnu.org/licenses/
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
@@ -115,7 +115,7 @@ if ( ! class_exists( 'Cherry_Satellite_Utilit' ) ) {
|
|
115 |
*/
|
116 |
public function get_thumbnail_size_array( $size ) {
|
117 |
global $_wp_additional_image_sizes;
|
118 |
-
|
119 |
if ( array_key_exists( $size, $_wp_additional_image_sizes ) ) {
|
120 |
$size_array = $_wp_additional_image_sizes[ $size ];
|
121 |
} else {
|
@@ -139,8 +139,6 @@ if ( ! class_exists( 'Cherry_Satellite_Utilit' ) ) {
|
|
139 |
}
|
140 |
}
|
141 |
|
142 |
-
|
143 |
-
|
144 |
/**
|
145 |
* Return post terms.
|
146 |
*
|
7 |
* @author Cherry Team <support@cherryframework.com>
|
8 |
* @copyright Copyright (c) 2012 - 2015, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.en.html
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
115 |
*/
|
116 |
public function get_thumbnail_size_array( $size ) {
|
117 |
global $_wp_additional_image_sizes;
|
118 |
+
|
119 |
if ( array_key_exists( $size, $_wp_additional_image_sizes ) ) {
|
120 |
$size_array = $_wp_additional_image_sizes[ $size ];
|
121 |
} else {
|
139 |
}
|
140 |
}
|
141 |
|
|
|
|
|
142 |
/**
|
143 |
* Return post terms.
|
144 |
*
|
cherry-framework/modules/cherry-widget-factory/inc/class-cherry-abstract-widget.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @author Cherry Team <cherryframework@gmail.com>
|
8 |
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
-
* @license http://www.gnu.org/licenses/
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
7 |
* @author Cherry Team <cherryframework@gmail.com>
|
8 |
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
9 |
* @link http://www.cherryframework.com/
|
10 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.en.html
|
11 |
*/
|
12 |
|
13 |
// If this file is called directly, abort.
|
cherry-framework/modules/cherry5-insert-shortcode/assets/cherry-insert-shortcode.js
ADDED
@@ -0,0 +1,271 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery( document ).on( 'ready', function( /*$, CherryJsCore*/ ) {
|
2 |
+
var $ = jQuery,
|
3 |
+
CherryJsCore = window.CherryJsCore;
|
4 |
+
|
5 |
+
CherryJsCore.utilites.namespace( 'cherry5InsertShortcode' );
|
6 |
+
CherryJsCore.cherry5InsertShortcode = {
|
7 |
+
openPopUpButton: '.cherry5-is__open-button',
|
8 |
+
closePopUpButton: '.cherry5-is__close-button',
|
9 |
+
insertionWindow: '.cherry5-is__modal-window',
|
10 |
+
insertionPopUp: '.cherry5-is__popup',
|
11 |
+
insertionPopUpBg: '.cherry5-is__background',
|
12 |
+
shortcodeOptionHolder: '.cherry5-is__shortcodes-options',
|
13 |
+
shortcodeOptionHolderClass: '.cherry5-is__shortcode-form.show',
|
14 |
+
insertButton: '.cherry5-is__insert-button',
|
15 |
+
spinner: '.cherry-loader-wrapper',
|
16 |
+
contentArea: '.cherry5-is__shortcode-content',
|
17 |
+
sidebar: '.cherry5-is__popup-sidebar',
|
18 |
+
sidebarButton: '.cherry5-is__sidebar-button',
|
19 |
+
|
20 |
+
insertShortcodeId: 'cherry5_insert_shortcode',
|
21 |
+
getShortcodeOptionButton: '.cherry5-is__get-shotcode',
|
22 |
+
|
23 |
+
getShortcodeOptionInstance: null,
|
24 |
+
selectedContent: '',
|
25 |
+
openedShortcode: [],
|
26 |
+
|
27 |
+
devMode: false,
|
28 |
+
|
29 |
+
sessionStorage:{
|
30 |
+
optionsTemplate: {},
|
31 |
+
activeShortcode: {}
|
32 |
+
},
|
33 |
+
|
34 |
+
init: function() {
|
35 |
+
this.devMode = ( 'true' === window.cherry5InsertShortcode.devMode ) ? true : false ;
|
36 |
+
this.sessionStorage = ( ! this.devMode ) ? this.getState() || this.sessionStorage : this.sessionStorage ;
|
37 |
+
this.getShortcodeOptionInstance = new CherryJsCore.CherryAjaxHandler(
|
38 |
+
{
|
39 |
+
handlerId: this.insertShortcodeId,
|
40 |
+
successCallback: this.getShortcodeOptionCallback.bind( this )
|
41 |
+
}
|
42 |
+
);
|
43 |
+
|
44 |
+
this.addEvent();
|
45 |
+
this.switchFirstShortcode();
|
46 |
+
},
|
47 |
+
addEvent: function() {
|
48 |
+
$( 'body' )
|
49 |
+
.on( 'click.cherry5InsertShortcode', this.openPopUpButton, this.showPopUp.bind( this ) )
|
50 |
+
.on( 'click.cherry5InsertShortcode', this.closePopUpButton, this.hidePopUp.bind( this ) )
|
51 |
+
.on( 'click.cherry5InsertShortcode', this.insertionPopUpBg, this.hidePopUp.bind( this ) )
|
52 |
+
.on( 'click.cherry5InsertShortcode', this.insertButton, this.insertShortcode.bind( this ) )
|
53 |
+
.on( 'click.cherry5InsertShortcode', this.insertButton, this.hidePopUp.bind( this ) )
|
54 |
+
.on( 'click.cherry5InsertShortcode', this.getShortcodeOptionButton, this.getShortcodeOption.bind( this ) )
|
55 |
+
.on( 'click.cherry5InsertShortcode', this.sidebarButton, this.openSodebar.bind( this ) );
|
56 |
+
},
|
57 |
+
|
58 |
+
showPopUp: function() {
|
59 |
+
var activeShortcode;
|
60 |
+
|
61 |
+
if ( window.tinymce ) {
|
62 |
+
if ( window.tinymce.get( 'content' ) && window.tinymce.get( 'content' ).selection ) {
|
63 |
+
this.selectedContent = window.tinymce.get( 'content' ).selection.getContent( { format: 'text' } );
|
64 |
+
}
|
65 |
+
|
66 |
+
activeShortcode = this.sessionStorage.activeShortcode;
|
67 |
+
this.afterShowShortcode( activeShortcode.pluginSlug + '-' + activeShortcode.shortcodeSlug, activeShortcode.enclosing );
|
68 |
+
}
|
69 |
+
|
70 |
+
$( this.insertionWindow ).addClass( 'open show' );
|
71 |
+
$( this.insertionPopUp, this.insertionWindow ).off( 'animationend' );
|
72 |
+
},
|
73 |
+
hidePopUp: function() {
|
74 |
+
this.selectedContent = '';
|
75 |
+
this.openedShortcode = [];
|
76 |
+
|
77 |
+
$( this.insertionWindow ).removeClass( 'open' );
|
78 |
+
$( this.insertionPopUp, this.insertionWindow ).on( 'animationend', this.hideModalWindow.bind( this ) );
|
79 |
+
},
|
80 |
+
hideModalWindow: function() {
|
81 |
+
$( this.insertionWindow ).removeClass( 'show' );
|
82 |
+
},
|
83 |
+
|
84 |
+
switchFirstShortcode: function() {
|
85 |
+
var data = this.sessionStorage.activeShortcode,
|
86 |
+
target = null ;
|
87 |
+
|
88 |
+
if ( data.pluginSlug && data.shortcodeSlug ) {
|
89 |
+
target = $( '#button-' + data.pluginSlug + '-' + data.shortcodeSlug );
|
90 |
+
} else {
|
91 |
+
target = $( '.cherry5-is__shortcode-list:first > li:first .cherry5-is__get-shotcode' );
|
92 |
+
}
|
93 |
+
|
94 |
+
this.switchShortcode( target );
|
95 |
+
},
|
96 |
+
|
97 |
+
getShortcodeOption: function( event ) {
|
98 |
+
this.switchShortcode( $( event.target ) );
|
99 |
+
return false;
|
100 |
+
},
|
101 |
+
switchShortcode: function( targetButton ) {
|
102 |
+
var pluginSlug = targetButton.data( 'plugin-slug' ),
|
103 |
+
shortcodeSlug = targetButton.data( 'shortcode-slug' ),
|
104 |
+
shortcodeId = pluginSlug + '-' + shortcodeSlug,
|
105 |
+
shortcodeSection = $( '#' + shortcodeId ),
|
106 |
+
data;
|
107 |
+
|
108 |
+
$( this.insertButton, this.insertionPopUp ).attr( 'disabled', 'disabled' );
|
109 |
+
|
110 |
+
// Remove class to active button
|
111 |
+
this.hide( $( this.getShortcodeOptionButton + '.show' ) );
|
112 |
+
|
113 |
+
// Add class to active button
|
114 |
+
this.show( targetButton );
|
115 |
+
this.hide( $( this.shortcodeOptionHolderClass ) );
|
116 |
+
|
117 |
+
if ( shortcodeSection[0] ) {
|
118 |
+
data = this.sessionStorage.optionsTemplate[ shortcodeId ];
|
119 |
+
this.setProxyStorage( data, shortcodeId );
|
120 |
+
this.show( shortcodeSection );
|
121 |
+
this.afterShowShortcode( shortcodeId, data.enclosing );
|
122 |
+
return;
|
123 |
+
}
|
124 |
+
|
125 |
+
if ( ! this.devMode && this.sessionStorage.optionsTemplate[ shortcodeId ] ) {
|
126 |
+
this.getShortcodeOptionCallback( { data: this.sessionStorage.optionsTemplate[ shortcodeId ] } );
|
127 |
+
return;
|
128 |
+
}
|
129 |
+
|
130 |
+
this.show( $( this.spinner, this.shortcodeOptionHolder ) );
|
131 |
+
|
132 |
+
this.getShortcodeOptionInstance.sendData( { 'plugin_slug': pluginSlug, 'shortcode_slug': shortcodeSlug } );
|
133 |
+
},
|
134 |
+
getShortcodeOptionCallback: function( response ) {
|
135 |
+
var data = response.data,
|
136 |
+
holder = $( this.shortcodeOptionHolder, 'body' ),
|
137 |
+
shortcodeId;
|
138 |
+
|
139 |
+
if ( data.error ) {
|
140 |
+
window.console.log( data.message );
|
141 |
+
return;
|
142 |
+
}
|
143 |
+
|
144 |
+
shortcodeId = data.pluginSlug + '-' + data.shortcodeSlug;
|
145 |
+
|
146 |
+
this.setProxyStorage( data, shortcodeId );
|
147 |
+
|
148 |
+
this.hide( $( this.spinner, this.shortcodeOptionHolder ) );
|
149 |
+
holder.append( data.html );
|
150 |
+
|
151 |
+
this.afterShowShortcode( shortcodeId, data.enclosing );
|
152 |
+
|
153 |
+
$( document ).trigger( 'cherryInterfaceBuilder' );
|
154 |
+
$( 'body' ).trigger( { type: 'cherry-ui-elements-init', _target: $( '#' + shortcodeId, holder ) } );
|
155 |
+
},
|
156 |
+
setProxyStorage: function( data, id ) {
|
157 |
+
if ( data ) {
|
158 |
+
this.sessionStorage.optionsTemplate[ id ] = data;
|
159 |
+
this.sessionStorage.activeShortcode = data;
|
160 |
+
}
|
161 |
+
|
162 |
+
if ( ! this.devMode ) {
|
163 |
+
this.setState();
|
164 |
+
}
|
165 |
+
},
|
166 |
+
afterShowShortcode: function( shortcodeId, enclosing ) {
|
167 |
+
var defaultContent,
|
168 |
+
content = '';
|
169 |
+
|
170 |
+
if ( enclosing && -1 === this.openedShortcode.indexOf( shortcodeId ) ) {
|
171 |
+
defaultContent = this.sessionStorage.activeShortcode.defaultContent;
|
172 |
+
|
173 |
+
if ( this.selectedContent ) {
|
174 |
+
content = this.selectedContent;
|
175 |
+
} else if ( defaultContent ) {
|
176 |
+
content = defaultContent;
|
177 |
+
}
|
178 |
+
|
179 |
+
$( '#' + shortcodeId + '-content' ).val( content );
|
180 |
+
|
181 |
+
this.openedShortcode.push( shortcodeId );
|
182 |
+
}
|
183 |
+
|
184 |
+
$( this.insertButton, this.insertionPopUp ).removeAttr( 'disabled' );
|
185 |
+
},
|
186 |
+
|
187 |
+
insertShortcode: function() {
|
188 |
+
var activeShortcode = this.sessionStorage.activeShortcode,
|
189 |
+
slug = activeShortcode.shortcodeSlug,
|
190 |
+
pluginSlug = activeShortcode.pluginSlug,
|
191 |
+
shortcodeId = pluginSlug + '-' + slug,
|
192 |
+
enclosing = activeShortcode.enclosing,
|
193 |
+
tepmlate = ( enclosing ) ? '[$1$2]$3[/$1]' : '[$1$2]',
|
194 |
+
attrs = $( 'form#' + shortcodeId ).serializeArray(),
|
195 |
+
sortedAttra = {},
|
196 |
+
outputAttr = '',
|
197 |
+
content = '',
|
198 |
+
key,
|
199 |
+
attr,
|
200 |
+
attrName,
|
201 |
+
output;
|
202 |
+
|
203 |
+
if ( attrs[0] ) {
|
204 |
+
for ( key in attrs ) {
|
205 |
+
attr = attrs[ key ];
|
206 |
+
attrName = attr.name.replace( /\[\S*\]/g, '' );
|
207 |
+
|
208 |
+
if ( 'cherry5-is__shortcode-content' === attrName ) {
|
209 |
+
continue;
|
210 |
+
}
|
211 |
+
|
212 |
+
if ( ! sortedAttra[ attrName ] ) {
|
213 |
+
sortedAttra[ attrName ] = attr.value;
|
214 |
+
continue;
|
215 |
+
} else {
|
216 |
+
sortedAttra[ attrName ] += ',' + attr.value;
|
217 |
+
continue;
|
218 |
+
}
|
219 |
+
}
|
220 |
+
|
221 |
+
$.map( sortedAttra, function( elem, index ) {
|
222 |
+
if ( elem ) {
|
223 |
+
outputAttr += ' ' + index + '="' + elem + '"' ;
|
224 |
+
}
|
225 |
+
} );
|
226 |
+
}
|
227 |
+
|
228 |
+
if ( enclosing ) {
|
229 |
+
content = $( '#' + shortcodeId + '-content' ).val();
|
230 |
+
}
|
231 |
+
|
232 |
+
output = tepmlate
|
233 |
+
.replace( /\$1/g, slug )
|
234 |
+
.replace( /\$2/g, outputAttr )
|
235 |
+
.replace( /\$3/g, content );
|
236 |
+
|
237 |
+
window.wp.media.editor.insert( output );
|
238 |
+
},
|
239 |
+
|
240 |
+
getState: function() {
|
241 |
+
try {
|
242 |
+
return JSON.parse( sessionStorage.getItem( 'cherry5-insert-shortcode' ) );
|
243 |
+
} catch ( e ) {
|
244 |
+
return false;
|
245 |
+
}
|
246 |
+
},
|
247 |
+
setState: function() {
|
248 |
+
try {
|
249 |
+
sessionStorage.setItem( 'cherry5-insert-shortcode', JSON.stringify( this.sessionStorage ) );
|
250 |
+
} catch ( e ) {
|
251 |
+
return false;
|
252 |
+
}
|
253 |
+
},
|
254 |
+
|
255 |
+
show: function( target ) {
|
256 |
+
target.addClass( 'show' );
|
257 |
+
},
|
258 |
+
|
259 |
+
hide: function( target ) {
|
260 |
+
target.removeClass( 'show' );
|
261 |
+
},
|
262 |
+
|
263 |
+
openSodebar: function() {
|
264 |
+
$( this.sidebar ).toggleClass( 'open' );
|
265 |
+
}
|
266 |
+
|
267 |
+
};
|
268 |
+
|
269 |
+
CherryJsCore.cherry5InsertShortcode.init();
|
270 |
+
|
271 |
+
} );
|
cherry-framework/modules/cherry5-insert-shortcode/assets/cherry-insert-shortcode.scss
ADDED
@@ -0,0 +1,484 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
$border-color: #e5e5e5;
|
2 |
+
$link-color: #298ffc; // link color.
|
3 |
+
$link-color-2: #23282d; // link color.
|
4 |
+
$color-1: #206ff4; // Scrollbar track background
|
5 |
+
$color-2: #e5e5e5; // Scrollbar background.
|
6 |
+
$color-3: #fff; // Background color.
|
7 |
+
|
8 |
+
$br-radius: 5px; // Border radius.
|
9 |
+
$min_screen_width: '961px';
|
10 |
+
$middle_screen_width: '1200px';
|
11 |
+
$padding: 15px;
|
12 |
+
|
13 |
+
$shadow: 0px 5px 21px rgba(0, 0, 0, 0.1); //Shadow.
|
14 |
+
$border: 1px solid rgba(0, 0, 0, 0.1) ;
|
15 |
+
|
16 |
+
.cherry5-is{
|
17 |
+
&__open-button.button{
|
18 |
+
color: $color-3;
|
19 |
+
font-weight: 400;
|
20 |
+
text-transform: capitalize;
|
21 |
+
letter-spacing: 1.1px;
|
22 |
+
box-shadow: none;
|
23 |
+
border: 1px solid #495159;
|
24 |
+
&:hover{
|
25 |
+
color: $color-3;
|
26 |
+
};
|
27 |
+
.cherry5-insert-shortcode-icon {
|
28 |
+
margin-right: 5px;
|
29 |
+
display: inline-block;
|
30 |
+
line-height: 1.1;
|
31 |
+
}
|
32 |
+
}
|
33 |
+
&__icon{
|
34 |
+
width: 18px;
|
35 |
+
height: 18px;
|
36 |
+
margin-right: 10px;
|
37 |
+
line-height: 22px;
|
38 |
+
vertical-align: text-top;
|
39 |
+
}
|
40 |
+
&__modal-window{
|
41 |
+
position: fixed;
|
42 |
+
display: none;
|
43 |
+
top: 0px;
|
44 |
+
right: 0;
|
45 |
+
left: 0;
|
46 |
+
bottom: 0;
|
47 |
+
z-index: 99999;
|
48 |
+
justify-content: center;
|
49 |
+
align-items: center;
|
50 |
+
&.show{
|
51 |
+
display: flex;
|
52 |
+
}
|
53 |
+
@media ( min-width: 780px ) {
|
54 |
+
top: 32px;
|
55 |
+
}
|
56 |
+
}
|
57 |
+
&__background{
|
58 |
+
background-color: #000;
|
59 |
+
position: absolute;
|
60 |
+
width: 100%;
|
61 |
+
height: 100%;
|
62 |
+
top: 0;
|
63 |
+
left: 0;
|
64 |
+
|
65 |
+
animation-name: simple-fade-out;
|
66 |
+
animation-fill-mode: both;
|
67 |
+
animation-duration: 0.25s;
|
68 |
+
animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
|
69 |
+
.open &{
|
70 |
+
animation-name: simple-fade-in;
|
71 |
+
animation-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
|
72 |
+
}
|
73 |
+
}
|
74 |
+
&__popup{
|
75 |
+
background-color: $color-3;
|
76 |
+
order: 0;
|
77 |
+
align-self: center;
|
78 |
+
height: 100%;
|
79 |
+
flex: 0 1 100%;
|
80 |
+
width: 100%;
|
81 |
+
z-index: 1;
|
82 |
+
display: flex;
|
83 |
+
flex-direction: column;
|
84 |
+
transition: all 0.5s ease;
|
85 |
+
|
86 |
+
animation-name: close-pop-up;
|
87 |
+
animation-fill-mode: both;
|
88 |
+
animation-duration: 0.4s;
|
89 |
+
animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
|
90 |
+
|
91 |
+
.open &{
|
92 |
+
animation-name: open-pop-up;
|
93 |
+
}
|
94 |
+
@media ( min-width: $min_screen_width ) {
|
95 |
+
height: 85%;
|
96 |
+
flex: 0 1 85%;
|
97 |
+
box-shadow:$shadow;
|
98 |
+
border-radius: $br-radius;
|
99 |
+
border: $border;
|
100 |
+
}
|
101 |
+
}
|
102 |
+
&__popup-header{
|
103 |
+
border-bottom: 1px solid $border-color;
|
104 |
+
}
|
105 |
+
&__popup-header-inner{
|
106 |
+
display: flex;
|
107 |
+
}
|
108 |
+
&__popup-title{
|
109 |
+
flex: 0 1 100%;
|
110 |
+
padding: $padding - 5;
|
111 |
+
margin: 0;
|
112 |
+
@media ( min-width: $min_screen_width ) {
|
113 |
+
padding: $padding;
|
114 |
+
}
|
115 |
+
}
|
116 |
+
&__close-button{
|
117 |
+
flex: 0 1 auto;
|
118 |
+
padding: $padding - 5;
|
119 |
+
border-left: 1px solid $border-color;
|
120 |
+
cursor: pointer;
|
121 |
+
box-sizing: border-box;
|
122 |
+
width: 43px;
|
123 |
+
padding: 10px;
|
124 |
+
transition: box-shadow .3s ease-in-out, color .3s ease-in-out;
|
125 |
+
box-shadow: inset 0px 0px 0px rgba(41,143,252,0.0);
|
126 |
+
&:hover{
|
127 |
+
color: $link-color;
|
128 |
+
outline: none;
|
129 |
+
box-shadow: inset 0px 0px 10px rgba(41,143,252,0.5);
|
130 |
+
};
|
131 |
+
@media ( min-width: $min_screen_width ) {
|
132 |
+
padding: $padding;
|
133 |
+
width: 50px;
|
134 |
+
}
|
135 |
+
}
|
136 |
+
&__popup-body{
|
137 |
+
display: flex;
|
138 |
+
height: 100%;
|
139 |
+
min-height: 50%;
|
140 |
+
position: relative;
|
141 |
+
}
|
142 |
+
&__popup-sidebar{
|
143 |
+
position: absolute;
|
144 |
+
width: 100%;
|
145 |
+
height: 100%;
|
146 |
+
z-index: 100;
|
147 |
+
display: flex;
|
148 |
+
flex-direction: row;
|
149 |
+
right: 100%;
|
150 |
+
margin-right: -41px;
|
151 |
+
transition: right .5s cubic-bezier(0.215, 0.61, 0.355, 1), margin-right .5s cubic-bezier(0.215, 0.61, 0.355, 1);
|
152 |
+
&.open{
|
153 |
+
right: 0%;
|
154 |
+
margin-right: -1px;
|
155 |
+
}
|
156 |
+
@media ( min-width: $min_screen_width ) {
|
157 |
+
position: relative;
|
158 |
+
flex: 0 1 50%;
|
159 |
+
align-self: stretch;
|
160 |
+
width: inherit;
|
161 |
+
right: inherit;
|
162 |
+
margin-right:0;
|
163 |
+
}
|
164 |
+
@media ( min-width: 1200px ) {
|
165 |
+
flex: 0 1 50%;
|
166 |
+
}
|
167 |
+
@media ( min-width: 1500px ) {
|
168 |
+
flex: 0 1 30%;
|
169 |
+
}
|
170 |
+
}
|
171 |
+
&__sidebar-button{
|
172 |
+
min-height: 100%;
|
173 |
+
flex: 0 1 44px;
|
174 |
+
border-top: none;
|
175 |
+
border-left: $border;
|
176 |
+
border-right: $border;
|
177 |
+
background: #fff;
|
178 |
+
cursor: pointer;
|
179 |
+
position: relative;
|
180 |
+
box-sizing: border-box;
|
181 |
+
.close, .open{
|
182 |
+
position: absolute;
|
183 |
+
top: 50%;
|
184 |
+
left: 50%;
|
185 |
+
font-size: 45px;
|
186 |
+
width: 38px;
|
187 |
+
height: 44px;
|
188 |
+
margin: -22px 0 0 -20px;
|
189 |
+
text-align: left;
|
190 |
+
}
|
191 |
+
.open{
|
192 |
+
display: block;
|
193 |
+
}
|
194 |
+
.close{
|
195 |
+
display: none;
|
196 |
+
}
|
197 |
+
.cherry5-is__popup-sidebar.open &{
|
198 |
+
.open{
|
199 |
+
display: none;
|
200 |
+
}
|
201 |
+
.close{
|
202 |
+
display: block;
|
203 |
+
}
|
204 |
+
}
|
205 |
+
@media ( min-width: $min_screen_width ) {
|
206 |
+
display: none;
|
207 |
+
}
|
208 |
+
}
|
209 |
+
&__sidebar-list{
|
210 |
+
background-color: $color-3;
|
211 |
+
box-sizing: border-box;
|
212 |
+
overflow-y: scroll;
|
213 |
+
flex: 0 1 100%;
|
214 |
+
align-self: stretch;
|
215 |
+
.cherry-component.cherry-accordion{
|
216 |
+
.cherry-component__title{
|
217 |
+
margin: 10px 15px 15px;
|
218 |
+
}
|
219 |
+
.cherry-accordion__title [class*="icon"], .cherry-settings ul [class*="icon"]{
|
220 |
+
float: left;
|
221 |
+
text-align: left;
|
222 |
+
margin-right: 10px;
|
223 |
+
line-height: 0.9;
|
224 |
+
}
|
225 |
+
.cherry-settings {
|
226 |
+
box-shadow: none;
|
227 |
+
border-radius: 0;
|
228 |
+
border-left: 0;
|
229 |
+
border-right: 0;
|
230 |
+
&__content{
|
231 |
+
background: $border-color;
|
232 |
+
overflow: hidden;
|
233 |
+
box-shadow: inset 0px 0px 10px rgba(163, 163, 163, 0.3);
|
234 |
+
}
|
235 |
+
ul{
|
236 |
+
margin: 15px 20px;
|
237 |
+
.cherry5-is__get-shotcode{
|
238 |
+
color: $link-color-2;
|
239 |
+
transition: color 350ms ease-in-out;
|
240 |
+
background: none;
|
241 |
+
display: block;
|
242 |
+
width: 100%;
|
243 |
+
text-align: left;
|
244 |
+
padding: 0;
|
245 |
+
margin: 0;
|
246 |
+
border: none;
|
247 |
+
line-height: 1.5;
|
248 |
+
&:hover, &.show{
|
249 |
+
color: $link-color;
|
250 |
+
};
|
251 |
+
}
|
252 |
+
li + li {
|
253 |
+
margin-top: 15px
|
254 |
+
}
|
255 |
+
}
|
256 |
+
& + .cherry-settings{
|
257 |
+
margin-top: 0;
|
258 |
+
border-top: 0;
|
259 |
+
}
|
260 |
+
|
261 |
+
}
|
262 |
+
}
|
263 |
+
}
|
264 |
+
&__popup-section{
|
265 |
+
box-sizing: border-box;
|
266 |
+
width: 100%;
|
267 |
+
flex: 0 1 100%;
|
268 |
+
padding-left: 30px;
|
269 |
+
display: flex;
|
270 |
+
flex-direction: column;
|
271 |
+
flex-wrap: nowrap;
|
272 |
+
justify-content: flex-start;
|
273 |
+
align-content: stretch;
|
274 |
+
align-items: stretch;
|
275 |
+
.cherry-component{
|
276 |
+
> .cherry-component__title, > .cherry-component__description{
|
277 |
+
margin: 20px;
|
278 |
+
}
|
279 |
+
}
|
280 |
+
.cherry-accordion, .cherry-toggle{
|
281 |
+
.cherry-component__content{
|
282 |
+
.cherry-settings{
|
283 |
+
border-radius: 0;
|
284 |
+
border-right: 0;
|
285 |
+
border-left: 0;
|
286 |
+
}
|
287 |
+
}
|
288 |
+
}
|
289 |
+
.cherry-tab{
|
290 |
+
>.cherry-tab__body{
|
291 |
+
border-radius: 0;
|
292 |
+
.cherry-tab__tabs{
|
293 |
+
border-radius: 0;
|
294 |
+
border-left:0;
|
295 |
+
border-bottom: 0;
|
296 |
+
}
|
297 |
+
.cherry-tab__content{
|
298 |
+
border-radius: 0;
|
299 |
+
border-bottom: 0;
|
300 |
+
border-right: 0;
|
301 |
+
}
|
302 |
+
}
|
303 |
+
}
|
304 |
+
@media ( min-width: $min_screen_width ) {
|
305 |
+
padding-left: 0;
|
306 |
+
}
|
307 |
+
}
|
308 |
+
&__shortcodes-options{
|
309 |
+
flex: 0 1 100%;
|
310 |
+
@media ( min-width: $min_screen_width ) {
|
311 |
+
position: relative;
|
312 |
+
flex: 0 1 100%;
|
313 |
+
}
|
314 |
+
}
|
315 |
+
&__content-area{
|
316 |
+
padding: $padding - 5 $padding - 5 $padding - 5 $padding + 5;
|
317 |
+
border-bottom: $border;
|
318 |
+
@media ( min-width: $min_screen_width ) {
|
319 |
+
padding: $padding;
|
320 |
+
}
|
321 |
+
}
|
322 |
+
&__content-area-title{
|
323 |
+
margin-top:0;
|
324 |
+
}
|
325 |
+
&__shortcode-form{
|
326 |
+
display: none;
|
327 |
+
&-header{
|
328 |
+
border-bottom: $border;
|
329 |
+
.cherry5-is__shortcode-title, .cherry5-is__shortcode-description{
|
330 |
+
margin: 20px;
|
331 |
+
}
|
332 |
+
}
|
333 |
+
&.show{
|
334 |
+
display: flex;
|
335 |
+
flex-direction: column;
|
336 |
+
min-height: 100%;
|
337 |
+
}
|
338 |
+
}
|
339 |
+
&__popup-footer{
|
340 |
+
flex: 0 1 auto;
|
341 |
+
align-self: auto;
|
342 |
+
border-top: 1px solid $border-color;
|
343 |
+
padding: $padding - 5;
|
344 |
+
background: $color-3;
|
345 |
+
@media ( min-width: $min_screen_width ) {
|
346 |
+
padding: $padding;
|
347 |
+
}
|
348 |
+
}
|
349 |
+
&__insert-button{
|
350 |
+
float: right;
|
351 |
+
transition: all .5s ease;
|
352 |
+
@media ( max-width: $min_screen_width ) {
|
353 |
+
padding: $padding - 6 $padding - 3;
|
354 |
+
}
|
355 |
+
&[disabled]{
|
356 |
+
opacity: 0.8;
|
357 |
+
cursor: default;
|
358 |
+
pointer-events: none;
|
359 |
+
}
|
360 |
+
}
|
361 |
+
&.cherry-ui-kit {
|
362 |
+
.cherry-component{
|
363 |
+
padding: 0;
|
364 |
+
}
|
365 |
+
}
|
366 |
+
&__has-not-option{
|
367 |
+
font-size: 1.5rem;
|
368 |
+
text-align: center;
|
369 |
+
flex: 1 1 100%;
|
370 |
+
|
371 |
+
display: flex;
|
372 |
+
flex-direction: row;
|
373 |
+
justify-content: center;
|
374 |
+
align-content: stretch;
|
375 |
+
align-items: center;
|
376 |
+
&-text{
|
377 |
+
|
378 |
+
}
|
379 |
+
}
|
380 |
+
}
|
381 |
+
.cherry-scroll{
|
382 |
+
overflow-y: scroll;
|
383 |
+
&::-webkit-scrollbar {
|
384 |
+
width: 10px;
|
385 |
+
height: 10px;
|
386 |
+
margin: -5px;
|
387 |
+
&-button {
|
388 |
+
width: 0px;
|
389 |
+
height: 0px;
|
390 |
+
}
|
391 |
+
&-thumb {
|
392 |
+
background-color: $link-color;
|
393 |
+
border: none;
|
394 |
+
border-radius: $br-radius;
|
395 |
+
&:hover, &:active {
|
396 |
+
background: $color-1;
|
397 |
+
}
|
398 |
+
}
|
399 |
+
&-track {
|
400 |
+
background-color: $color-2;
|
401 |
+
border: none;
|
402 |
+
border-radius: $br-radius;
|
403 |
+
}
|
404 |
+
&-corner {
|
405 |
+
background: transparent;
|
406 |
+
}
|
407 |
+
}
|
408 |
+
}
|
409 |
+
.cherry-loader {
|
410 |
+
display: block;
|
411 |
+
|
412 |
+
width: 20px;
|
413 |
+
height: 20px;
|
414 |
+
|
415 |
+
animation: spin .7s linear infinite;
|
416 |
+
|
417 |
+
border: 3px solid $border-color;
|
418 |
+
border-top: 3px solid #3498DB;
|
419 |
+
border-radius: 50%;
|
420 |
+
&-wrapper {
|
421 |
+
transition: opacity .5s ease, transform .5s ease;
|
422 |
+
transform: scale(0);
|
423 |
+
opacity: 0;
|
424 |
+
|
425 |
+
position: absolute;
|
426 |
+
top: 50%;
|
427 |
+
left: 50%;
|
428 |
+
|
429 |
+
width: 20px;
|
430 |
+
height: 20px;
|
431 |
+
margin: -13px 0 0 -13px;
|
432 |
+
&.show{
|
433 |
+
display: block;
|
434 |
+
transform: scale(1);
|
435 |
+
opacity: 1;
|
436 |
+
}
|
437 |
+
}
|
438 |
+
}
|
439 |
+
@keyframes spin {
|
440 |
+
0% {
|
441 |
+
transform: rotate(0deg);
|
442 |
+
}
|
443 |
+
100% {
|
444 |
+
transform: rotate(360deg);
|
445 |
+
}
|
446 |
+
}
|
447 |
+
@keyframes open-pop-up {
|
448 |
+
0% {
|
449 |
+
transform: scale( 0.5 );
|
450 |
+
opacity: 0;
|
451 |
+
}
|
452 |
+
100%{
|
453 |
+
transform: scale( 1 );
|
454 |
+
opacity: 1;
|
455 |
+
}
|
456 |
+
}
|
457 |
+
@keyframes close-pop-up {
|
458 |
+
0% {
|
459 |
+
transform: scale( 1 );
|
460 |
+
opacity: 1;
|
461 |
+
}
|
462 |
+
100%{
|
463 |
+
transform: scale( 0.5 );
|
464 |
+
opacity: 0;
|
465 |
+
}
|
466 |
+
}
|
467 |
+
|
468 |
+
@keyframes simple-fade-in {
|
469 |
+
0% {
|
470 |
+
opacity: 0;
|
471 |
+
}
|
472 |
+
100% {
|
473 |
+
opacity: 0.7;
|
474 |
+
}
|
475 |
+
}
|
476 |
+
|
477 |
+
@keyframes simple-fade-out {
|
478 |
+
0% {
|
479 |
+
opacity: 0.7;
|
480 |
+
}
|
481 |
+
100% {
|
482 |
+
opacity: 0;
|
483 |
+
}
|
484 |
+
}
|
cherry-framework/modules/cherry5-insert-shortcode/assets/min/cherry-insert-shortcode.min.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.cherry5-is__open-button.button{color:#fff;font-weight:400;text-transform:capitalize;letter-spacing:1.1px;box-shadow:none;border:1px solid #495159}.cherry5-is__open-button.button:hover{color:#fff}.cherry5-is__open-button.button .cherry5-insert-shortcode-icon{margin-right:5px;display:inline-block;line-height:1.1}.cherry5-is__icon{width:18px;height:18px;margin-right:10px;line-height:22px;vertical-align:text-top}.cherry5-is__modal-window{position:fixed;display:none;top:0px;right:0;left:0;bottom:0;z-index:99999;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.cherry5-is__modal-window.show{display:-webkit-box;display:-ms-flexbox;display:flex}@media (min-width: 780px){.cherry5-is__modal-window{top:32px}}.cherry5-is__background{background-color:#000;position:absolute;width:100%;height:100%;top:0;left:0;-webkit-animation-name:simple-fade-out;animation-name:simple-fade-out;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:0.25s;animation-duration:0.25s;-webkit-animation-timing-function:cubic-bezier(0.645, 0.045, 0.355, 1);animation-timing-function:cubic-bezier(0.645, 0.045, 0.355, 1)}.open .cherry5-is__background{-webkit-animation-name:simple-fade-in;animation-name:simple-fade-in;-webkit-animation-timing-function:cubic-bezier(0.445, 0.05, 0.55, 0.95);animation-timing-function:cubic-bezier(0.445, 0.05, 0.55, 0.95)}.cherry5-is__popup{background-color:#fff;-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0;-ms-flex-item-align:center;align-self:center;height:100%;-webkit-box-flex:0;-ms-flex:0 1 100%;flex:0 1 100%;width:100%;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-transition:all 0.5s ease;transition:all 0.5s ease;-webkit-animation-name:close-pop-up;animation-name:close-pop-up;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:0.4s;animation-duration:0.4s;-webkit-animation-timing-function:cubic-bezier(0.645, 0.045, 0.355, 1);animation-timing-function:cubic-bezier(0.645, 0.045, 0.355, 1)}.open .cherry5-is__popup{-webkit-animation-name:open-pop-up;animation-name:open-pop-up}@media (min-width: 961px){.cherry5-is__popup{height:85%;-webkit-box-flex:0;-ms-flex:0 1 85%;flex:0 1 85%;box-shadow:0px 5px 21px rgba(0,0,0,0.1);border-radius:5px;border:1px solid rgba(0,0,0,0.1)}}.cherry5-is__popup-header{border-bottom:1px solid #e5e5e5}.cherry5-is__popup-header-inner{display:-webkit-box;display:-ms-flexbox;display:flex}.cherry5-is__popup-title{-webkit-box-flex:0;-ms-flex:0 1 100%;flex:0 1 100%;padding:10px;margin:0}@media (min-width: 961px){.cherry5-is__popup-title{padding:15px}}.cherry5-is__close-button{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;padding:10px;border-left:1px solid #e5e5e5;cursor:pointer;box-sizing:border-box;width:43px;padding:10px;-webkit-transition:box-shadow .3s ease-in-out, color .3s ease-in-out;transition:box-shadow .3s ease-in-out, color .3s ease-in-out;box-shadow:inset 0px 0px 0px rgba(41,143,252,0)}.cherry5-is__close-button:hover{color:#298ffc;outline:none;box-shadow:inset 0px 0px 10px rgba(41,143,252,0.5)}@media (min-width: 961px){.cherry5-is__close-button{padding:15px;width:50px}}.cherry5-is__popup-body{display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;min-height:50%;position:relative}.cherry5-is__popup-sidebar{position:absolute;width:100%;height:100%;z-index:100;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;right:100%;margin-right:-41px;-webkit-transition:right 0.5s cubic-bezier(0.215, 0.61, 0.355, 1),margin-right 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);transition:right 0.5s cubic-bezier(0.215, 0.61, 0.355, 1),margin-right 0.5s cubic-bezier(0.215, 0.61, 0.355, 1)}.cherry5-is__popup-sidebar.open{right:0%;margin-right:-1px}@media (min-width: 961px){.cherry5-is__popup-sidebar{position:relative;-webkit-box-flex:0;-ms-flex:0 1 50%;flex:0 1 50%;-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch;width:inherit;right:inherit;margin-right:0}}@media (min-width: 1200px){.cherry5-is__popup-sidebar{-webkit-box-flex:0;-ms-flex:0 1 50%;flex:0 1 50%}}@media (min-width: 1500px){.cherry5-is__popup-sidebar{-webkit-box-flex:0;-ms-flex:0 1 30%;flex:0 1 30%}}.cherry5-is__sidebar-button{min-height:100%;-webkit-box-flex:0;-ms-flex:0 1 44px;flex:0 1 44px;border-top:none;border-left:1px solid rgba(0,0,0,0.1);border-right:1px solid rgba(0,0,0,0.1);background:#fff;cursor:pointer;position:relative;box-sizing:border-box}.cherry5-is__sidebar-button .close,.cherry5-is__sidebar-button .open{position:absolute;top:50%;left:50%;font-size:45px;width:38px;height:44px;margin:-22px 0 0 -20px;text-align:left}.cherry5-is__sidebar-button .open{display:block}.cherry5-is__sidebar-button .close{display:none}.cherry5-is__popup-sidebar.open .cherry5-is__sidebar-button .open{display:none}.cherry5-is__popup-sidebar.open .cherry5-is__sidebar-button .close{display:block}@media (min-width: 961px){.cherry5-is__sidebar-button{display:none}}.cherry5-is__sidebar-list{background-color:#fff;box-sizing:border-box;overflow-y:scroll;-webkit-box-flex:0;-ms-flex:0 1 100%;flex:0 1 100%;-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch}.cherry5-is__sidebar-list .cherry-component.cherry-accordion .cherry-component__title{margin:10px 15px 15px}.cherry5-is__sidebar-list .cherry-component.cherry-accordion .cherry-accordion__title [class*="icon"],.cherry5-is__sidebar-list .cherry-component.cherry-accordion .cherry-settings ul [class*="icon"]{float:left;text-align:left;margin-right:10px;line-height:0.9}.cherry5-is__sidebar-list .cherry-component.cherry-accordion .cherry-settings{box-shadow:none;border-radius:0;border-left:0;border-right:0}.cherry5-is__sidebar-list .cherry-component.cherry-accordion .cherry-settings__content{background:#e5e5e5;overflow:hidden;box-shadow:inset 0px 0px 10px rgba(163,163,163,0.3)}.cherry5-is__sidebar-list .cherry-component.cherry-accordion .cherry-settings ul{margin:15px 20px}.cherry5-is__sidebar-list .cherry-component.cherry-accordion .cherry-settings ul .cherry5-is__get-shotcode{color:#23282d;-webkit-transition:color 350ms ease-in-out;transition:color 350ms ease-in-out;background:none;display:block;width:100%;text-align:left;padding:0;margin:0;border:none;line-height:1.5}.cherry5-is__sidebar-list .cherry-component.cherry-accordion .cherry-settings ul .cherry5-is__get-shotcode:hover,.cherry5-is__sidebar-list .cherry-component.cherry-accordion .cherry-settings ul .cherry5-is__get-shotcode.show{color:#298ffc}.cherry5-is__sidebar-list .cherry-component.cherry-accordion .cherry-settings ul li+li{margin-top:15px}.cherry5-is__sidebar-list .cherry-component.cherry-accordion .cherry-settings+.cherry-settings{margin-top:0;border-top:0}.cherry5-is__popup-section{box-sizing:border-box;width:100%;-webkit-box-flex:0;-ms-flex:0 1 100%;flex:0 1 100%;padding-left:30px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-line-pack:stretch;align-content:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.cherry5-is__popup-section .cherry-component>.cherry-component__title,.cherry5-is__popup-section .cherry-component>.cherry-component__description{margin:20px}.cherry5-is__popup-section .cherry-accordion .cherry-component__content .cherry-settings,.cherry5-is__popup-section .cherry-toggle .cherry-component__content .cherry-settings{border-radius:0;border-right:0;border-left:0}.cherry5-is__popup-section .cherry-tab>.cherry-tab__body{border-radius:0}.cherry5-is__popup-section .cherry-tab>.cherry-tab__body .cherry-tab__tabs{border-radius:0;border-left:0;border-bottom:0}.cherry5-is__popup-section .cherry-tab>.cherry-tab__body .cherry-tab__content{border-radius:0;border-bottom:0;border-right:0}@media (min-width: 961px){.cherry5-is__popup-section{padding-left:0}}.cherry5-is__shortcodes-options{-webkit-box-flex:0;-ms-flex:0 1 100%;flex:0 1 100%}@media (min-width: 961px){.cherry5-is__shortcodes-options{position:relative;-webkit-box-flex:0;-ms-flex:0 1 100%;flex:0 1 100%}}.cherry5-is__content-area{padding:10px 10px 10px 20px;border-bottom:1px solid rgba(0,0,0,0.1)}@media (min-width: 961px){.cherry5-is__content-area{padding:15px}}.cherry5-is__content-area-title{margin-top:0}.cherry5-is__shortcode-form{display:none}.cherry5-is__shortcode-form-header{border-bottom:1px solid rgba(0,0,0,0.1)}.cherry5-is__shortcode-form-header .cherry5-is__shortcode-title,.cherry5-is__shortcode-form-header .cherry5-is__shortcode-description{margin:20px}.cherry5-is__shortcode-form.show{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:100%}.cherry5-is__popup-footer{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-ms-flex-item-align:auto;-ms-grid-row-align:auto;align-self:auto;border-top:1px solid #e5e5e5;padding:10px;background:#fff}@media (min-width: 961px){.cherry5-is__popup-footer{padding:15px}}.cherry5-is__insert-button{float:right;-webkit-transition:all .5s ease;transition:all .5s ease}@media (max-width: 961px){.cherry5-is__insert-button{padding:9px 12px}}.cherry5-is__insert-button[disabled]{opacity:0.8;cursor:default;pointer-events:none}.cherry5-is.cherry-ui-kit .cherry-component{padding:0}.cherry5-is__has-not-option{font-size:1.5rem;text-align:center;-webkit-box-flex:1;-ms-flex:1 1 100%;flex:1 1 100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-line-pack:stretch;align-content:stretch;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.cherry-scroll{overflow-y:scroll}.cherry-scroll::-webkit-scrollbar{width:10px;height:10px;margin:-5px}.cherry-scroll::-webkit-scrollbar-button{width:0px;height:0px}.cherry-scroll::-webkit-scrollbar-thumb{background-color:#298ffc;border:none;border-radius:5px}.cherry-scroll::-webkit-scrollbar-thumb:hover,.cherry-scroll::-webkit-scrollbar-thumb:active{background:#206ff4}.cherry-scroll::-webkit-scrollbar-track{background-color:#e5e5e5;border:none;border-radius:5px}.cherry-scroll::-webkit-scrollbar-corner{background:transparent}.cherry-loader{display:block;width:20px;height:20px;-webkit-animation:spin .7s linear infinite;animation:spin .7s linear infinite;border:3px solid #e5e5e5;border-top:3px solid #3498DB;border-radius:50%}.cherry-loader-wrapper{-webkit-transition:opacity .5s ease, -webkit-transform .5s ease;transition:opacity .5s ease, -webkit-transform .5s ease;transition:opacity .5s ease, transform .5s ease;transition:opacity .5s ease, transform .5s ease, -webkit-transform .5s ease;-webkit-transform:scale(0);transform:scale(0);opacity:0;position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-13px 0 0 -13px}.cherry-loader-wrapper.show{display:block;-webkit-transform:scale(1);transform:scale(1);opacity:1}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes open-pop-up{0%{-webkit-transform:scale(0.5);transform:scale(0.5);opacity:0}100%{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes open-pop-up{0%{-webkit-transform:scale(0.5);transform:scale(0.5);opacity:0}100%{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@-webkit-keyframes close-pop-up{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(0.5);transform:scale(0.5);opacity:0}}@keyframes close-pop-up{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(0.5);transform:scale(0.5);opacity:0}}@-webkit-keyframes simple-fade-in{0%{opacity:0}100%{opacity:0.7}}@keyframes simple-fade-in{0%{opacity:0}100%{opacity:0.7}}@-webkit-keyframes simple-fade-out{0%{opacity:0.7}100%{opacity:0}}@keyframes simple-fade-out{0%{opacity:0.7}100%{opacity:0}}
|
cherry-framework/modules/cherry5-insert-shortcode/assets/min/cherry-insert-shortcode.min.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
jQuery(document).on("ready",function(){var t=jQuery,e=window.CherryJsCore;e.utilites.namespace("cherry5InsertShortcode"),e.cherry5InsertShortcode={openPopUpButton:".cherry5-is__open-button",closePopUpButton:".cherry5-is__close-button",insertionWindow:".cherry5-is__modal-window",insertionPopUp:".cherry5-is__popup",insertionPopUpBg:".cherry5-is__background",shortcodeOptionHolder:".cherry5-is__shortcodes-options",shortcodeOptionHolderClass:".cherry5-is__shortcode-form.show",insertButton:".cherry5-is__insert-button",spinner:".cherry-loader-wrapper",contentArea:".cherry5-is__shortcode-content",sidebar:".cherry5-is__popup-sidebar",sidebarButton:".cherry5-is__sidebar-button",insertShortcodeId:"cherry5_insert_shortcode",getShortcodeOptionButton:".cherry5-is__get-shotcode",getShortcodeOptionInstance:null,selectedContent:"",openedShortcode:[],devMode:!1,sessionStorage:{optionsTemplate:{},activeShortcode:{}},init:function(){this.devMode="true"===window.cherry5InsertShortcode.devMode,this.sessionStorage=this.devMode?this.sessionStorage:this.getState()||this.sessionStorage,this.getShortcodeOptionInstance=new e.CherryAjaxHandler({handlerId:this.insertShortcodeId,successCallback:this.getShortcodeOptionCallback.bind(this)}),this.addEvent(),this.switchFirstShortcode()},addEvent:function(){t("body").on("click.cherry5InsertShortcode",this.openPopUpButton,this.showPopUp.bind(this)).on("click.cherry5InsertShortcode",this.closePopUpButton,this.hidePopUp.bind(this)).on("click.cherry5InsertShortcode",this.insertionPopUpBg,this.hidePopUp.bind(this)).on("click.cherry5InsertShortcode",this.insertButton,this.insertShortcode.bind(this)).on("click.cherry5InsertShortcode",this.insertButton,this.hidePopUp.bind(this)).on("click.cherry5InsertShortcode",this.getShortcodeOptionButton,this.getShortcodeOption.bind(this)).on("click.cherry5InsertShortcode",this.sidebarButton,this.openSodebar.bind(this))},showPopUp:function(){var e;window.tinymce&&(window.tinymce.get("content")&&window.tinymce.get("content").selection&&(this.selectedContent=window.tinymce.get("content").selection.getContent({format:"text"})),e=this.sessionStorage.activeShortcode,this.afterShowShortcode(e.pluginSlug+"-"+e.shortcodeSlug,e.enclosing)),t(this.insertionWindow).addClass("open show"),t(this.insertionPopUp,this.insertionWindow).off("animationend")},hidePopUp:function(){this.selectedContent="",this.openedShortcode=[],t(this.insertionWindow).removeClass("open"),t(this.insertionPopUp,this.insertionWindow).on("animationend",this.hideModalWindow.bind(this))},hideModalWindow:function(){t(this.insertionWindow).removeClass("show")},switchFirstShortcode:function(){var e=this.sessionStorage.activeShortcode,o=null;o=t(e.pluginSlug&&e.shortcodeSlug?"#button-"+e.pluginSlug+"-"+e.shortcodeSlug:".cherry5-is__shortcode-list:first > li:first .cherry5-is__get-shotcode"),this.switchShortcode(o)},getShortcodeOption:function(e){return this.switchShortcode(t(e.target)),!1},switchShortcode:function(e){var o,i=e.data("plugin-slug"),s=e.data("shortcode-slug"),n=i+"-"+s,r=t("#"+n);return t(this.insertButton,this.insertionPopUp).attr("disabled","disabled"),this.hide(t(this.getShortcodeOptionButton+".show")),this.show(e),this.hide(t(this.shortcodeOptionHolderClass)),r[0]?(o=this.sessionStorage.optionsTemplate[n],this.setProxyStorage(o,n),this.show(r),void this.afterShowShortcode(n,o.enclosing)):!this.devMode&&this.sessionStorage.optionsTemplate[n]?void this.getShortcodeOptionCallback({data:this.sessionStorage.optionsTemplate[n]}):(this.show(t(this.spinner,this.shortcodeOptionHolder)),void this.getShortcodeOptionInstance.sendData({plugin_slug:i,shortcode_slug:s}))},getShortcodeOptionCallback:function(e){var o,i=e.data,s=t(this.shortcodeOptionHolder,"body");return i.error?void window.console.log(i.message):(o=i.pluginSlug+"-"+i.shortcodeSlug,this.setProxyStorage(i,o),this.hide(t(this.spinner,this.shortcodeOptionHolder)),s.append(i.html),this.afterShowShortcode(o,i.enclosing),t(document).trigger("cherryInterfaceBuilder"),void t("body").trigger({type:"cherry-ui-elements-init",_target:t("#"+o,s)}))},setProxyStorage:function(t,e){t&&(this.sessionStorage.optionsTemplate[e]=t,this.sessionStorage.activeShortcode=t),this.devMode||this.setState()},afterShowShortcode:function(e,o){var i,s="";o&&-1===this.openedShortcode.indexOf(e)&&(i=this.sessionStorage.activeShortcode.defaultContent,this.selectedContent?s=this.selectedContent:i&&(s=i),t("#"+e+"-content").val(s),this.openedShortcode.push(e)),t(this.insertButton,this.insertionPopUp).removeAttr("disabled")},insertShortcode:function(){var e,o,i,s,n=this.sessionStorage.activeShortcode,r=n.shortcodeSlug,h=n.pluginSlug,c=h+"-"+r,d=n.enclosing,a=d?"[$1$2]$3[/$1]":"[$1$2]",p=t("form#"+c).serializeArray(),l={},S="",u="";if(p[0]){for(e in p)o=p[e],i=o.name.replace(/\[\S*\]/g,""),"cherry5-is__shortcode-content"!==i&&(l[i]?l[i]+=","+o.value:l[i]=o.value);t.map(l,function(t,e){t&&(S+=" "+e+'="'+t+'"')})}d&&(u=t("#"+c+"-content").val()),s=a.replace(/\$1/g,r).replace(/\$2/g,S).replace(/\$3/g,u),window.wp.media.editor.insert(s)},getState:function(){try{return JSON.parse(sessionStorage.getItem("cherry5-insert-shortcode"))}catch(t){return!1}},setState:function(){try{sessionStorage.setItem("cherry5-insert-shortcode",JSON.stringify(this.sessionStorage))}catch(t){return!1}},show:function(t){t.addClass("show")},hide:function(t){t.removeClass("show")},openSodebar:function(){t(this.sidebar).toggleClass("open")}},e.cherry5InsertShortcode.init()});
|
cherry-framework/modules/cherry5-insert-shortcode/cherry5-insert-shortcode.php
ADDED
@@ -0,0 +1,266 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Module Name: Insert Shortcode
|
4 |
+
* Description: The module allows you to add shortcodes from editor tinyMCE.
|
5 |
+
* Version: 1.0.0
|
6 |
+
* Author: Cherry Team
|
7 |
+
* Author URI: http://www.cherryframework.com/
|
8 |
+
* License: GPLv3
|
9 |
+
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
+
*
|
11 |
+
* @package Cherry_Framework
|
12 |
+
* @subpackage Modules
|
13 |
+
* @version 1.0.0
|
14 |
+
* @author Cherry Team <cherryframework@gmail.com>
|
15 |
+
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
16 |
+
* @link http://www.cherryframework.com/
|
17 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.html
|
18 |
+
*/
|
19 |
+
|
20 |
+
// If this file is called directly, abort.
|
21 |
+
if ( ! defined( 'WPINC' ) ) {
|
22 |
+
die;
|
23 |
+
}
|
24 |
+
|
25 |
+
// If class `Cherry5_Insert_Shortcode` doesn't exists yet.
|
26 |
+
if ( ! class_exists( 'Cherry5_Insert_Shortcode' ) ) {
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Cherry5_Insert_Shortcode class.
|
30 |
+
*/
|
31 |
+
class Cherry5_Insert_Shortcode {
|
32 |
+
|
33 |
+
/**
|
34 |
+
* Module version.
|
35 |
+
*
|
36 |
+
* @since 1.0.0
|
37 |
+
* @var string
|
38 |
+
*/
|
39 |
+
private $module_version = '1.0.0';
|
40 |
+
|
41 |
+
/**
|
42 |
+
* A reference to an instance of this class.
|
43 |
+
*
|
44 |
+
* @since 1.0.0
|
45 |
+
* @var object
|
46 |
+
* @access private
|
47 |
+
*/
|
48 |
+
private static $instance = null;
|
49 |
+
|
50 |
+
/**
|
51 |
+
* Module arguments
|
52 |
+
*
|
53 |
+
* @since 1.0.0
|
54 |
+
* @var array
|
55 |
+
* @access private
|
56 |
+
*/
|
57 |
+
private $args = array();
|
58 |
+
|
59 |
+
/**
|
60 |
+
* Core instance
|
61 |
+
*
|
62 |
+
* @since 1.0.0
|
63 |
+
* @var object
|
64 |
+
* @access private
|
65 |
+
*/
|
66 |
+
private $core = null;
|
67 |
+
|
68 |
+
/**
|
69 |
+
* UI element instance.
|
70 |
+
*
|
71 |
+
* @since 1.0.0
|
72 |
+
* @var object
|
73 |
+
* @access public
|
74 |
+
*/
|
75 |
+
public $ui_elements = null;
|
76 |
+
|
77 |
+
/**
|
78 |
+
* Cherry Interface Builder instance.
|
79 |
+
*
|
80 |
+
* @since 1.0.0
|
81 |
+
* @var object
|
82 |
+
* @access public
|
83 |
+
*/
|
84 |
+
public $cherry_interface_builder = null;
|
85 |
+
|
86 |
+
/**
|
87 |
+
* A reference to an instance of this class Cherry_Insert_Admin_Button.
|
88 |
+
*
|
89 |
+
* @since 1.0.0
|
90 |
+
* @var object
|
91 |
+
* @access private
|
92 |
+
*/
|
93 |
+
private $shortcodes_button = null;
|
94 |
+
|
95 |
+
/**
|
96 |
+
* A reference to an instance of this class Cherry5_Insertion_Popup.
|
97 |
+
*
|
98 |
+
* @since 1.0.0
|
99 |
+
* @var object
|
100 |
+
* @access private
|
101 |
+
*/
|
102 |
+
private $shortcodes_popup = null;
|
103 |
+
|
104 |
+
/**
|
105 |
+
* Shortcode list.
|
106 |
+
*
|
107 |
+
* @since 1.0.0
|
108 |
+
* @var object
|
109 |
+
* @access private
|
110 |
+
*/
|
111 |
+
private $added_shortcodes = array();
|
112 |
+
|
113 |
+
/**
|
114 |
+
* Class constructor.
|
115 |
+
*
|
116 |
+
* @since 1.0.0
|
117 |
+
* @access public
|
118 |
+
* @return void
|
119 |
+
*/
|
120 |
+
public function __construct( $core = null, $args = array(), $init = true ) {
|
121 |
+
if ( $init ) {
|
122 |
+
$this->core = $core;
|
123 |
+
$this->args = array_merge_recursive(
|
124 |
+
$args,
|
125 |
+
array(
|
126 |
+
'module_dir' => trailingslashit( dirname( __FILE__ ) ),
|
127 |
+
'in_screen' => array( 'post' ),
|
128 |
+
)
|
129 |
+
);
|
130 |
+
|
131 |
+
$this->ui_elements = $this->core->init_module( 'cherry-ui-elements' );
|
132 |
+
$this->cherry_interface_builder = $this->core->init_module( 'cherry-interface-builder' );
|
133 |
+
|
134 |
+
// Include libraries from the `inc/`.
|
135 |
+
$this->includes();
|
136 |
+
|
137 |
+
// Initializing child classes.
|
138 |
+
$this->shortcodes_button = new Cherry5_Insertion_Button( $this->core, $this->args, $this );
|
139 |
+
$this->shortcodes_popup = new Cherry5_Insertion_Popup( $this->core, $this->args, $this );
|
140 |
+
|
141 |
+
// Register admin assets.
|
142 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'register_assets' ), 0 );
|
143 |
+
|
144 |
+
// Load admin assets.
|
145 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_assets' ), 11 );
|
146 |
+
}
|
147 |
+
}
|
148 |
+
|
149 |
+
/**
|
150 |
+
* Include libraries from the `inc/`.
|
151 |
+
*
|
152 |
+
* @since 1.0.0
|
153 |
+
* @access private
|
154 |
+
* @return void
|
155 |
+
*/
|
156 |
+
private function includes() {
|
157 |
+
require_once( dirname( __FILE__ ) . '/inc/class-cherry5-insertion-button.php' );
|
158 |
+
require_once( dirname( __FILE__ ) . '/inc/class-cherry5-insertion-popup.php' );
|
159 |
+
}
|
160 |
+
|
161 |
+
/**
|
162 |
+
* Register assets.
|
163 |
+
*
|
164 |
+
* @since 1.0.0
|
165 |
+
* @access public
|
166 |
+
* @return void
|
167 |
+
*/
|
168 |
+
public function register_assets() {
|
169 |
+
// Register stylesheets.
|
170 |
+
wp_register_style( 'cherry5-insert-shortcode', esc_url( Cherry_Core::base_url( 'assets/min/cherry-insert-shortcode.min.css', __FILE__ ) ), array(), $this->module_version, 'all' );
|
171 |
+
|
172 |
+
// Register JavaScripts.
|
173 |
+
wp_register_script( 'cherry5-insert-shortcode-js', esc_url( Cherry_Core::base_url( 'assets/min/cherry-insert-shortcode.min.js', __FILE__ ) ), array( 'cherry-js-core' ), $this->module_version, true );
|
174 |
+
}
|
175 |
+
|
176 |
+
/**
|
177 |
+
* Enqueue admin stylesheets.
|
178 |
+
*
|
179 |
+
* @since 1.0.0
|
180 |
+
* @access public
|
181 |
+
* @return void
|
182 |
+
*/
|
183 |
+
public function enqueue_assets() {
|
184 |
+
$screen = get_current_screen();
|
185 |
+
|
186 |
+
if ( in_array( $screen->base, $this->args['in_screen'] ) ) {
|
187 |
+
wp_enqueue_style( 'cherry5-insert-shortcode' );
|
188 |
+
wp_enqueue_script( 'cherry5-insert-shortcode-js' );
|
189 |
+
|
190 |
+
$dev_mode = ( constant( 'WP_DEBUG' ) ) ? 'true' : 'false' ;
|
191 |
+
wp_localize_script( 'cherry-js-core', 'cherry5InsertShortcode', array( 'devMode' => $dev_mode ) );
|
192 |
+
}
|
193 |
+
}
|
194 |
+
|
195 |
+
/**
|
196 |
+
* The function is called a filter to add shortcode.
|
197 |
+
*
|
198 |
+
* @since 1.0.0
|
199 |
+
* @access public
|
200 |
+
* @return void
|
201 |
+
*/
|
202 |
+
public function register_shortcode( $args = array() ) {
|
203 |
+
$this->added_shortcodes = $args;
|
204 |
+
add_filter( 'cherry5-is__shortcode_list', array( $this, 'add_shortcode' ), 10, 1 );
|
205 |
+
}
|
206 |
+
|
207 |
+
/**
|
208 |
+
* Function add new shortcode.
|
209 |
+
*
|
210 |
+
* @since 1.0.0
|
211 |
+
* @access public
|
212 |
+
* @return array
|
213 |
+
*/
|
214 |
+
public function add_shortcode( $shortcodes = array() ) {
|
215 |
+
$plugin_slug = $this->added_shortcodes['slug'];
|
216 |
+
$new_shortcodes = $this->added_shortcodes['shortcodes'];
|
217 |
+
$this->added_shortcodes['shortcodes'] = array();
|
218 |
+
|
219 |
+
if ( ! array_key_exists( $plugin_slug, $shortcodes ) ) {
|
220 |
+
$shortcodes[ $plugin_slug ] = $this->added_shortcodes;
|
221 |
+
}
|
222 |
+
|
223 |
+
foreach ( $new_shortcodes as $value ) {
|
224 |
+
$shortcode_slug = $value['slug'];
|
225 |
+
|
226 |
+
if ( array_key_exists( $shortcode_slug, $shortcodes[ $plugin_slug ]['shortcodes'] ) ) {
|
227 |
+
continue;
|
228 |
+
}
|
229 |
+
|
230 |
+
$shortcodes[ $plugin_slug ]['shortcodes'][ $shortcode_slug ] = $value;
|
231 |
+
}
|
232 |
+
|
233 |
+
return $shortcodes;
|
234 |
+
}
|
235 |
+
|
236 |
+
/**
|
237 |
+
* Returns the instance.
|
238 |
+
*
|
239 |
+
* @since 1.0.0
|
240 |
+
* @access public
|
241 |
+
* @return object
|
242 |
+
*/
|
243 |
+
public static function get_instance( $core = null, $args = array() ) {
|
244 |
+
|
245 |
+
// If the single instance hasn't been set, set it now.
|
246 |
+
if ( null == self::$instance ) {
|
247 |
+
self::$instance = new self( $core, $args );
|
248 |
+
}
|
249 |
+
|
250 |
+
return self::$instance;
|
251 |
+
}
|
252 |
+
}
|
253 |
+
// If class `Cherry5_Insert_Shortcode` doesn't exists yet.
|
254 |
+
if ( ! function_exists( 'cherry5_register_shortcode' ) ) {
|
255 |
+
|
256 |
+
/**
|
257 |
+
* The function registers a new shortcode.
|
258 |
+
*
|
259 |
+
* @since 1.0.0
|
260 |
+
*/
|
261 |
+
function cherry5_register_shortcode( $args = array() ) {
|
262 |
+
$cherry5_insert_shortcode = new Cherry5_Insert_Shortcode( null, array(), false );
|
263 |
+
$cherry5_insert_shortcode->register_shortcode( $args );
|
264 |
+
}
|
265 |
+
}
|
266 |
+
}
|
cherry-framework/modules/cherry5-insert-shortcode/inc/class-cherry5-insertion-button.php
ADDED
@@ -0,0 +1,71 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Sets up the admin functionality for the plugin.
|
4 |
+
*
|
5 |
+
* @package Cherry_Framework
|
6 |
+
* @subpackage Modules
|
7 |
+
* @author Cherry Team <cherryframework@gmail.com>
|
8 |
+
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
9 |
+
* @link http://www.cherryframework.com/
|
10 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.html
|
11 |
+
*/
|
12 |
+
|
13 |
+
// If class `Cherry5_Insertion_Button` doesn't exists yet.
|
14 |
+
if ( ! class_exists( 'Cherry5_Insertion_Button' ) ) {
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Cherry5_Insertion_Button class.
|
18 |
+
*/
|
19 |
+
class Cherry5_Insertion_Button {
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Module arguments
|
23 |
+
*
|
24 |
+
* @var array
|
25 |
+
*/
|
26 |
+
public $args = array();
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Core instance
|
30 |
+
*
|
31 |
+
* @var object
|
32 |
+
*/
|
33 |
+
public $core = null;
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Class constructor.
|
37 |
+
*
|
38 |
+
* @since 1.0.0
|
39 |
+
* @access public
|
40 |
+
* @return void
|
41 |
+
*/
|
42 |
+
public function __construct( $core = null, $args = array(), $parent_self = null ) {
|
43 |
+
$this->core = $core;
|
44 |
+
$this->args = $args;
|
45 |
+
$this->parent_self = $parent_self;
|
46 |
+
|
47 |
+
add_action( 'media_buttons', array( $this, 'add_button' ) );
|
48 |
+
add_action( 'cherry5-insert-shortcode', array( $this, 'add_button' ) );
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Function add button into tinymce editor.
|
53 |
+
*
|
54 |
+
* @since 1.0.0
|
55 |
+
* @access public
|
56 |
+
* @return void
|
57 |
+
*/
|
58 |
+
public function add_button() {
|
59 |
+
$args = apply_filters( 'cherry5-is__open-button', array(
|
60 |
+
'id' => '',
|
61 |
+
'name' => '',
|
62 |
+
'style' => 'normal',
|
63 |
+
'content' => '<span class="cherry5-is__icon dashicons dashicons-plus"></span>' . esc_html__( 'Cherry shortcodes', 'cherry-framework' ),
|
64 |
+
'class' => 'cherry5-is__open-button button',
|
65 |
+
) );
|
66 |
+
|
67 |
+
echo $this->parent_self->ui_elements->get_ui_element_instance( 'button', $args )->render();
|
68 |
+
}
|
69 |
+
}
|
70 |
+
}
|
71 |
+
|
cherry-framework/modules/cherry5-insert-shortcode/inc/class-cherry5-insertion-popup.php
ADDED
@@ -0,0 +1,285 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Sets up the admin functionality for the plugin.
|
4 |
+
*
|
5 |
+
* @package Cherry_Framework
|
6 |
+
* @subpackage Modules
|
7 |
+
* @author Cherry Team <cherryframework@gmail.com>
|
8 |
+
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
9 |
+
* @link http://www.cherryframework.com/
|
10 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.html
|
11 |
+
*/
|
12 |
+
|
13 |
+
// If class `Cherry5_Insertion_Popup` doesn't exists yet.
|
14 |
+
if ( ! class_exists( 'Cherry5_Insertion_Popup' ) ) {
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Cherry5_Insertion_Popup class.
|
18 |
+
*/
|
19 |
+
class Cherry5_Insertion_Popup {
|
20 |
+
|
21 |
+
/**
|
22 |
+
* A reference to an instance of parent class.
|
23 |
+
*
|
24 |
+
* @since 1.0.0
|
25 |
+
* @var object
|
26 |
+
* @access private
|
27 |
+
*/
|
28 |
+
private static $instance = null;
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Module arguments
|
32 |
+
*
|
33 |
+
* @since 1.0.0
|
34 |
+
* @var array
|
35 |
+
* @access private
|
36 |
+
*/
|
37 |
+
private $args = array();
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Core instance
|
41 |
+
*
|
42 |
+
* @since 1.0.0
|
43 |
+
* @var object
|
44 |
+
* @access private
|
45 |
+
*/
|
46 |
+
private $core = null;
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Shortcode list.
|
50 |
+
*
|
51 |
+
* @since 1.0.0
|
52 |
+
* @var array
|
53 |
+
* @access private
|
54 |
+
*/
|
55 |
+
private $shortcode_list = array(
|
56 |
+
array(
|
57 |
+
'title' => '',
|
58 |
+
'description' => '',
|
59 |
+
'icon' => '',
|
60 |
+
'slug' => '',
|
61 |
+
'shortcodes' => array(
|
62 |
+
array(
|
63 |
+
'title' => '',
|
64 |
+
'description' => '',
|
65 |
+
'icon' => '',
|
66 |
+
'slug' => '',
|
67 |
+
'enclosing ' => false,
|
68 |
+
'options' => array(),
|
69 |
+
),
|
70 |
+
),
|
71 |
+
),
|
72 |
+
);
|
73 |
+
|
74 |
+
/**
|
75 |
+
* Class constructor.
|
76 |
+
*
|
77 |
+
* @since 1.0.0
|
78 |
+
* @access public
|
79 |
+
* @return void
|
80 |
+
*/
|
81 |
+
public function __construct( $core = null, $args = array(), $parent_self = null ) {
|
82 |
+
$this->core = $core;
|
83 |
+
$this->args = $args;
|
84 |
+
$this->parent_self = $parent_self;
|
85 |
+
|
86 |
+
$this->core->init_module(
|
87 |
+
'cherry-handler',
|
88 |
+
array(
|
89 |
+
'id' => 'cherry5_insert_shortcode',
|
90 |
+
'action' => 'cherry5_insert_shortcode',
|
91 |
+
'type' => 'GET',
|
92 |
+
'capability' => 'manage_options',
|
93 |
+
'callback' => array( $this , 'get_shortcode_options' ),
|
94 |
+
'sys_messages' => array(
|
95 |
+
'invalid_base_data' => '',
|
96 |
+
'no_right' => '',
|
97 |
+
'invalid_nonce' => '',
|
98 |
+
'access_is_allowed' => '',
|
99 |
+
),
|
100 |
+
)
|
101 |
+
);
|
102 |
+
|
103 |
+
if ( ! defined( 'DOING_AJAX' ) ) {
|
104 |
+
add_action( 'admin_print_footer_scripts', array( $this, 'render_popup' ), 99 );
|
105 |
+
}
|
106 |
+
}
|
107 |
+
|
108 |
+
/**
|
109 |
+
* Add popup into page.
|
110 |
+
*
|
111 |
+
* @since 1.0.0
|
112 |
+
* @access public
|
113 |
+
* @return void
|
114 |
+
*/
|
115 |
+
public function render_popup( $hook ) {
|
116 |
+
$screen = get_current_screen();
|
117 |
+
|
118 |
+
if ( in_array( $screen->base, $this->args['in_screen'] ) ) {
|
119 |
+
|
120 |
+
$this->shortcode_list = apply_filters( 'cherry5-is__shortcode_list', array() );
|
121 |
+
$popup_title = esc_html( 'Insert Cherry Shortcode', 'cherry' );
|
122 |
+
$sidebar_list = $this->get_sidebar_list( $this->shortcode_list );
|
123 |
+
|
124 |
+
$args = apply_filters( 'cherry5-is__insert-button', array(
|
125 |
+
'id' => '',
|
126 |
+
'name' => '',
|
127 |
+
'style' => 'normal',
|
128 |
+
'content' => esc_html__( 'insert shortcode', 'cherry-framework' ),
|
129 |
+
'class' => 'cherry5-is__insert-button',
|
130 |
+
) );
|
131 |
+
|
132 |
+
$insert_button = $this->parent_self->ui_elements->get_ui_element_instance( 'button', $args )->render();
|
133 |
+
|
134 |
+
require_once( apply_filters( 'cherry5-is__popup-template', $this->args['module_dir'] . 'inc/views/insert-shortcode-pop-up.php' ) );
|
135 |
+
}
|
136 |
+
}
|
137 |
+
|
138 |
+
/**
|
139 |
+
* The function returns a HTML structure of registered shortcodes.
|
140 |
+
*
|
141 |
+
* @since 1.0.0
|
142 |
+
* @access private
|
143 |
+
* @return string
|
144 |
+
*/
|
145 |
+
private function get_sidebar_list( $plugins = array() ) {
|
146 |
+
$structure['shortcode-list'] = array(
|
147 |
+
'type' => 'component-accordion',
|
148 |
+
'title' => esc_html__( 'Shortcode List', 'cherry-framework' ),
|
149 |
+
);
|
150 |
+
$defaults = array(
|
151 |
+
'icon' => '',
|
152 |
+
'title' => '',
|
153 |
+
'description' => '',
|
154 |
+
);
|
155 |
+
|
156 |
+
$list_items_template = apply_filters( 'cherry5-is__list-items-template', '<li><button id="button-%1$s-%2$s" class="cherry5-is__get-shotcode" data-plugin-slug="%1$s" data-shortcode-slug="%2$s" title="%3$s">%4$s%5$s</button></li>' );
|
157 |
+
|
158 |
+
foreach ( $plugins as $plugin_slug => $plugin_value ) {
|
159 |
+
$plugin_value = wp_parse_args( $plugin_value, $defaults );
|
160 |
+
|
161 |
+
$structure[ $plugin_slug ] = array(
|
162 |
+
'id' => $plugin_slug,
|
163 |
+
'type' => 'settings',
|
164 |
+
'parent' => 'shortcode-list',
|
165 |
+
'title' => $plugin_value['icon'] . $plugin_value['title'],
|
166 |
+
'description' => $plugin_value['description'],
|
167 |
+
);
|
168 |
+
|
169 |
+
$output_html = '<ul class="cherry5-is__shortcode-list">';
|
170 |
+
|
171 |
+
foreach ( $plugin_value['shortcodes'] as $shortcode_slug => $shortcode_value ) {
|
172 |
+
$shortcode_value = wp_parse_args( $shortcode_value, $defaults );
|
173 |
+
|
174 |
+
$output_html .= sprintf( $list_items_template, $plugin_slug, $shortcode_slug, $shortcode_value['description'], $shortcode_value['icon'], $shortcode_value['title'] );
|
175 |
+
}
|
176 |
+
|
177 |
+
$output_html .= '</ul>';
|
178 |
+
|
179 |
+
$structure[ $plugin_slug . '-shortcodes' ] = array(
|
180 |
+
'id' => $plugin_slug . '-shortcodes',
|
181 |
+
'type' => 'html',
|
182 |
+
'parent' => $plugin_slug,
|
183 |
+
'html' => $output_html,
|
184 |
+
);
|
185 |
+
}
|
186 |
+
return $this->parent_self->cherry_interface_builder->render( false, $structure );
|
187 |
+
}
|
188 |
+
|
189 |
+
/**
|
190 |
+
* The function returns option was shortcode.
|
191 |
+
*
|
192 |
+
* @since 1.0.0
|
193 |
+
* @access public
|
194 |
+
* @return array
|
195 |
+
*/
|
196 |
+
public function get_shortcode_options() {
|
197 |
+
$shortcode_list = apply_filters( 'cherry5-is__shortcode_list', array() );
|
198 |
+
|
199 |
+
$plugin_slug = ( ! empty( $_GET['data']['plugin_slug'] ) )? $_GET['data']['plugin_slug'] : '' ;
|
200 |
+
$shortcode_slug = ( ! empty( $_GET['data']['shortcode_slug'] ) )? $_GET['data']['shortcode_slug'] : '' ;
|
201 |
+
$shortcode_attr = isset( $shortcode_list[ $plugin_slug ]['shortcodes'][ $shortcode_slug ] ) ? $shortcode_list[ $plugin_slug ]['shortcodes'][ $shortcode_slug ] : false;
|
202 |
+
|
203 |
+
if ( ! $shortcode_attr ) {
|
204 |
+
return array(
|
205 |
+
'error' => true,
|
206 |
+
'message' => esc_html__( 'Shortcode not found.', 'cherry-framework' ),
|
207 |
+
);
|
208 |
+
} else {
|
209 |
+
$defaults = array(
|
210 |
+
'content_area' => '',
|
211 |
+
'enclosing' => false,
|
212 |
+
'title' => '',
|
213 |
+
'description' => '',
|
214 |
+
'defaultContent' => '',
|
215 |
+
'options' => false,
|
216 |
+
);
|
217 |
+
|
218 |
+
$shortcode_attr = wp_parse_args( $shortcode_attr, $defaults );
|
219 |
+
|
220 |
+
if ( $shortcode_attr['enclosing'] ) {
|
221 |
+
$shortcode_attr['content_area'] = $this->get_shortcode_content_editor( $default_content, $plugin_slug, $shortcode_slug );
|
222 |
+
}
|
223 |
+
|
224 |
+
if ( ! empty( $shortcode_attr['options'] ) ) {
|
225 |
+
|
226 |
+
foreach ( $shortcode_attr['options'] as $key => $settings ) {
|
227 |
+
|
228 |
+
if ( ! array_key_exists( 'id', $settings ) ) {
|
229 |
+
$shortcode_attr['options'][ $key ]['id'] = $shortcode_slug . '_' . $key;
|
230 |
+
}
|
231 |
+
}
|
232 |
+
|
233 |
+
$shortcode_options_html = $this->parent_self->cherry_interface_builder->render( false, $shortcode_attr['options'] );
|
234 |
+
} else {
|
235 |
+
$shortcode_options_html = $this->get_empty_layer();
|
236 |
+
}
|
237 |
+
|
238 |
+
$shortcode_option_template = apply_filters( 'cherry5-is__options-template', Cherry_Toolkit::get_file( $this->args['module_dir'] . 'inc/views/shortcode-options.php' ) );
|
239 |
+
$output_html = sprintf( $shortcode_option_template, $plugin_slug, $shortcode_slug, $shortcode_attr['title'], $shortcode_attr['description'], $shortcode_attr['content_area'], $shortcode_options_html );
|
240 |
+
|
241 |
+
return array(
|
242 |
+
'error' => false,
|
243 |
+
'pluginSlug' => $plugin_slug,
|
244 |
+
'shortcodeSlug' => $shortcode_slug,
|
245 |
+
'enclosing' => $shortcode_attr['enclosing'],
|
246 |
+
'defaultContent' => $shortcode_attr['defaultContent'],
|
247 |
+
'html' => $output_html,
|
248 |
+
);
|
249 |
+
}
|
250 |
+
}
|
251 |
+
|
252 |
+
/**
|
253 |
+
* The function returns content area HTML.
|
254 |
+
*
|
255 |
+
* @since 1.0.0
|
256 |
+
* @access private
|
257 |
+
* @return string
|
258 |
+
*/
|
259 |
+
private function get_shortcode_content_editor( $content = '', $plugin_slug = '', $shortcode_slug = '' ) {
|
260 |
+
$template = apply_filters( 'cherry5-is__content-area-template', Cherry_Toolkit::get_file( $this->args['module_dir'] . 'inc/views/shortcode-content-area.php' ) );
|
261 |
+
$title = apply_filters( 'cherry5-is__content-title', esc_html__( 'Shortcode content.', 'cherry-framework' ) );
|
262 |
+
$placeholder = apply_filters( 'cherry5-is__content-placeholder', esc_html__( 'Input shortcode content.', 'cherry-framework' ) );
|
263 |
+
|
264 |
+
$output = sprintf( $template, $plugin_slug, $shortcode_slug, $title, $placeholder, $content );
|
265 |
+
|
266 |
+
return $output;
|
267 |
+
}
|
268 |
+
|
269 |
+
/**
|
270 |
+
* The function returns empty layer HTML.
|
271 |
+
*
|
272 |
+
* @since 1.0.0
|
273 |
+
* @access private
|
274 |
+
* @return string
|
275 |
+
*/
|
276 |
+
private function get_empty_layer() {
|
277 |
+
$text = apply_filters( 'cherry5-is__empty_layer-text', esc_html__( 'Shortcode not a have options.', 'cherry-framework' ) );
|
278 |
+
$template = apply_filters( 'cherry5-is__empty_layer-template', Cherry_Toolkit::get_file( $this->args['module_dir'] . 'inc/views/shortcode-has-not-option.php' ) );
|
279 |
+
$output = sprintf( $template, $text );
|
280 |
+
|
281 |
+
return $output;
|
282 |
+
}
|
283 |
+
}
|
284 |
+
}
|
285 |
+
|
cherry-framework/modules/cherry5-insert-shortcode/inc/views/insert-shortcode-pop-up.php
ADDED
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Popup view.
|
4 |
+
*
|
5 |
+
* @package cherry5_insert_shortcode
|
6 |
+
* @subpackage Views
|
7 |
+
* @author Cherry Team <cherryframework@gmail.com>
|
8 |
+
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
9 |
+
* @link http://www.cherryframework.com/
|
10 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.html
|
11 |
+
*/
|
12 |
+
|
13 |
+
// If this file is called directly, abort.
|
14 |
+
if ( ! defined( 'WPINC' ) ) {
|
15 |
+
die;
|
16 |
+
}
|
17 |
+
?>
|
18 |
+
<div class="cherry5-is cherry5-is__modal-window cherry-ui-kit">
|
19 |
+
<div class="cherry5-is__popup">
|
20 |
+
<div class="cherry5-is__popup-header">
|
21 |
+
<div class="cherry5-is__popup-header-inner">
|
22 |
+
<h3 class="cherry5-is__popup-title"><?php echo $popup_title ?></h3>
|
23 |
+
<div class="cherry5-is__close-button">
|
24 |
+
<span class="dashicons dashicons-no"></span>
|
25 |
+
</div>
|
26 |
+
</div>
|
27 |
+
</div>
|
28 |
+
<div class="cherry5-is__popup-body">
|
29 |
+
<div class="cherry5-is__popup-sidebar">
|
30 |
+
<div class="cherry5-is__sidebar-list cherry-scroll">
|
31 |
+
<?php echo $sidebar_list ?>
|
32 |
+
</div>
|
33 |
+
<div class="cherry5-is__sidebar-button">
|
34 |
+
<span class="dashicons dashicons-arrow-left-alt2 close"></span>
|
35 |
+
<span class="dashicons dashicons-arrow-right-alt2 open"></span>
|
36 |
+
</div>
|
37 |
+
</div>
|
38 |
+
<div class="cherry5-is__popup-section">
|
39 |
+
<div class="cherry5-is__shortcodes-options cherry-scroll">
|
40 |
+
<span class="cherry-loader-wrapper"><span class="cherry-loader"></span></span>
|
41 |
+
</div>
|
42 |
+
<div class="cherry5-is__popup-footer">
|
43 |
+
<?php echo $insert_button ?>
|
44 |
+
</div>
|
45 |
+
</div>
|
46 |
+
</div>
|
47 |
+
</div>
|
48 |
+
<div class="cherry5-is__background"></div>
|
49 |
+
</div>
|
cherry-framework/modules/cherry5-insert-shortcode/inc/views/shortcode-content-area.php
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Shortcode options view.
|
4 |
+
*
|
5 |
+
* @package cherry5_insert_shortcode
|
6 |
+
* @subpackage Views
|
7 |
+
* @author Cherry Team <cherryframework@gmail.com>
|
8 |
+
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
9 |
+
* @link http://www.cherryframework.com/
|
10 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.html
|
11 |
+
*/
|
12 |
+
|
13 |
+
// If this file is called directly, abort.
|
14 |
+
if ( ! defined( 'WPINC' ) ) {
|
15 |
+
die;
|
16 |
+
}
|
17 |
+
?>
|
18 |
+
<div class="cherry5-is__content-area">
|
19 |
+
<header class="cherry5-is__content-area-header">
|
20 |
+
<h3 class="cherry5-is__content-area-title" role="banner">%3$s</h3>
|
21 |
+
</header>
|
22 |
+
<textarea id="%1$s-%2$s-content" name="cherry5-is__shortcode-content" class="cherry5-is__shortcode-content cherry-ui-textarea" rows="10" cols="20" placeholder="%4$s">%5$s</textarea>
|
23 |
+
</div>
|
cherry-framework/modules/cherry5-insert-shortcode/inc/views/shortcode-has-not-option.php
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Shortcode has not option view.
|
4 |
+
*
|
5 |
+
* @package cherry5_insert_shortcode
|
6 |
+
* @subpackage Views
|
7 |
+
* @author Cherry Team <cherryframework@gmail.com>
|
8 |
+
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
9 |
+
* @link http://www.cherryframework.com/
|
10 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.html
|
11 |
+
*/
|
12 |
+
|
13 |
+
// If this file is called directly, abort.
|
14 |
+
if ( ! defined( 'WPINC' ) ) {
|
15 |
+
die;
|
16 |
+
}
|
17 |
+
?>
|
18 |
+
<div class="cherry5-is__has-not-option">
|
19 |
+
<span class="cherry5-is__has-not-option-text">
|
20 |
+
%1$s
|
21 |
+
<span>
|
22 |
+
</div>
|
cherry-framework/modules/cherry5-insert-shortcode/inc/views/shortcode-options.php
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Shortcode options view.
|
4 |
+
*
|
5 |
+
* @package cherry5_insert_shortcode
|
6 |
+
* @subpackage Views
|
7 |
+
* @author Cherry Team <cherryframework@gmail.com>
|
8 |
+
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
9 |
+
* @link http://www.cherryframework.com/
|
10 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.html
|
11 |
+
*/
|
12 |
+
|
13 |
+
// If this file is called directly, abort.
|
14 |
+
if ( ! defined( 'WPINC' ) ) {
|
15 |
+
die;
|
16 |
+
}
|
17 |
+
?>
|
18 |
+
<form id="%1$s-%2$s" name="%1$s-%2$s" class="cherry5-is__shortcode-form show" >
|
19 |
+
<header class="cherry5-is__shortcode-form-header">
|
20 |
+
<h2 class="cherry5-is__shortcode-title" role="banner">%3$s</h2>
|
21 |
+
<div class="cherry5-is__shortcode-description" role="note">%4$s</div>
|
22 |
+
</header>
|
23 |
+
%5$s
|
24 |
+
%6$s
|
25 |
+
<form>
|
cherry-framework/setup.php
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
* @author Cherry Team <cherryframework@gmail.com>
|
9 |
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
10 |
* @link http://www.cherryframework.com/
|
11 |
-
* @license http://www.gnu.org/licenses/
|
12 |
*/
|
13 |
|
14 |
return create_function( '', '
|
8 |
* @author Cherry Team <cherryframework@gmail.com>
|
9 |
* @copyright Copyright (c) 2012 - 2016, Cherry Team
|
10 |
* @link http://www.cherryframework.com/
|
11 |
+
* @license http://www.gnu.org/licenses/gpl-3.0.en.html
|
12 |
*/
|
13 |
|
14 |
return create_function( '', '
|
cherry-team-members.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: Cherry Team Members
|
4 |
* Plugin URI: http://www.templatemonster.com/wordpress-themes.php
|
5 |
* Description: Cherry Team Members plugin allows you to showcase your team and personnel.
|
6 |
-
* Version: 1.0.
|
7 |
* Author: TemplateMonster
|
8 |
* Author URI: http://www.templatemonster.com/
|
9 |
* Text Domain: cherry-team
|
@@ -45,7 +45,7 @@ if ( ! class_exists( 'Cherry_Team_Members' ) ) {
|
|
45 |
*
|
46 |
* @var string
|
47 |
*/
|
48 |
-
private $version = '1.0.
|
49 |
|
50 |
/**
|
51 |
* Plugin dir URL
|
3 |
* Plugin Name: Cherry Team Members
|
4 |
* Plugin URI: http://www.templatemonster.com/wordpress-themes.php
|
5 |
* Description: Cherry Team Members plugin allows you to showcase your team and personnel.
|
6 |
+
* Version: 1.0.6
|
7 |
* Author: TemplateMonster
|
8 |
* Author URI: http://www.templatemonster.com/
|
9 |
* Text Domain: cherry-team
|
45 |
*
|
46 |
* @var string
|
47 |
*/
|
48 |
+
private $version = '1.0.6';
|
49 |
|
50 |
/**
|
51 |
* Plugin dir URL
|
public/includes/class-cherry-team-init.php
CHANGED
@@ -42,6 +42,8 @@ class Cherry_Team_Members_Init {
|
|
42 |
add_action( 'init', array( __CLASS__, 'register_post' ) );
|
43 |
add_action( 'init', array( __CLASS__, 'register_tax' ) );
|
44 |
|
|
|
|
|
45 |
}
|
46 |
|
47 |
/**
|
@@ -141,6 +143,18 @@ class Cherry_Team_Members_Init {
|
|
141 |
|
142 |
}
|
143 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
/**
|
145 |
* Returns team post type name
|
146 |
*
|
42 |
add_action( 'init', array( __CLASS__, 'register_post' ) );
|
43 |
add_action( 'init', array( __CLASS__, 'register_tax' ) );
|
44 |
|
45 |
+
// Adds Cherry Search compatibility
|
46 |
+
add_filter( 'cherry_search_support_categories', array( $this, 'search_tax' ) );
|
47 |
}
|
48 |
|
49 |
/**
|
143 |
|
144 |
}
|
145 |
|
146 |
+
/**
|
147 |
+
* Pass services taxonomy into search plugin
|
148 |
+
*
|
149 |
+
* @param array $taxonomies Supported taxonomies.
|
150 |
+
* @return array
|
151 |
+
*/
|
152 |
+
public function search_tax( $taxonomies ) {
|
153 |
+
|
154 |
+
$taxonomies[] = 'group';
|
155 |
+
return $taxonomies;
|
156 |
+
}
|
157 |
+
|
158 |
/**
|
159 |
* Returns team post type name
|
160 |
*
|
public/includes/class-cherry-team-template-callbacks.php
CHANGED
@@ -339,7 +339,7 @@ class Cherry_Team_Members_Template_Callbacks {
|
|
339 |
|
340 |
$socials = get_post_meta( $post->ID, 'cherry-team-social', true );
|
341 |
|
342 |
-
if ( empty( $socials ) ) {
|
343 |
return;
|
344 |
}
|
345 |
|
339 |
|
340 |
$socials = get_post_meta( $post->ID, 'cherry-team-social', true );
|
341 |
|
342 |
+
if ( empty( $socials ) || ! is_array( $socials ) ) {
|
343 |
return;
|
344 |
}
|
345 |
|
public/includes/class-cherry-team-templater.php
CHANGED
@@ -62,6 +62,9 @@ class Cherry_Team_Members_Templater {
|
|
62 |
$find = array();
|
63 |
$file = '';
|
64 |
|
|
|
|
|
|
|
65 |
if ( is_single() && cherry_team_members_init()->name() === get_post_type() ) {
|
66 |
|
67 |
$file = 'single-team.php';
|
@@ -86,11 +89,12 @@ class Cherry_Team_Members_Templater {
|
|
86 |
|
87 |
} elseif ( is_post_type_archive( cherry_team_members_init()->name() ) ) {
|
88 |
|
89 |
-
$file
|
90 |
$find[] = $file;
|
91 |
$find[] = cherry_team_members()->template_path() . $file;
|
92 |
|
93 |
-
} elseif (
|
|
|
94 |
$file = 'archive-team.php';
|
95 |
$find[] = $file;
|
96 |
$find[] = cherry_team_members()->template_path() . $file;
|
62 |
$find = array();
|
63 |
$file = '';
|
64 |
|
65 |
+
$archive_page = cherry_team_members()->get_option( 'archive-page' );
|
66 |
+
$archive_page = apply_filters( 'wpml_object_id', $archive_page, 'page', true );
|
67 |
+
|
68 |
if ( is_single() && cherry_team_members_init()->name() === get_post_type() ) {
|
69 |
|
70 |
$file = 'single-team.php';
|
89 |
|
90 |
} elseif ( is_post_type_archive( cherry_team_members_init()->name() ) ) {
|
91 |
|
92 |
+
$file = 'archive-team.php';
|
93 |
$find[] = $file;
|
94 |
$find[] = cherry_team_members()->template_path() . $file;
|
95 |
|
96 |
+
} elseif ( $archive_page && is_page( $archive_page ) ) {
|
97 |
+
|
98 |
$file = 'archive-team.php';
|
99 |
$find[] = $file;
|
100 |
$find[] = cherry_team_members()->template_path() . $file;
|
readme.txt
CHANGED
@@ -3,8 +3,8 @@
|
|
3 |
Contributors: TemplateMonster 2002
|
4 |
Tags: custom post type, team, cherry-framework
|
5 |
Requires at least: 4.5
|
6 |
-
Tested up to: 4.
|
7 |
-
Stable tag: 1.0.
|
8 |
License: GPLv3 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
@@ -79,14 +79,18 @@ Standard templates can be rewritten in the theme. For that you need to create ch
|
|
79 |
|
80 |
== Changelog ==
|
81 |
|
82 |
-
= 1.0.
|
83 |
|
84 |
-
*
|
|
|
|
|
|
|
|
|
85 |
|
86 |
= 1.0.1 =
|
87 |
|
88 |
* UPD: framework version
|
89 |
|
90 |
-
= 1.0.
|
91 |
|
92 |
-
*
|
3 |
Contributors: TemplateMonster 2002
|
4 |
Tags: custom post type, team, cherry-framework
|
5 |
Requires at least: 4.5
|
6 |
+
Tested up to: 4.7.2
|
7 |
+
Stable tag: 1.0.6
|
8 |
License: GPLv3 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
79 |
|
80 |
== Changelog ==
|
81 |
|
82 |
+
= 1.0.6 =
|
83 |
|
84 |
+
* ADD: Cherry Search compatibility
|
85 |
+
|
86 |
+
= 1.0.3 =
|
87 |
+
|
88 |
+
* UPD: getting templates method
|
89 |
|
90 |
= 1.0.1 =
|
91 |
|
92 |
* UPD: framework version
|
93 |
|
94 |
+
= 1.0.0 =
|
95 |
|
96 |
+
* Initial release
|
wpml-config.xml
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
<wpml-config>
|
2 |
<custom-fields>
|
3 |
-
<custom-field action="
|
4 |
-
<custom-field action="
|
5 |
-
<custom-field action="
|
6 |
-
<custom-field action="
|
7 |
-
<custom-field action="
|
8 |
</custom-fields>
|
9 |
<custom-types>
|
10 |
<custom-type translate="1">team</custom-type>
|
1 |
<wpml-config>
|
2 |
<custom-fields>
|
3 |
+
<custom-field action="translate">cherry-team-position</custom-field>
|
4 |
+
<custom-field action="translate">cherry-team-location</custom-field>
|
5 |
+
<custom-field action="translate">cherry-team-phone</custom-field>
|
6 |
+
<custom-field action="translate">cherry-team-social</custom-field>
|
7 |
+
<custom-field action="translate">cherry-team-skills</custom-field>
|
8 |
</custom-fields>
|
9 |
<custom-types>
|
10 |
<custom-type translate="1">team</custom-type>
|